:root{--paper:#f3eddc;--paper-sunk:#eae3cf;--card:#fbf8ef;--card-alt:#f7f2e4;--ink:#16130d;--ink-90:#16130de6;--ink-72:#16130db8;--ink-56:#16130d8f;--ink-40:#16130d66;--ink-24:#16130d3d;--ink-14:#16130d24;--ink-08:#16130d14;--ink-04:#16130d0a;--accent:#b8431c;--accent-ink:#8f3413;--accent-08:#b8431c17;--accent-20:#b8431c38;--paper-inv:#16130d;--ink-inv:#f3eddc;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--fs-3xs:10px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:25px;--fs-3xl:32px;--fs-4xl:42px;--lh-tight:1.05;--lh-snug:1.25;--lh-body:1.45;--tr-caps:.09em;--tr-num:-.02em;--s-1:2px;--s-2:4px;--s-3:6px;--s-4:8px;--s-5:12px;--s-6:16px;--s-7:20px;--s-8:24px;--s-9:32px;--s-10:40px;--s-11:56px;--r-xs:3px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-full:999px;--sh-1:0 1px 0 var(--ink-08);--sh-2:0 1px 2px #16130d12,0 2px 8px #16130d0d;--sh-3:0 6px 24px #16130d21,0 1px 2px #16130d14;--hair:1px solid var(--ink-14);--tap:48px;--tap-sm:44px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper-sunk);color:var(--ink);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh-body);margin:0}a{color:var(--accent-ink);text-underline-offset:2px;text-decoration:underline}a:hover{color:var(--accent)}button{font:inherit;color:inherit}h1,h2,h3,h4,p,ul,ol{margin:0}.num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:var(--tr-num)}.caps{text-transform:uppercase;letter-spacing:var(--tr-caps);font-size:var(--fs-2xs);color:var(--ink-56);font-weight:650}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.badge{border-radius:var(--r-xs);height:22px;font-size:var(--fs-2xs);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;padding:0 8px 0 6px;font-weight:680;display:inline-flex}.badge__mark{flex:none;width:10px;height:10px}.badge--run{background:var(--ink);color:var(--ink-inv)}.badge--run .badge__mark{border-radius:var(--r-full);background:currentColor}.badge--station{color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);background:0 0}.badge--station .badge__mark{background:currentColor}.badge--transition{color:var(--ink-56);box-shadow:inset 0 0 0 1px var(--ink-24);border-radius:var(--r-full);text-transform:none;letter-spacing:.02em;background:0 0;font-style:italic;font-weight:600}.badge--transition .badge__mark{background:currentColor;width:8px;height:8px;transform:rotate(45deg)}.badge--sm{height:18px;font-size:var(--fs-3xs);padding:0 6px 0 5px}.badge--sm .badge__mark{width:8px;height:8px}.lap-row{grid-template-columns:var(--s-3) 1fr auto;align-items:center;gap:0 var(--s-5);min-height:var(--tap);padding:var(--s-4) var(--s-5) var(--s-4) 0;border-bottom:1px solid var(--ink-08);background:var(--card);text-align:left;border-top:0;border-left:0;border-right:0;width:100%;display:grid}.lap-row__rail{border-radius:var(--r-xs);align-self:stretch}.lap-row--run .lap-row__rail{background:var(--ink)}.lap-row--station .lap-row__rail{background:repeating-linear-gradient(135deg, var(--ink) 0 3px, var(--paper) 3px 6px);box-shadow:inset 0 0 0 1px var(--ink-24)}.lap-row--transition .lap-row__rail{background:linear-gradient(var(--ink-24) 0 3px, transparent 3px 6px) repeat-y;background-size:100% 6px;width:2px;margin-left:2px}.lap-row--transition{min-height:36px;padding-top:var(--s-3);padding-bottom:var(--s-3);background:var(--card-alt)}.lap-row__head{flex-direction:column;gap:3px;min-width:0;display:flex}.lap-row__title{align-items:center;gap:var(--s-4);min-width:0;display:flex}.lap-row__name{font-size:var(--fs-md);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-weight:620;overflow:hidden}.lap-row--transition .lap-row__name{font-size:var(--fs-sm);color:var(--ink-56);font-style:italic;font-weight:500}.lap-row__name--empty{color:var(--accent-ink);border-bottom:1.5px dashed var(--accent);padding-bottom:1px;font-weight:600}.lap-row__idx{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--ink-40);min-width:20px}.lap-row__metrics{gap:0 var(--s-5);font-size:var(--fs-xs);color:var(--ink-56);flex-wrap:wrap;display:flex}.lap-row__metric{gap:4px;display:inline-flex}.lap-row__metric b{color:var(--ink-72);font-weight:620}.lap-row__dur{font-size:var(--fs-xl);text-align:right;white-space:nowrap;font-weight:640;line-height:1}.lap-row--transition .lap-row__dur{font-size:var(--fs-md);color:var(--ink-56);font-weight:560}.lap-row__dur small{font-size:var(--fs-3xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-40);margin-top:3px;font-weight:600;display:block}.lap-row--missing{background:repeating-linear-gradient(135deg, var(--card) 0 8px, var(--card-alt) 8px 16px)}.lap-row--missing .lap-row__dur{color:var(--ink-40)}.lap-row:hover,.lap-row--transition:hover{background:var(--accent-08)}.lap-seq{border:var(--hair);border-radius:var(--r-md);background:var(--card);overflow:hidden}.lap-seq__head{justify-content:space-between;align-items:baseline;gap:var(--s-5);padding:var(--s-5) var(--s-5);border-bottom:var(--hair);background:var(--card-alt);display:flex}.lap-seq__title{font-size:var(--fs-sm);font-weight:660}.lap-seq__count{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-40)}.lap-seq__list{flex-direction:column;display:flex}.lap-seq__list .lap-row:last-child{border-bottom:0}.lap-seq__legend{gap:var(--s-5);padding:var(--s-4) var(--s-5);border-top:var(--hair);background:var(--card-alt);flex-wrap:wrap;display:flex}.tile{gap:var(--s-3);padding:var(--s-5);background:var(--card);border:var(--hair);border-radius:var(--r-md);flex-direction:column;min-width:0;display:flex}.tile__label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--ink-56);font-weight:650}.tile__value{font-size:var(--fs-2xl);letter-spacing:-.025em;align-items:baseline;gap:4px;font-weight:660;line-height:1;display:flex}.tile__unit{font-size:var(--fs-sm);color:var(--ink-56);letter-spacing:0;font-weight:600}.tile__foot{align-items:center;gap:var(--s-3);font-size:var(--fs-xs);color:var(--ink-56);display:flex}.tile--flag{border-color:var(--accent-20);background:var(--accent-08)}.tile--void .tile__value{color:var(--ink-24)}.trend{font-size:var(--fs-xs);align-items:center;gap:4px;font-weight:620;display:inline-flex}.trend__arrow{font-size:var(--fs-sm);line-height:1}.trend--good{color:var(--ink-90)}.trend--bad{color:var(--accent-ink)}.trend--flat{color:var(--ink-40)}.drift{gap:var(--s-4);padding:var(--s-5) var(--s-6);border-radius:var(--r-md);border:var(--hair);background:var(--card);flex-direction:column;min-width:0;display:flex}.drift__top{justify-content:space-between;align-items:baseline;gap:var(--s-5);display:flex}.drift__label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--ink-56);font-weight:650}.drift__value{align-items:baseline;gap:var(--s-3);font-size:var(--fs-3xl);letter-spacing:-.03em;font-weight:700;line-height:1;display:flex}.drift__sign{font-size:var(--fs-2xl);font-weight:700}.drift__verdict{font-size:var(--fs-sm);align-items:center;gap:6px;font-weight:640;display:inline-flex}.drift__gauge{border-radius:var(--r-full);background:var(--ink-08);height:8px;position:relative;overflow:hidden}.drift__zero{background:var(--ink-40);width:2px;position:absolute;top:-3px;bottom:-3px;left:50%}.drift__fill{border-radius:var(--r-full);position:absolute;top:0;bottom:0}.drift__scale{font-family:var(--mono);font-size:var(--fs-3xs);color:var(--ink-40);justify-content:space-between;display:flex}.drift__hint{font-size:var(--fs-xs);color:var(--ink-56);text-wrap:pretty}.drift--hold{border-color:var(--ink-24)}.drift--hold .drift__fill{background:var(--ink-40)}.drift--light{border-color:var(--ink-40)}.drift--light .drift__fill{background:var(--ink-72)}.drift--heavy{border-color:var(--accent);background:var(--accent-08)}.drift--heavy .drift__value,.drift--heavy .drift__verdict{color:var(--accent-ink)}.drift--heavy .drift__fill{background:var(--accent)}.drift--faster .drift__fill{background:var(--ink-72)}.drift--void{border-style:dashed;border-color:var(--ink-24)}.drift--void .drift__value{color:var(--ink-24)}.drift--sm{padding:var(--s-4) var(--s-5);gap:var(--s-3)}.drift--sm .drift__value{font-size:var(--fs-xl)}.drift--sm .drift__sign{font-size:var(--fs-lg)}.spark{gap:var(--s-3);flex-direction:column;display:flex}.spark__plot{background:var(--card-alt);border:var(--hair);border-radius:var(--r-sm);height:120px;position:relative;overflow:hidden}.spark__plot--tall{height:170px}.spark__plot--mini{background:0 0;border:0;border-radius:0;height:44px}.spark__svg{width:100%;height:100%;display:block;position:absolute;inset:0}.spark__area{fill:var(--ink-08)}.spark__line{fill:none;stroke:var(--ink);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.spark__threshold{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.spark__grid{stroke:var(--ink-08);stroke-width:1px;vector-effect:non-scaling-stroke}.spark__dot{border-radius:var(--r-full);background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--card);margin:-5px 0 0 -5px;position:absolute}.spark__dot--min{background:var(--card);box-shadow:0 0 0 2px var(--ink)}.spark__tick{font-family:var(--mono);font-size:var(--fs-3xs);color:var(--ink-40);white-space:nowrap;position:absolute;transform:translate(-50%)}.spark__tick--y{left:6px;transform:translateY(-50%)}.spark__rule{background:var(--ink-08);height:1px;position:absolute;left:0;right:0}.spark__axis{height:16px;position:relative}.spark__tip{background:var(--paper-inv);color:var(--ink-inv);border-radius:var(--r-sm);font-size:var(--fs-2xs);white-space:nowrap;box-shadow:var(--sh-3);pointer-events:none;padding:5px 8px;position:absolute;transform:translate(-50%,-100%)}.spark__tip b{font-weight:680}.spark__legend{gap:var(--s-5);font-size:var(--fs-xs);color:var(--ink-56);flex-wrap:wrap;display:flex}.spark__key{align-items:center;gap:6px;display:inline-flex}.spark__key i{border-top:2px solid var(--ink);width:14px;height:0;display:inline-block}.spark__key i.is-threshold{border-top:1px dashed var(--accent)}.spark__table{font-size:var(--fs-xs);color:var(--ink-56);line-height:1.6}.spark__table b{color:var(--ink-90);font-weight:620}.session{gap:var(--s-5);padding:var(--s-6);background:var(--card);border:var(--hair);border-radius:var(--r-md);box-shadow:var(--sh-1);text-align:left;cursor:pointer;width:100%;display:grid}.session:hover{box-shadow:var(--sh-2);border-color:var(--ink-24)}.session__top{justify-content:space-between;align-items:flex-start;gap:var(--s-5);display:flex}.session__date{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:660}.session__meta{font-size:var(--fs-xs);color:var(--ink-56);margin-top:2px}.session__total{font-size:var(--fs-2xl);letter-spacing:-.03em;font-weight:680;line-height:1}.session__stats{gap:var(--s-4);padding-top:var(--s-4);border-top:1px dashed var(--ink-14);grid-template-columns:repeat(3,1fr);display:grid}.session__stat{flex-direction:column;gap:2px;min-width:0;display:flex}.session__k{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--ink-40);font-weight:650}.session__v{font-size:var(--fs-lg);letter-spacing:-.02em;font-weight:640}.session__drift{align-items:center;gap:var(--s-4);padding-top:var(--s-4);border-top:1px dashed var(--ink-14);justify-content:space-between;display:flex}.session__flags{gap:var(--s-3);flex-wrap:wrap;display:flex}.flag{border-radius:var(--r-full);font-size:var(--fs-3xs);background:var(--ink-08);color:var(--ink-72);align-items:center;gap:5px;padding:3px 8px;font-weight:640;display:inline-flex}.flag--warn{background:var(--accent-08);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-20)}.field{gap:var(--s-3);flex-direction:column;display:flex}.field__label{font-size:var(--fs-xs);color:var(--ink-72);font-weight:640}.input{height:var(--tap);padding:0 var(--s-5);border:1.5px solid var(--ink-24);border-radius:var(--r-sm);background:var(--card);font-size:var(--fs-md);color:var(--ink);width:100%;font-family:inherit}.input::placeholder{color:var(--ink-40)}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-08);outline:0}.input--err{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-08)}.input--num{font-variant-numeric:tabular-nums;text-align:right;width:96px}.field__err{font-size:var(--fs-xs);color:var(--accent-ink);font-weight:600}.field__help{font-size:var(--fs-xs);color:var(--ink-56)}.btn{justify-content:center;align-items:center;gap:var(--s-4);min-height:var(--tap);padding:0 var(--s-7);border-radius:var(--r-sm);background:var(--ink);color:var(--ink-inv);font-size:var(--fs-md);cursor:pointer;border:1.5px solid #0000;font-weight:640;text-decoration:none;display:inline-flex}.btn:hover{background:#000}.btn--ghost{color:var(--ink);border-color:var(--ink-24);background:0 0}.btn--ghost:hover{background:var(--ink-04);border-color:var(--ink-40)}.btn--danger{color:var(--accent-ink);border-color:var(--accent-20);background:0 0}.btn--danger:hover{background:var(--accent-08)}.btn--full{width:100%}.btn--sm{min-height:var(--tap-sm);padding:0 var(--s-5);font-size:var(--fs-sm)}.btn[disabled]{opacity:.38;cursor:not-allowed}.switch{justify-content:space-between;align-items:center;gap:var(--s-5);min-height:var(--tap);cursor:pointer;display:flex}.switch__text{flex-direction:column;gap:2px;min-width:0;display:flex}.switch__t{font-size:var(--fs-md);font-weight:600}.switch__d{font-size:var(--fs-xs);color:var(--ink-56);text-wrap:pretty}.switch__box{border-radius:var(--r-full);background:var(--ink-14);flex:none;width:50px;height:30px;transition:background .15s;position:relative}.switch__box:after{content:"";border-radius:var(--r-full);background:var(--card);width:24px;height:24px;box-shadow:var(--sh-2);transition:transform .15s;position:absolute;top:3px;left:3px}.switch--on .switch__box{background:var(--ink)}.switch--on .switch__box:after{transform:translate(20px)}.slf{background:var(--card);border:var(--hair);border-radius:var(--r-md);flex-direction:column;display:flex;overflow:hidden}.slf__head{gap:var(--s-3);padding:var(--s-5);border-bottom:var(--hair);background:var(--card-alt);flex-direction:column;display:flex}.slf__title{font-size:var(--fs-md);font-weight:660}.slf__sub{font-size:var(--fs-xs);color:var(--ink-56);text-wrap:pretty}.slf__progress{gap:3px;display:flex}.slf__pip{border-radius:var(--r-full);background:var(--ink-14);flex:1;height:4px}.slf__pip--done{background:var(--ink)}.slf__pip--active{background:var(--accent)}.slf__list{flex-direction:column;display:flex}.slf__item{align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--ink-08);grid-template-columns:26px 1fr auto;display:grid}.slf__item--active{background:var(--accent-08);box-shadow:inset 3px 0 0 var(--accent)}.slf__n{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-40)}.slf__dur{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-56);font-variant-numeric:tabular-nums}.slf__val{flex-direction:column;gap:1px;min-width:0;display:flex}.slf__name{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.slf__name--todo{color:var(--ink-40);font-style:italic;font-weight:500}.slf__vol{font-size:var(--fs-2xs);color:var(--ink-56)}.slf__editor{gap:var(--s-4);padding:var(--s-5);border-top:var(--hair);background:var(--card-alt);flex-direction:column;display:flex;position:sticky;bottom:0}.slf__chips{gap:var(--s-3);flex-wrap:wrap;display:flex}.chip{min-height:var(--tap-sm);padding:0 var(--s-5);border-radius:var(--r-full);border:1.5px solid var(--ink-24);background:var(--card);font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:6px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--ink-40)}.chip--on{background:var(--ink);color:var(--ink-inv);border-color:var(--ink)}.chip--used{opacity:.42}.chip__n{font-family:var(--mono);font-size:var(--fs-3xs);opacity:.6}.slf__actions{gap:var(--s-4);align-items:center;display:flex}.ptable{border:var(--hair);border-radius:var(--r-md);background:var(--card);overflow:hidden;container-type:inline-size}.ptable__head{justify-content:space-between;align-items:baseline;gap:var(--s-5);padding:var(--s-5);border-bottom:var(--hair);background:var(--card-alt);display:flex}.ptable__t{font-size:var(--fs-sm);font-weight:660}.ptable__unit{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--ink-40)}.ptable__scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.ptable__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:520px}.ptable__table th,.ptable__table td{padding:var(--s-4) var(--s-5);text-align:right;font-size:var(--fs-sm);white-space:nowrap;border-bottom:1px solid var(--ink-08)}.ptable__table thead th{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--ink-56);background:var(--card-alt);font-weight:650;position:sticky;top:0}.ptable__st{text-align:left;background:var(--card);min-width:132px;box-shadow:1px 0 0 var(--ink-08);font-weight:620;position:sticky;left:0}.ptable__table thead .ptable__st{background:var(--card-alt);z-index:1}.ptable__cell--best{box-shadow:inset 0 -2px 0 var(--ink);font-weight:700}.ptable__cell--void{color:var(--ink-24)}.ptable__delta{font-size:var(--fs-xs);font-weight:640}.ptable__delta--bad{color:var(--accent-ink)}.ptable__delta--good{color:var(--ink-90)}.ptable__foot{padding:var(--s-4) var(--s-5);font-size:var(--fs-xs);color:var(--ink-56);border-top:var(--hair);background:var(--card-alt)}.ptable__spark{width:120px;display:none;padding:0 var(--s-5)!important}@container (width>=760px){.ptable__table{min-width:0}.ptable__table th,.ptable__table td{padding:var(--s-5) var(--s-6);font-size:var(--fs-md)}.ptable__st{min-width:180px}.ptable__spark{display:table-cell}}.conn{align-items:center;gap:var(--s-5);padding:var(--s-5);border:var(--hair);border-radius:var(--r-md);background:var(--card);min-height:var(--tap);display:flex}.conn__dot{border-radius:var(--r-full);background:var(--ink);flex:none;width:12px;height:12px}.conn__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.conn__t{font-size:var(--fs-sm);font-weight:640}.conn__d{font-size:var(--fs-xs);color:var(--ink-56)}.conn--ok .conn__dot{background:var(--ink)}.conn--stale{border-color:var(--ink-40)}.conn--stale .conn__dot{background:var(--card);box-shadow:inset 0 0 0 2px var(--ink-40)}.conn--err{border-color:var(--accent);background:var(--accent-08)}.conn--err .conn__dot{background:var(--accent);border-radius:2px;transform:rotate(45deg)}.conn--err .conn__t{color:var(--accent-ink)}.mfa{gap:var(--s-4);flex-direction:column;display:flex}.mfa__boxes{gap:var(--s-4);display:flex}.mfa__box{border:1.5px solid var(--ink-24);border-radius:var(--r-sm);background:var(--card);width:46px;height:58px;font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:640;display:flex}.mfa__box--filled{border-color:var(--ink)}.mfa__box--caret{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-08)}.mfa__box--caret:after{content:"";background:var(--ink);width:2px;height:26px;animation:1.1s step-end infinite blink}.mfa__box--err{border-color:var(--accent);color:var(--accent-ink)}@keyframes blink{50%{opacity:0}}.tabbar{background:var(--card);border-top:var(--hair);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(4,1fr);display:grid}.tabbar__item{min-height:var(--tap);padding:var(--s-4) 0 var(--s-3);cursor:pointer;color:var(--ink-40);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.tabbar__label{font-size:var(--fs-3xs);letter-spacing:.02em;font-weight:650}.tabbar__item--on{color:var(--ink)}.tabbar__ico{width:20px;height:20px;display:block;position:relative}.tabbar__ico--list{background:repeating-linear-gradient(currentColor 0 2.5px,#0000 2.5px 7px);height:17px;margin-top:2px}.tabbar__ico--prog{align-items:flex-end;gap:3px;display:flex}.tabbar__ico--prog i{background:currentColor;border-radius:1px;flex:1}.tabbar__ico--peers:before,.tabbar__ico--peers:after{content:"";border-radius:var(--r-full);border:2px solid;width:12px;height:12px;position:absolute;top:4px}.tabbar__ico--peers:before{left:0}.tabbar__ico--peers:after{opacity:.5;right:0}.tabbar__ico--set:before{content:"";border-radius:var(--r-full);border:2px solid;position:absolute;inset:2px}.tabbar__ico--set:after{content:"";border-radius:var(--r-full);background:currentColor;width:4px;height:4px;position:absolute;top:8px;left:8px}.empty{text-align:center;align-items:center;gap:var(--s-5);padding:var(--s-9) var(--s-6);border:1.5px dashed var(--ink-24);border-radius:var(--r-md);background:var(--card-alt);flex-direction:column;display:flex}.empty__mark{border-radius:var(--r-sm);background:repeating-linear-gradient(135deg, var(--ink-08) 0 6px, transparent 6px 12px);width:56px;height:56px;box-shadow:inset 0 0 0 1.5px var(--ink-14)}.empty__t{font-size:var(--fs-lg);font-weight:660}.empty__d{font-size:var(--fs-sm);color:var(--ink-56);text-wrap:pretty;max-width:34ch}.toast{align-items:flex-start;gap:var(--s-5);padding:var(--s-5);border-radius:var(--r-md);background:var(--paper-inv);color:var(--ink-inv);box-shadow:var(--sh-3);max-width:400px;display:flex}.toast__mark{border-radius:var(--r-full);background:var(--ink-inv);flex:none;width:10px;height:10px;margin-top:5px}.toast__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast__t{font-size:var(--fs-sm);font-weight:660}.toast__d{font-size:var(--fs-xs);opacity:.7}.toast__action{color:var(--ink-inv);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;padding:2px 0;font-weight:660;text-decoration:underline}.toast--err{background:var(--accent-ink)}.toast--err .toast__mark{border-radius:2px;transform:rotate(45deg)}.appbar{align-items:center;gap:var(--s-5);padding:var(--s-4) var(--s-6) var(--s-5);background:var(--paper);border-bottom:1px solid var(--ink-08);display:flex}.appbar__back{width:var(--tap-sm);height:var(--tap-sm);cursor:pointer;font-size:var(--fs-xl);color:var(--ink-72);background:0 0;border:0;margin-left:-10px;line-height:1}.appbar__text{flex:1;min-width:0}.appbar__t{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:700}.appbar__d{font-size:var(--fs-xs);color:var(--ink-56)}.appbar__act{min-height:var(--tap-sm);padding:0 var(--s-5);border-radius:var(--r-full);border:1.5px solid var(--ink-24);background:var(--card);font-size:var(--fs-sm);cursor:pointer;font-weight:620}.view{padding:var(--s-6) var(--s-6) var(--s-9);gap:var(--s-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.view__group{gap:var(--s-4);flex-direction:column;display:flex}.view__h{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tr-caps);color:var(--ink-56);justify-content:space-between;align-items:baseline;font-weight:650;display:flex}.card{background:var(--card);border:var(--hair);border-radius:var(--r-md);padding:var(--s-6);gap:var(--s-5);flex-direction:column;display:flex}.card--flush{padding:0;overflow:hidden}.divide{flex-direction:column;display:flex}.divide>*+*{border-top:1px solid var(--ink-08)}.listitem{justify-content:space-between;align-items:center;gap:var(--s-5);padding:var(--s-5) var(--s-6);min-height:var(--tap);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;display:flex}.listitem__t{font-size:var(--fs-md);font-weight:600}.listitem__d{font-size:var(--fs-xs);color:var(--ink-56);text-wrap:pretty}.listitem__v{font-size:var(--fs-sm);color:var(--ink-56);font-variant-numeric:tabular-nums;white-space:nowrap}.details{border:var(--hair);border-radius:var(--r-md);background:var(--card);overflow:hidden}.details>summary{cursor:pointer;padding:var(--s-5) var(--s-6);min-height:var(--tap);font-size:var(--fs-sm);color:var(--ink-72);justify-content:space-between;align-items:center;font-weight:620;list-style:none;display:flex}.details>summary::-webkit-details-marker{display:none}.details__body{padding:0 var(--s-6) var(--s-6);gap:var(--s-5);border-top:1px solid var(--ink-08);padding-top:var(--s-5);flex-direction:column;display:flex}.seg{background:var(--ink-08);border-radius:var(--r-full);gap:2px;padding:3px;display:flex}.seg__btn{border-radius:var(--r-full);min-height:38px;font-size:var(--fs-sm);color:var(--ink-56);cursor:pointer;background:0 0;border:0;flex:1;font-weight:620}.seg__btn--on{background:var(--card);color:var(--ink);box-shadow:var(--sh-2)}.peer{align-items:center;gap:var(--s-5);padding:var(--s-5) var(--s-6);display:flex}.peer__av{border-radius:var(--r-full);background:var(--ink-08);width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--ink-14);font-size:var(--fs-xs);color:var(--ink-72);flex:none;justify-content:center;align-items:center;font-weight:680;display:flex}.peer__n{font-size:var(--fs-sm);flex:1;font-weight:600}.dl{gap:var(--s-3) var(--s-6);font-size:var(--fs-sm);grid-template-columns:auto 1fr;display:grid}.dl dt{color:var(--ink-56)}.dl dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:620}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}.app{background:var(--paper);max-width:560px;min-height:100dvh;box-shadow:var(--sh-2);flex-direction:column;margin:0 auto;display:flex}.app__body{padding:var(--s-6) var(--s-6) var(--s-9);gap:var(--s-6);padding-top:calc(var(--s-6) + var(--safe-top));flex-direction:column;flex:1;display:flex;overflow-y:auto}.app__tabs{position:sticky;bottom:0}.auth{min-height:100dvh;padding:var(--s-7);background:var(--paper-sunk);justify-content:center;align-items:center;display:flex}.auth__card{background:var(--card);border:var(--hair);border-radius:var(--r-lg);width:100%;max-width:26rem;box-shadow:var(--sh-3);padding:var(--s-8);gap:var(--s-6);flex-direction:column;display:flex}.auth__title{font-size:var(--fs-2xl);letter-spacing:-.03em;font-weight:700;line-height:var(--lh-tight)}.auth__lede{font-size:var(--fs-sm);color:var(--ink-56);text-wrap:pretty}.badge--warmup,.badge--cooldown{color:var(--ink-56);box-shadow:inset 0 0 0 1px var(--ink-24);text-transform:none;letter-spacing:.02em;background:0 0;font-weight:600}.badge--warmup .badge__mark{background:currentColor;border-radius:1px;width:12px;height:3px}.badge--cooldown .badge__mark{background:0 0;border-radius:1px;width:12px;height:6px;box-shadow:inset 0 0 0 1.5px}.lap-row--warmup,.lap-row--cooldown{background:var(--card-alt)}.lap-row--warmup .lap-row__rail{background:linear-gradient(var(--ink-24) 0 6px, transparent 6px 10px) repeat-y;background-size:100% 10px}.lap-row--cooldown .lap-row__rail{background:var(--ink-14)}.lap-row--warmup .lap-row__dur,.lap-row--cooldown .lap-row__dur{font-size:var(--fs-md);color:var(--ink-56);font-weight:560}.badge--rest{color:var(--ink-56);box-shadow:inset 0 0 0 1px var(--ink-24);border-radius:var(--r-full);text-transform:none;letter-spacing:.02em;background:0 0;font-weight:600}.badge--rest .badge__mark{border-radius:var(--r-full);background:0 0;box-shadow:inset 0 0 0 1.5px}.lap-row--rest{background:var(--card-alt)}.lap-row--rest .lap-row__rail{background:repeating-linear-gradient(135deg, var(--ink-14) 0 3px, transparent 3px 6px);box-shadow:inset 0 0 0 1px var(--ink-08)}.lap-row--rest .lap-row__dur{font-size:var(--fs-md);color:var(--ink-56);font-weight:560}.lap-row--active{background:var(--accent-08);box-shadow:inset 3px 0 0 var(--accent)}.lap-seq__progress{padding:var(--s-4) var(--s-5);border-bottom:var(--hair);background:var(--card-alt);gap:3px;display:flex}.editor{gap:var(--s-5);padding:var(--s-5);background:var(--accent-08);border-bottom:1px solid var(--ink-08);box-shadow:inset 3px 0 0 var(--accent);flex-direction:column;display:flex}.editor__chips{gap:var(--s-3);flex-wrap:wrap;display:flex}.editor__fields{gap:var(--s-4);align-items:center;display:flex}.editor__hint{font-size:var(--fs-xs);color:var(--ink-56);text-wrap:pretty}.editor__step{justify-content:space-between;align-items:baseline;gap:var(--s-5);display:flex}.editor__label{font-size:var(--fs-md);font-weight:660}.editor__back{font-size:var(--fs-xs);color:var(--accent-ink);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.chip--volume{min-width:5.5rem;font-size:var(--fs-md);justify-content:center;gap:4px}.chip--type{color:var(--ink-56);border-style:dashed}.chip--type.chip--on{background:var(--ink);color:var(--ink-inv);border-style:solid}.lap-row--overridden .lap-row__idx:after{content:"";vertical-align:2px;border-radius:var(--r-full);background:var(--accent);width:4px;height:4px;margin-left:3px;display:inline-block}.ptable__chart{padding:var(--s-6) var(--s-5) var(--s-5);gap:var(--s-4);flex-direction:column;display:flex}.ptable__trend{font-size:var(--fs-xs);color:var(--ink-56);align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.ptable__details>summary{cursor:pointer;padding:var(--s-4) var(--s-5);border-top:var(--hair);background:var(--card-alt);font-size:var(--fs-xs);color:var(--ink-72);justify-content:space-between;align-items:center;font-weight:620;list-style:none;display:flex}.ptable__details>summary::-webkit-details-marker{display:none}.tiles{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));display:grid}.session--excluded{background:repeating-linear-gradient(135deg, var(--card) 0 10px, var(--card-alt) 10px 20px);border-style:dashed}.session--excluded .session__date,.session--excluded .session__total,.session--excluded .session__v{color:var(--ink-56)}.view__toggle{font-size:var(--fs-2xs);letter-spacing:0;text-transform:none;color:var(--accent-ink);cursor:pointer;background:0 0;border:0;padding:0;font-weight:620;text-decoration:underline}.stack{gap:var(--s-4);flex-direction:column;display:flex}.note{font-size:var(--fs-sm);color:var(--ink-56);text-wrap:pretty}.note strong{color:var(--ink-90);font-weight:620}.spinner{font-size:var(--fs-sm);color:var(--ink-40);padding:var(--s-7) 0;text-align:center}.toast-zone{left:50%;bottom:calc(var(--tap) + var(--s-6) + var(--safe-bottom));z-index:20;width:calc(100% - var(--s-7) * 2);justify-content:center;max-width:400px;display:flex;position:fixed;transform:translate(-50%)}@media (width>=900px){.app{max-width:1100px;box-shadow:none}.app__body{padding:var(--s-9) var(--s-9) var(--s-11)}.app__tabs{border-top:0;border-bottom:var(--hair);order:-1;position:static}.tabbar{grid-template-columns:repeat(4,minmax(0,12rem));justify-content:center;padding-bottom:0}.sessions-grid{gap:var(--s-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.chip--unknown{color:var(--ink-56);border-style:dotted;font-style:italic}.chip--unknown.chip--on{background:var(--ink);color:var(--ink-inv);border-style:solid;font-style:normal}.preview{gap:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--ink-08);flex-direction:column;display:flex}.preview__sum{font-size:var(--fs-sm);color:var(--ink-72);text-wrap:pretty}.preview__list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.preview__row{gap:var(--s-4);font-size:var(--fs-xs);grid-template-columns:7.5rem 1fr auto;align-items:baseline;display:grid}.preview__row--stored{opacity:.5}.preview__date{font-family:var(--mono);font-size:var(--fs-3xs);color:var(--ink-56)}.preview__name{overflow-wrap:anywhere;font-weight:600}.preview__type{color:var(--ink-56)}.field .editor__back{text-align:left;align-self:start}select.input{appearance:none;padding-right:var(--s-9);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2316130d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--s-5) center;cursor:pointer;background-size:12px 8px}
