:root{--font-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:2.5rem;--text-timer:clamp(8.5rem, 40vw, 13rem);--text-workout-title:clamp(2rem, 9vw, 3.5rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--touch-min:48px;--touch-workout:64px;--touch-primary:80px;--ease:cubic-bezier(.2, .8, .2, 1);--dur-fast:.12s;--dur:.2s;--gutter:16px;--content-max:1120px;--sidebar-w:232px;--bg:#f5f5f2;--surface:#fff;--surface-2:#ecece8;--border:#d9d9d3;--text:#131415;--text-muted:#5b6067;--text-faint:#8a8f96;--accent:#ff5a1f;--accent-ink:#131415;--accent-text:#b83a0b;--accent-soft:#ffe4d8;--phase-work:#ff5a1f;--phase-rest:#2f8fe6;--phase-warm:#1fae64;--ok:#14894f;--warn:#a86a00;--danger:#c8282b;--danger-soft:#fde3e3;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d0e10;--surface:#17191c;--surface-2:#212429;--border:#2d3137;--text:#f3f4f5;--text-muted:#a0a6ae;--text-faint:#6c727a;--accent:#ff5a1f;--accent-ink:#131415;--accent-text:#ff7a47;--accent-soft:#3a1a0d;--phase-work:#ff5a1f;--phase-rest:#3ba7ff;--phase-warm:#3ddc84;--ok:#3ddc84;--warn:#ffc23d;--danger:#ff5c5f;--danger-soft:#3a1416;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d0e10;--surface:#17191c;--surface-2:#212429;--border:#2d3137;--text:#f3f4f5;--text-muted:#a0a6ae;--text-faint:#6c727a;--accent:#ff5a1f;--accent-ink:#131415;--accent-text:#ff7a47;--accent-soft:#3a1a0d;--phase-work:#ff5a1f;--phase-rest:#3ba7ff;--phase-warm:#3ddc84;--ok:#3ddc84;--warn:#ffc23d;--danger:#ff5c5f;--danger-soft:#3a1416;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;line-height:1.5}h1,h2,h3{margin:0;line-height:1.1}h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);text-transform:uppercase;letter-spacing:.01em}h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.02em}h3{font-size:var(--text-lg);font-weight:600}p{margin:0}a{color:var(--accent-text)}.eyebrow{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.muted{color:var(--text-muted)}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:700}.stack>*+*{margin-top:var(--space-4)}.stack-sm>*+*{margin-top:var(--space-2)}.row{align-items:center;gap:var(--space-3);display:flex}.spread{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.icon-sm{width:18px;height:18px}.icon-lg{width:32px;height:32px}.app{flex-direction:column;min-height:100dvh;display:flex}.main{width:100%;max-width:var(--content-max);padding:var(--space-5) var(--gutter) calc(88px + var(--space-5));flex:1;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.topbar .back{width:var(--touch-min);height:var(--touch-min);margin-left:calc(var(--space-3) * -1);color:var(--text);border-radius:var(--radius-pill);justify-content:center;align-items:center;display:inline-flex}.brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);text-transform:uppercase;letter-spacing:.06em;color:var(--text);text-decoration:none;display:flex}.brand-mark{border-radius:var(--radius-sm);background:var(--accent);width:28px;height:28px;color:var(--accent-ink);place-items:center;display:grid}.bottom-nav{z-index:10;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{min-height:64px;font-size:var(--text-xs);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--accent-text)}.sidebar{display:none}@media (width>=960px){.app.has-nav{flex-direction:row}.bottom-nav{display:none}.sidebar{gap:var(--space-6);height:100dvh;width:var(--sidebar-w);padding:var(--space-5) var(--space-4);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;display:flex;position:sticky;top:0}.sidebar nav{gap:var(--space-1);flex-direction:column;display:flex}.sidebar nav a{align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-weight:600;text-decoration:none;display:flex}.sidebar nav a:hover{background:var(--surface-2);color:var(--text)}.sidebar nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}.main{padding:var(--space-6) var(--space-6) var(--space-7)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-5);border-radius:var(--radius-md);font:inherit;font-weight:700;font-size:var(--text-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease), background var(--dur) var(--ease);border:2px solid #0000;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:focus-visible,.chip:focus-visible,.seg button:focus-visible,.rating button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface-2);color:var(--text)}.btn-outline{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost{color:var(--text-muted);background:0 0}.btn-block{width:100%}.btn-xl{min-height:var(--touch-primary);font-family:var(--font-display);font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-lg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.card-link{color:inherit;transition:border-color var(--dur) var(--ease);text-decoration:none;display:block}.card-link:hover{border-color:var(--text-faint)}.tag{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;background:var(--surface-2);color:var(--text-muted);font-weight:700;display:inline-flex}.tag-interval{background:var(--accent);color:var(--accent-ink)}.tag-strength{background:var(--text);color:var(--bg)}.tag-ok{color:var(--ok);background:0 0;padding:0}.badge-lr{min-width:28px;height:22px;padding:0 var(--space-1);border-radius:var(--radius-sm);letter-spacing:.04em;color:var(--text-muted);border:1.5px solid;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.difficulty{vertical-align:middle;gap:3px;display:inline-flex}.difficulty i{background:var(--border);border-radius:50%;width:8px;height:8px}.difficulty i.on{background:var(--text)}.session-card{gap:var(--space-3);display:grid}.session-card .title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);text-transform:uppercase;line-height:1}.session-card .meta{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.session-card.is-today{border:2px solid var(--accent)}.session-card.is-done{opacity:.7}.stats{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3)}.stat .value{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);line-height:1}.stat .label{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.list>li+li{border-top:1px solid var(--border)}.list-row{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4);color:inherit;text-decoration:none;display:flex}.list-row .grow{flex:1;min-width:0}.list-row .name{font-weight:600}.list-row .sub{font-size:var(--text-sm);color:var(--text-muted)}.list-num{width:28px;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--text-faint);text-align:center;flex:none}.chips{gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.chip{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;flex:none;font-weight:600}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.search{align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);display:flex}.search input{font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0}.seg{gap:var(--space-1);padding:var(--space-1);background:var(--surface-2);border-radius:var(--radius-md);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.seg button{min-height:var(--touch-workout);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);cursor:pointer;background:0 0;border:0}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.seg button small{font-size:var(--text-sm);font-weight:600}.stepper{grid-template-columns:var(--touch-workout) 1fr var(--touch-workout);align-items:center;gap:var(--space-2);display:grid}.stepper button{height:var(--touch-workout);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-family:var(--font-display);font-size:var(--text-2xl);cursor:pointer;border:0;font-weight:700}.stepper output{text-align:center;font-family:var(--font-display);font-size:4rem;font-weight:700;line-height:1}.setting{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-4);display:flex}.setting .value{align-items:center;gap:var(--space-2);display:flex}.setting .value .num{font-size:var(--text-xl);text-align:center;min-width:3.2ch}.mini-btn{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);font-size:var(--text-lg);cursor:pointer;border:0;font-weight:700}.banner{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--text);border:1.5px solid var(--danger);align-items:flex-start;display:flex}.banner .icon{color:var(--danger)}.workout{gap:var(--space-4);min-height:100dvh;padding:var(--space-4) var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto;max-width:720px;margin:0 auto;display:grid}.workout-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workout-top .count{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.phase{--phase:var(--phase-work);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--phase);color:var(--accent-ink);font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.phase.rest{--phase:var(--phase-rest)}.phase.warm{--phase:var(--phase-warm)}.timer{font-family:var(--font-display);font-weight:700;font-size:var(--text-timer);font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:center;line-height:.85}.workout-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-workout-title);text-transform:uppercase;text-align:center;line-height:1}.side{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--text);color:var(--bg);font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:.1em;display:inline-block}.workout-center{justify-content:center;gap:var(--space-5);text-align:center;flex-direction:column;display:flex}.round-track{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.round-track i{background:var(--surface-2);border-radius:2px;height:8px}.round-track i.done{background:var(--text-faint)}.round-track i.pair-start{margin-right:-2px}.cues{gap:var(--space-2);text-align:left;margin:0;padding:0;list-style:none;display:grid}.cues li{gap:var(--space-3);font-size:var(--text-lg);align-items:baseline;font-weight:500;display:flex}.cues li:before{content:"";background:var(--accent);border-radius:2px;flex:none;width:8px;height:8px;transform:translateY(-2px)}.next-up{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);text-align:left;display:flex}.next-up .name{font-weight:700;font-size:var(--text-lg)}.workout-actions{grid-template-columns:var(--touch-primary) 1fr var(--touch-primary);gap:var(--space-3);align-items:center;display:grid}.round-btn{width:var(--touch-primary);height:var(--touch-primary);background:var(--surface-2);color:var(--text);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.rating{gap:var(--space-2);grid-template-columns:repeat(5,1fr);display:grid}.rating button{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--surface);min-height:88px;color:var(--text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.rating button .num{font-size:var(--text-2xl);line-height:1}.rating button span:last-child{color:var(--text-muted);font-size:11px;font-weight:600}.rating button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.rating button[aria-pressed=true] span:last-child{color:var(--accent-ink)}.chart-card{position:relative}.chart-card svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid line{stroke:var(--border);stroke-width:1px}.chart-axis text{fill:var(--text-muted);font-size:12px;font-family:var(--font-body)}.chart-bar{fill:var(--accent)}.chart-bar.dim{fill:var(--surface-2)}.chart-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart-hit{fill:#0000;cursor:crosshair}.chart-hit:hover+.chart-bar,.chart-bar:hover{opacity:.85}.tooltip{pointer-events:none;z-index:5;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--text);color:var(--bg);font-size:var(--text-sm);white-space:nowrap;opacity:0;transition:opacity var(--dur-fast);position:absolute;transform:translate(-50%,calc(-100% - 10px))}.tooltip.show{opacity:1}.tooltip strong{font-weight:700}.mock-bar{z-index:50;border-radius:var(--radius-md) 0 0 var(--radius-md);opacity:.55;transition:opacity var(--dur);gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#7f7f7f40;flex-direction:column;font-family:system-ui,sans-serif;font-size:12px;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.mock-bar:hover{opacity:1}.mock-bar button{border-radius:var(--radius-pill);color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;padding:6px 10px}.mock-bar button[aria-pressed=true]{background:var(--text);color:var(--bg)}.loading,.empty{padding:var(--space-6) 0;color:var(--text-muted);text-align:center}.btn[disabled]{opacity:.45;cursor:not-allowed}dialog.confirm{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);padding:var(--space-5);width:min(92vw,420px)}dialog.confirm::backdrop{background:#0009}.icon-btn{width:var(--touch-workout);height:var(--touch-workout);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;text-decoration:none;display:grid}.workout-head{gap:var(--space-3);display:grid}.upnext-label{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.workout .cues{max-width:420px;margin:0 auto}.is-paused .timer{opacity:.35}.paused-label{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:.2em;color:var(--text-muted)}.pause-btn{min-height:var(--touch-primary)}.round-track i.now{background:var(--phase-color,var(--phase-work))}.workout.strength .workout-center{gap:var(--space-4)}.target{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.target strong{color:var(--text)}.field-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-2);text-align:left;font-weight:600}.sets{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));display:grid}.set-pill{padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface);border:1.5px solid var(--border);text-align:center}.set-pill .eyebrow{font-size:10px}.set-pill .num{font-size:var(--text-lg)}.set-pill.done{background:var(--surface-2);border-color:#0000}.set-pill.now{border-color:var(--accent)}.set-pill.todo{opacity:.5}details.cue-box{text-align:left;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}details.cue-box summary{cursor:pointer;align-items:center;min-height:32px;font-weight:600;display:flex}details.cue-box .cues{margin-top:var(--space-3)}details.cue-box .cues li{font-size:var(--text-md)}.wake-hint{font-size:var(--text-sm);color:var(--text-muted);text-align:center}.done-mark{background:var(--accent);width:72px;height:72px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:0 auto;display:grid}.done-mark .icon{stroke-width:3px;width:40px;height:40px}.question{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);text-transform:uppercase;text-align:center}.rating button[disabled]{opacity:1;cursor:default}.week-grid{gap:var(--space-6);display:grid}.sessions{gap:var(--space-3);display:grid}.changes li{align-items:flex-start}.changes .delta{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--accent-text);white-space:nowrap}@media (width>=960px){.week-grid{grid-template-columns:1fr 340px;align-items:start}}.thumb{border-radius:var(--radius-md);background:var(--surface-2);width:56px;height:56px;color:var(--text-faint);flex:none;place-items:center;display:grid}.ex-meta{align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}@media (width>=960px){.ex-list.list{gap:var(--space-3);background:0 0;border:0;grid-template-columns:repeat(2,1fr);display:grid;overflow:visible}.ex-list.list>li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ex-list.list>li+li{border-top:1px solid var(--border)}}.video{aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text);place-items:center;text-decoration:none;display:grid;position:relative;overflow:hidden}.video .play{background:var(--accent);width:64px;height:64px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid}.video .src{left:var(--space-3);bottom:var(--space-3);right:var(--space-3);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--surface);width:fit-content;max-width:calc(100% - 24px);font-weight:600;position:absolute}.steps{gap:var(--space-3);scroll-snap-type:x mandatory;padding-bottom:var(--space-2);grid-auto-columns:78%;grid-auto-flow:column;display:grid;overflow-x:auto}.step{scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.step .img{aspect-ratio:4/3;background:var(--surface-2);color:var(--text-faint);font-size:var(--text-sm);place-items:center;display:grid}.step .img img{object-fit:cover;width:100%;height:100%}.step .body{padding:var(--space-3) var(--space-4) var(--space-4)}.step .n{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);color:var(--accent-text);line-height:1}.meta-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.meta-grid>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3)}.meta-grid .v{margin-top:2px;font-weight:600}.ex-grid{gap:var(--space-6);display:grid}@media (width>=960px){.ex-grid{grid-template-columns:1fr 340px;align-items:start}.steps{grid-template-columns:repeat(2,1fr);grid-auto-columns:auto;grid-auto-flow:row;overflow:visible}}.charts{gap:var(--space-4);display:grid}.chart-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.chart-head h3{font-size:var(--text-md)}.chart-head .muted{font-size:var(--text-sm)}.chart{width:100%;position:relative;overflow:visible}.chart svg{display:block;overflow:visible}.chart-axis-label{fill:var(--text-muted);font-size:12px;font-family:var(--font-body)}.target-line{stroke:var(--text-faint);stroke-dasharray:4 4;stroke-width:1.5px}.zone{fill:var(--accent-soft)}.progress-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.progress-table th,.progress-table td{text-align:left;padding:var(--space-2) var(--space-3);border-top:1px solid var(--border)}.progress-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-top:0}.progress-table .n{text-align:right;font-variant-numeric:tabular-nums}@media (width>=960px){.charts{grid-template-columns:1fr 1fr}.charts .wide{grid-column:1/-1}}.preview .main{padding-bottom:140px}.timeline-bar{border-radius:var(--radius-sm);gap:2px;height:12px;display:flex;overflow:hidden}.timeline-bar span{min-width:4px;display:block}.legend{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.legend i{vertical-align:0;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.pair-group{border-left:3px solid var(--accent)}.weight{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);white-space:nowrap}.start-bar{z-index:5;padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 30%);position:fixed;inset:auto 0 0}.start-bar .btn{max-width:720px;margin:0 auto;display:flex}.session-grid{gap:var(--space-6);display:grid}.preview-page{padding-bottom:140px}.preview-page .main{max-width:1040px}.warn-text{color:var(--danger);font-size:var(--text-sm);font-weight:600}.change-note{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--accent-text);font-weight:600;display:inline-block}@media (width>=960px){.session-grid{grid-template-columns:1fr 360px;align-items:start}}.ex-cards{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.ex-card{gap:var(--space-3);grid-template-columns:28px 1fr;align-items:start;display:grid}.ex-card .list-num{padding-top:2px}.ex-card .name{font-weight:700;font-size:var(--text-lg)}.ex-card .sub{font-size:var(--text-sm);color:var(--text-muted)}.targets{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:1.3fr 1fr 1fr;display:grid}.targets>div{background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);min-width:0}.targets .num,.targets .eyebrow{white-space:nowrap}.targets .num{font-size:var(--text-xl);line-height:1.1}.targets .num small{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.targets .eyebrow{font-size:10px}
