:root{color-scheme:light;--bg: #f3ecdf;--stage: #e4d9c6;--paper: #fffaf3;--ink: #1c1915;--muted: #5e564c;--line: #e3d7c6;--accent: #c24e24;--accent-ink: #fff7f2;--good: #1f6b3a;--good-bg: #e5f2e6;--set: #fffdf8;--shadow: 0 12px 32px rgba(48, 32, 14, .06);--sans: "Outfit", "Avenir Next", "Segoe UI", sans-serif;--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--down: #c24e24;--pause: #8d6a10;--up: #1f6b3a}:root[data-theme=dark]{color-scheme:dark;--bg: #141311;--stage: #0c0b0a;--paper: #1e1c19;--ink: #f4efe6;--muted: #b7aea2;--line: #3a342c;--accent: #e3844a;--accent-ink: #1a100b;--good: #b7d7a8;--good-bg: #243028;--set: #26231f;--shadow: none;--down: #e3844a;--pause: #e4c56d;--up: #b7d7a8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #141311;--stage: #0c0b0a;--paper: #1e1c19;--ink: #f4efe6;--muted: #b7aea2;--line: #3a342c;--accent: #e3844a;--accent-ink: #1a100b;--good: #b7d7a8;--good-bg: #243028;--set: #26231f;--shadow: none;--down: #e3844a;--pause: #e4c56d;--up: #b7d7a8}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.45;overscroll-behavior-y:none}button,a,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{width:min(100%,440px);margin:0 auto;min-height:100%}@media(min-width:800px){body{background:var(--stage)}.app{min-height:100vh;background:var(--bg);box-shadow:0 0 0 1px var(--line)}}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;background:var(--bg);border-bottom:1px solid var(--line)}.brand-mark{width:14px;height:14px;border:2px solid var(--accent);border-radius:50%;flex:0 0 auto}.top-title{margin:0;min-width:0;font-family:var(--serif);font-size:1.15rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{margin-left:auto;display:flex;align-items:center;gap:4px;flex:0 0 auto}.progress{font-variant-numeric:tabular-nums;font-weight:600;padding:0 6px}.page{padding:20px 16px calc(28px + env(safe-area-inset-bottom))}.with-dock .page{padding-bottom:calc(280px + env(safe-area-inset-bottom))}h1{margin:0 0 6px;font-family:var(--serif);font-size:2.15rem;font-weight:600;letter-spacing:-.03em;line-height:1.05}h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;margin:0}h2{font-size:1.45rem}h3{font-size:1.28rem}h4{font-size:1.1rem}.kicker{margin:0 0 6px;color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.date,.meta,.help,.empty,.note,.credit,figcaption,.legend{color:var(--muted)}.date{margin:0 0 12px}.focus{margin:0 0 16px;font-size:1.05rem}.focus.slim{margin:0 0 12px;font-size:.98rem}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 20px;list-style:none}.chips li,.tag{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 10px;font-size:.92rem}.tag{margin-left:8px;font-family:var(--sans);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);vertical-align:3px}.plan{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:12px}.plan>li,.card,.row,.banner{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.plan>li{padding:14px}.plan-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}.plan-head p,.plan ul span:last-child{color:var(--muted);font-size:.92rem}.plan ul{list-style:none;padding:0;margin:0}.plan li li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line)}.plan li li span:first-child{font-weight:500}.plan li li span:last-child{text-align:right;font-variant-numeric:tabular-nums}.help,.empty{margin:0 0 14px}.banner{padding:12px 14px;margin:0 0 14px}.banner.good{background:var(--good-bg);color:var(--good);border-color:transparent}button.primary,.primary{background:var(--accent);color:var(--accent-ink);border:0;font-weight:600}button.primary{min-height:52px;padding:0 18px;border-radius:999px}button.block{width:100%}button.text,a.text{background:none;border:0;padding:10px 8px;color:var(--muted);text-decoration:none}button.text.danger{color:var(--down)}button.back{padding-left:0}.stack{margin-top:28px}.section-row,.log{display:flex;justify-content:space-between;align-items:baseline}.section{font-size:1.05rem;margin:0 0 8px}.row{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;padding:14px;margin-bottom:8px}.row span{color:var(--muted)}.log{display:grid;gap:12px;padding:0;margin:0 0 12px;list-style:none}.card{padding:14px;margin-top:12px}.card h3{margin-bottom:4px}.rx{margin:0 0 6px;font-weight:600}.legend{margin:0 0 8px}.cue{margin:0 0 12px}.note{margin:8px 0 0}.jumps{position:sticky;top:calc(52px + env(safe-area-inset-top));z-index:4;display:flex;gap:8px;overflow-x:auto;margin:0 -16px 8px;padding:8px 16px;background:var(--bg)}.jumps a{flex:0 0 auto;text-decoration:none;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 12px;min-height:40px}.block{scroll-margin-top:calc(112px + env(safe-area-inset-top));padding-top:8px}.block-head{margin-top:12px}.block-head h2{margin-bottom:2px}.video{margin:0 0 12px}.video figcaption{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:.86rem}.video figcaption a{color:var(--accent)}.thumb,.frame{width:100%;aspect-ratio:16 / 9;border:0;border-radius:12px;background:#2a211c;display:block;overflow:hidden;position:relative;padding:0}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.play{position:absolute;left:10px;bottom:10px;background:var(--accent);color:var(--accent-ink);font-weight:600;border-radius:999px;padding:8px 12px}.sets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.set{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--line);background:var(--set);font-weight:600;font-variant-numeric:tabular-nums}.sets.single .set{width:auto;min-width:140px;border-radius:999px;padding:0 18px}.set.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.actions,.follow,.dock-row,.end-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.actions button,.follow>button,.block>button.primary{min-height:48px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--set)}.actions button.primary,.block>button.primary,.sheet button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.follow{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:block}.follow>button{margin-top:4px}.end-actions{margin-top:22px;display:grid;justify-items:center}.dock{position:fixed;z-index:8;left:50%;bottom:0;transform:translate(-50%);width:min(100%,440px);padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -10px 30px #0000001f}.dock-kicker{margin:0;color:var(--muted);font-size:.86rem}.phase-word{margin:2px 0 0;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.dock.phase-0 .phase-word,.dock.phase-0 .count{color:var(--down)}.dock.phase-1 .phase-word,.dock.phase-1 .count{color:var(--pause)}.dock.phase-2 .phase-word,.dock.phase-2 .count{color:var(--up)}.count{margin:0;font-family:var(--serif);font-size:4.6rem;line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden;margin:8px 0}.bar span{display:block;height:100%;background:var(--accent)}.chip,.dock button.text{min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--set)}.sheet{position:fixed;z-index:20;left:50%;bottom:0;transform:translate(-50%);width:min(100%,440px);padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -16px 40px #0003}.sheet label{display:grid;gap:6px;margin:10px 0 12px;color:var(--muted)}textarea{width:100%;min-height:88px;resize:vertical;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);font-size:16px}.status{color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff")}
