@font-face{font-family:Oswald;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Oswald-400-700.woff2)format("woff2")}@font-face{font-family:SourceSans3;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/SourceSans3-400-700.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Fraunces-400-700.woff2)format("woff2")}@font-face{font-family:DMSans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/DMSans-400-700.woff2)format("woff2")}:root{--ink:#0b1023;--ink-raised:#0f1932;--ink-line:#222e42;--chalk:#e1e5eb;--chalk-dim:#828ea3;--pin:#00bfc0;--pin-bright:#44d6d6;--pin-dim:#0a5f60;--on-pin:#04121b;--display-ink:var(--chalk);--prose:#c3cbd8;--credit:#7a869b;--pin-wash:#00bfc01c;--pin-wash-soft:#00bfc012;--pin-glow:#00bfc017;--scrim:#0b1023eb;--scrim-soft:#0b10239e;--scrim-strong:#0b1023b8;--scrim-fade:#0b10238c;--preamble:#0d1429;--tile:#e1e5eb;--alarm-bg:#2a1414;--alarm-line:#6b3226;--alarm-ink:#f3d9d4;--alarm-mark:#ff7a59;--ok:#3fae8f;--due-fresh:#00bfc0;--due-soon:#dcb03f;--due-late:#e0813c;--due-gone:#d9524b;--due-gone-text:#e8695f;--font-display:"Oswald", "Helvetica Neue", sans-serif;--font-body:"SourceSans3", -apple-system, sans-serif;--font-label:var(--font-display);--display-case:uppercase;--display-track:-.03em;--display-weight:700;--heading-track:-.035em;--button-font:var(--font-display);--button-case:uppercase;--button-track:.12em;--button-weight:700;--photo-filter:grayscale(1) contrast(1.06);--radius-sm:2px;--radius-md:3px;--radius-lg:10px;--gutter:20px;--tap:52px;--grain:none;--grain-opacity:0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=grove]{--ink:#faf6ee;--ink-raised:#fffdf8;--ink-line:#e4dbc9;--chalk:#4d3d2c;--chalk-dim:#786751;--pin:#4e6c50;--pin-bright:#3d5a40;--pin-dim:#b9cbba;--on-pin:#faf6ee;--display-ink:#2c4a35;--prose:#5a4835;--credit:#6e5d49;--pin-wash:#5b7f5e1a;--pin-wash-soft:#5b7f5e0f;--pin-glow:#5b7f5e14;--scrim:#faf6eeeb;--scrim-soft:#2c4a3580;--scrim-strong:#2c4a359e;--scrim-fade:#2c4a3559;--preamble:#f3eee4;--tile:#fffdf8;--alarm-bg:#faeee8;--alarm-line:#e0bdb2;--alarm-ink:#6b3b2f;--alarm-mark:#b45341;--ok:#4f7d5f;--due-fresh:#5b7f5e;--due-soon:#a8813d;--due-late:#c4703f;--due-gone:#b45341;--due-gone-text:#b45341;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"DMSans", -apple-system, sans-serif;--font-label:var(--font-body);--display-case:none;--display-track:-.012em;--display-weight:600;--heading-track:-.018em;--button-font:var(--font-body);--button-case:none;--button-track:.01em;--button-weight:600;--photo-filter:grayscale(1) contrast(.92) brightness(1.12);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");--grain-opacity:.05;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink);color:var(--chalk);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 60% at 50% 0%, var(--pin-glow), transparent 70%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:var(--grain);position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}img{max-width:100%;display:block}.app{max-width:640px;min-height:100%;padding-bottom:calc(28px + var(--unsaved-h,0px));margin:0 auto}.eyebrow{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--chalk-dim);font-size:10px;font-weight:600}.numerals{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.masthead{padding:16px var(--gutter) 12px;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.masthead h1{font-family:var(--font-display);letter-spacing:var(--heading-track);text-transform:var(--display-case);color:var(--display-ink);margin:0;font-size:26px;font-weight:800}.masthead h1 .mark{color:var(--pin)}.sync{font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--chalk-dim);white-space:nowrap;align-items:center;gap:6px;font-size:9px;display:flex}.sync:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.sync[data-state=synced]{color:var(--ok)}.sync[data-state=saving],.sync[data-state=error]{color:var(--pin)}.sync[data-state=local]{color:var(--chalk-dim)}.cadence{margin:0 var(--gutter) 12px;border:1px solid var(--ink-line);border-radius:var(--radius-md);background:var(--ink-raised);align-items:center;padding:11px 13px;display:flex}.cadence .label{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);font-size:12px;line-height:1.35}.cadence .label b{color:var(--chalk);font-weight:600}.cadence[data-state=slipping] .label b{color:var(--due-soon)}.cadence[data-state=overdue]{border-color:var(--due-gone)}.cadence[data-state=overdue] .label b{color:var(--due-gone-text)}.picker{padding:0 var(--gutter);flex-direction:column;gap:8px;display:flex}.routine-card{text-align:left;background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:var(--radius-md);grid-template-columns:1fr auto;align-items:center;width:100%;padding:15px 18px;transition:border-color .15s,transform .12s;animation:.45s cubic-bezier(.16,1,.3,1) backwards rise;display:grid;position:relative;overflow:hidden}.routine-card:active{border-color:var(--pin);transform:scale(.99)}.routine-card .head{align-items:center;display:flex}.routine-card .letter-chip{border:1px solid var(--ink-line);border-radius:var(--radius-sm);width:21px;height:21px;font-family:var(--font-display);color:var(--chalk-dim);flex:none;place-items:center;margin-right:9px;font-size:12px;font-weight:600;display:grid}.routine-card h2{font-family:var(--font-display);font-size:25px;font-weight:var(--display-weight);letter-spacing:var(--display-track);text-transform:var(--display-case);color:var(--display-ink);margin:0}.routine-card .summary{color:var(--chalk-dim);margin:4px 0 0;font-size:13px;line-height:1.45}.routine-card .meta{font-family:var(--font-label);letter-spacing:.08em;color:var(--chalk-dim);text-transform:uppercase;gap:14px;margin-top:9px;font-size:10px;display:flex}.routine-card .rail{text-align:right;z-index:1;justify-items:end;min-width:52px;display:grid}.routine-card .rail .n{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--chalk-dim);font-size:25px;font-weight:500;line-height:1}.routine-card .rail .n[data-spelled]{font-family:var(--font-label);letter-spacing:.09em;text-transform:uppercase;font-size:13px;font-weight:600}.routine-card .rail .u{font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-dim);margin-top:3px;font-size:9px}.routine-card .rail[data-due=fresh] .n{color:var(--due-fresh)}.routine-card .rail[data-due=soon] .n{color:var(--due-soon)}.routine-card .rail[data-due=late] .n{color:var(--due-late)}.routine-card .rail[data-due=gone] .n{color:var(--due-gone)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.topbar{z-index:20;padding:14px var(--gutter);background:var(--scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ink-line);align-items:center;gap:14px;display:flex;position:sticky;top:0}.back{border:1px solid var(--ink-line);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--chalk);flex:none;place-items:center;font-size:15px;display:grid}.back:active{border-color:var(--pin);color:var(--pin)}.topbar h1{font-family:var(--font-display);font-size:17px;font-weight:var(--display-weight);letter-spacing:-.02em;text-transform:var(--display-case);color:var(--display-ink);margin:0}.topbar .crumb{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-dim);font-size:10px}.topbar .count{font-family:var(--font-label);letter-spacing:.1em;color:var(--chalk-dim);margin-left:auto;font-size:10px}.exercise-list{margin:0;padding:0;list-style:none}.exercise-item{border-bottom:1px solid var(--ink-line);align-items:stretch;display:flex}.exercise-item>.swipe-item{flex:1;min-width:0}.exercise-row{text-align:left;min-width:0;padding:13px var(--gutter);flex:1;grid-template-columns:24px 58px 1fr auto;align-items:center;gap:13px;animation:.4s cubic-bezier(.16,1,.3,1) backwards rise;display:grid}.mark-btn{border-left:1px solid var(--ink-line);flex:none;align-self:stretch;place-items:center;width:62px;line-height:1;display:grid}.mark-btn span{border:1.5px solid var(--pin);width:38px;height:38px;color:var(--chalk-dim);opacity:.75;border-radius:50%;place-items:center;font-size:17px;transition:color .12s,background .12s,border-color .12s,opacity .12s;display:grid}.mark-btn[data-on=true] span{background:var(--pin);border-color:var(--pin);color:var(--on-pin);opacity:1}.mark-btn:active span{border-color:var(--pin);opacity:1}.swipe-item{touch-action:pan-y;display:flex;position:relative;overflow:hidden}.swipe-action{background:var(--ink-line);width:96px;font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--chalk);place-items:center;font-size:11px;font-weight:600;display:grid;position:absolute;inset:0 auto 0 0}.swipe-action:active{background:var(--chalk-dim);color:var(--ink)}.swipe-face{background:var(--ink);align-items:stretch;width:100%;transition:transform .22s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.swipe-face[data-dragging]{transition:none}.exercise-row[data-live=true]{grid-template-columns:58px 1fr auto}.thumb-index{background:var(--scrim);border-top-right-radius:var(--radius-sm);font-family:var(--font-label);color:var(--chalk-dim);padding:1px 4px;font-size:10px;font-weight:600;position:absolute;bottom:0;left:0}.row-text{min-width:0}.row-chevron{color:var(--chalk-dim);font-size:19px;line-height:1}.exercise-row:active{background:var(--ink-raised)}.exercise-row .index{font-family:var(--font-label);color:var(--chalk-dim);text-align:right;font-size:11px;font-weight:600}.thumb{border-radius:var(--radius-sm);background:var(--tile);flex:none;width:58px;height:58px;position:relative;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%;filter:var(--photo-filter);padding:3px}.exercise-row .name{font-family:var(--font-display);letter-spacing:-.015em;color:var(--display-ink);font-size:15px;font-weight:600;line-height:1.25;display:block}.machine{vertical-align:1px;border:1px solid var(--pin-dim);border-radius:var(--radius-sm);min-width:20px;height:18px;font-family:var(--font-label);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--pin);place-items:center;margin-right:7px;padding:0 5px;font-size:10px;font-weight:600;display:inline-grid}.machine-line{font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--pin);margin:0 0 6px;font-size:10px;font-weight:600}.scheme{border:1px solid var(--ink-line);border-radius:var(--radius-md);background:var(--ink-raised);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--chalk);margin:0;padding:14px 16px;font-size:19px;font-weight:600;line-height:1.35}.scheme .method{font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--pin);margin-bottom:5px;font-size:10px;font-weight:600;display:block}.exercise-row .target{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--pin);letter-spacing:-.01em;margin-top:5px;font-size:13px;font-weight:700;display:block}.exercise-row .note{color:var(--chalk-dim);margin-top:4px;font-size:11px;line-height:1.35;display:block}.edited{background:var(--chalk-dim);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-left:7px;display:inline-block}.frames{aspect-ratio:3/2;background:var(--tile);position:relative;overflow:hidden}.frames[data-dense=session]{aspect-ratio:2}.frames[data-dense=scheme]{aspect-ratio:auto;height:118px}.frames[data-dense=scheme] .frames-play{transform:scale(.82)}.frames img{object-fit:cover;width:100%;height:100%;filter:var(--photo-filter)}.frames .frame{position:absolute;inset:0}.frames .frame-end{opacity:0}.frames[data-playing=true] .frame-end{will-change:opacity;animation:3.2s infinite rep}@keyframes rep{0%{opacity:0;animation-timing-function:cubic-bezier(.37,0,.35,1)}44%{opacity:1;animation-timing-function:linear}60%{opacity:1;animation-timing-function:cubic-bezier(.5,0,.25,1)}82%{opacity:0;animation-timing-function:linear}to{opacity:0}}.frames:after{content:"";pointer-events:none;background:linear-gradient(to bottom, transparent 86%, var(--scrim-fade) 100%);position:absolute;inset:0}.frames-play{z-index:2;color:#fff;background:var(--scrim-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff59;border-radius:50%;place-items:center;width:60px;height:60px;padding-left:3px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.frames-play:active{background:var(--pin);color:var(--on-pin);border-color:var(--pin)}.frames-toggle{z-index:2;color:#fff;background:var(--scrim-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;place-items:center;width:38px;height:38px;font-size:11px;display:grid;position:absolute;top:12px;right:12px}.frames-caption{z-index:2;font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9;background:var(--scrim-strong);border-radius:var(--radius-sm);padding:4px 8px;font-size:10px;position:absolute;top:14px;left:12px}.detail-body{padding:18px var(--gutter) 40px;z-index:1;position:relative}.detail-body h1{font-family:var(--font-display);letter-spacing:var(--heading-track);text-transform:var(--display-case);color:var(--display-ink);margin:0;font-size:27px;font-weight:800;line-height:1.08}.tags{flex-wrap:wrap;gap:6px;margin:12px 0 0;display:flex}.tag{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);border:1px solid var(--ink-line);border-radius:var(--radius-sm);padding:4px 7px;font-size:9px}.targets{flex-direction:column;gap:8px;margin-top:22px;display:flex}.sets-line{font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-dim);margin:0 0 2px;font-size:12px}.sets-line span{color:var(--chalk);margin-right:3px;font-size:17px;font-weight:600}.stepper{grid-template-columns:1fr var(--tap) minmax(76px, auto) var(--tap);background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:var(--radius-md);align-items:center;gap:6px;padding:8px 10px 8px 14px;display:grid}.stepper .label{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-dim);font-size:10px}.stepper .value{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.05em;color:var(--chalk);text-align:center;font-size:27px;font-weight:700;line-height:1.1}.stepper[data-changed=true] .value{color:var(--pin)}.stepper .value.bodyweight{font-family:var(--font-label);letter-spacing:0;white-space:nowrap;font-size:12px;font-weight:600}.stepper button{height:var(--tap);border:1px solid var(--ink-line);border-radius:var(--radius-sm);font-family:var(--font-display);color:var(--chalk);place-items:center;font-size:19px;font-weight:700;display:grid}.stepper button:active{background:var(--pin);border-color:var(--pin);color:var(--on-pin)}.stepper button:disabled{opacity:.28}.reset{font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-dim);border-bottom:1px solid var(--ink-line);margin-top:14px;padding-bottom:2px;font-size:10px}.reset:active{color:var(--pin);border-color:var(--pin)}.seed-note{font-family:var(--font-label);letter-spacing:.06em;color:var(--chalk-dim);margin-top:12px;font-size:10px}.section{margin-top:32px}.section h2{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--chalk-dim);margin:0 0 10px;font-size:10px;font-weight:600}.section p{color:var(--prose);white-space:pre-line;margin:0 0 10px;font-size:14px;line-height:1.6}.video-link{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--pin);border:1px solid var(--pin-dim);border-radius:var(--radius-sm);padding:11px 14px;font-size:11px;text-decoration:none;display:inline-block}.gate{padding:26px var(--gutter);text-align:center}.gate p{color:var(--chalk-dim);max-width:34ch;margin:12px auto 0;font-size:14px;line-height:1.6}.colophon{padding:22px var(--gutter) 0;font-family:var(--font-label);letter-spacing:.08em;color:var(--credit);font-size:9px;line-height:1.7}.colophon a{color:inherit}.warmup{border-bottom:1px solid var(--ink-line);background:var(--preamble)}.warmup-toggle{text-align:left;width:100%;padding:13px var(--gutter);grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.warmup-text{min-width:0}.warmup-toggle .eyebrow{color:var(--pin);display:block}.warmup-summary{color:var(--chalk-dim);margin-top:5px;font-size:13px;line-height:1.45;display:block}.warmup[data-open=true] .warmup-summary{display:none}.warmup-chevron{font-family:var(--font-label);color:var(--chalk-dim);border:1px solid var(--ink-line);border-radius:var(--radius-sm);place-items:center;width:26px;height:26px;font-size:17px;font-weight:700;display:grid}.warmup-steps{padding:0 var(--gutter) 16px;counter-reset:warmup;margin:0;list-style:none}.warmup-steps li{counter-increment:warmup;border-top:1px solid var(--ink-line);padding:9px 0 9px 26px;position:relative}.warmup-steps li:before{content:counter(warmup);font-family:var(--font-label);color:var(--pin);font-size:10px;font-weight:600;position:absolute;top:11px;left:0}.warmup-label{font-size:14px;font-weight:600;line-height:1.35;display:block}.warmup-detail{color:var(--chalk-dim);margin-top:3px;font-size:12.5px;line-height:1.5;display:block}.last-time{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:10px 0 0;display:flex}.last-time .eyebrow{margin:0}.last-time .what{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--chalk);font-size:15px;font-weight:600}.last-time .when{color:var(--chalk-dim);margin-left:auto;font-size:12px}.runs-long{color:var(--pin);margin:8px 0 0;font-size:12px;display:block}.meta [data-long=true]{color:var(--pin);font-weight:650}.stepper .label-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.stepper .hint{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--pin);font-size:12px;font-weight:650}.per-side{font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--pin);margin:8px 0 0;font-size:10px}.meta-row{font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-dim);flex-wrap:wrap;gap:6px 14px;margin-top:14px;font-size:10px;display:flex}.how-to{border-top:1px solid var(--ink-line);margin-top:20px}.how-to>summary{min-height:var(--tap);cursor:pointer;font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-dim);justify-content:space-between;align-items:center;gap:10px;font-size:12px;list-style:none;display:flex}.how-to>summary::-webkit-details-marker{display:none}.how-to>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:8px;height:8px;transition:transform .14s;transform:translateY(-2px)rotate(45deg)}.how-to[open]>summary:after{transform:translateY(2px)rotate(-135deg)}@media (prefers-reduced-motion:reduce){.how-to>summary:after{transition:none}}.how-to[open]>summary{margin-bottom:2px}.cues{margin:18px 0 0;padding:0;list-style:none}.how-to .cues{margin-top:6px}.cues li{color:var(--chalk);margin-bottom:9px;padding:0 0 0 18px;font-size:15px;line-height:1.45;position:relative}.cues li:before{content:"";background:var(--pin);width:6px;height:2px;position:absolute;top:9px;left:0}.own-note{border-left:2px solid var(--pin);color:var(--chalk-dim);margin:16px 0 0;padding-left:12px;font-size:14px;line-height:1.5}.video-link{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--pin);border:1px solid var(--pin-dim);border-radius:var(--radius-sm);margin-top:22px;padding:13px 16px;font-size:12px;text-decoration:none;display:inline-block}.video-link:active{background:var(--pin);border-color:var(--pin);color:var(--on-pin)}.unsaved{z-index:40;width:100%;max-width:640px;padding:11px var(--gutter);padding-bottom:calc(11px + env(safe-area-inset-bottom));background:var(--alarm-bg);border-top:1px solid var(--alarm-line);color:var(--alarm-ink);align-items:center;gap:12px;font-size:12.5px;line-height:1.45;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.unsaved strong{color:var(--alarm-mark);font-weight:700}.unsaved button{min-width:44px;min-height:44px;font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--alarm-ink);border:1px solid var(--alarm-line);border-radius:var(--radius-sm);flex:none;padding:0 14px;font-size:10px}.unsaved button:active{background:var(--alarm-mark);color:var(--ink)}:focus-visible{outline:2px solid var(--pin);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.primary-bar{margin:4px var(--gutter) 0;gap:12px;display:flex}.primary-bar button,.finish-bar button,.action-bar button{width:100%;min-height:var(--tap);background:var(--pin);color:var(--on-pin);font-family:var(--button-font);font-size:15px;font-weight:var(--button-weight);letter-spacing:var(--button-track);text-transform:var(--button-case);border-radius:var(--radius-lg);flex:1}.primary-bar button:active,.finish-bar button:active,.action-bar button:active{background:var(--pin-bright);color:var(--on-pin)}.live-strip{margin:0 var(--gutter) 10px;border-radius:var(--radius-lg);background:var(--pin-wash);border:1px solid var(--pin-dim);justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;display:flex}.live-strip .eyebrow{color:var(--pin)}.live-strip .clock{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--chalk);font-size:15px}.exercise-row[data-logged=changed] .target{color:var(--pin-bright)}.exercise-row[data-logged=skipped] .name,.exercise-row[data-logged=skipped] .target{color:var(--chalk-dim);text-decoration:line-through}.exercise-row[data-logged=skipped] .thumb img{opacity:.32}.logged-tag{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--pin);border:1px solid var(--pin-dim);white-space:nowrap;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px}.logged-tag[data-kind=skip]{color:var(--chalk-dim);border-color:var(--ink-line)}.live-strip .left{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--pin);font-size:11px;font-weight:600}.live-strip[data-stale=true]{border-color:var(--ink-line);background:0 0}.live-strip[data-stale=true] .eyebrow,.live-strip[data-stale=true] .left{color:var(--chalk-dim)}.done-group{border-top:1px solid var(--ink-line);margin-top:18px}.done-toggle{width:100%;padding:14px var(--gutter);font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--chalk-dim);text-align:left;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.done-toggle b{font-variant-numeric:tabular-nums;color:var(--pin)}.done-group[data-open=true] .warmup-chevron{transform:rotate(90deg)}.all-clear{margin:18px var(--gutter) 0;border:1px solid var(--pin-dim);border-radius:var(--radius-md);background:var(--pin-wash-soft);padding:18px}.all-clear .eyebrow{color:var(--pin)}.all-clear p{color:var(--prose);margin:6px 0 0;font-size:14px;line-height:1.5}.left-open{margin:18px var(--gutter);border:1px solid var(--ink-line);border-radius:var(--radius-md);background:var(--ink-raised);padding:18px 18px 8px}.left-open p{color:var(--prose);margin:6px 0 14px;font-size:14px;line-height:1.55}.review-reasons{color:var(--prose);margin:0 0 12px;padding-left:18px;font-size:14px;line-height:1.5}.left-open .primary-bar{margin-inline:0}.left-open .quiet-link{text-align:center;border:0;width:100%;margin-inline:0}.finish-bar,.action-bar{bottom:var(--unsaved-h,0px);padding:12px var(--gutter) 16px;background:linear-gradient(to top, var(--ink) 62%, transparent);z-index:10;margin-top:14px;position:sticky}.skip-btn{border:1px solid var(--ink-line);border-radius:var(--radius-lg);width:100%;min-height:46px;color:var(--chalk-dim);margin-top:14px;font-size:14px;display:block}.scope{border-top:1px solid var(--ink-line);margin-top:16px;padding-top:14px}.scope .eyebrow{margin-bottom:9px;display:block}.chips{gap:8px;display:flex}.chips button{border:1px solid var(--ink-line);border-radius:var(--radius-lg);min-height:46px;color:var(--chalk-dim);flex:1;font-size:14px}.chips button[aria-pressed=true]{border-color:var(--pin);color:var(--chalk);background:var(--pin-wash)}.scope-note{color:var(--chalk-dim);margin:10px 0 0;font-size:13px;line-height:1.5}.scope-note b{color:var(--pin-bright);font-weight:600}.page-head{padding:4px var(--gutter) 0}.page-head h1{font-family:var(--font-display);font-size:27px;font-weight:var(--display-weight);letter-spacing:var(--display-track);text-transform:var(--display-case);color:var(--display-ink);margin:6px 0 2px}.date-line{color:var(--chalk-dim);align-items:center;gap:10px;margin:0 0 18px;font-size:14px;display:flex}.date-line button{border:1px solid var(--ink-line);border-radius:var(--radius-sm);color:var(--chalk);padding:5px 10px;font-size:13px}.recap{margin:0;padding:0;list-style:none}.recap li{border-top:1px solid var(--ink-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:11px 0;font-size:15px;display:flex}.recap .what{overflow-wrap:anywhere;min-width:0}.recap .num{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--chalk-dim);white-space:nowrap;margin-left:auto}.recap li[data-kind=changed] .num{color:var(--pin-bright)}.recap li[data-kind=skipped] .what,.recap li[data-kind=skipped] .num{color:var(--chalk-dim);text-decoration:line-through}.plan-nudge{border:1px solid var(--pin-dim);border-radius:var(--radius-md);background:var(--pin-wash-soft);margin:18px 0 0;padding:14px}.plan-nudge p{color:var(--chalk-dim);margin:0 0 10px;font-size:14px;line-height:1.45}.toggle-row{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 0;font-size:14px;display:flex}.toggle-row+.toggle-row{border-top:1px solid var(--ink-line)}.switch{background:var(--ink-line);border-radius:999px;flex:none;width:44px;height:26px;position:relative}.switch:after{content:"";background:var(--chalk-dim);border-radius:50%;width:20px;height:20px;transition:left .12s;position:absolute;top:3px;left:3px}.switch[data-on=true]{background:var(--pin)}.switch[data-on=true]:after{background:var(--on-pin);left:21px}.done-note{color:var(--chalk-dim);margin:16px 0 0;font-size:13px;line-height:1.5}.past-list{padding:0 var(--gutter);margin:0;list-style:none}.past-list li+li{border-top:1px solid var(--ink-line)}.past-row{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;font-size:15px;display:flex}.past-row .day{font-family:var(--font-display);letter-spacing:.02em}.past-row .tag{color:var(--chalk-dim);font-size:13px}.past-row[aria-pressed=true] .day{color:var(--pin)}.quiet-link{margin:18px var(--gutter) 0;border:1px solid var(--ink-line);border-radius:var(--radius-md);color:var(--chalk-dim);text-align:left;width:calc(100% - 2 * var(--gutter));padding:14px;font-size:14px;display:block}.quiet-link span{float:right}.pass-link{width:calc(100% - 2 * var(--gutter));margin:0 var(--gutter) 18px;border:1px solid var(--pin-dim);border-radius:var(--radius-lg);background:var(--pin-wash-soft);text-align:left;align-items:center;gap:10px;padding:13px 16px;display:flex}.pass-link .eyebrow{color:var(--pin)}.pass-link .label{font-family:var(--font-display);font-size:15px;font-weight:var(--display-weight);letter-spacing:var(--heading-track);color:var(--display-ink);flex:1}.pass-link span:last-child{color:var(--chalk-dim);font-size:19px;line-height:1}.pass-screen{padding:8px var(--gutter) 28px}.pass-plate{aspect-ratio:1;border-radius:var(--radius-lg);background:#fff;place-items:center;width:100%;padding:12px;display:grid}.pass-plate svg,.pass-plate img{object-fit:contain;width:100%;height:100%;display:block}.pass-value{text-align:center;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--chalk);margin:14px 0 0;font-size:21px}.pass-hint{text-align:center;color:var(--chalk-dim);margin:8px 0 0;font-size:12px;line-height:1.5}.blocked-note{margin:0 var(--gutter) 10px;border:1px solid var(--ink-line);border-radius:var(--radius-lg);color:var(--chalk-dim);padding:11px 14px;font-size:13px;line-height:1.5}.edit-cue{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--pin);font-size:10px;font-weight:600}.dialog-card .scope-note{color:var(--chalk-dim);margin:12px 0 0;font-size:13px;line-height:1.5}.dialog-card .scope-note b{color:var(--chalk);font-variant-numeric:tabular-nums}.dialog-card .chips{margin-top:10px}.dialog-card .scope-question{border-top:1px solid var(--ink-line);color:var(--chalk-dim);margin-top:18px;padding-top:16px;display:block}.dialog-scrim{z-index:20;padding:var(--gutter);background:var(--scrim-strong);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-card{background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:var(--radius-lg);width:100%;max-width:380px;padding:18px 20px 12px}.dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dialog-head .eyebrow{color:var(--pin)}.dialog-close{color:var(--chalk-dim);flex:none;margin:-8px -6px 0 0;padding:6px;font-size:14px;line-height:1}.change-diff{font-family:var(--font-display);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:8px;margin:14px 0 4px;display:flex}.change-diff .was{color:var(--chalk-dim);font-size:15px;text-decoration:line-through}.change-diff .arrow{color:var(--chalk-dim);font-size:14px}.change-diff .now{font-size:19px;font-weight:var(--display-weight);letter-spacing:var(--heading-track);color:var(--pin)}.dialog-actions{justify-content:flex-end;align-items:center;gap:6px;margin-top:14px;display:flex}.dialog-actions button{border-radius:var(--radius-md);min-height:44px;font-family:var(--button-font);font-size:14px;font-weight:var(--button-weight);letter-spacing:var(--button-track);text-transform:var(--button-case);padding:0 16px}.dialog-quiet{color:var(--chalk-dim)}.dialog-quiet:active{background:var(--ink)}.dialog-primary{color:var(--pin)}.dialog-primary:active{background:var(--pin-wash)}.confirm-row{gap:8px;margin-top:10px;display:flex}.confirm-row button{border-radius:var(--radius-md);min-height:46px;font-family:var(--button-font);font-size:13px;font-weight:var(--button-weight);letter-spacing:var(--button-track);text-transform:var(--button-case);flex:1;padding:0 12px}.confirm-no{border:1px solid var(--ink-line);color:var(--chalk-dim)}.confirm-yes{border:1px solid var(--alarm-line);background:var(--alarm-bg);color:var(--alarm-ink)}.back,.date-line button,.reset,.dialog-close{position:relative}.back:after,.date-line button:after,.reset:after,.dialog-close:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.meta-row .load-note{color:var(--pin)}.finish-bar[data-idle] button{border:1px solid var(--ink-line);color:var(--chalk-dim);background:0 0}.finish-bar[data-idle] button:active{background:var(--ink-raised);color:var(--chalk)}
