@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}:root{--paper:#f3f4f7;--panel:#ffffff;--panel-2:#e9ebf1;--ink:#141826;--ink-2:#394054;--ink-3:#596075;--rule:#d6d9e2;--rule-soft:#e4e6ed;--accent:#2c3e8c;--accent-soft:#e5e9f6;--accent-ink:#1f2d6b;--ember:#b0420d;--ember-fill:#d4561a;--ember-soft:#f9e9df;--ok:#1f7a5e;--ok-soft:#e8f5f0;--warn:#735a00;--warn-soft:#f6efd6;--bad:#a8294f;--bad-soft:#f8e4ea;--on-accent:#ffffff;--on-bad:#ffffff;--on-ok:#ffffff;--status-bar:var(--accent);--r-control:6px;--r-panel:10px;--r-lead:14px;--r-pill:999px;--control-h:36px;--control-border:#7c8396;--viz-key:#cf5418;--viz-race:#3a4fb5;--viz-other:#7a8194;--hz-easy:#d4561a;--hz-steady:#ad400c;--hz-threshold:#853009;--hz-above:#5c2004;--skin:#7a5aa6;--skin-soft:#f3eff9;--skin-rule:#c3b4dc;--shadow-rest:0 1px 2px rgba(20,24,38,.06);--shadow-lift:0 1px 2px rgba(20,24,38,.05), 0 12px 30px -16px rgba(20,24,38,.32);--shadow-pop:0 14px 34px -14px rgba(20,24,38,.4);--shadow-knob:0 1px 2px rgba(20,24,38,.28);--scrim:rgba(20,24,38,.35);--ease-out:cubic-bezier(.22,.61,.36,1);--viewfinder:#000000}@media(prefers-color-scheme:dark){:root{--paper:#0c0f17;--panel:#131826;--panel-2:#1a2030;--ink:#e8ebf3;--ink-2:#b4bacb;--ink-3:#8a92a8;--rule:#283044;--rule-soft:#1f2638;--accent:#93a6ec;--accent-soft:#1c2546;--accent-ink:#b9c6f5;--ember:#f0894f;--ember-fill:#e8743a;--ember-soft:#33200f;--ok:#6fd3b0;--ok-soft:#11281f;--warn:#e3c25a;--warn-soft:#2b2510;--bad:#f598a0;--bad-soft:#2e1a20;--on-accent:#0c0f17;--on-bad:#2e1a20;--on-ok:#0c0f17;--status-bar:#2c3e8c;--control-border:#66708a;--viz-key:#f0874a;--viz-race:#8ea2f0;--viz-other:#6c7389;--hz-easy:#b65a2a;--hz-steady:#d87038;--hz-threshold:#f08d55;--hz-above:#f9b98f;--skin:#e0b0f5;--skin-soft:#211a2a;--skin-rule:#4d4060;--shadow-rest:0 1px 2px rgba(0,0,0,.4);--shadow-lift:0 1px 2px rgba(0,0,0,.4), 0 14px 32px -14px rgba(0,0,0,.72);--shadow-pop:0 14px 34px -14px rgba(0,0,0,.8);--shadow-knob:0 1px 2px rgba(0,0,0,.6);--scrim:rgba(0,0,0,.55)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body:before{content:"";position:fixed;top:0;left:0;right:0;z-index:25;height:env(safe-area-inset-top,0px);background:var(--status-bar);pointer-events:none}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 IBM Plex Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.mono,code{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}h1,h2,h3,h4,h5,h6,strong,b{font-weight:600}a{color:var(--accent-ink)}header.top{border-top:3px solid var(--accent);border-bottom:1px solid var(--rule);background:var(--panel);box-shadow:var(--shadow-rest);padding-top:env(safe-area-inset-top,0px)}.top-inner{max-width:1180px;margin:0 auto;padding:12px 18px 0;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.brand{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.mark{color:var(--accent);flex:none}.mark-live{animation:mark-turn 30s linear infinite;transform-origin:50% 50%}.mark-live path{stroke-dasharray:1;stroke-dashoffset:1;animation:mark-draw 1.05s cubic-bezier(.22,.61,.36,1) forwards}.mark-live .mark-rim path{animation-delay:.08s}.mark-live .mark-spokes path:nth-child(1){animation-delay:.42s}.mark-live .mark-spokes path:nth-child(2){animation-delay:.5s}.mark-live .mark-spokes path:nth-child(3){animation-delay:.58s}.mark-live .mark-spokes path:nth-child(4){animation-delay:.66s}.mark-live .mark-spokes path:nth-child(5){animation-delay:.74s}.mark-live .mark-spokes path:nth-child(6){animation-delay:.82s}.mark-live .mark-tracery path{animation-duration:.9s}.mark-live .mark-tracery path:nth-child(-n+2){animation-delay:.95s}.mark-live .mark-tracery path:nth-child(n+3):nth-child(-n+4){animation-delay:1.03s}.mark-live .mark-tracery path:nth-child(n+5):nth-child(-n+6){animation-delay:1.11s}.mark-live .mark-tracery path:nth-child(n+7):nth-child(-n+8){animation-delay:1.19s}.mark-live .mark-tracery path:nth-child(n+9):nth-child(-n+10){animation-delay:1.27s}.mark-live .mark-tracery path:nth-child(n+11){animation-delay:1.35s}.mark-live .mark-tracery{animation:mark-breathe 7s ease-in-out 2.4s infinite}@keyframes mark-draw{to{stroke-dashoffset:0}}@keyframes mark-turn{to{transform:rotate(60deg)}}@keyframes mark-breathe{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.mark-live,.mark-live path,.mark-live .mark-tracery{animation:none}.mark-live path{stroke-dashoffset:0}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes draw-line{0%{stroke-dashoffset:1}}.meter>span,.minibar div,.allowance span,.rowbar,.split-bar,.wg-pill>span{transform-origin:left center;animation:grow-x .8s var(--ease-out)}.bar{transform-origin:center bottom;animation:grow-y .7s var(--ease-out)}.bar-done,.bar-stack{transform-box:fill-box;transform-origin:center bottom;animation:grow-y .7s var(--ease-out)}.trend-line,.felt-line,.chart-line{stroke-dasharray:1;animation:draw-line 1.1s var(--ease-out)}.hero,.panel-card,.weekgrid,.look-back a.run-link{transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out),border-color .12s ease,background-color .12s ease}@media(hover:hover){.hero:hover,.panel-card:hover,.weekgrid:hover,.look-back a.run-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-lift);border-color:var(--accent)}}.look-back a.run-link:active{transform:translateY(1px);box-shadow:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}h1{letter-spacing:.02em}h1{font-size:21px;margin:0;letter-spacing:-.01em}.who{font-size:12px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}nav{display:flex;gap:0 22px;margin-top:8px;flex-wrap:wrap;align-items:flex-end}.nav-primary{display:flex;align-items:baseline;gap:2px;padding-top:10px}.nav-primary button{font-size:15.5px;padding:8px 14px 10px;color:var(--ink-2)}.nav-primary button[aria-current=true]{color:var(--accent-ink)}.nav-blurb{font-size:12px;color:var(--ink-3);margin-left:10px}.nav-rest{display:flex;align-items:center;gap:0 4px;border-top:1px solid var(--rule-soft);margin-top:2px;overflow-x:auto;scrollbar-width:thin}.nav-rest button{font-size:12.5px;padding:7px 9px;white-space:nowrap}nav button{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font:inherit;font-size:13.5px;color:var(--ink-3);padding:9px 13px}nav button:hover{color:var(--ink)}nav button[aria-current=true],nav button[aria-current=page]{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}nav button .badge{display:inline-block;min-width:17px;padding:0 5px;margin-left:6px;border-radius:var(--r-panel);background:var(--warn-soft);color:var(--warn);font-size:12px;font-weight:600}main{max-width:1180px;margin:0 auto;padding:16px 18px 80px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}h2{font-size:21px;margin:0 0 6px;letter-spacing:-.012em;text-wrap:balance}.sub{color:var(--ink-3);font-size:13.5px;margin:0 0 12px;max-width:72ch}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-bottom:26px}.tile{background:var(--panel);padding:13px 15px}.tile b{display:block;font-size:23px;font-family:IBM Plex Mono,monospace;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15}.tile span{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}.tile.warn b{color:var(--warn)}.card{border:1px solid var(--rule);background:var(--panel);margin-bottom:12px;border-radius:var(--r-panel)}.card h3{margin:0;padding:8px 13px;border-bottom:1px solid var(--rule);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);background:var(--panel-2);border-radius:var(--r-panel) var(--r-panel) 0 0}.card .body{padding:12px 13px}.card .body p{max-width:72ch}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:400;padding:9px 12px;border-bottom:1px solid var(--rule);background:var(--panel-2);position:sticky;top:0;white-space:nowrap}td{padding:9px 12px;border-bottom:1px solid var(--rule-soft);vertical-align:top}tr:last-child td{border-bottom:none}td.id{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3);white-space:nowrap}td.num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}td.schedule-cell{min-width:14em}.row-editor{position:sticky;left:0;max-width:min(calc(100vw - 38px),1142px);box-sizing:border-box}@media(max-width:760px){.row-editor{max-width:calc(100vw - 34px)}}.muted{color:var(--ink-3)}.small{font-size:13px}.pill{display:inline-block;padding:1px 7px;border-radius:var(--r-pill);font-size:12px;font-family:IBM Plex Mono,monospace;border:1px solid var(--rule);white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.pill.key{background:var(--ember-soft);color:var(--ember);border-color:var(--ember-fill)}.pill.race,.pill.now,.pill.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}.slot{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);padding:16px 0 7px}.note{border-left:3px solid var(--accent);background:var(--accent-soft);padding:11px 15px;margin-bottom:18px;font-size:13.5px;border-radius:0 var(--r-control) var(--r-control) 0}.note.warn{border-left-color:var(--warn);background:var(--warn-soft)}.note strong{font-weight:600}.state{padding:60px 20px;text-align:center;color:var(--ink-3)}footer{max-width:1180px;margin:0 auto;padding:20px 22px 50px;color:var(--ink-3);padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right));font-size:12px;letter-spacing:.05em;text-transform:uppercase;border-top:1px solid var(--rule)}button{font:inherit;font-size:14px;font-weight:400;letter-spacing:.005em;padding:8px 16px;min-height:var(--control-h);border:1px solid var(--control-border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:var(--r-control);transition:border-color .12s ease,color .12s ease,background-color .12s ease,box-shadow .12s ease,filter .12s ease,transform .12s var(--ease-out)}@media(hover:hover){button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink);background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel))}}button:active:not(:disabled){filter:brightness(.96);transform:translateY(1px)}button,a.run-link{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a.run-link:active{opacity:.72}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;box-shadow:var(--shadow-rest),0 4px 12px -8px color-mix(in srgb,var(--accent) 60%,transparent)}button.primary:hover:not(:disabled){color:var(--on-accent);background:var(--accent);border-color:var(--accent);filter:brightness(1.07)}button.danger,button.danger-btn{background:var(--bad);border-color:var(--bad);color:var(--on-bad);font-weight:600}button.danger:hover:not(:disabled),button.danger-btn:hover:not(:disabled){border-color:var(--bad);color:var(--on-bad);filter:brightness(1.08)}button:focus-visible,.tick:focus-visible,.fold-line:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select,input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=url],input[type=number],input[type=search],input:not([type]),textarea{font:inherit;font-size:14px;padding:7px 10px;min-height:var(--control-h);border:1px solid var(--control-border);background:var(--panel);color:var(--ink);border-radius:var(--r-control)}textarea{min-height:auto}select:hover,input:hover:not(:disabled){border-color:var(--ink-3)}.tick-row{display:flex;gap:12px;align-items:center;padding:9px 12px;border:1px solid var(--rule);background:var(--panel);margin-bottom:5px}.tick-row.taken{border-left:3px solid var(--ok)}.tick-row.skipped,.tick-row.not-taken{opacity:.72}.tick-main{flex:1;min-width:0}.tick-row .tick-main{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-height:44px;padding:0;border:none;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left}.tick-row .tick-main:hover:not(:disabled){background:none;color:inherit}.tick-name,.tick-meta{display:block}.tick-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.tick-line .tick-meta{min-width:0}.tick-line .pill{flex:none}.tick-name{font-size:14.5px}.tick-meta{font-size:12px;color:var(--ink-3);font-family:IBM Plex Mono,monospace}.tick-note{font-size:12.5px;color:var(--ink-2);font-style:italic}.tick-block>.tick-note,.tick-block>.small{padding:3px 12px 6px 62px}.slot-fold{display:flex;align-items:baseline;gap:10px;width:100%;min-height:44px;border:none;border-radius:0;background:none;box-shadow:none;cursor:pointer;text-align:left}.slot-fold:hover:not(:disabled){background:none;color:var(--accent-ink)}.slot-line{font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-3)}.tick{width:38px;height:38px;min-width:38px;border-radius:var(--r-control);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.tick.on{background:var(--ok);border-color:var(--ok);color:var(--on-ok);font-weight:600}.tick-actions{display:flex;gap:4px}.tick-actions button{padding:4px 9px;font-size:12.5px}.pill.state-taken{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.pill.state-unknown{color:var(--ink-3)}.pill.state-skipped,.pill.state-not-taken{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.heat{display:flex;gap:3px;overflow-x:auto;padding-bottom:4px}.heat-col{display:flex;flex-direction:column;gap:3px}.cell{width:14px;height:14px;border-radius:var(--r-control);display:inline-block;background:var(--panel-2);border:1px solid var(--rule-soft)}.cell.pad{visibility:hidden}.cell.none{background:transparent;border-style:dashed}.cell.open{background:var(--panel-2);border-color:var(--ink-3)}.cell.low{background:var(--warn-soft);border-color:var(--warn)}.cell.mid{background:var(--ok-soft);border-color:var(--ok)}.cell.full{background:var(--ok);border-color:var(--ok)}.legend{display:flex;align-items:center;gap:7px;margin-top:12px;flex-wrap:wrap}.legend .cell{margin-left:10px}.legend .cell:first-child{margin-left:0}.editor{border:1px solid var(--accent);border-top:none;background:var(--panel-2);padding:16px;margin:-1px 0 18px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.fields label,.editor label{display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.fields label.wide,.editor label.wide{grid-column:1/-1}.fields label .small,.editor label .small,.fields label>span.muted,.editor label>span.muted{text-transform:none;letter-spacing:0}.fields>*{min-width:0}.fields select,.editor select{max-width:100%}.fields input,.fields select,.fields textarea,.editor input,.editor select,.editor textarea{font:inherit;font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--panel);border:1px solid var(--control-border);border-radius:var(--r-control);padding:6px 9px}.editor input.tiny{width:88px;font-size:13px;padding:4px 7px}.fields label .fixed-value,.editor label .fixed-value{font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);padding:6px 0}.clock-said{text-transform:none;letter-spacing:0;color:var(--ink-3);line-height:1.35}.clock-said.unsure{color:var(--warn)}.editor textarea{resize:vertical;font-family:inherit}.fields label.check,.editor label.check{flex-direction:row;align-items:flex-start;gap:9px;margin-top:14px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink-2);max-width:70ch}.editor label.check input{width:auto;margin-top:3px}.age-question{border:0;padding:0;margin:14px 0 0;min-width:0;display:flex;flex-wrap:wrap;gap:6px 10px}.age-question legend{padding:0;margin-bottom:4px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.age-question select,.age-question input{font:inherit;font-size:14px;color:var(--ink);background:var(--panel);border:1px solid var(--control-border);border-radius:var(--r-control);padding:6px 9px}.age-question input{width:6.5em}.age-question p{flex-basis:100%;margin:4px 0 0}.editor-actions{display:flex;gap:9px;align-items:center;margin-top:16px;flex-wrap:wrap}.mini-head{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin:22px 0 8px}.dows{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}.dows button{padding:5px 11px;font-size:12.5px}.dows button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.row-actions{white-space:nowrap;display:flex;gap:5px;justify-content:flex-start}.row-actions button{padding:3px 9px;font-size:12px}.row-actions.wraps{flex-wrap:wrap;white-space:normal}.day-line-actions{padding:0 0 10px}.row-actions.wraps select{max-width:100%;min-width:0}button.link{background:none;border:none;padding:0 2px;font-size:13px;font-weight:400;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--ink-3) 60%,transparent)}button.link:hover:not(:disabled){background:none}button.link:hover:not(:disabled){color:var(--accent-ink);border:none}button.pill.as-button{cursor:pointer;border:1px solid var(--rule)}button.pill.as-button:hover{border-color:var(--accent);color:var(--accent-ink)}::placeholder{color:var(--ink-3);opacity:1}.saved{background:var(--ok-soft);border-left:3px solid var(--ok);padding:10px 14px;margin-bottom:14px;font-size:13.5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.search{display:block;margin-bottom:14px}.search input{width:100%;max-width:420px;font-size:16px;padding:9px 12px}.share-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0 10px;border-bottom:1px solid var(--rule-soft);margin-bottom:10px}.share-line>.small{flex:1;min-width:200px}.share-line .note{flex-basis:100%;margin:0}.choice{display:flex;flex-direction:row;gap:10px;align-items:flex-start;min-height:44px;padding:10px 0;font-size:13.5px;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--ink-2);max-width:70ch}.choice input{width:20px;height:20px;margin-top:1px;flex:none;min-height:0;padding:0}.editor label.choice,.fields label.choice{flex-direction:row;gap:10px;font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--ink-2)}.group-heading{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-weight:600}.bars{display:flex;gap:8px;height:168px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:4px}.bar-col{flex:1;display:flex;flex-direction:column;height:100%;gap:3px;min-width:34px}.bar-room{flex:1;min-height:0;padding-top:18px;display:flex}.bar-plot{flex:1;position:relative}.bar{position:absolute;left:0;right:0;bottom:0;background:var(--ember-fill);border-radius:3px 3px 0 0;min-height:2px}.bar-val{position:absolute;left:0;right:0;margin-bottom:2px;text-align:center;line-height:1.25;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.bar-lbl{display:flex;flex-direction:column;align-items:center;line-height:1.25;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3);white-space:nowrap}.bar-month{align-self:flex-start;min-height:1.25em}.bar-col:last-child .bar-month{align-self:flex-end}.bars-aside{margin:8px 0 0}@media(max-width:760px){.bars{gap:4px}.bar-col{min-width:22px}}.row-cards{list-style:none;margin:0;padding:0}.row-card{padding:12px 14px;border-bottom:1px solid var(--rule-soft)}.row-card:last-child{border-bottom:none}.row-cards-part .part-head{margin:10px 0 0}.row-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.row-card-head .id{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3)}.row-card-title{font-weight:600;min-width:0;overflow-wrap:anywhere}.row-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px 12px;margin:10px 0 0}.row-facts>div{min-width:0}.row-facts .wide{grid-column:1 / -1}.row-facts.roomy{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.row-facts dt{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.row-facts dd{margin:2px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.row-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.row-card-foot select{max-width:100%;min-width:0}.row-card>.row-actions{flex-wrap:wrap;margin-top:10px}.row-card>.row-editor{margin-top:10px}select.proposed{border-style:dashed;border-color:var(--warn);color:var(--warn)}.finding{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--rule-soft)}.finding:last-child{border-bottom:none}.finding-main{flex:1;min-width:0}.finding-msg{font-size:14px;margin-bottom:2px}.finding.quiet{opacity:.7}.finding .pill{min-width:74px;text-align:center}.template-actions{display:flex;gap:12px;flex-shrink:0}@media(max-width:600px){.finding.template-row{flex-wrap:wrap}.finding .template-actions{flex-basis:100%}}.tick-block{margin-bottom:5px}.tick-block .tick-row{margin-bottom:0}.tick-block.flagged .tick-row{border-color:var(--bad)}.row-warnings{border:1px solid var(--bad);border-top:none;background:var(--bad-soft);padding:8px 12px 8px 62px}.row-warning{font-size:12.5px;color:var(--ink-2)}.row-warning+.row-warning{margin-top:4px}.row-warning.opportunity{color:var(--ink-2)}.row-warnings:has(.row-warning.opportunity:only-child){border-color:var(--rule);background:var(--panel-2)}.units-toggle{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r-control);overflow:hidden}.units-toggle button{border:none;border-radius:0;padding:3px 10px;font-size:12px;font-family:IBM Plex Mono,monospace;letter-spacing:.05em;background:var(--panel)}.units-toggle button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.note.confirm{border-left-color:var(--warn);background:var(--warn-soft)}.note.bad{border-left-color:var(--bad);background:var(--bad-soft)}a.src{font-family:IBM Plex Mono,monospace;font-size:12px}.minibar{height:7px;background:var(--panel-2);border-radius:var(--r-control);overflow:hidden}.minibar div{height:100%;background:var(--ok)}.card.danger{border-color:var(--bad)}.card.danger h3{color:var(--bad);background:var(--bad-soft);border-bottom-color:var(--bad)}a.button-link{display:inline-block;font-size:13.5px;padding:6px 12px;border:1px solid var(--rule);border-radius:var(--r-control);text-decoration:none;background:var(--panel);color:var(--ink)}a.button-link:hover{border-color:var(--accent);color:var(--accent-ink)}.tile.bad b{color:var(--bad)}tr.dropped{opacity:.42}tr.dropped input{opacity:.7}.pips{display:flex;gap:5px;align-items:center;margin-top:8px}.pip{width:20px;height:8px;border-radius:var(--r-control);background:var(--rule);border:1px solid var(--rule)}.pip.on{background:var(--ember-fill);border-color:var(--ember-fill)}.note.ok{border-left-color:var(--ok);background:var(--ok-soft)}.set-grid{display:grid;grid-template-columns:28px 1fr 62px 62px 54px;gap:7px 8px;align-items:center}.set-grid.editable{grid-template-columns:28px 1fr 62px 62px 54px 32px}.set-drop{position:relative;min-height:44px;width:28px;padding:0;border:none;background:none;color:var(--ink-3);font-size:16px;line-height:1;cursor:pointer;border-radius:var(--r-control)}.set-drop:after{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-12px}.set-drop:hover,.set-drop:focus-visible{color:var(--bad);background:var(--bad-soft)}.danger-link{color:var(--bad);font-weight:600}.set-head{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}button.gym-switch{min-height:44px;padding:0;border:none;background:none;font-family:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}button.gym-switch .on{color:var(--accent);font-weight:600}.set-index{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3);text-align:center}.set-index.done{color:var(--ok);font-weight:600}.set-index-cell{display:flex;justify-content:center}button.set-index{position:relative;width:28px;min-height:44px;padding:0;border:1px dashed var(--rule);background:none;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-3)}button.set-index:after{content:"";position:absolute;top:0;bottom:0;left:-12px;right:-4px}button.set-index[aria-pressed=true]{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}input.finish-minutes{width:96px;font-size:16px;min-height:44px;text-align:center;font-variant-numeric:tabular-nums}input.finish-minutes.filled{color:var(--ink-2)}.set-target{font-size:12.5px;color:var(--ink-3)}.set-input{width:100%;text-align:center;font-variant-numeric:tabular-nums}.set-input.held{background:var(--panel-2);border-style:dashed;color:var(--ink-3);cursor:not-allowed}.set-saving{grid-column:1/-1}.set-note{grid-column:1/-1;margin:0}p.set-note{font-size:13px;color:var(--ink-2);font-style:italic}.set-more{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.set-more label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}.set-more .set-input{width:76px}.set-more.said{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.set-reading{flex-basis:100%}.set-line{grid-column:1/-1;margin:6px 0 0;font-size:13px;line-height:1.35;color:var(--ink-2);overflow-wrap:anywhere}.set-line b{color:var(--ink);font-weight:600}.set-line-note{display:block;font-style:italic;color:var(--ink-3)}.superset-head{margin:16px 0 6px;font-size:13px;color:var(--accent-ink);font-weight:600}.card.in-superset{border-left:3px solid var(--accent)}.superset-mark{vertical-align:middle;margin-left:4px}.race-clock{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-right:4px}.sync-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--rule);background:var(--panel);padding:12px 14px;margin-bottom:18px}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--on-accent);padding:10px 16px}.skip:focus{left:0}main:focus{outline:none}.tabbar{display:none}@media(max-width:760px){body{font-size:16px}header.top{position:sticky;top:0;z-index:20;border-bottom-width:1px}.top-inner{padding:10px 16px 4px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.brand{align-items:center;gap:10px}.brand .mark{width:34px;height:34px}h1{font-size:17px}.who,.nav-primary{display:none}.nav-rest,.nav-primary.coach-row{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;margin:0 -16px;padding:0 16px;border-top:none}.nav-rest button,.coach-row button{font-size:14px;padding:10px 12px;min-height:44px;scroll-snap-align:start;white-space:nowrap}main{padding:16px 16px calc(78px + env(safe-area-inset-bottom))}footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}h2{font-size:20px}.sub{font-size:14px}input,select,textarea,button{font-size:16px}input,select,textarea{padding:11px 12px;min-height:44px}.fields input,.fields select,.fields textarea,.editor input,.editor select,.editor textarea{font-size:16px}.fields input,.fields select,.editor input,.editor select{padding:11px 12px;min-height:44px}input.set-input{padding:8px 5px;min-height:44px}input.set-note{padding:8px 10px;min-height:44px}textarea{min-height:76px}button{min-height:44px;padding:10px 16px}.row-actions button,.editor input.tiny{min-height:44px;min-width:44px}.editor input.tiny{font-size:16px}button.link{min-height:44px;padding:0 10px}a.button-link,a.src,a.run-link,.row-actions a{display:inline-flex;align-items:center;min-height:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.fields{grid-template-columns:1fr}.card{margin-bottom:14px}.card .body{padding:14px}.scroll{-webkit-overflow-scrolling:touch}table{font-size:14px}th,td{padding:11px 10px}.tick-row{display:grid;gap:4px 12px;align-items:center;padding:6px 12px;grid-template-columns:auto 1fr;touch-action:pan-y}.tick-row>.tick{width:46px;height:46px;min-width:46px;font-size:20px}.tick-name{font-size:15.5px;line-height:1.3}.tick-meta{font-size:13px;line-height:1.45}.tick-actions{grid-column:1 / -1;display:flex;gap:8px;margin:2px 0 4px}.tick-actions button{flex:1;min-width:44px;min-height:44px;font-size:15px}.tick-block>.tick-note,.tick-block>.small{padding-left:70px}.slot{margin-top:4px;padding:12px 0 6px}.slot-fold{padding:8px 0}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--panel);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);gap:0;margin-top:0;flex-wrap:nowrap}.tabbar button{flex:1 1 0;min-width:0;padding:8px 2px}.tabbar button span:not(.dot){display:block;font-size:12px;line-height:1.15;text-align:center;white-space:normal;overflow-wrap:anywhere}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;background:none;border:none;border-radius:0;min-height:56px;padding:8px 4px 6px;font-size:12px;letter-spacing:.02em;color:var(--ink-3)}.tabbar button[aria-current]{color:var(--accent-ink)}.tabbar button[aria-current] svg{stroke-width:2.1}.tabbar .dot{position:absolute;top:7px;right:calc(50% - 16px);width:8px;height:8px;border-radius:50%;background:var(--warn)}.tabbar .new-dot{position:absolute;top:7px;right:calc(50% - 16px);margin:0}}@media(max-width:926px)and (orientation:landscape)and (hover:none){.tabbar button{min-height:46px;flex-direction:row;gap:7px;font-size:12px}main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-control)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.pill,.tile,.card{border:1px solid CanvasText}.tabbar button[aria-current]{outline:2px solid Highlight}}.signin{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));background:var(--paper)}.signin-card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--rule);padding:28px 26px 22px}.signin-brand{display:flex;align-items:center;gap:18px;margin-bottom:22px}.signin-brand h1{font-size:24px;margin:0;letter-spacing:.02em}.signin-brand span{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.signin-lede{font-size:14.5px;color:var(--ink-2);margin:0 0 20px}.signin .fields{grid-template-columns:1fr;gap:14px}.signin label{display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.signin input[type=email],.signin input[type=password],.signin input[type=text]{font-size:16px;padding:11px 12px;min-height:44px}.wide-btn{width:100%;min-height:46px;justify-content:center;margin-top:16px}.signin-or{display:flex;align-items:center;gap:12px;margin:16px 0 4px;color:var(--ink-3);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.signin-or:before,.signin-or:after{content:"";flex:1;height:1px;background:var(--rule)}.signin .check{flex-direction:row;align-items:flex-start;gap:9px;margin-top:16px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink-2)}.signin .check input{width:20px;height:20px;min-height:20px;margin-top:1px}.signin-switch{margin:18px 0 0;text-align:center;color:var(--ink-3)}.signin-foot{margin:18px 0 0;text-align:center;line-height:1.5}.door-card{max-width:480px;padding:20px 20px 18px}.door .signin-brand{margin-bottom:14px}.door-lede{font-size:21px;line-height:1.3;font-weight:600;color:var(--ink);margin:0 0 8px}.door-who{font-size:14.5px;color:var(--ink-2);margin:0 0 16px}.door-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-soft)}.door-list li{padding:9px 0 9px 14px;border-bottom:1px solid var(--rule-soft);border-left:2px solid var(--accent);font-size:14px;line-height:1.45;color:var(--ink-2)}.door-list b{display:block;font-weight:600;color:var(--ink);font-size:14.5px}.door-invite{font-size:14px;color:var(--ink-2);margin:16px 0 0}.door-join{margin-top:10px}.door-promise{margin:20px 0 0;padding:12px 14px;background:var(--accent-soft)}.door-promise figcaption{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.door-promise blockquote{margin:0;font-size:13.5px;line-height:1.5;color:var(--accent-ink)}.welcome{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));background:var(--paper)}.welcome-card{width:100%;max-width:480px;background:var(--panel);border:1px solid var(--rule);padding:26px}.welcome-card h2{font-size:21px;margin:0 0 10px}.welcome-way-out{margin-top:24px;border-top:1px solid var(--rule);padding-top:8px}.welcome-lede{font-size:14.5px;color:var(--ink-2);margin:0 0 18px;max-width:56ch}.welcome-progress{display:flex;gap:6px;margin-bottom:20px}.welcome-progress .pip{flex:1;height:3px;border-radius:var(--r-control)}.welcome-top{display:flex;align-items:center;gap:10px;margin-bottom:20px}.welcome-top .welcome-progress{flex:1;margin:0}.welcome-back{min-height:44px;padding:0 10px 0 0;border:none;background:none;color:var(--ink-2);box-shadow:none}.welcome-back:hover:not(:disabled){background:none}.day-label{display:block;margin:12px 0 0}.key-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.key-choices .preset.none{grid-column:1 / -1}.day-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin:10px 0 4px}.day-row button{min-height:44px;padding:4px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;font-size:15px;border-radius:0}.day-row button+button{border-left-width:0}.day-row button:first-child{border-radius:var(--r-control) 0 0 var(--r-control)}.day-row button:last-child{border-radius:0 var(--r-control) var(--r-control) 0}.day-row button small{font-size:12px;color:var(--ink-3)}.day-row button.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.setup-card h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.setup-came{margin:0 14px 4px;color:var(--ok)}.setup-one p{margin:0 0 8px}.setup-list{list-style:none;margin:0;padding:0 14px 4px}.setup-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--rule-soft);font-size:15px}.setup-list li:last-child{border-bottom:none}.setup-list .mark{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px}.setup-list .mark.yes{background:var(--ok);color:var(--on-ok)}.setup-list .mark.no{border:1px dashed var(--ink-3)}.setup-list .what{flex:1 1 13em;min-width:0;overflow-wrap:anywhere}.setup-list .what small{display:block;font-size:12.5px;color:var(--ink-3)}.setup-list .waiting .what{color:var(--ink-3)}.setup-list button{flex:none}.setup-answers{display:inline-flex;gap:14px;flex:none}.new-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--accent);vertical-align:middle}.welcome-units{margin:10px 0 0}.invite-code.big{font-size:24px;padding:6px 12px}@media(max-width:760px){.welcome{align-items:flex-start}.welcome-card{padding:20px 16px}}.state.boot{padding:80px 24px;text-align:center;color:var(--ink-3)}.launch{min-height:100vh;min-height:100svh;display:grid;place-items:center;background:var(--paper)}.install-hint{display:flex;align-items:center;justify-content:space-between;gap:12px}.install-hint .link{min-height:44px;flex:none}.notice-link{display:flex;align-items:center;min-height:44px}.notice-layers{list-style:none;padding:0;margin:12px 0}.notice-layers li{border-top:1px solid var(--rule-soft)}.notice-layers summary,.notice-rest summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.medical-footer{margin-top:24px}.dayrow{scroll-margin-top:84px}.gate{min-height:100vh;min-height:100svh;display:flex;align-items:flex-start;justify-content:center;padding:calc(32px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));background:var(--paper)}.prose{width:100%;max-width:620px;background:var(--panel);border:1px solid var(--rule);padding:26px}.prose h2{font-size:21px;margin:0 0 10px}.prose h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 6px}.prose p{font-size:14px;color:var(--ink-2);margin:0;max-width:62ch;line-height:1.6}.prose .lede{font-size:15px;color:var(--ink);margin-bottom:4px}.prose .choice{margin-top:24px;border-top:1px solid var(--rule-soft);padding-top:18px}.prose button.primary{margin-top:6px}.card .prose{border:none;padding:0;background:none;max-width:none}.card .prose h2{font-size:16px}.tick-list{max-height:38vh;max-height:38svh;overflow-y:auto;border:1px solid var(--rule);padding:4px 12px}.tick-list .choice{border-bottom:1px solid var(--rule-soft)}.tick-list .choice:last-child{border-bottom:none}.quick{margin:0 0 18px}.quick-row{display:flex;flex-wrap:wrap;gap:8px}.quick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:9px 14px;text-align:left;cursor:pointer;border:1px solid var(--rule);background:var(--panel)}.quick-btn:hover:not(:disabled){border-color:var(--accent)}.quick-label{font-size:14.5px;color:var(--ink)}.quick-why{font-size:12px;color:var(--ink-3)}.quick.as-needed{margin:18px 0 0}.quick.as-needed .saved{margin-top:10px}.taken-window{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}.taken-window select{max-width:100%;min-height:44px}.taken-when{margin:0 0 14px}.nowrap{white-space:nowrap}.chart-stack{display:flex;flex-direction:column;gap:18px}.chart{margin:0;background:var(--panel);border:1px solid var(--rule);padding:12px 14px 10px}.chart figcaption{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}.chart-title{font-size:14px;font-weight:600}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-ref{fill:var(--ink-3);opacity:.1}.chart-target{fill:var(--ok);opacity:.14}.chart-axis{stroke:var(--rule);stroke-width:1}.chart-tick{fill:var(--ink-3);font-size:11px;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--panel);stroke:var(--accent);stroke-width:1.8}.chart-grid{stroke:var(--rule-soft);stroke-width:1}.chart-area{fill:var(--accent);fill-opacity:.08}.chart-dot.latest{stroke-width:3}.chart-dot.dot-low,.chart-dot.dot-high{stroke:var(--bad);fill:var(--bad-soft)}.chart-dot.dot-below_target{stroke:var(--warn);fill:var(--warn-soft)}.chart-race line{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.chart-race text{fill:var(--ink-3);font-size:11px;letter-spacing:.02em}.chart p.small{margin:6px 0 0}.chart-readings b{font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.allowance{height:6px;background:var(--rule);margin:8px 0 4px;max-width:340px}.model-choices{display:grid;gap:8px;margin:0 0 12px}.model-choice{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;cursor:pointer;min-height:44px}.model-choice.on{border-color:var(--ember)}.model-choice input{margin:3px 0 0}.model-choice>:not(input){grid-column:2}.model-choice-name{font-weight:600}.model-choice ul{margin:2px 0 0;padding-left:18px}.allowance span{display:block;height:100%;background:var(--ember-fill)}.coaching-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--warn-soft);border-left:4px solid var(--warn);padding:11px 16px;margin:0 0 20px}.coaching-who{display:flex;flex-direction:column;gap:1px}.coaching-bar strong{font-size:15px;color:var(--ink)}.coaching-bar .small{flex:1;min-width:200px;color:var(--ink-2)}.coaching-bar .switch-athlete{margin-left:auto}.coaching-bar .switch-athlete>button{min-height:44px;padding:0 4px}.coaching-bar .switch-athlete .quick-add-menu{width:min(260px,calc(100vw - 32px))}@media(max-width:760px){.coaching-bar{flex-wrap:nowrap;gap:8px;min-height:44px;padding:0 12px;margin:0 0 12px}.coaching-who{flex-direction:row;align-items:baseline;gap:6px;flex:1;min-width:0}.coaching-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.board-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.mornings-week table{font-size:13px}.mornings-week th{font-weight:600;white-space:normal;min-width:4.5em}.mornings-week td{white-space:nowrap}.mornings-week .weeknav{display:flex;align-items:center;gap:10px}.mornings-week .weeknav-title{flex:1;text-align:center}.eyebrow-small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--warn);font-weight:600}fieldset.surface{border:none;margin:0;padding:0;min-width:0}fieldset.surface[disabled]{opacity:1}fieldset.surface[disabled] button,fieldset.surface[disabled] input,fieldset.surface[disabled] select,fieldset.surface[disabled] textarea{cursor:not-allowed;opacity:.55}.invite-code{font-size:17px;letter-spacing:.16em;font-weight:600;background:var(--accent-soft);color:var(--accent-ink);padding:3px 9px}.chip-row .pill.as-button{min-height:32px;padding:5px 10px;font-size:12px}.waiting-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--rule-soft)}.waiting-row:last-child{border-bottom:none}.group-lines{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:8px 0}.group-sessions{margin:4px 0 10px;padding-left:18px}.group-sessions li{margin:4px 0}.group-sessions .pill{margin-left:6px}.group-table button.link{min-height:44px;font-size:15px;text-align:left}.group-table th,.group-table td{padding:8px 4px}.group-table th:first-child,.group-table td:first-child{padding-left:0}.group-table th{white-space:normal}.group-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.group-weeks{display:inline-flex;align-items:center;gap:6px}.group-chart{margin:10px 0}.waiting-row>span:first-child{flex:1;min-width:200px}.tabs{display:flex;gap:4px;margin:0 0 16px;overflow-x:auto;border-bottom:1px solid var(--rule)}.tabs button{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;padding:9px 12px;min-height:44px;font-size:13.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}@media(max-width:560px){.tabs.fit button{flex:1 1 0;min-width:0;white-space:normal;padding:6px 4px;line-height:1.2;text-align:center}}.pick-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.pick-list li{border-bottom:1px solid var(--rule-soft)}.pick-list li:last-child{border-bottom:none}.pick-list button{text-align:left;width:100%;min-height:44px;padding:8px 4px}.day-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 4px}.day-head h2{margin:0}.day-head input[type=date]{font-size:13px;padding:5px 8px;min-height:36px}.day-step{display:inline-flex;align-items:center;gap:4px}.day-step button{min-width:44px;min-height:44px;padding:0 10px;font-size:18px;line-height:1}.slot .slot-time,.slot-fold .slot-time{letter-spacing:.04em;opacity:.8}@media(max-width:760px){.day-head input[type=date]{min-height:44px}}.day-line{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule-soft)}.day-line:last-of-type{border-bottom:none}.day-line-main{flex:1;font-size:14px}.day-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 0;padding-top:16px;border-top:1px solid var(--rule)}.day-submit .small{flex:1;min-width:220px}.findings>div>.finding:first-child{padding-top:4px}.finding-actions{display:flex;gap:14px;margin-top:6px}.guide-lede{font-size:14.5px;color:var(--ink-2);max-width:62ch;margin:0 0 16px}.guide-point{padding:12px 0;border-top:1px solid var(--rule-soft);max-width:66ch}.guide-point strong{display:block;font-size:14px;margin-bottom:4px}.guide-point p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.6}.intro-action{font-size:12px;margin-left:2px;white-space:nowrap}.note.tip{border-left-color:var(--accent)}.quick-add{position:relative}.quick-add-toggle{font-weight:600;white-space:nowrap}.quick-add-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(320px,calc(100vw - 32px));display:grid;gap:2px;padding:6px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-panel);box-shadow:var(--shadow-pop)}.quick-add-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:none;background:none;padding:9px 12px;min-height:48px}.quick-add-menu button:hover:not(:disabled),.quick-add-menu button:focus-visible{background:var(--accent-soft);color:var(--ink)}.quick-add-note{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;min-height:48px;margin-top:4px;border-top:1px solid var(--rule);color:var(--ink);text-decoration:none;border-radius:0 0 var(--r-control) var(--r-control)}.quick-add-note:hover,.quick-add-note:focus-visible{background:var(--accent-soft);color:var(--ink)}.quick-add-menu .quick-add-feedback{margin-top:4px;border-top:1px solid var(--rule);border-radius:0}.send-feedback{display:grid;gap:8px;padding:6px}.send-feedback label{display:grid;gap:4px;font-weight:600;font-size:14px}.send-feedback textarea{width:100%;min-height:96px;font:inherit;font-weight:400}.quick-add-menu .send-feedback button{display:inline-flex;flex-direction:row;align-items:center;border:1px solid var(--rule);background:var(--panel);min-height:44px}.quick-add-menu .send-feedback button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.quick-add-label{font-weight:600;font-size:14px}.quick-add-hint{font-size:12px;color:var(--ink-3)}@media(max-width:760px){.quick-add-toggle{min-height:44px;padding:6px 14px}.quick-add-menu{position:fixed;left:16px;right:16px;top:auto;width:auto;bottom:calc(84px + env(safe-area-inset-bottom));max-height:70vh;max-height:70dvh;overflow:auto}}.you{position:relative}.you-toggle{position:relative;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;line-height:1;background:var(--panel-2);color:var(--ink);border:1px solid var(--rule)}.you-toggle[aria-current]{border-color:var(--accent);color:var(--accent-ink)}.you-toggle .new-dot{position:absolute;top:1px;right:1px;margin:0}.you-menu button[aria-current=page] .quick-add-label{color:var(--accent-ink)}@media(min-width:761px){.you-toggle{width:36px;height:36px;min-height:36px;font-size:14px}}details.faq{border-top:1px solid var(--rule-soft);padding:10px 0}details.faq:first-child{border-top:none;padding-top:0}details.faq summary{cursor:pointer;font-weight:600;font-size:14.5px;padding:4px 0}details.faq p{margin:8px 0 10px;max-width:68ch;color:var(--ink-2)}.faq-links{display:flex;gap:8px;flex-wrap:wrap}.practice-list{display:grid;gap:14px;margin:0 0 18px}.practice-list .card{margin:0}.practice-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.practice-head>span:first-child{flex:1}.practice-line{font-size:14px;color:var(--ink-2);margin-bottom:6px}.practice-tick{display:inline-flex;align-items:center;gap:8px}.practice-tick.is-done{flex-direction:column;align-items:flex-end;gap:0;min-height:44px;justify-content:center}.practice-done{font-weight:600;color:var(--ok);white-space:nowrap}.practice-more{display:inline-flex;gap:12px;font-size:13px}.practice-day{gap:10px;flex-wrap:wrap}.race-links{display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 10px;color:var(--ink-2)}.race-links>span+span:before{content:"·";margin:0 8px;color:var(--ink-3)}.result{border-top:1px solid var(--rule-soft);padding-top:12px;margin:4px 0 14px}.result-head{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:8px}.result-times{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px}.result-times label{display:grid;gap:4px;font-size:12.5px;color:var(--ink-2);min-width:0}.result-times input,.result-times select{width:100%;min-width:0}.result-facts{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:8px}.result-facts>span+span:before{content:"·";margin:0 8px;color:var(--ink-3)}@media(max-width:760px){.result-times{grid-template-columns:1fr}}.scope-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 14px}.scope-row .pill.as-button{font-family:inherit;font-size:13px;padding:6px 12px;min-height:34px}.scatter{margin:0}.scatter svg{display:block;width:100%;height:auto;max-width:760px;overflow:visible}.scatter-axis{stroke:var(--rule);stroke-width:1}.scatter-tick{fill:var(--ink-3);font-size:11px;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.scatter-iso line{stroke:var(--ink-3);stroke-opacity:.22;stroke-width:1}.scatter-iso text{fill:var(--ink-3);font-size:11px;font-family:IBM Plex Mono,monospace;opacity:.85}.scatter-pt{cursor:pointer;outline:none}.scatter-hit{fill:transparent}.scatter-dot{stroke:var(--panel);stroke-width:2;transition:r .12s ease}.scatter-pt.key .scatter-dot{fill:var(--viz-key)}.scatter-pt.race .scatter-dot{fill:var(--viz-race)}.scatter-pt.other .scatter-dot{fill:var(--viz-other)}.scatter-pt.focused .scatter-dot,.scatter-pt:hover .scatter-dot{r:7.5;stroke:var(--ink)}.scatter-pt:focus-visible .scatter-dot{stroke:var(--accent);stroke-width:3}.scatter figcaption{display:grid;gap:6px;margin-top:8px}.scatter-legend{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;color:var(--ink-2)}.scatter-readout{font-size:13.5px;min-height:1.5em;color:var(--ink)}.fuel-gut-dot{fill:var(--panel);stroke-width:3}.fuel-gut-pt.key .fuel-gut-dot{stroke:var(--viz-key)}.fuel-gut-pt.long .fuel-gut-dot{stroke:var(--viz-other)}.fuel-gut-pt text{fill:var(--ink);font-size:11px;font-family:IBM Plex Mono,monospace;pointer-events:none}.fuel-gut-pt.focused .fuel-gut-dot,.fuel-gut-pt:hover .fuel-gut-dot{stroke:var(--ink)}.fuel-gut-pt:focus-visible .fuel-gut-dot{stroke:var(--accent)}.fuel-gut-band{fill:var(--panel-2)}.fuel-gut-grid{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 3}.fuel-hours{border-collapse:collapse;margin:4px 0 8px}.fuel-hours caption{text-align:left}.fuel-hours th,.fuel-hours td{text-align:left;padding:2px 12px 2px 0;font-weight:400}.took-before{border:0;padding:0;margin:8px 0}.cal-card{overflow:visible}.cal-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:none;background:var(--panel-2);border-radius:var(--r-panel) var(--r-panel) 0 0;padding:12px 15px;min-height:48px;cursor:pointer}.cal-card:not(.open) .cal-head{border-radius:var(--r-panel)}.cal-head:hover{color:var(--ink);background:color-mix(in srgb,var(--accent-soft) 60%,var(--panel-2))}.cal-head-name{font-weight:600;font-size:15px}.cal-head-when{margin-left:auto;text-align:right}.cal-head-chev{font-size:18px;color:var(--ink-3);width:20px;text-align:center}.cal-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-bottom:12px;color:var(--ink-2)}.cal-key{display:inline-flex;align-items:center;gap:6px}.cal-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--rule)}.cal-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.cal-dot.key{background:var(--viz-key)}.cal-dot.race{background:var(--viz-race)}.cal-dot.other{background:var(--viz-other)}.cal-dot.planned{background:none;border:2px solid var(--ink-3)}.cal-dot.also{width:6px;height:6px;background:var(--ink-3)}.cal-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px 22px}.cal-month-title{font-size:13px;font-weight:600;margin:0 0 6px;letter-spacing:.01em}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.cal-dow{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.06em;text-align:center;color:var(--ink-3);padding-bottom:2px}.cal-empty{min-height:44px}.cal-day{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:14px 0 0;border:none;border-radius:5px;background:var(--panel-2);color:var(--ink-2);cursor:pointer;transition:none}.cal-day.out{background:none;color:var(--ink-3)}.cal-day .cal-num{position:absolute;top:3px;left:5px;font-size:12px;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;line-height:1}.cal-day.phase-none{background:color-mix(in srgb,var(--panel-2) 60%,var(--panel))}.cal-day.phase-base,.cal-swatch.phase-base{background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel))}.cal-day.phase-build,.cal-swatch.phase-build{background:color-mix(in srgb,var(--accent-soft) 75%,var(--panel))}.cal-day.phase-peak,.cal-swatch.phase-peak{background:var(--accent-soft)}.cal-day.phase-taper,.cal-swatch.phase-taper{background:color-mix(in srgb,var(--accent) 22%,var(--accent-soft))}.cal-day.phase-race-week,.cal-swatch.phase-race-week{background:color-mix(in srgb,var(--accent) 40%,var(--accent-soft));color:var(--ink)}.cal-day.phase-competition,.cal-swatch.phase-competition,.timeline-seg.seg-competition{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--accent) 40%,var(--accent-soft)) 0 6px,var(--accent-soft) 6px 12px);color:var(--ink)}.cal-day.phase-recovery,.cal-swatch.phase-recovery{background:color-mix(in srgb,var(--rule) 55%,var(--panel))}.cal-day.phase-off-season,.cal-swatch.phase-off-season,.cal-day.phase-maintenance,.cal-swatch.phase-maintenance,.cal-day.phase-year-round,.cal-swatch.phase-year-round{background:var(--panel-2)}.cal-day.phase-injury,.cal-swatch.phase-injury{background:var(--bad-soft)}.cal-day.today{box-shadow:inset 0 0 0 2px var(--ink)}.cal-day.raceday{box-shadow:inset 0 0 0 2px var(--viz-race)}.cal-day.today.raceday{box-shadow:inset 0 0 0 2px var(--viz-race),inset 0 0 0 4px var(--ink)}.cal-day.focused,.cal-day:hover{filter:brightness(1.06)}.cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-run{display:block;border-radius:50%;border:2px solid var(--panel);box-sizing:content-box}.cal-run.key{background:var(--viz-key)}.cal-run.race{background:var(--viz-race)}.cal-run.other{background:var(--viz-other);opacity:.7}.cal-plan{display:block;border-radius:50%;border:2px solid var(--ink-3);box-sizing:border-box;opacity:.8}.cal-plan.key{border-color:var(--viz-key)}.cal-race{display:block;border-radius:50%;box-sizing:border-box}.cal-race.ahead{border:2px solid var(--viz-race);opacity:.8}.cal-race.finished{background:var(--viz-race);border:2px solid var(--panel);box-sizing:content-box}.cal-race.dnf{background:linear-gradient(to top,var(--viz-race) 50%,transparent 50%);border:2px solid var(--viz-race)}.cal-race.dns{border:2px dashed var(--viz-race)}.cal-day.raceday{gap:2px}.cal-readout{margin:12px 0 10px;padding:9px 12px;font-size:13.5px;min-height:2.4em;background:var(--panel-2);border-radius:var(--r-control);color:var(--ink)}.cal-table{margin-top:4px}.cal-table th.num,.cal-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cal-table tr.current td{font-weight:600}.cal-phase-cell{white-space:nowrap}.cal-phase-cell .pill{margin-left:8px;font-weight:400}@media(max-width:760px){.scope-row .scope-since{flex-basis:100%}.cal-table .hide-phone,table .hide-phone{display:none}.cal-phase-cell,.cal-table th.num{white-space:normal}.cal-table th,.cal-table td{padding-left:5px;padding-right:5px}.cal-months{grid-template-columns:1fr}.cal-day{min-height:46px}.scatter-readout{font-size:14px}}.race-tag{display:inline-block;margin-top:3px;font-size:12px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--r-pill);padding:1px 9px}.race-window{display:grid;gap:8px;padding:12px 14px;margin:10px 0;border:1px solid var(--rule);border-radius:var(--r-panel);background:var(--panel-2)}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin:0 0 18px}.board .card{margin:0}.board-filter{display:flex;flex-direction:column;gap:4px;max-width:320px;margin:0 0 12px;font-size:13px;color:var(--ink-2)}.board-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.board-facts>span:last-child:nth-child(odd){grid-column:1 / -1}.board-card .weekgrid{width:100%}tr.current td{font-weight:600}tr.current td .small{font-weight:400}.ground-area{fill:var(--ember-soft);stroke:none}.ground-line{fill:none;stroke:var(--ember-fill);stroke-width:2}.lactate-chart{display:block;width:100%;max-width:600px;height:auto;margin:4px 0 6px}.lactate-chart .grid{stroke:var(--ink-3);stroke-opacity:.22}.lactate-chart .curve{stroke:var(--accent);fill:none;stroke-width:2;stroke-linejoin:round}.lactate-chart .dot{fill:var(--accent)}.lactate-chart .marker{stroke:var(--ink-2);stroke-dasharray:4 3}.lactate-chart text{fill:var(--ink-3);font-size:12px;font-variant-numeric:tabular-nums}tr.zone-row td{border-bottom:none;padding-bottom:2px}tr.zone-note td{padding-top:0}.lactate-chart text.marker-label{fill:var(--ink-2);font-weight:600}.threshold-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.threshold-line .value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.threshold-line .from{font-size:12.5px;color:var(--ink-3)}.stage-grid{display:grid;grid-template-columns:2.2em minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 2.6em;gap:6px 8px;align-items:center;margin:8px 0}.stage-grid .head{font-size:12px;color:var(--ink-3)}.stage-grid input{width:100%}.reading-none{color:var(--ink-3);font-size:12.5px}.found-grid{grid-template-columns:9.5em minmax(0,1fr) minmax(0,1fr)}.stage-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0 4px}.stage-tools details{flex:1 1 280px}.trend-row{display:flex;gap:22px;flex-wrap:wrap}.spark{display:inline-flex;align-items:center;gap:8px;color:var(--accent)}.spark .small{color:var(--ink-3)}.checkin{display:grid;gap:12px;padding-top:12px}.checkin-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:10px}.checkin-label{font-size:13.5px;color:var(--ink-2)}.checkin-answer{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scale{display:flex;flex-wrap:wrap;gap:6px}.scale-wide button{min-width:36px;padding:0 8px}.scale button{min-width:40px;min-height:40px;padding:0 12px;border-radius:var(--r-pill);font-variant-numeric:tabular-nums}.scale button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.scale-word{font-size:12.5px;color:var(--ink-3)}.checkin-number{display:flex;align-items:center;gap:8px}.checkin-number input{width:96px}.checkin-device{font-size:13.5px;color:var(--ink-2)}.checkin-trend{display:flex;align-items:center;gap:12px;color:var(--accent)}.checkin-trend .small{color:var(--ink-3)}@media(max-width:760px){.checkin-row{grid-template-columns:1fr;gap:6px}.scale button{min-width:44px;min-height:44px}}.day-section{border:1px solid var(--rule);border-radius:var(--r-panel);background:var(--panel);margin:10px 0 0;overflow:hidden}.day-section.is-open{border-color:var(--rule)}.day-section.is-done{background:transparent;border-color:var(--rule-soft)}.day-section-head{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 14px;background:none;border:none;text-align:left;cursor:pointer;color:var(--ink);font:inherit}.day-section.is-empty .day-section-head{cursor:default;min-height:40px}.day-section-head:hover{background:var(--panel-2)}.day-section.is-empty .day-section-head:hover{background:none}.day-section-mark{flex:none;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:12px;line-height:1;border:1px solid var(--rule);color:var(--ink-3)}.day-section.is-done .day-section-mark{border-color:var(--ok);color:var(--ok)}.day-section-title{font-weight:600;font-size:14.5px;flex:none}.day-section.is-done .day-section-title{font-weight:400;color:var(--ink-2)}.day-section.is-empty .day-section-title{font-weight:400;color:var(--ink-3);font-size:13.5px}.day-section-summary{font-size:13px;color:var(--ink-3);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-section-body{padding:2px 14px 16px;border-top:1px solid var(--rule-soft)}.day-section-bar{display:flex;align-items:center}.day-section-bar>.day-section-head{flex:1;min-width:0}.day-section-action{flex:none;display:flex;align-items:center;padding-right:12px}.day-section-action button.primary{min-height:44px}.day-section>.note.confirm{margin:0 12px 12px}.submitted{font-size:13.5px;color:var(--ok);white-space:nowrap}.submitted button.link{min-height:44px;padding:0 6px;font-size:13.5px}.day-section-body>.slot:first-child{margin-top:12px}@media(max-width:760px){.day-section-head{gap:8px;padding:10px 12px;flex-wrap:wrap}.day-section-summary{flex-basis:100%;order:3;white-space:normal;margin-left:29px}.day-section-body{padding:2px 12px 14px}}.panes-bar{position:sticky;top:var(--panes-top, env(safe-area-inset-top, 0px));z-index:12;background:var(--paper);margin:0 0 14px;padding:6px 0}.panes{display:flex;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-pill);overflow-x:auto;scrollbar-width:none}.panes::-webkit-scrollbar{display:none}.pane-tab{flex:1 0 auto;background:transparent;border:none;border-radius:var(--r-pill);padding:7px 14px;min-height:44px;font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap}.pane-tab:hover{color:var(--accent-ink)}.pane-tab.on,.pane-tab.on:hover:not(:disabled){background:var(--accent);color:var(--on-accent);font-weight:600}@media(max-width:760px){.pane-tab{flex:1 1 auto;padding:4px 8px;font-size:12.5px;line-height:1.2;white-space:normal}}.tile button.link{margin-top:4px}.add-step{width:100%;margin-top:8px;min-height:44px;text-align:left;border-style:dashed;color:var(--ink-3)}.add-step:hover{color:var(--accent-ink);border-color:var(--accent)}.race-group>.slot{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.anchor-toggle{display:flex;gap:0;margin-bottom:12px}.anchor-toggle button{min-height:44px;padding:8px 14px;cursor:pointer;border:1px solid var(--rule);background:var(--paper);color:var(--ink-2)}.anchor-toggle button+button{border-left:none}.anchor-toggle button.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.race-banner{background:var(--accent-soft);border-left:4px solid var(--accent);padding:16px 18px;margin:0 0 18px}.race-banner-eyebrow{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);font-weight:600}.race-banner h2{margin:3px 0 6px;color:var(--accent-ink)}.race-banner-when{margin:0;font-size:13.5px;color:var(--ink-2)}.race-banner-when strong{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}details.card>summary{cursor:pointer;padding:12px 15px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--rule)}details.card[open]>summary{border-bottom:1px solid var(--rule)}details.card>summary:hover{color:var(--accent-ink)}details.card>summary .small{text-transform:none;letter-spacing:0}.phase-row{display:flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--rule-soft);flex-wrap:wrap}.phase-row:last-of-type{border-bottom:none}.phase-name{flex:0 0 92px;font-size:13.5px}.phase-dates{flex:1;text-align:right;min-width:120px}.stepper{display:flex;align-items:center;border:1px solid var(--rule)}.stepper button{min-width:44px;min-height:38px;border:none;background:none;font-size:17px;cursor:pointer;color:var(--ink-2)}.stepper button:hover{color:var(--accent-ink);background:var(--accent-soft)}.stepper>span{min-width:46px;text-align:center;font-size:13.5px;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.timeline{display:flex;gap:2px;min-height:56px}.timeline-seg{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;min-width:0;overflow:hidden;font-size:12px;text-align:center;background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap}.timeline-seg span{overflow:hidden;text-overflow:ellipsis;max-width:100%}.seg-base{background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel))}.seg-build{background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel))}.seg-peak{background:var(--accent-soft)}.seg-taper{background:color-mix(in srgb,var(--accent) 30%,var(--accent-soft))}.seg-competition .muted{color:var(--ink)}.seg-race-week{background:var(--accent);color:var(--paper)}.seg-race-week .muted{color:var(--paper);opacity:.75}.timeline-seg.after{background:none;border:1px dashed var(--rule);color:var(--ink-3)}.rowbar{display:block;height:9px;background:var(--ember-fill);border-radius:var(--r-control);min-width:2px}.shape-rows{list-style:none;margin:12px 0 0;padding:0}.shape-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-bottom:1px solid var(--rule-soft)}.shape-what,.shape-how{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.shape-what{flex:1 1 260px}.shape-what input{flex:1 1 140px;min-width:0}.shape-how{flex:1 1 300px}.shape-moves{flex:1 1 100%;justify-content:flex-end;align-items:center}.shape-when{margin-right:auto;white-space:nowrap}.shape-presets{max-width:100%}.shape-open{padding:0 10px;color:var(--ink-3)}.shape-race{margin:6px 0;padding:8px 12px;border-radius:var(--r-control);background:color-mix(in srgb,var(--accent) 40%,var(--accent-soft));color:var(--ink);font-weight:600;font-size:13.5px}.shape-fit{margin-top:12px;align-items:flex-end}.block-editor{display:flex;flex-direction:column;gap:10px;margin:10px 0}.block-editor-actions{flex-wrap:wrap}.cal-edit{padding:0 14px 8px}@media(max-width:760px){.shape-row{gap:6px 8px;padding:8px 0}.shape-what,.shape-how{flex:1 1 100%;flex-wrap:nowrap}.shape-what select{flex:0 1 46%;min-width:0}.shape-how select{flex:1 1 auto;min-width:0}.shape-moves{gap:6px}.shape-when{white-space:normal;line-height:1.25}.block-editor-actions{position:sticky;bottom:calc(60px + env(safe-area-inset-bottom));z-index:5;margin:0;padding:8px 0;background:var(--panel);border-top:1px solid var(--rule)}.block-editor .stepper button,.block-editor .chip-row .pill.as-button{min-height:44px;min-width:44px}.block-editor input,.block-editor select{font-size:16px;padding:11px 12px;min-height:44px}}.took-summary{margin:0 0 10px;max-width:70ch;color:var(--ink-2)}.weeknav{display:flex;align-items:center;gap:14px;justify-content:space-between}.weeknav button{min-width:46px;min-height:44px;font-size:17px}.weeknav-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center;text-align:center;min-width:0;flex:1}.weeknav-title .pill{white-space:normal;overflow-wrap:anywhere;max-width:100%}.week-notes{margin:2px 15px 8px;font-size:13px;font-style:italic;color:var(--ink-2);overflow-wrap:anywhere;text-align:center}.dayhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.dayhead h3{margin:0}.sessionrow{display:flex;flex-direction:column;gap:7px;padding:11px 0;border-bottom:1px solid var(--rule-soft)}.sessionrow:last-of-type{border-bottom:none}.sessionrow.muted{opacity:.55}.sessionbody{display:flex;flex-direction:column;gap:3px}.sessionbody>div:first-child{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.matchrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:5px 9px;background:var(--panel-2);border-left:2px solid var(--rule)}.plan-panel{background:var(--panel-2);border:1px solid var(--rule);padding:13px 15px;margin:10px 0;display:flex;flex-direction:column;gap:11px}.plan-panel>label{display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.plan-panel .note{margin-bottom:0}.plan-panel>button{align-self:flex-start}@media(max-width:760px){.weeknav-title{font-size:14px}}.readings{display:flex;flex-direction:column;padding:0 15px}.reading{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule-soft)}.reading:last-child{border-bottom:none}.reading-name{font-size:13px;color:var(--ink-2)}.reading-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reading-cells>div{display:flex;flex-direction:column;gap:2px;min-width:0}.reading-cells .k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.reading-cells b{font-weight:600;font-variant-numeric:tabular-nums;font-size:14.5px}.reading-cells .reading-hours{grid-column:1 / -1}.floor{color:var(--ink-3);font-weight:400;padding-left:2px}.reading-cells .pill{align-self:flex-start}@media(max-width:560px){.reading{grid-template-columns:1fr;gap:5px}.reading-name{text-transform:uppercase;font-size:12px;letter-spacing:.07em;color:var(--ink-3)}.reading-name .body{text-transform:none;letter-spacing:0}}.season-axis{font-size:11px;fill:currentColor;fill-opacity:.6;letter-spacing:.02em}.bar-done{fill:var(--ember-fill)}.bar-target{stroke:var(--ink-2);fill:var(--ink-2)}.bar-pip{fill:var(--viz-key)}.chart-key{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-3)}.chart-key i{width:11px;height:8px;display:inline-block}.chart-key .k-target{height:2px;background:var(--ink-2)}.chart-key .k-planned{background:var(--ink);opacity:.15}.chart-key .k-done{background:var(--ember-fill)}.chart-key .k-pip{width:6px;height:6px;border-radius:50%;background:var(--viz-key)}.spans{display:flex;flex-direction:column}.span{padding:10px 0 10px 12px;border-left:3px solid var(--accent);border-bottom:1px solid var(--rule-soft)}.span:last-child{border-bottom:none}.span-gap{border-left-color:var(--rule)}.span-now{background:var(--panel-2)}.span-when{font-size:12px;letter-spacing:.05em;color:var(--ink-3);font-family:IBM Plex Mono,monospace}.span-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14.5px;font-weight:600;margin-top:2px}.span-name .muted{font-weight:400}.plan-week .weeknav{padding:12px 15px 4px}.hz-seg.hz-easy,.k-line.hz-easy{fill:var(--hz-easy);background:var(--hz-easy)}.hz-seg.hz-steady,.k-line.hz-steady{fill:var(--hz-steady);background:var(--hz-steady)}.hz-seg.hz-threshold,.k-line.hz-threshold{fill:var(--hz-threshold);background:var(--hz-threshold)}.hz-seg.hz-above,.k-line.hz-above{fill:var(--hz-above);background:var(--hz-above)}.hz-seg.hz-none,.k-line.hz-none{fill:var(--viz-other);background:var(--viz-other)}.chart-key i.hz-easy{background:var(--hz-easy)}.chart-key i.hz-steady{background:var(--hz-steady)}.chart-key i.hz-threshold{background:var(--hz-threshold)}.chart-key i.hz-above{background:var(--hz-above)}.chart-key i.hz-none{background:var(--viz-other)}.hz-seg.on{stroke:var(--ink);stroke-width:1.5}.season-plot{position:relative}.season-plot svg{touch-action:pan-y}.season-tip-go{display:flex;gap:6px;margin-top:6px;pointer-events:auto}.season-tip-go button{min-height:44px;min-width:44px;padding:0 10px}.season-tip-go button:nth-child(2){flex:1}.season-tip{position:absolute;top:4px;z-index:2;pointer-events:none;max-width:min(300px,92%);background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-control);box-shadow:var(--shadow-pop);padding:6px 9px;font-size:12px;line-height:1.45;color:var(--ink)}.season-tip-row{display:flex;align-items:baseline;gap:6px}.season-tip-row b{white-space:nowrap}.season-tip-row.on b{text-decoration:underline;text-underline-offset:2px}.season-tip-why{padding-left:20px}.k-line{display:inline-block;width:12px;height:2px;flex:none;transform:translateY(-3px)}.season-bands>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.season-bands td{white-space:normal}.season-tip{width:max-content}@media(max-width:560px){.season-tip{left:0!important;right:0!important;width:auto;max-width:none;top:calc(100% + 4px)}}.season-embedded{padding:6px 15px 0}.season-embedded .dayhead{margin-bottom:2px}.season-embedded .chart{border:none;background:none;padding:4px 0 0}.season-embedded .row-actions button{padding:3px 9px;font-size:12px}.season-here{fill:var(--accent-soft);opacity:.9}.season-week.pick{cursor:pointer}.season-week.pick:hover .bar-done,.season-week.pick:focus .bar-done,.season-week.pick:hover .bar-stack,.season-week.pick:focus .bar-stack{filter:brightness(1.12)}.season-week:focus{outline:none}.season-week:focus-visible .season-here,.season-week:focus-visible rect[fill=transparent]{outline:2px solid var(--accent)}.plan-week .readings{border-top:1px solid var(--rule-soft);margin-top:6px}.plan-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 15px;border-top:1px solid var(--rule-soft)}.plan-week .plan-panel{margin:0 15px 14px}.last-week{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 5px;width:100%;min-height:44px;padding:8px 15px;border:none;border-top:1px solid var(--rule-soft);background:none;color:var(--ink-2);text-align:left;cursor:pointer}.last-week .k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.last-week b{color:var(--ink)}.last-week-go{margin-left:auto;color:var(--ink-3)}.season-fold>summary{min-height:44px}.withheld{display:inline-flex;align-items:center;gap:3px;color:var(--ink-2);white-space:nowrap}.withheld-lock{width:.9em;height:.9em;fill:none;stroke:currentColor;stroke-width:1.3}.plan-days{padding:0}.plan-fold-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 15px;border-bottom:1px solid var(--rule-soft)}.plan-fold-switch .units-toggle button{min-height:44px;padding:0 14px;font-size:12.5px}.dayrow{padding:12px 15px;border-bottom:1px solid var(--rule-soft)}.dayrow:last-child{border-bottom:none}.dayrow.today{background:color-mix(in srgb,var(--accent-soft) 35%,var(--panel));box-shadow:inset 3px 0 0 var(--accent)}.dayrow.empty{padding:8px 15px}.dayrow-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dayrow-name{display:flex;align-items:baseline;gap:8px;min-width:120px;font-size:15px}.dayrow-name strong{font-size:15px}.dayrow-empty{flex:1}.dayrow-actions{margin-left:auto}.dayrow.empty .dayrow-actions button{padding:4px 11px;font-size:13px}button.soft{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink);font-weight:600}button.soft:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.dayrow.folded{padding:0}.dayrow-fold{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 8px;margin:0 -8px;border:none;border-radius:var(--r-control);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dayrow.folded .dayrow-fold{width:100%;margin:0;padding:6px 15px;border-radius:0}.plan-days>.dayrow.folded:first-child .dayrow-fold{border-radius:calc(var(--r-panel) - 1px) calc(var(--r-panel) - 1px) 0 0}.plan-days>.dayrow.folded:last-child .dayrow-fold{border-radius:0 0 calc(var(--r-panel) - 1px) calc(var(--r-panel) - 1px)}.dayrow-fold:hover:not(:disabled){background:var(--panel-2);color:inherit}.dayrow-fold:focus-visible{outline-offset:-2px}.dayrow-fold .dayrow-name{flex:none}.dayrow-chev{flex:none;width:20px;margin-left:auto;text-align:center;font-size:18px;line-height:1;color:var(--ink-3)}.dayrow-fold:hover .dayrow-chev{color:var(--accent)}.dayrow-fold-line{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:2px 16px;font-size:13.5px;color:var(--ink-2)}.fold-item{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 7px;min-width:0;max-width:100%}.fold-name{display:inline-flex;align-items:baseline;gap:6px;min-width:0;max-width:100%}.fold-mark{flex:none;color:var(--accent);font-weight:600}.fold-sport{flex:none;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.fold-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fold-item.skipped .fold-title{color:var(--ink-3)}.fold-note,.fold-dist{flex:none;font-size:12.5px;color:var(--ink-3);white-space:nowrap}.fold-dist{font-variant-numeric:tabular-nums}.plan-days .sessionrow{padding:10px 0 4px;border-bottom:none}.plan-days .sessionrow+.sessionrow{border-top:1px solid var(--rule-soft)}.session-title{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.session-title strong{font-size:15px}.session-actions{margin-top:6px}.session-actions button{padding:4px 10px;font-size:12.5px}@media(min-width:761px){.season-embedded .row-actions button{min-height:30px}.dayrow.empty .dayrow-actions button,.session-actions button{min-height:32px}}.pill.sport{font-family:inherit;font-size:12px;letter-spacing:.04em;text-transform:uppercase;background:var(--panel-2);color:var(--ink-2);border-color:var(--rule)}.pill.sport.lift{background:var(--panel);color:var(--ink-2);border-color:var(--control-border)}.lift-group{margin-top:8px;padding:8px 12px 4px;border:1px dashed var(--rule);border-radius:var(--r-control);background:color-mix(in srgb,var(--panel-2) 50%,var(--panel))}.group-label{display:block;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px}.sport-group{margin-top:8px;padding:8px 12px 4px;border:1px dashed var(--rule);border-radius:var(--r-control);background:var(--panel-2)}.sport-group .group-label{color:var(--ink-3)}.sessionrow.lift .sessionbody{opacity:.95}.sessionrow.stray{margin-top:8px;padding:9px 12px;border:1px dashed var(--rule);border-radius:var(--r-control);background:var(--panel-2)}.plan-days .sessionrow.stray{padding:9px 12px}.plan-days .sessionrow.stray+.sessionrow{border-top:none}.dayrow-note{padding:11px 15px}.strip{display:block;width:100%;max-width:520px;margin:4px 0 2px}.strip-warm,.strip-cool{fill:var(--ember-soft)}.strip-effort{fill:color-mix(in srgb,var(--ember-fill) 62%,var(--panel))}.strip.key .strip-effort{fill:var(--ember-fill)}.strip-rest{fill:var(--rule)}.strip-stride{fill:var(--ink-3)}.strip-preview{display:flex;align-items:center;gap:10px}.strip-preview .strip{max-width:360px;margin:0}.quickrun{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--r-control)}.quickrun-field{display:inline-flex;align-items:center;gap:5px}.quickrun-field input{width:72px;text-align:right;font-variant-numeric:tabular-nums}.quickrun-field span{font-size:12.5px;color:var(--ink-3)}.quickrun-field input[type=time]{width:auto;text-align:left}.repeat-weeks{width:52px;margin:0 6px;text-align:right;font-variant-numeric:tabular-nums}.repeat-plan{margin:8px 0;padding-left:18px}.repeat-plan li{margin:2px 0}.quickrun-name{flex:1;min-width:140px}.quickrun select{min-height:36px}.cal-day .cal-also{position:absolute;right:4px;bottom:4px;width:6px;height:6px;border-radius:50%;background:var(--ink-3)}.logform{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.logform label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-3)}.logform input,.logform select{min-width:0}.logform .logform-num{width:96px}@media(max-width:760px){.dayrow-name{min-width:0}.dayrow-fold .dayrow-name{min-width:96px}.dayrow-empty{flex-basis:100%;order:3}.dayrow-actions{margin-left:auto}.quickrun-name{flex-basis:100%}.season-embedded{padding:4px 10px 0}}.builder{display:flex;flex-direction:column;gap:10px}.buildrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--rule-soft)}.buildlabel{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);min-width:76px}.pair{display:inline-flex;align-items:center;gap:5px}.pair-label,.pair-unit{font-size:12px;color:var(--ink-3)}.builder input.tiny{width:52px;text-align:right;font:inherit;font-size:14px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-control);padding:6px 7px;color:var(--ink);font-variant-numeric:tabular-nums}.builder input.tiny.wide{width:66px}.builder select{font:inherit;font-size:13px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-control);padding:6px 7px;color:var(--ink)}.setcard{border:1px solid var(--rule);background:var(--panel);padding:11px 13px;display:flex;flex-direction:column;gap:9px}.setcount{display:flex;align-items:center;gap:7px}.intervalrow{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--rule-soft)}.intervalfields{display:flex;flex-wrap:wrap;gap:12px;align-items:center;flex:1}.restline{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;padding-left:10px;border-left:2px solid var(--rule-soft)}.betweensets{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-top:7px;border-top:1px solid var(--rule-soft)}.startfrom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:9px;border-bottom:1px solid var(--rule-soft)}@media(max-width:760px){.buildlabel{min-width:100%}.intervalfields{gap:9px}.restline{padding-left:0;border-left:none;width:100%}.builder input.tiny,.builder select{min-height:38px;font-size:16px}}.scanner{display:flex;flex-direction:column;gap:8px;margin:10px 0}.scanner-frame{position:relative;width:100%;max-width:520px}.scanner-view{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--viewfinder);border:1px solid var(--rule);border-radius:var(--r-control)}.scanner-guide{position:absolute;top:22%;right:8%;bottom:22%;left:8%;pointer-events:none;border:2px solid var(--accent);border-radius:var(--r-control);opacity:.75}@media(max-width:760px){.scanner-frame{max-width:100%}.scanner-view{aspect-ratio:3/4}.scanner-guide{top:32%;right:6%;bottom:32%;left:6%}}.attach{display:flex;flex-direction:column;gap:8px;padding:11px 0;border-bottom:1px solid var(--rule-soft)}.attach-list{flex-wrap:wrap}.attach-list button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quickbarcode{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.quickbarcode input{font:inherit;font-size:14px;width:12em;padding:5px 8px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-control);color:var(--ink);font-variant-numeric:tabular-nums}.ingredients{margin-top:10px;display:flex;flex-direction:column;gap:8px}.picked{display:flex;align-items:center;gap:10px}.sifter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.sifter input{font:inherit;font-size:14px;flex:1;min-width:180px;max-width:340px;padding:7px 10px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-control);color:var(--ink)}.pager{display:flex;align-items:center;gap:14px;justify-content:center;padding:12px 0 2px;border-top:1px solid var(--rule-soft);margin-top:10px}.pager button{min-height:36px}@media(max-width:760px){.sifter input{max-width:100%;font-size:16px;min-height:44px}.pager button{min-height:44px;flex:1}}.pref{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px}.pref>div{flex:1;min-width:240px}.home{display:flex;flex-direction:column;gap:16px}.hero-row{display:grid;gap:10px;grid-template-columns:1fr}.hero-row:has(.hero+.hero){grid-template-columns:1.6fr 1fr}.hero{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border:1px solid var(--rule);border-radius:var(--r-control);background:linear-gradient(140deg,var(--accent-soft),var(--panel) 70%);cursor:pointer;width:100%}.hero:hover{border-color:var(--accent)}.hero-soon{border-left:3px solid var(--warn)}.hero-label{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.hero-name{font-size:17px;font-weight:600;color:var(--ink)}.hero-count{font-variant-numeric:tabular-nums;color:var(--accent-ink);line-height:1.05;margin:6px 0 2px}.hero-count b{font-size:44px;font-weight:600;letter-spacing:-.02em}.hero-count small{font-size:14px;color:var(--ink-2);margin-right:6px}.hero-count em{font-size:32px;font-style:normal;font-weight:600}.hero-main .hero-count b{font-size:56px}.hero-sub{font-size:12px;color:var(--ink-3)}.home-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(196px,1fr))}.panel-card{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--r-control);background:var(--panel);cursor:pointer}.panel-card:hover{border-color:var(--accent)}.panel-card.wide{grid-column:span 2}.panel-head{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.panel-sub{font-size:12.5px;color:var(--ink-3)}.big{font-size:34px;font-weight:600;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.big small{font-size:15px;font-weight:400;color:var(--ink-3)}.meter{display:block;height:5px;background:var(--panel-2);border-radius:var(--r-control);overflow:hidden}.meter>span{display:block;height:100%;background:var(--ember-fill);border-radius:var(--r-control);transition:width .25s ease}.meter>span.full{background:var(--ok)}.line{display:flex;align-items:baseline;gap:9px;font-size:13.5px}.line-tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);min-width:52px;padding-top:2px}.line-tag.done{color:var(--ok)}.line-body{flex:1;min-width:0;color:var(--ink);display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.week-line{display:flex;align-items:baseline;gap:7px;margin-top:4px;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.week-line b{font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);font-variant-numeric:tabular-nums}.week-line small{letter-spacing:0;text-transform:none;font-size:12px}.today-card{padding:16px 18px 8px;border-radius:var(--r-lead);box-shadow:var(--shadow-lift);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 70%,var(--panel)) 0,var(--panel) 92px)}.today-top{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.today-card .today-top h3{padding:0;border:none;background:none;font-size:18px}.today-none{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 0;color:var(--ink-2)}.today-rows{list-style:none;margin:0;padding:0}.today-rows>li{border-top:1px solid var(--rule-soft)}.today-rows>li:first-child{border-top:none}.today-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:10px 0}.today-row.key .today-ring .ring-fill{stroke:var(--viz-key)}.today-body{display:flex;flex-direction:column;gap:3px;min-width:0}.today-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.today-name b{font-size:15px;color:var(--ink)}.today-name b small{font-weight:400;color:var(--ink-3);font-size:13px}.today-kind{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.today-line{display:flex;align-items:baseline;gap:9px;font-size:13.5px}.today-fig{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}.today-fig.lead{font-size:25px;font-weight:600;line-height:1.15;letter-spacing:-.015em}.today-fig.lead small{font-size:13px;font-weight:400;letter-spacing:0;color:var(--ink-3)}.today-did .line-body{gap:2px 16px}.today-sub{font-size:12.5px;color:var(--ink-3);padding-left:61px}.today-said{display:flex;flex-wrap:wrap;gap:4px;padding-left:61px}.today-lifts{list-style:none;margin:2px 0 0;padding:0 0 0 61px;font-size:13px;color:var(--ink-2)}.today-lifts b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.week-lifts{list-style:none;margin:4px 0 0;padding:0;font-size:13px;color:var(--ink-2);overflow-wrap:anywhere}.week-lifts b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.session-notes{margin:4px 0 0;font-size:13px;font-style:italic;color:var(--ink-2);overflow-wrap:anywhere}.today-line .session-notes{margin:0}.today-act{align-self:center;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.today-act button{min-height:var(--control-h);white-space:nowrap}@media(max-width:760px){.today-act button{min-height:44px}}.glance-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 0}.glance-door{flex:1 1 0;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:2px 0;border:none;background:none;color:inherit;text-align:left;font-weight:400;cursor:pointer}.glance-door:hover:not(:disabled){background:none}.glance-door:hover .glance-what{color:var(--accent-ink)}.glance-top{display:flex;align-items:baseline;gap:6px;min-width:0;max-width:100%}.glance-what{font-size:14px;font-weight:600;line-height:1.2;color:var(--ink);max-width:100%;overflow-wrap:anywhere}.glance-what:after{content:" ›";color:var(--ink-3);font-weight:400}.glance-note{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.glance-line>button.primary{flex:none}.glance-scale{flex:none;display:flex;flex-direction:column;gap:1px}.glance-scale .checkin-row{display:block}.glance-scale .checkin-label,.glance-scale .scale-word{display:none}.glance-scale .scale{gap:4px;flex-wrap:wrap}.glance-ends{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:1.2;color:var(--ink-3)}.glance-said{flex:1 1 100%;margin:0}@media(max-width:760px){.glance-door{min-height:44px}.glance-scale .scale button{min-width:44px;min-height:44px;padding:0}}.today-weeks{display:grid;gap:4px 18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--rule);padding:8px 0 4px}.today-week{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;padding:4px 0;border:none;background:none;color:inherit;cursor:pointer;min-height:44px}.today-week:hover .week-line b{color:var(--accent-ink)}.today-week .week-line{margin-top:0;flex-wrap:wrap}.today-ring{position:relative;display:inline-grid;place-items:center;width:44px;height:44px}.today-ring svg{width:44px;height:44px;transform:rotate(-90deg)}.today-ring circle{fill:none;stroke-width:4}.today-ring .ring-track{stroke:var(--panel-2)}.today-ring .ring-fill{stroke:var(--ember-fill);stroke-linecap:round;stroke-dasharray:100;animation:ring-fill .9s var(--ease-out)}.today-ring.full .ring-fill,.today-row.key .today-ring.full .ring-fill{stroke:var(--ok)}.today-ring.solid .ring-track{stroke:var(--ok-soft)}.today-ring .ring-num{position:absolute;font-size:12px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}@keyframes ring-fill{0%{stroke-dashoffset:100}}@media(max-width:560px){.today-row{grid-template-columns:40px minmax(0,1fr)}.today-ring,.today-ring svg{width:40px;height:40px}.today-act{grid-column:2;align-self:start;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 14px}.glance-intake .today-act{grid-column:1 / -1;gap:4px 8px}.glance-intake .today-act button{font-size:14px;padding:0 10px}.glance-intake .today-act button.link{padding:0 6px}.today-sub,.today-said,.today-lifts{padding-left:0}.today-line .line-tag{min-width:44px}.today-fig.lead{font-size:22px}}@media(max-width:374px){.glance-intake .today-act{gap:4px 6px}.glance-intake .today-act button{font-size:13px;padding:0 8px}.glance-intake .today-act button.link{padding:0 4px}}.home>.card:not(.today-card),.home .weekgrid,.home .panel-card{background:color-mix(in srgb,var(--panel) 60%,var(--paper))}.home>.card:not(.today-card),.home .weekgrid:not(:hover),.home .panel-card:not(:hover){border-color:var(--rule-soft)}.home .panel-card .big{font-size:28px}.needs-you{padding:0 13px 6px}.needs-you>h3{margin:0 -13px}.needs-head{margin:10px 0 2px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.needs-row{padding:6px 0 8px;border-bottom:1px solid var(--rule-soft);cursor:pointer}.needs-group .needs-row:last-child{border-bottom:none}.needs-row.critical{border-left:3px solid var(--bad);padding-left:10px}.needs-row.due{border-left:3px solid var(--warn);padding-left:10px}.needs-line{display:flex;align-items:flex-start;gap:8px}.needs-door{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;padding:4px 0;border:none;background:none;text-align:left;color:var(--ink);cursor:pointer}.needs-door:disabled{cursor:default}.needs-door.quiet .needs-title{font-weight:400;color:var(--ink-2)}.needs-title{font-weight:600;font-size:15px}.needs-detail{font-size:13px;color:var(--ink-3)}.needs-more{flex:none;min-width:44px;min-height:44px;padding:0;font-size:18px;line-height:1}.needs-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}.needs-sub .needs-detail{flex:1 1 12em}.needs-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.needs-actions:empty{display:none}.needs-actions button,.needs-menu button,.needs-go{min-height:44px}.needs-menu{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-top:6px}.needs-revisit{margin-top:6px;padding-top:4px;border-top:1px solid var(--rule-soft)}.revisit-list{list-style:none;margin:4px 0 0;padding:0}.revisit-item{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px solid var(--rule-soft)}.revisit-item:last-child{border-bottom:none}.revisit-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.revisit-actions button,.revisit-actions input{min-height:44px}.board-needs{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.board-need{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.board-need .link{min-height:44px}.confirm-line{margin:0 0 12px}.confirm-line .link{min-height:44px}.landing{display:block;height:0;overflow:hidden;scroll-margin-top:120px}.glance-cal{display:flex;flex-direction:column;gap:8px;padding:12px 14px}.gc-head{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0;border:none;background:none;color:inherit;text-align:left;cursor:pointer}.gc-head:hover .gc-chev{color:var(--accent)}.gc-when{margin-left:auto;text-align:right}.gc-chev{font-size:20px;line-height:1;color:var(--ink-3)}.gc-body{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:flex-start}.gc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;flex:1 1 300px;max-width:460px}.gc-side{flex:1 1 240px;display:flex;flex-direction:column;gap:8px;min-width:0}.glance-cal .cal-day{border-radius:4px}.glance-cal .cal-num{font-size:12px;top:2px;left:4px}.glance-cal .cal-readout{margin:0;padding:7px 10px;min-height:0}.gc-words{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}.gc-words .gc-open{margin-left:auto}.gc-key{display:inline-flex;align-items:center;gap:5px}.gc-key .cal-dot{margin-left:5px}.race-head{flex-direction:column;align-items:stretch;gap:2px;padding-bottom:6px;min-height:0;border-bottom:1px solid var(--rule);border-radius:0}.race-head-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.race-head-name{font-size:17px;font-weight:600;color:var(--ink);min-width:0}.race-head-count{flex:none;font-size:14px;color:var(--ink-3);font-variant-numeric:tabular-nums}.race-head-count b{font-size:24px;font-weight:600;color:var(--accent-ink);letter-spacing:-.01em}.glance-cal.with-race:has(.race-head.soon){border-left:3px solid var(--warn)}@media(max-width:760px){.hero-row,.hero-row:has(.hero+.hero){grid-template-columns:1fr}.hero-main .hero-count b,.hero-count b{font-size:46px}.home-grid{grid-template-columns:1fr}.panel-card.wide{grid-column:span 1}.hero,.panel-card{min-height:auto}.glance-cal{padding:12px;gap:6px}.glance-cal .cal-day{min-height:44px;border-block:7px solid transparent;background-clip:padding-box;padding:0 4px 3px 0;align-items:flex-end;justify-content:flex-end}.glance-cal .cal-day .cal-also{right:auto;left:4px}.glance-cal .gc-grid{gap:1px}.gc-key{margin-left:auto}}.strava{display:inline-flex;flex-direction:column;align-items:flex-end;gap:1px}.strava button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;line-height:1}@media(max-width:760px){.strava button{min-height:44px;padding:7px 11px}}.weekgrid{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--r-control);background:var(--panel);cursor:pointer;--wg-max:30px}.weekgrid:hover{border-color:var(--accent)}.wg-head{display:flex;align-items:center;gap:10px;padding-bottom:2px}.wg-row{display:flex;align-items:center;gap:10px}.wg-label{flex:none;width:50px;font-size:12px;line-height:1.15;letter-spacing:.02em;color:var(--ink-3)}.wg-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;flex:1}.wg-day{display:flex;align-items:center;justify-content:center;height:30px;font-size:12px;color:var(--ink-3)}.wg-head .wg-day{height:16px}.wg-head .wg-day.now{color:var(--accent-ink);font-weight:600}.wg-dot{border-radius:50%;flex:none;background:var(--rule);display:grid;place-items:center;width:calc(var(--s, 0) * var(--wg-max));height:calc(var(--s, 0) * var(--wg-max))}.wg-cue{width:72%;height:72%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wg-dot.met{background:var(--ok)}.wg-dot.met .wg-cue{color:var(--on-ok)}.wg-dot.close{background:linear-gradient(to top,var(--warn) 50%,transparent 50%);border:1.5px solid var(--warn)}.wg-dot.short{background:transparent;border:2px solid var(--bad)}.wg-dot.short .wg-cue{color:var(--bad)}.wg-dot.withheld .wg-cue{color:var(--ink-3);stroke-width:1.3}.wg-dot.extra{background:transparent;border:2px solid var(--ink-3)}.wg-dot.pending{background:var(--panel-2);border:1.5px solid var(--rule)}.wg-dot.withheld{background:transparent;border:2px dotted var(--ink-3)}.wg-dot.planned{background:transparent;border:2px dashed var(--ink-3);opacity:.8}.wg-dot.raced{background:var(--viz-race)}.wg-dot.raced .wg-cue{color:var(--panel)}.wg-dot.dnf{background:linear-gradient(to top,var(--viz-race) 50%,transparent 50%);border:1.5px solid var(--viz-race)}.wg-dot.dnf .wg-cue{color:var(--ink)}.wg-dot.dns{background:transparent;border:2px solid var(--viz-race)}.wg-dot.dns .wg-cue{color:var(--viz-race)}.wg-words{display:block;margin-top:6px;font-size:12px;line-height:1.35;color:var(--ink-2);text-align:left}.wg-words>span{display:block}.wg-dot.key{box-shadow:0 0 0 1px var(--panel),0 0 0 2.5px currentColor,0 0 0 3.5px var(--panel),0 0 0 5px currentColor;color:var(--ink-3)}.wg-pill{display:block;width:100%;height:9px;border-radius:var(--r-control);background:var(--panel-2);overflow:hidden}.wg-pill>span{display:block;height:100%;border-radius:var(--r-control)}.wg-pill.met>span{background:var(--ok)}.wg-pill.close>span{background:var(--warn)}.wg-pill.short>span{background:var(--bad)}.wg-pill.pending>span{background:var(--ink-3);opacity:.55}.wg-marks .wg-day{font-size:13px}@media(max-width:760px){.weekgrid{padding:11px 12px;--wg-max:24px}.wg-label{width:46px}.wg-days{gap:3px;max-width:none}.wg-day{height:28px}}.rate{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.rate-head{display:flex;flex-direction:column;gap:2px}.rate-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;max-width:420px}.rate-scale button{padding:9px 0;font-variant-numeric:tabular-nums;font-size:13px}.rate-scale button.good:hover:not(:disabled){border-color:var(--ok);background:var(--ok-soft)}.rate-scale button.fair:hover:not(:disabled){border-color:var(--warn);background:var(--warn-soft)}.rate-scale button.poor:hover:not(:disabled){border-color:var(--bad);background:var(--bad-soft)}@media(max-width:760px){.rate-scale{grid-template-columns:repeat(5,1fr);max-width:none}.rate-scale button{min-height:44px}}.next-line{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);margin:0 0 12px}.next-line .pill{flex:none;margin-top:1px}.pill.up{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.pill.down{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.pill.hold{color:var(--ink-3)}.set-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.set-tools button{min-height:44px}.lift-bar{position:sticky;bottom:12px;z-index:15;display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-panel);box-shadow:var(--shadow-lift)}.lift-what{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.25;color:var(--ink-2);overflow-wrap:anywhere}.lift-name{color:var(--ink)}.lift-bar button{min-height:44px;min-width:44px;flex:none;padding-left:10px;padding-right:10px}.lift-bar .lift-done{white-space:nowrap}.set-input.filled{color:var(--ink-2)}@media(max-width:760px){.lift-bar{bottom:calc(64px + env(safe-area-inset-bottom))}.lift-name{display:block}.lift-sep{display:none}.lift-sheet .card{scroll-margin-top:130px}}.set-trouble{margin:10px 0 0}.rest-timer{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;min-width:88px}.rest-timer.over{color:var(--ok);border-color:var(--ok);background:var(--ok-soft);font-weight:600}.swap-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.swap-list button,.picker-results button{text-align:left;min-height:44px;display:flex;justify-content:space-between;gap:10px;align-items:center}.tags{font-size:12px;color:var(--ink-3);white-space:nowrap}.picker label.wide{display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.picker input{font-size:16px;padding:9px 12px}.picker-results{display:flex;flex-direction:column;gap:4px;margin-top:8px;max-height:300px;overflow:auto}.picker-results>*{flex-shrink:0}.add-offer{align-self:flex-start}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px}.sheet-panel{background:var(--paper);color:var(--ink);border-radius:var(--r-panel);width:100%;max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-pop);animation:sheet-in .22s var(--ease-out)}.sheet-panel:focus{outline:none}.sheet-top{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--rule);background:var(--panel);touch-action:none}.sheet-top h2{margin:0;font-size:16px;line-height:1.25;text-align:center;max-width:52vw;overflow-wrap:anywhere}.sheet-top .sheet-cancel{justify-self:start}.sheet-top .sheet-action{justify-self:end}.sheet-top button{min-height:44px}.sheet-grip{display:none}.sheet-main{overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 20px;display:flex;flex-direction:column;gap:12px}.sheet-main label.wide,.sheet-main>label:not(.check){display:flex;flex-direction:column;gap:4px}.sheet-panel .sheet-main input:not([type=checkbox]):not([type=radio]),.sheet-panel .sheet-main select,.sheet-panel .sheet-main textarea{font-size:16px;min-height:44px}@keyframes sheet-in{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media(max-width:760px){.sheet-scrim{align-items:flex-end;padding:env(safe-area-inset-top) 0 0}.sheet-panel{max-width:none;border-radius:var(--r-panel) var(--r-panel) 0 0;max-height:calc(100vh - 24px - env(safe-area-inset-top));max-height:calc(100dvh - 24px - env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);animation-name:sheet-up}.sheet-top{padding-top:14px}.sheet-grip{display:block;position:absolute;top:5px;left:calc(50% - 18px);width:36px;height:5px;border-radius:3px;background:var(--control-border)}}@media(prefers-reduced-motion:reduce){.sheet-panel{animation:none}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom));z-index:65;max-width:min(92vw,480px);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:var(--r-panel);box-shadow:var(--shadow-pop);font-size:14px}@media(max-width:760px){.toast{bottom:calc(72px + env(safe-area-inset-bottom))}}.counted-in{border:none;margin:0;padding:0}.counted-in legend{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;padding:0}.counted-in .chips{display:flex;flex-wrap:wrap;gap:6px}.counted-in .chip{min-height:40px;padding:6px 12px;border-radius:999px}.counted-in .chip.on{border-color:var(--accent);color:var(--accent-ink);font-weight:600}.picked{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--accent);background:var(--accent-soft)}.verdicts{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:12px 0 8px}.verdict{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border:1px solid var(--rule);font-size:13px}.verdict small{font-size:12px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.verdict.good{border-color:var(--ok)}.verdict.suggested{background:var(--accent-soft)}.verdict.avoid{background:var(--warn-soft);border-color:var(--warn)}.verdict.no{background:var(--bad-soft);border-color:var(--bad)}.verdict.lifting{background:var(--panel-2);border-style:double;border-width:3px;border-color:var(--ink-2)}.lift-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--rule);flex-wrap:wrap}.lift-row:last-child{border-bottom:none}.lift-list{list-style:none;margin:12px 0 0;padding:0}.lift-item{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--rule-soft)}.lift-item:last-child{border-bottom:none}.lift-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.lift-item>.editor,.lift-item-actions,.lift-item-said{flex-basis:100%}.lift-item-said{margin:0}.lift-item-actions{align-items:center}.lift-item-actions .pill{margin-left:auto}.saved-inline{color:var(--ok);font-size:13px;align-self:center}.lift-row .lift-main{flex:1;min-width:140px}.pill.to_do{color:var(--ink-3)}.pill.started{background:var(--ember-soft);color:var(--ember);border-color:var(--ember-fill)}.pill.done{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.pill.not_done{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}.rate-inline{margin-top:8px;display:flex;flex-direction:column;gap:6px}.rate-scale.compact{max-width:360px}.rate-scale.compact button{padding:7px 0}@media(max-width:760px){.verdicts{gap:3px}.verdict{padding:9px 0;min-height:44px}.rate-scale.compact{grid-template-columns:repeat(5,1fr);max-width:none}.rate-scale.compact button{min-height:44px}}.signals{display:flex;flex-direction:column;gap:12px}.signal{display:flex;flex-direction:column;gap:4px}.signal.absent{opacity:.6}.signal-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:none;border:none;padding:2px 0;text-align:left;width:100%;font-size:14px}.signal-head:hover:not(:disabled){color:var(--accent-ink);border:none}.signal-label{font-weight:600}.signal-score{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:16px;color:var(--accent-ink)}.signal.absent .signal-score{color:var(--ink-3)}.signal-more{display:flex;flex-direction:column;gap:6px;padding:8px 0 4px;border-top:1px dashed var(--rule);margin-top:4px}.meter>span.thin{background:var(--ink-3);opacity:.5}.big.muted small,.big.muted{color:var(--ink-3)}@media(max-width:760px){.signal-head{min-height:44px}}.weekstrip{display:flex;gap:4px;flex-wrap:wrap}.weekcell{position:relative;display:flex;flex-direction:column;align-items:center;min-width:44px;padding:6px 4px;border:1px solid var(--rule);font-size:12px}.weekcell b{font-family:IBM Plex Mono,monospace;font-size:15px}.weekcell small{font-size:12px;color:var(--ink-3);white-space:nowrap}.weekcell.partial{border-style:dashed}.weekcell.hurt{border-color:var(--bad);background:var(--bad-soft)}.weekcell.hurt i{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--bad)}label.ask{display:block}label.ask textarea{display:block;width:100%;font:inherit;font-size:16px;padding:10px 12px;resize:vertical;box-sizing:border-box}.totp-key{font-family:IBM Plex Mono,monospace;font-size:17px;letter-spacing:.06em;-webkit-user-select:all;user-select:all;word-break:break-all}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:10px 0 4px}.recovery-codes code{font-family:IBM Plex Mono,monospace;font-size:15px;-webkit-user-select:all;user-select:all}.rule{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--rule-soft, var(--rule))}.rule:last-child{border-bottom:none}.rule-source{margin-top:3px;font-style:italic}.rule-source a{color:var(--ink-3)}.rule-source a:hover{color:var(--accent-ink)}.areas-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 14px}.areas-summary b{font-size:28px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--accent-ink);margin-right:2px}.preset{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px 13px;border:1px solid var(--rule);border-radius:var(--r-panel);background:var(--panel);cursor:pointer;min-height:44px;box-shadow:none}.preset:hover:not(:disabled){border-color:var(--accent);background:var(--panel);color:inherit}.preset.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.preset-name{font-weight:600;font-size:14px;color:var(--ink)}.preset-blurb{font-size:12px;color:var(--ink-3);line-height:1.35;font-weight:400}.areas-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.area-card{display:grid;grid-template-columns:38px 1fr auto;gap:3px 12px;align-items:start;padding:14px 15px;border:1px solid var(--rule);border-radius:var(--r-panel);background:var(--panel);transition:border-color .15s ease,background .2s ease}.area-card.off{background:var(--panel-2);border-style:dashed}.area-card.off .area-name,.area-card.off .area-blurb{color:var(--ink-3)}.area-card.off .area-glyph{color:var(--ink-3);background:transparent;box-shadow:inset 0 0 0 1px var(--rule)}.area-glyph{grid-row:span 3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent-ink)}.area-name{font-weight:600;font-size:14.5px;display:flex;gap:8px;align-items:center;color:var(--ink)}.area-blurb{font-size:12.5px;color:var(--ink-2);line-height:1.4;grid-column:2 / -1}.area-hides{font-size:12px;color:var(--ink-3);line-height:1.4;grid-column:2 / -1}.area-why{grid-column:2 / -1;font-size:12px;color:var(--ink-3);display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:2px}.area-card .switch{grid-row:1;grid-column:3;align-self:center}.area-sports{grid-column:2 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin-top:6px;padding-top:8px;border-top:1px solid var(--rule);font-size:13px}.area-sports-head{flex-basis:100%;font-size:12px;color:var(--ink-3)}.area-sports label{display:inline-flex;align-items:center;gap:7px;min-height:44px}.area-sports label input{width:auto}.area-sports .note,.area-sports p{flex-basis:100%;margin:4px 0}.areas-grid.compact{grid-template-columns:1fr;gap:6px}.areas-grid.compact .area-card{padding:8px 11px;grid-template-columns:30px 1fr auto;gap:1px 10px}.areas-grid.compact .area-glyph{width:30px;height:30px;border-radius:8px}.areas-grid.compact .area-glyph svg{width:16px;height:16px}.areas-grid.compact .area-name{font-size:13.5px}.areas-grid.compact .area-blurb{font-size:12px}.areas-grid.compact .area-hides,.areas-grid.compact .area-why{display:none}.switch{position:relative;width:46px;height:44px;min-height:44px;border:none;background:none;padding:0;flex:none;cursor:pointer;box-shadow:none}.switch:before{content:"";position:absolute;left:0;right:0;top:9px;height:26px;box-sizing:border-box;border-radius:var(--r-pill);border:1px solid var(--control-border);background:var(--panel-2)}.switch:after{content:"";position:absolute;top:13px;left:4px;width:18px;height:18px;border-radius:50%;background:var(--ink-3);box-shadow:var(--shadow-knob);transition:left .18s ease}.switch:hover:not(:disabled){background:none}.switch:hover:not(:disabled):before{border-color:var(--accent)}.switch[aria-checked=true],.switch[aria-checked=true]:hover:not(:disabled){background:none}.switch[aria-checked=true]:before{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true]:after{left:24px;background:var(--panel)}.switch:focus-visible{outline:none}.switch:focus-visible:before{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.switch:after,.area-card{transition:none}}.area-off{max-width:56ch;margin:30px auto;text-align:center;padding:28px 22px;border:1px dashed var(--rule);border-radius:var(--r-panel)}.area-off .area-glyph{margin:0 auto 12px}.area-off h2{margin:0 0 6px}.area-off .editor-actions{justify-content:center}.as-planned{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;margin:0 0 12px;border:1px solid var(--rule);border-radius:var(--r-control);background:linear-gradient(140deg,var(--accent-soft),var(--panel) 70%)}.as-planned .small{flex:1 1 220px}.day-divider{display:flex;align-items:center;gap:10px;margin:26px 0 0;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--skin)}.day-divider:before,.day-divider:after{content:"";flex:1;border-top:1px dashed var(--skin-rule)}.day-section.skin{background:var(--skin-soft);border:1px dashed var(--skin-rule)}.day-section.skin.is-done,.day-section.skin .day-section-head:hover{background:transparent}.day-section.skin .day-section-mark{border-color:var(--skin-rule);color:var(--skin)}.day-section.skin .day-section-title{color:var(--skin)}.day-section.skin .day-section-body{border-top-color:var(--skin-rule)}.day-section.skin .tick-row.taken{border-left-color:var(--skin)}.as-planned.skin{border-color:var(--skin-rule);background:linear-gradient(140deg,var(--panel),var(--skin-soft) 70%)}.part-row th{text-align:left;padding:16px 12px 6px;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:400;color:var(--ink-3);background:var(--panel);border-bottom:1px solid var(--rule);position:static;white-space:normal}.part-in{display:block}@media(max-width:760px){.part-in{position:sticky;left:12px;max-width:calc(100vw - 58px)}}.part-row.part-topical th{color:var(--skin);background:var(--skin-soft);border-top:1px dashed var(--skin-rule);border-bottom-color:var(--skin-rule)}.part-note{display:block;margin-top:2px;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-3)}.part-head{margin:22px 0 8px;padding:6px 12px 7px;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:400;color:var(--ink-3);border-bottom:1px solid var(--rule)}.part-head:first-child{margin-top:6px}.part-head.part-topical{color:var(--skin);background:var(--skin-soft);border-top:1px dashed var(--skin-rule);border-bottom-color:var(--skin-rule)}.route-choice{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--rule-soft)}.route-choice-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.route-choice .anchor-toggle{margin-bottom:6px}.route-choice p{margin:0}.caps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.caps li{font-size:12.5px;color:var(--ink-2);padding:8px 10px;border-left:3px solid var(--rule);background:var(--panel-2);border-radius:0 var(--r-control) var(--r-control) 0}.caps li.bad{border-left-color:var(--bad);background:var(--bad-soft)}.proposal{padding:10px 12px;border:1px solid var(--rule);border-radius:var(--r-control);margin-bottom:8px;font-size:13.5px}.proposal em{font-style:normal;color:var(--accent-ink);font-weight:600}.brand-name{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0}.brand-name h1{margin:0;line-height:1;font-size:30px;letter-spacing:-.02em}.tagline{display:flex;flex-direction:column;line-height:1.22;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.tagline-ghost{visibility:hidden}.brand-mark{display:flex;justify-content:center;align-items:center}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.top-actions .strava{flex-direction:row;align-items:center}.top-actions .quick-add-toggle,.top-actions .strava button{padding:0 13px;font-size:13px}@media(min-width:761px){.top-actions .quick-add-toggle,.top-actions .strava button{min-height:36px}}.strava-ago{font-size:12px;letter-spacing:.06em;color:var(--ink-3);border-left:1px solid var(--rule);padding-left:7px;margin-left:2px;font-variant-numeric:tabular-nums}.mark-3d{display:inline-block;line-height:0;perspective:620px;flex:none}.mark-solid{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;animation:mark-orbit 40s linear infinite}.mark-lamina{transform-origin:50% 50%}.mark-3d{overflow:visible}.mark-lamina{position:absolute;top:0;right:0;bottom:0;left:0}.mark-solid .mark-live{animation:none}.mark-lamina:not(.mark-lamina-face){opacity:.38}@keyframes mark-orbit{0%{transform:rotate(0) rotateY(0)}to{transform:rotate(360deg) rotateY(1440deg)}}@media(prefers-reduced-motion:reduce){.mark-solid{animation:none;transform:none}}@media(max-width:760px){.brand{grid-template-columns:auto auto 1fr;gap:10px}.brand-name{gap:7px}.brand-name h1{font-size:20px}.brand-mark{justify-content:center;width:52px;flex:none}.brand-mark .mark-3d{transform:scale(.78);transform-origin:50% 50%}.tagline{font-size:12px;letter-spacing:.05em;line-height:1.25}@media(max-width:600px){.tagline{display:none}.brand-mark{width:auto}.brand-mark .mark-3d{transform:none}}.top-actions{gap:6px}.top-actions .quick-add-toggle,.top-actions .strava button{min-height:44px;padding:0 10px;font-size:12.5px}}@media(max-width:760px){header.top{transition:top .2s ease}header.top.is-folded{top:calc(-1 * var(--fold, 0px))}header.top .brand-name,header.top .brand-mark,header.top .top-actions>:not(.quick-add){transition:opacity .15s ease,visibility .15s}header.top.is-folded .brand-name,header.top.is-folded .brand-mark,header.top.is-folded .top-actions>:not(.quick-add){opacity:0;visibility:hidden}header.top .top-actions .quick-add{transition:top .2s ease}header.top.is-folded .top-actions .quick-add{top:var(--log-drop, 0px)}header.top.is-folded .nav-rest{margin-right:calc(var(--log-room, 0px) + 8px);padding-right:0}header.top.is-folded .nav-rest>:last-child{scroll-snap-align:end}.panes-bar{margin:0 -14px 14px;padding:6px 14px;transition:top .2s ease}}@media(prefers-reduced-motion:reduce){header.top,header.top .brand-name,header.top .brand-mark,header.top .top-actions>:not(.quick-add),header.top .top-actions .quick-add,.panes-bar{transition:none}}.settings-group{margin:26px 0 0}.settings-group>h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 3px;font-weight:600}.settings-group-hint{font-size:12.5px;color:var(--ink-3);margin:0 0 10px;max-width:66ch}.settings-group{margin:16px 0 0}.settings-group-hint{margin:0 0 7px}h2{margin:0 0 4px}.card .body p{margin-top:0}.card .body>:last-child{margin-bottom:0}@media(max-width:760px){main{padding:12px 14px 96px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.card{margin-bottom:10px}.card .body{padding:11px 12px}.quick-add-menu button{min-height:48px}}.secret-once{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px;background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--r-control);padding:9px 11px;margin:8px 0;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-user-select:all;user-select:all}.fitness-now{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px}.fitness-now b{font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--accent-ink);font-variant-numeric:tabular-nums}.fitness-ratios{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.fitness-ratio{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--r-control);background:var(--panel-2)}.fitness-ratio-value{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.fitness-ratio-label{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.fitness-ratio-against{font-size:12px;color:var(--ink-3)}.fitness-ratio.ahead .fitness-ratio-value{color:var(--ok)}.fitness-ratio.close .fitness-ratio-value{color:var(--warn)}.fitness-ratio.behind .fitness-ratio-value{color:var(--bad)}.fitness-ratio.empty .fitness-ratio-value{color:var(--ink-3)}.fitness-ratio .glance-gauge{margin:5px 0 3px;background:var(--panel)}.fitness-ratio.ahead .glance-gauge-dot{color:var(--ok)}.fitness-ratio.close .glance-gauge-dot{color:var(--warn)}.fitness-ratio.behind .glance-gauge-dot{color:var(--bad)}.fitness-rests{margin:10px 0 4px;max-width:70ch;color:var(--ink-2)}.disclose{border-top:1px solid var(--rule-soft)}.disclose:first-of-type{margin-top:10px}.disclose>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent-ink);font-weight:600;font-size:13.5px}.disclose[open]>summary{margin-bottom:4px}.disclose>:last-child{margin-bottom:12px}.fitness-how>p{margin:8px 0 0;max-width:70ch}.fitness-how .group-heading{margin-top:14px}.fitness-caveats{margin:12px 0 10px;padding-left:18px;font-size:12px;color:var(--ink-3)}.fitness-caveats li{margin-bottom:4px;max-width:70ch}@media(max-width:480px){.fitness-ratio{padding:9px 8px;min-width:0}.fitness-ratio-label{letter-spacing:.05em}}.trend{margin:16px 0 0}.trend-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px 10px;flex-wrap:wrap}.trend-head .group-heading{margin:0}.trend-svg{display:block;width:100%;height:auto;touch-action:pan-y;-webkit-user-select:none;user-select:none}.trend-line{fill:none;stroke:var(--viz-key);stroke-width:2.25;stroke-linejoin:round}.trend-area{fill:var(--viz-key);fill-opacity:.1}.trend-grid,.felt-grid{stroke:var(--rule-soft);stroke-width:1}.trend-dot{fill:var(--viz-key);stroke:var(--panel);stroke-width:2}.trend-dot.now{fill:var(--panel);stroke:var(--viz-key);stroke-width:2.5}.trend-dot.on{fill:var(--accent-ink);stroke:var(--panel)}.trend-ref{stroke:var(--viz-other);stroke-width:1;stroke-dasharray:4 3}.trend-ref.target{stroke:var(--viz-race)}.trend-ref-label{font-size:11px;fill:var(--ink-3)}.trend-ref-band{fill:var(--viz-other);fill-opacity:.14}.race-conditions-table th{text-align:left;font-weight:400;color:var(--ink-3);padding-right:12px}.trend-ref-band.target{fill:var(--viz-race)}.trend-range{fill:var(--viz-key);fill-opacity:.32}.trend-dot-range{stroke:var(--viz-key);stroke-width:4;stroke-linecap:round;fill:none}.trend-ref-label.target{fill:var(--viz-race);font-weight:600}.trend-axis{font-size:11px;fill:var(--ink-3);font-variant-numeric:tabular-nums}.trend-spell{fill:var(--bad-soft);opacity:.75}.trend-cross{stroke:var(--ink-3);stroke-width:1}.trend-readout{min-height:1.5em;margin:6px 0 2px;font-variant-numeric:tabular-nums}.trend-note{margin:4px 0 0}.trend-key{display:inline-block;width:14px;height:10px;margin-right:6px;border-radius:2px;background:var(--bad-soft);vertical-align:-1px}.trend-table{margin-top:8px}.trend-table td,.trend-table th{padding:7px 8px}.trend-table td.trend-week{white-space:nowrap}.trend-table tr.trend-moved td{border-bottom:none}.trend-table tr.trend-why td{padding-top:0}.trend-table tr.trend-held td.num{color:var(--ink-3)}.baseline-from{margin:16px 0 0}.baseline-from p{margin:6px 0 0}.baseline-read{list-style:none;margin:6px 0 0;padding:0}.baseline-read li{display:flex;flex-wrap:wrap;gap:2px 10px;padding:6px 0;border-bottom:1px solid var(--rule-soft)}.baseline-read li:last-child{border-bottom:none}.baseline-read li.chosen .baseline-read-name{font-weight:600}.baseline-read-day{min-width:58px;color:var(--ink-3);font-variant-numeric:tabular-nums}.baseline-read-worth{font-variant-numeric:tabular-nums}.glance-ratios{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.glance-ratio{display:flex;flex-direction:column;gap:2px;min-width:0}.glance-ratio b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.glance-ratio>span:not(.glance-gauge){font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.glance-ratio.ahead b{color:var(--ok)}.glance-ratio.close b{color:var(--warn)}.glance-ratio.behind b{color:var(--bad)}.glance-ratio.empty b{color:var(--ink-3)}.glance-gauge{position:relative;display:block;height:4px;margin-top:4px;background:var(--panel-2);border-radius:2px}.glance-gauge-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--ink-3)}.glance-gauge-dot{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px var(--panel)}.glance-ratio.ahead .glance-gauge-dot{color:var(--ok)}.glance-ratio.close .glance-gauge-dot{color:var(--warn)}.glance-ratio.behind .glance-gauge-dot{color:var(--bad)}.glance-gauge-span{margin-left:0;min-width:9px;border-radius:5px}.glance-trend{display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.felt-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.felt-controls .pill.as-button{min-height:44px;padding:5px 11px;font-size:12.5px}.felt-svg{display:block;width:100%;height:auto;touch-action:pan-y;-webkit-user-select:none;user-select:none}.felt-row-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-3)}.felt-axis{font-size:11px;fill:var(--ink-3);font-variant-numeric:tabular-nums}.felt-base{stroke:var(--rule);stroke-width:1}.felt-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.felt-dot{fill:var(--accent);stroke:var(--panel);stroke-width:2}.felt-dot.on{fill:var(--accent-ink)}.felt-area{fill:var(--accent);fill-opacity:.09}.felt-dot.latest{fill:var(--panel);stroke:var(--accent);stroke-width:2.5}.felt-spell{fill:var(--bad-soft);opacity:.75}.felt-race{stroke:var(--viz-race);stroke-width:1.5;stroke-dasharray:3 3}.felt-race-label{font-size:12px;font-weight:600;fill:var(--ink-2)}.felt-race-dot{fill:var(--viz-race)}.felt-cross{stroke:var(--ink-3);stroke-width:1}.felt-today{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:1 3}.felt-readout{min-height:1.5em;margin:6px 0 2px;font-variant-numeric:tabular-nums}.felt-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}.felt-key{display:inline-block;width:14px;height:10px}.felt-key.race{border-left:2px dashed var(--viz-race);width:2px;margin-left:6px}.felt-key.spell{background:var(--bad-soft);margin-left:10px;border-radius:2px}.sm-frame{position:relative}.sm-strip{position:relative;height:6px;margin:4px 0 2px}.sm-strip-cell.cal-swatch{position:absolute;top:0;display:block;height:6px;border:0;border-radius:0}.sm-dot{fill:var(--viz-other);stroke:var(--panel);stroke-width:1.5}.sm-dot.key{fill:var(--viz-key)}.sm-dot.on{stroke:var(--ink);stroke-width:2}.sp-ranges{margin:0 0 12px}.sp-ranges .pill.as-button{min-height:44px;padding:5px 10px;font-size:12px}.sp-weeks{display:flex;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}.sp-week{flex:1 0 24px;max-width:28px;display:flex;flex-direction:column;align-items:center;gap:5px}.sp-band.cal-swatch{display:block;width:100%;height:6px;border:0;border-radius:0}.sp-dot{display:inline-block;width:20px;height:20px;border-radius:50%;box-sizing:border-box;border:2px solid transparent}.sp-dot.reached{background:var(--ok);border-color:var(--ok)}.sp-dot.short{border-color:var(--ok)}.sp-dot.under_way{border:2px dashed var(--ok)}.sp-dot.cant_say{border-color:var(--viz-other)}.sp-dot.not_asked{width:12px;height:2px;margin:9px 4px;border:0;border-radius:0;background:var(--viz-other)}.sp-dot.outside{border:2px dotted var(--viz-other)}.sp-key{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 10px}.sp-key-item{display:inline-flex;align-items:center;gap:5px}.sp-key .sp-dot{width:14px;height:14px}.sp-key .sp-dot.not_asked{width:10px;height:2px;margin:6px 2px}.sp-cards{display:grid;gap:16px}.sp-card{border-top:1px solid var(--rule);padding-top:12px}.sp-card:first-child{border-top:0;padding-top:0}.sp-card h4{margin:0 0 2px;font-size:15px}.sp-card p{margin:2px 0}.sp-card button.link.sp-open{min-height:44px;padding:0;font-size:15px;font-weight:600;text-align:left}.sp-more,.sp-change,.sp-back{min-height:44px;margin-top:6px}.sp-dot-key{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--viz-other)}.sp-dot-key.key{background:var(--viz-key)}.sp-table>summary{min-height:44px;padding:12px 0;cursor:pointer}.sp-pick{border:1px solid var(--rule);border-radius:var(--r-panel);padding:10px 12px;margin:12px 0 0}.sp-pick-row{display:flex;align-items:center;gap:10px;min-height:44px}.sp-pick-row input{width:20px;height:20px;flex:0 0 auto}.sp-pick-row .small{margin-left:auto}.sp-stations{list-style:none;margin:8px 0 0;padding:0}.sp-stations li+li{border-top:1px solid var(--rule)}.sp-station{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:8px 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.sp-station strong{font-size:15px}.sp-in-races{border-top:1px solid var(--rule);margin-top:10px;padding-top:10px}.sp-in-races h4{margin:0 0 4px;font-size:15px}.sp-in-races p{margin:2px 0}.sp-runs{list-style:none;margin:8px 0 0;padding:0}.sp-runs li{padding:8px 0;border-top:1px solid var(--rule)}.sp-runs p{margin:1px 0}.felt-days{display:flex;flex-direction:column}.felt-day{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--rule);align-items:start}.felt-day:first-child{border-top:0}.felt-day-date{font-size:13px;font-weight:600;color:var(--ink-2);padding-top:6px}.felt-day-values{display:flex;flex-wrap:wrap;gap:6px}.felt-value{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:44px;padding:5px 10px;border:1px solid var(--rule);border-radius:var(--r-control);background:var(--panel-2);text-align:left;cursor:pointer}.felt-value:hover{border-color:var(--accent)}.felt-value>span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.felt-value>b{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.felt-value>b small{font-size:12px;font-weight:400}.felt-value.bad{border-color:var(--bad)}.felt-value.warn{border-color:var(--warn)}@media(max-width:480px){.felt-day{grid-template-columns:1fr;gap:6px}.felt-day-date{padding-top:0}}.adhoc{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.adhoc .picker{align-self:stretch}.adhoc .adhoc-amount{display:flex;flex-direction:column;gap:4px;font-size:13px}.adhoc .adhoc-amount input{width:7em}.fit-scale{margin:14px 0 0}.fit-rows{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:2px}.fit-row{display:grid;gap:4px;min-height:44px;padding:7px 2px;align-content:center;border-bottom:1px solid var(--rule-soft)}.fit-row:last-child{border-bottom:none}.fit-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.fit-row-name{font-size:12.5px;color:var(--ink-2)}.fit-row-clock{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.fit-track{position:relative;display:block;height:10px;border-radius:var(--r-pill);background:var(--panel-2);border:1px solid var(--rule-soft)}.fit-bar{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-pill);background:var(--viz-other)}.fit-mark{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--viz-other)}.fit-now-line{position:absolute;top:-6px;bottom:-6px;width:0;border-left:2px dashed var(--viz-key);margin-left:-1px}.fit-now-band{position:absolute;top:-6px;bottom:-6px;border-left:2px dashed var(--viz-key);border-right:2px dashed var(--viz-key);background:var(--viz-key);opacity:.16}.fit-mark-band{margin-left:0;opacity:.85}.fit-now .fit-bar,.fit-now .fit-mark{background:var(--viz-key)}.fit-want .fit-bar,.fit-want .fit-mark{background:var(--viz-race)}.fit-now .fit-row-name{color:var(--ink);font-weight:600}.fit-row-note{display:block}.fit-row-pct{font-variant-numeric:tabular-nums;color:var(--ink-2);margin-right:6px}.fit-scale figcaption{margin:6px 0 10px;max-width:70ch}.how-box{margin:14px 0 0;max-width:74ch}.how-box details{margin-top:8px}.how-box summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent-ink);font-weight:600;font-size:13px}.how-box p{margin:6px 0 0}.pb-curve{margin:14px 0 0}.pb-curve svg{width:100%;height:auto;display:block}.pb-grid{stroke:var(--rule-soft);stroke-width:1}.pb-axis{font-size:11px;fill:var(--ink-3);letter-spacing:.04em}.pb-line{fill:none;stroke:var(--viz-other);stroke-width:2;stroke-linecap:round}.pb-band{fill:var(--viz-other);fill-opacity:.22;stroke:var(--viz-other);stroke-width:1}.pb-best{fill:var(--viz-key);stroke:var(--panel);stroke-width:2}.pb-best-outside{fill:none;stroke:var(--viz-race);stroke-width:2.5}.pb-curve figcaption{margin:4px 0 8px;max-width:70ch}@media(max-width:760px){.pb-curve .ends>span{display:block}.pb-curve table.ranged th,.pb-curve table.ranged td{padding:9px 8px}.pb-curve table.ranged th{white-space:normal}}.race-by-race tr.noted td{border-bottom:none;padding-bottom:2px}.race-by-race td.race-note{padding-top:0}@media(max-width:760px){.race-by-race th{white-space:normal}}.picker{display:flex;flex-direction:column;gap:8px;font-size:14px;text-transform:none;letter-spacing:normal;color:var(--ink)}.picker-search{font-size:16px;width:100%}.picker-list{display:flex;flex-direction:column;gap:10px}.picker-group{display:flex;flex-direction:column;gap:2px}.picker-group-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);padding:2px 0}.picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:44px;width:100%;padding:6px 10px;text-align:left;background:var(--panel-2, transparent);border:1px solid var(--control-border);border-radius:8px;color:inherit;cursor:pointer}.picker-item:hover,.picker-item:focus-visible{border-color:var(--accent)}.picker-name{font-weight:600}.picker-more{padding:2px 0}.picker-chosen{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:6px 10px;border:1px solid var(--control-border);border-radius:8px}.runout{margin:0 0 12px;padding:0 13px 10px}.runout h3{margin:0 -13px 10px}.runout-axis{display:grid;grid-template-columns:1fr 1fr 1fr;font-size:12px;color:var(--ink-3);letter-spacing:.03em;padding-bottom:3px}.runout-axis span:nth-child(2){text-align:center}.runout-axis span:nth-child(3){text-align:right}.runout-rows{list-style:none;margin:0;padding:0}.runout-row{min-height:44px;padding:4px 0 7px}.runout-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;line-height:1.4}.runout-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runout-days{flex:none;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.runout-track{position:relative;height:22px;border-radius:5px;background:var(--rule-soft);background-image:linear-gradient(to right,transparent calc(50% - .5px),var(--rule) calc(50% - .5px),var(--rule) calc(50% + .5px),transparent calc(50% + .5px))}.runout-bar{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--rule-soft);color:var(--ink-3)}.runout-bar:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;border-radius:0 5px 5px 0;background:currentColor}.runout-bar.bad{background:var(--bad-soft);color:var(--bad)}.runout-bar.warn{background:var(--warn-soft);color:var(--warn)}.runout-bar.ok{background:var(--ok-soft);color:var(--ok)}.runout-when{position:absolute;top:0;line-height:22px;font-size:12px;white-space:nowrap;color:var(--ink);padding-left:6px}.runout-when.before{padding:0 7px 0 0}.runout figcaption{margin:6px 0 0;max-width:70ch}@media(max-width:760px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=time],input[type=datetime-local],input:not([type]),select,textarea{font-size:16px!important}}.labs-results .labs-against{display:block;font-size:12px}.warn-text{color:var(--warn)}@media(max-width:560px){.labs-results,.labs-results tbody,.labs-results tr,.labs-results td{display:block}.labs-results thead{display:none}.labs-results tr{padding:9px 0;border-bottom:1px solid var(--rule)}.labs-results tr:last-child{border-bottom:none}.labs-results td{padding:1px 0;border-bottom:none;text-align:left}.labs-results td.num{text-align:left;white-space:normal}.labs-results td.labs-name{font-weight:600;font-size:14px}.labs-results td[data-cell]:before{content:attr(data-cell) " ";color:var(--ink-3);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.labs-results td.labs-status{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;padding:3px 0 2px}.labs-results .labs-against{display:inline}.labs-results td.labs-says{font-size:13px}}@media(max-width:560px){.labs-review,.labs-review tbody{display:block}.labs-review thead{display:none}.labs-review tr{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);gap:2px 8px;padding:9px 0;border-bottom:1px solid var(--rule)}.labs-review tr:last-child{border-bottom:none}.labs-review td{padding:0;border-bottom:none;text-align:left}.labs-review td.review-keep{grid-row:1 / span 4}.labs-review .keep-tick{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-top:-11px;cursor:pointer}.labs-review td.review-name,.labs-review td.review-wide{grid-column:2 / -1}.labs-review td.num{text-align:left}.labs-review td[data-cell]:before{content:attr(data-cell) " ";display:block;color:var(--ink-3);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.labs-review code{white-space:normal;word-break:break-word}.labs-review input.tiny{width:100%;min-width:0;box-sizing:border-box}}.run-back{display:inline-flex;align-items:center;min-height:44px;padding-right:12px}.run-head h2{margin:4px 0 2px;overflow-wrap:anywhere}.run-head h2:focus{outline:none}.run-head p{margin:0 0 6px}.run-facts{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 12px;font-family:IBM Plex Mono,monospace}.run-part{margin-bottom:14px;padding:0 13px 12px}.run-part>h3{margin:0 -13px 10px}.run-files{list-style:none;padding:0;margin:0 0 6px}.run-files li{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}.run-said{display:grid;grid-template-columns:max-content 1fr;gap:8px 14px;margin:0}.run-said dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.run-said dd{margin:0;overflow-wrap:anywhere}.run-said.said-here{grid-template-columns:1fr;gap:4px}.run-said.said-here dd+dt{margin-top:8px}.rpe-taps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px}.rpe-taps button{min-height:44px;min-width:44px;padding:0;font-size:16px}.rpe-taps button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.legs-taps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px}.legs-taps button{min-height:44px;min-width:44px;padding:0;font-size:16px}.legs-taps button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);font-weight:600}input.run-note{width:100%;box-sizing:border-box;min-height:44px}.spikes-tap{min-height:44px;min-width:44px}.shoe-taps{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.shoe-taps button{min-height:44px;min-width:44px}.shoe-taps button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.sweat-masses{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}.sweat-masses input{width:6em;min-height:44px}.shoes-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}.shoes-list li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.shoes-list button,.shoe-form button,.shoe-form input,.shoe-form select{min-height:44px}.shoe-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.spikes-tap[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.scope-row.look-back-kinds .pill.as-button{min-height:44px}.look-back{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}.look-back a.run-link{display:flex;width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--r-panel);color:inherit;text-decoration:none;background:var(--panel)}.look-back a.run-link:hover{border-color:var(--accent)}.look-back-card{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.look-back-card .pill{margin-left:6px}.cal-runs a{margin-right:10px;white-space:nowrap}.reps-parts{list-style:none;padding:0;margin:0 0 8px}.split-bar{height:4px;border-radius:2px;background:var(--ember-fill);margin-top:4px;max-width:100%}.reps button{min-height:44px;min-width:44px}.mark-row,.mark-split{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 2px}.mark-split label{flex:1 1 100%}.mark-split input{flex:1 1 6em;min-width:0;min-height:44px;font-size:16px}.mark-split select{flex:0 1 auto;min-width:0;min-height:44px;font-size:16px}.mark-split .note{flex:1 1 100%}.you-marked{margin:8px 0}.typed-reps{list-style:none;padding:0;margin:0 0 8px}.typed-reps li{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;padding:4px 0;border-top:1px solid var(--rule-soft)}.stopwatch-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.stopwatch-form>label,.stopwatch-form>p,.stopwatch-form>ol,.stopwatch-form>.note{flex:1 1 100%;margin:0}.stopwatch-form input:not([type=checkbox]){flex:1 1 100%;min-width:0;min-height:44px;font-size:16px}.you-marked h4{margin:0 0 4px}.you-marked ul{list-style:none;padding:0;margin:0 0 8px}.you-marked li{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 0;border-top:1px solid var(--rule-soft);overflow-wrap:anywhere}.you-marked li span{flex:1 1 auto;min-width:0}.mark-toggle{margin-top:4px}.rep-lactate{margin:4px 0 2px}.reps .rep-lactate{padding-left:2.2em}.rep-lactate h4{margin:8px 0 4px}.rep-lactate button{min-height:44px;min-width:44px}.rep-lactate-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;overflow-wrap:anywhere}.rep-lactate-line span{flex:1 1 auto;min-width:0}.lactate-chart .dot.after-rep{fill:var(--ink-2)}.took-open,.took button,.took-step button{min-height:44px}.took{display:flex;flex-direction:column;gap:8px;max-width:100%}.took-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.took-name{flex:1 1 140px;min-width:0;overflow-wrap:anywhere}.took .stepper button,.took-step .stepper button{min-height:44px}.took-water input{font-size:16px;min-height:44px;max-width:140px}.took-ml input{font-size:16px;min-height:44px;max-width:96px}.took .stepper>input{width:52px;min-height:44px;font-size:16px;text-align:center;border:none;font-variant-numeric:tabular-nums}.took-other>input{flex:1 1 160px;min-width:0;font-size:16px;min-height:44px}.took-add{align-self:flex-start}.took-same{text-align:left}.took-step .took-actions button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink)}.morning-after-actions{display:flex;flex-wrap:wrap;gap:8px}.morning-after button{min-height:44px}.took-step{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px solid var(--rule)}.took-step:last-of-type{border-bottom:none}.took-step .took-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.aid h4{margin:14px 0 6px}.aid-station{padding:10px 0;border-bottom:1px solid var(--rule)}.aid-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 0}.aid-section{padding:6px 0}.aid button,.aid input{min-height:44px;min-width:44px}.race-record{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);display:grid;gap:8px}.race-record label,.race-record-gut,.race-record-splits{display:grid;gap:4px}.race-record button,.race-record select,.race-record input,.race-record textarea{min-height:44px;min-width:44px}.race-record ol{margin:0;padding-left:20px}.parts-sheet{display:grid;gap:4px}.kind-choice{display:grid;gap:8px;margin-top:4px}.kind-choice button{width:100%;min-height:56px;text-align:left;white-space:normal;line-height:1.3}.race-record .parts-sheet label.check{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px}.race-record .parts-sheet label.check input{width:22px;height:22px;min-width:22px;min-height:22px;margin:0}.race-record .part-row{display:grid;grid-template-columns:minmax(0,1fr) 7.5em;gap:4px 8px;align-items:center;min-height:44px}.part-row input{font-size:16px}.part-row .clock-said{grid-column:1 / -1}.parts-foot{position:sticky;bottom:0;padding:8px 0;background:var(--panel);border-top:1px solid var(--rule)}.parts-reading{display:grid;gap:6px;margin-top:10px}.race-record .parts-read,.parts-read{list-style:none;margin:0;padding:0;display:grid;gap:2px}.parts-read li{display:grid;grid-template-columns:minmax(0,10em) 4.5em minmax(0,1fr);gap:8px;align-items:center;font-size:14px;min-height:24px}.part-bar{height:6px;border-radius:3px;background:var(--accent)}.race-day{margin:0 0 10px}.race-day summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:var(--accent-ink);font-weight:600}.race-day summary::-webkit-details-marker{display:none}.race-day summary:before{content:"+";width:1ch;flex:none}.race-day[open]>summary:before{content:"−"}.race-day-rows{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}.race-day-rows li{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr);gap:8px;font-size:14px}.budget-table th,.budget-table td{padding:6px}.doses summary{min-height:44px;display:flex;align-items:center;cursor:pointer}details.fold-card>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 16px;min-height:44px}details.fold-card>summary::-webkit-details-marker{display:none}details.fold-card>summary:before{content:"+";color:var(--ink-3);width:1ch}details.fold-card[open]>summary:before{content:"−"}details.fold-card>summary .fold-title{font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}details.fold-card>summary .fold-line{color:var(--ink-3);font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:none;letter-spacing:0;font-weight:400}details.fold-card[open]>summary{border-bottom:1px solid var(--rule)}details.structure>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font-weight:600}details.structure[open]>summary{margin-bottom:8px}details.structure>summary .structure-strip{flex:1;min-width:0;display:flex;align-items:center;font-weight:400}details.structure>summary .structure-strip .strip{width:100%}.after-run{margin:4px 0 10px;padding:10px 12px;border:1px solid var(--rule-soft);border-radius:var(--r-control);background:var(--panel-2)}.after-run-head{margin:0 0 6px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.after-run.folded summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.after-run-rating{margin:0 0 6px}.hz-table{width:100%;border-collapse:collapse;margin:4px 0 8px}.hz-table caption{text-align:left;padding:0 0 4px}.hz-table th,.hz-table td{padding:6px 8px 6px 0}.hz-cell{width:34%}.hz-bar{height:8px;min-width:40px;position:relative}.hz-bar>span.hz-range{position:absolute;top:0;bottom:0;opacity:.35;border-radius:0}.hz-bar>span:not(.hz-range){position:relative}.hz-watch{margin-top:8px}.hz-tops{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.hz-tops label{display:inline-flex;align-items:center;gap:4px}.hz-field .shoe-taps{margin-top:4px}@media(max-width:640px){.hz-cell{width:28%}.hz-tops input{min-height:44px}}@media(max-width:560px){.hz-stack,.hz-stack tbody,.hz-stack caption{display:block}.hz-stack thead{display:none}.hz-stack tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:7px 0;border-bottom:1px solid var(--rule)}.hz-stack tr:last-child{border-bottom:none}.hz-stack td{padding:0}.hz-stack td:first-child{font-weight:600}.hz-stack td.hz-cell{flex-basis:100%;width:auto}.hz-stack td[data-cell]:not(:first-child):before{content:attr(data-cell) " ";color:var(--ink-3);font-size:12px;letter-spacing:.06em;text-transform:uppercase}}.cycle-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 8px}.cycle-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:360px}.cycle-head{text-align:center}.cycle-day{min-height:40px;padding:0;border-radius:8px;background:transparent;color:var(--ink-2);border:1px solid var(--rule);font-variant-numeric:tabular-nums}.cycle-day.on{background:var(--accent);border-color:var(--accent);color:var(--paper);font-weight:600}.cycle-day:disabled{opacity:.45}.cycle-day.on:disabled{opacity:1}.cycle-contraception{border:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px}.cycle-contraception legend{padding:0;margin-bottom:4px}.cycle-contraception label{display:inline-flex;align-items:center;gap:6px;min-height:44px}.cycle-contraception input[type=radio]{width:auto;margin:0}.share-invite{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.strava-connect{display:inline-block;min-height:0;padding:0;border:0;border-radius:6px;background:none;line-height:0;cursor:pointer;transition:none}.strava-connect:hover:not(:disabled),.strava-connect:active:not(:disabled){background:none;filter:none;transform:none}.strava-connect:disabled{opacity:1;cursor:progress}.strava-connect img{display:block;height:48px;width:auto;max-width:100%}.strava-link{font-weight:600;text-decoration:underline}.strava-powered{display:inline-block;line-height:0}.strava-powered img{display:block;height:24px;width:auto;max-width:100%}.stopped-items{margin-top:14px}.stopped-items>summary{cursor:pointer;min-height:44px;padding-top:12px;box-sizing:border-box}
