html,body,#root{min-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);color:#191714;background:#d3d1c8;margin:0}#root{width:100%;max-width:none;text-align:initial;border:0;display:block}:root{--concrete:#d3d1c8;--concrete-dk:#c2c0b6;--concrete-hi:#dedcd4;--panel:#f3f2ec;--panel-hi:#fbfaf6;--ink:#191714;--ink-soft:#5e5a54;--ink-faint:#8b8780;--steel:#3f4a42;--signal:#b32b22;--signal-dk:#8e211a;--signal-tint:#b32b2214;--line:#b8b5ab;--line-soft:#ccc9c0;--line-hard:#191714;--font-display:"Archivo", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease:cubic-bezier(.2, .7, .3, 1);--t-fast:.12s ease;--t:.2s var(--ease);--t-slow:.48s var(--ease-out);--lift:4px 4px 0 var(--line-hard);--lift-lg:8px 8px 0 var(--line-hard);--topbar-h:52px}*{box-sizing:border-box}html,body{margin:0}body{background-color:var(--concrete);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");font-size:15px;line-height:1.5}.wrap{max-width:760px;padding:0 var(--s4) 72px;margin:0 auto}.masthead{padding:var(--s5) 0 18px;border-bottom:2px solid var(--line-hard)}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:7px;margin:0 0 10px;font-size:11px;display:flex}.masthead>.eyebrow:before{content:"";background:var(--signal);flex:none;width:7px;height:7px}.masthead h1{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:break-word;margin:0;font-size:clamp(32px,8.5vw,50px);font-weight:800;line-height:.95}.masthead h1 span{color:var(--steel);display:block}.thesis{max-width:52ch;color:var(--ink-soft);margin:14px 0 0;font-size:14.5px;line-height:1.5}.masthead-actions{gap:var(--s2);flex-wrap:wrap;margin-top:18px;display:flex}nav.sheets{top:calc(env(safe-area-inset-top,0px) + var(--topbar-h));z-index:20;background:var(--concrete);border-bottom:2px solid var(--line-hard);margin:0 calc(var(--s4) * -1);padding:0 var(--s4);position:sticky}nav.sheets:after{content:"";background:linear-gradient(to right, transparent, var(--concrete));pointer-events:none;width:28px;position:absolute;inset:0 0 2px auto}.navscroll{scroll-behavior:smooth;scrollbar-width:none;gap:0;display:flex;position:relative;overflow-x:auto}.nav-mark{width:var(--w,0px);background:var(--signal);height:3px;transform:translateX(var(--x,0px));transition:transform var(--t) var(--ease-out), width var(--t) var(--ease-out);pointer-events:none;position:absolute;bottom:0;left:0}nav.sheets[data-ready] .navbtn[aria-selected=true]{border-bottom-color:#0000}.navscroll::-webkit-scrollbar{display:none}.navbtn{appearance:none;cursor:pointer;min-height:44px;font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);transition:color var(--t-fast), background var(--t-fast);background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:13px 13px 11px;font-size:11.5px;font-weight:600}.navbtn:hover{color:var(--ink);background:var(--concrete-hi)}.navbtn:active{transform:translateY(1px)}.navbtn[aria-selected=true]{color:var(--ink);border-bottom-color:var(--signal)}.navbtn:focus-visible{outline:2px solid var(--steel);outline-offset:-2px}.panel.is-hidden,.day-pane.is-hidden{display:none}.panel{animation:panel-in .3s var(--ease-out) both;padding-top:26px}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.panel{animation:none}}h2.sect{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:var(--s7) 0 var(--s1);padding-top:var(--s3);border-top:2px solid var(--line-hard);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:clamp(21px,4.6vw,26px);font-weight:800;display:flex}.panel>h2.sect:first-child,.masthead+h2.sect,h2.sect:first-child{border-top:0;margin-top:0;padding-top:0}.sect-count{font-family:var(--font-mono);letter-spacing:.12em;color:var(--panel);background:var(--ink);padding:3px 7px;font-size:11px;font-weight:600;transform:translateY(-2px)}.sect-sub{color:var(--ink-soft);max-width:60ch;margin:0 0 18px;font-size:14px}h3.block{letter-spacing:.14em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);margin:26px 0 10px;padding-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:600}.card{background:var(--panel);border:1px solid var(--line);margin-bottom:10px;padding:14px 15px}.card p{margin:0 0 8px}.card p:last-child{margin-bottom:0}ul.plain{margin:0;padding-left:18px}ul.plain li{margin-bottom:7px}ul.plain li:last-child{margin-bottom:0}.kv{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.kv-item{background:var(--panel);border:1px solid var(--line);flex:150px;padding:9px 12px}.kv-item .k{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:10.5px;display:block}.kv-item .v{font-family:Archivo,sans-serif;font-size:19px;font-weight:800;line-height:1.1}.kv-item .v small{color:var(--ink-soft);font-size:12px;font-weight:600}.days{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:18px;display:grid}.daybtn{appearance:none;cursor:pointer;text-align:left;background:var(--concrete-dk);border:1px solid var(--line);min-height:44px;color:var(--ink-soft);padding:9px 8px 8px}.daybtn b{text-transform:uppercase;letter-spacing:.01em;color:inherit;font-family:Archivo,sans-serif;font-size:15px;font-weight:800;display:block}.daybtn i{letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:9.5px;font-style:normal;display:block}.daybtn{transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast)}.daybtn:hover{background:var(--concrete-hi);border-color:var(--line-hard);color:var(--ink)}.daybtn:active{transform:translateY(1px)}.daybtn[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--panel)}.daybtn:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.session-meta{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px;font-family:IBM Plex Mono,monospace;font-size:11px}.ex{background:var(--panel);border:1px solid var(--line);margin-bottom:10px}.ex-head{gap:12px;padding:13px 15px 12px;display:flex}.ex-n{color:var(--signal);flex:none;padding-top:3px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.ex-body{flex:auto;min-width:0}.ex-name{margin:0 0 6px;font-family:Archivo,sans-serif;font-size:16.5px;font-weight:600;line-height:1.2}.specs{flex-wrap:wrap;gap:5px;margin-bottom:0;display:flex}.spec{letter-spacing:.04em;border:1px solid var(--line);background:var(--concrete);color:var(--steel);white-space:nowrap;padding:3px 7px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.spec.load{background:var(--ink);color:var(--panel);border-color:var(--ink)}.spec.start{background:var(--signal);color:var(--panel);border-color:var(--signal)}.ex-note{color:var(--ink-soft);margin:9px 0 0;font-size:13px;line-height:1.45}.ex-note.warn{color:var(--signal);font-weight:500}a.vid{letter-spacing:.09em;text-transform:uppercase;min-height:44px;color:var(--steel);border-bottom:1px solid var(--steel);align-items:center;margin-top:2px;padding-bottom:1px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}a.vid:before{content:"▸ "}a.vid:hover{color:var(--signal);border-bottom-color:var(--signal)}a.vid:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.log{border-top:1px solid var(--line);background:var(--panel);padding:11px 15px 13px}.log-row{align-items:stretch;gap:6px;display:flex}.log input{border:1px solid var(--line);background:var(--concrete);color:var(--ink);min-width:0;padding:8px 9px;font-family:IBM Plex Mono,monospace;font-size:16px}.log input:focus{outline:2px solid var(--steel);outline-offset:-1px}.in-kg{flex:0 0 88px}.in-reps{flex:auto}.log button{appearance:none;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--panel);letter-spacing:.1em;text-transform:uppercase;flex:none;min-height:44px;padding:0 13px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.log button:hover{background:var(--steel);border-color:var(--steel)}.log button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.log-last{letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase;margin:8px 0 0;font-family:IBM Plex Mono,monospace;font-size:11px}.stamp{border:2px solid var(--signal);color:var(--signal);letter-spacing:.06em;text-transform:uppercase;background:0 0;margin-top:9px;padding:7px 10px;font-family:Archivo,sans-serif;font-size:13px;font-weight:800;display:none}.stamp.on{display:block}.stamp em{letter-spacing:.04em;text-transform:none;margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:11px;font-style:normal;font-weight:600;display:block}.rule{background:var(--panel);border:1px solid var(--line);gap:11px;margin-bottom:9px;padding:12px 14px;display:flex}.rule .no{color:var(--signal);flex:none;font-family:Archivo,sans-serif;font-size:15px;font-weight:800;line-height:1.35}.rule .yes{color:var(--steel);flex:none;font-family:Archivo,sans-serif;font-size:15px;font-weight:800;line-height:1.35}.rule div{min-width:0}.rule strong{margin-bottom:2px;font-weight:600;display:block}.rule span{color:var(--ink-soft);font-size:13.5px}table.prog{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);width:100%;font-size:13.5px}.prog-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table.prog th,table.prog td{text-align:left;border-bottom:1px solid var(--line);padding:9px 11px}table.prog th{letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600}table.prog tr:last-child td{border-bottom:0}table.prog td:first-child{white-space:nowrap;font-family:IBM Plex Mono,monospace;font-weight:600}table.prog.cal td{vertical-align:top}table.prog.cal td:first-child{color:var(--ink-soft)}tr.blockrow td{background:var(--ink);color:var(--panel);padding-top:11px;padding-bottom:10px}tr.blockrow b{text-transform:uppercase;letter-spacing:.02em;font-family:Archivo,sans-serif;font-size:14px;font-weight:800;display:block}tr.blockrow i{letter-spacing:.07em;opacity:.8;margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-style:normal;display:block}tr.deload td{background:var(--concrete-dk)}.tick{letter-spacing:.09em;text-transform:uppercase;color:var(--panel);background:var(--signal);white-space:nowrap;padding:3px 6px;font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:600}.wnote{color:var(--ink-soft);max-width:44ch;margin-top:6px;font-size:12.5px;line-height:1.4}.mis{background:var(--panel);border:1px solid var(--line);margin-bottom:9px;padding:12px 14px 13px}.mis-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.mis-lab{text-transform:uppercase;letter-spacing:.01em;font-family:Archivo,sans-serif;font-size:14px;font-weight:800}.mis-date{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:10.5px}.mis-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}@media (width<=520px){.days,.mis-grid{grid-template-columns:repeat(2,1fr)}}.mis-grid label{display:block}.mis-grid label span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:9.5px;display:block}.mis-grid input{border:1px solid var(--line);background:var(--concrete);width:100%;color:var(--ink);padding:7px 8px;font-family:IBM Plex Mono,monospace;font-size:16px}.mis-grid input:focus{outline:2px solid var(--steel);outline-offset:-1px}.mis-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:11px;display:flex}.gap{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.gap.good{color:var(--signal)}.mis-foot button{appearance:none;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--panel);letter-spacing:.1em;text-transform:uppercase;min-height:44px;padding:8px 14px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.mis-foot button:hover{background:var(--steel);border-color:var(--steel)}tr.zero td{background:var(--concrete-dk)}.foot{border-top:2px solid var(--line-hard);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-top:30px;padding-top:16px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.foot.save-blocked{color:var(--signal)}.reset{appearance:none;cursor:pointer;font:inherit;color:var(--signal);background:0 0;border:0;padding:0;text-decoration:underline}.btn,.home-retry,.closed-go,.inert-btn,a.inert-btn{appearance:none;justify-content:center;align-items:center;gap:var(--s2);border:2px solid var(--line-hard);background:var(--panel);min-height:44px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;text-align:center;cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-fast), background var(--t-fast), color var(--t-fast), border-color var(--t-fast);padding:10px 16px;font-size:11.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary,.home-retry,.closed-go{background:var(--ink);color:var(--panel)}.btn:hover,.btn:focus-visible,.inert-btn:hover,.inert-btn:focus-visible,.home-retry:hover,.home-retry:focus-visible,.closed-go:hover,.closed-go:focus-visible{box-shadow:3px 3px 0 var(--line-hard);transform:translate(-1px,-1px)}.home-retry:hover,.home-retry:focus-visible,.closed-go:hover,.closed-go:focus-visible{background:var(--signal);border-color:var(--line-hard);color:var(--panel)}.inert-btn:hover,.inert-btn:focus-visible{background:var(--panel-hi)}.btn:active,.inert-btn:active,.home-retry:active,.closed-go:active{box-shadow:none;transform:translate(1px,1px)}.btn:focus-visible,.inert-btn:focus-visible,.home-retry:focus-visible,.closed-go:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.btn-ghost,.home-retry-ghost{color:var(--ink);background:0 0}.btn-ghost:hover,.home-retry-ghost:hover,.btn-ghost:focus-visible,.home-retry-ghost:focus-visible{background:var(--ink);border-color:var(--line-hard);color:var(--panel)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--signal);border-color:var(--line-hard);color:var(--panel)}.btn-danger{border-color:var(--signal);color:var(--signal);background:var(--panel)}.btn-danger:hover,.btn-danger:focus-visible{background:var(--signal);border-color:var(--signal);color:var(--panel);box-shadow:3px 3px 0 var(--signal-dk)}.btn:disabled,.inert-btn:disabled,.home-retry:disabled,.btn-danger:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}@media (prefers-reduced-motion:reduce){.btn,.home-retry,.closed-go,.inert-btn{transition:none}.btn:hover,.inert-btn:hover,.home-retry:hover,.closed-go:hover,.btn:active,.inert-btn:active,.home-retry:active,.closed-go:active{transform:none}}.rowlist,.plan-list,.roster{margin:0 0 var(--s6);border-top:2px solid var(--line-hard);border-bottom:2px solid var(--line-hard);padding:0;list-style:none}.rowlist>li+li,.plan-list>li+li,.roster>li+li{border-top:1px solid var(--line)}.rowlist a,.plan-list a,.roster a{background:var(--panel);min-height:44px;color:inherit;transition:background var(--t-fast), border-color var(--t-fast);border-left:3px solid #0000;padding:14px 42px 14px 13px;text-decoration:none;display:block;position:relative}.rowlist a:after,.plan-list a:after,.roster a:after{content:"→";font-family:var(--font-mono);color:var(--ink-faint);transition:color var(--t-fast), transform var(--t-fast);margin-top:-.7em;font-size:15px;line-height:1.4;position:absolute;top:50%;right:15px}.rowlist a:hover,.plan-list a:hover,.roster a:hover,.rowlist a:focus-visible,.plan-list a:focus-visible,.roster a:focus-visible{background:var(--panel-hi);border-left-color:var(--signal)}.rowlist a:hover:after,.plan-list a:hover:after,.roster a:hover:after,.rowlist a:focus-visible:after,.plan-list a:focus-visible:after,.roster a:focus-visible:after{color:var(--signal);transform:translate(3px)}.rowlist a:active,.plan-list a:active,.roster a:active{background:var(--concrete-hi)}.rowlist a:focus-visible,.plan-list a:focus-visible,.roster a:focus-visible{outline:2px solid var(--steel);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.rowlist a:after,.plan-list a:after,.roster a:after{transition:none}}.list-head{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding:0 15px 6px 16px;font-size:10px;font-weight:600;display:none}.empty{margin:0 0 var(--s6);border:2px dashed var(--line);background:var(--panel);padding:22px 20px}.empty strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:6px;font-size:17px;font-weight:800;display:block}.empty p{max-width:52ch;color:var(--ink-soft);margin:0;font-size:14px}.loading{padding:var(--s6) 0}.loading-label{margin:0 0 var(--s4);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:600}.skel{background:linear-gradient(90deg, var(--concrete-dk), var(--panel), var(--concrete-dk));background-size:220% 100%;height:13px;margin-bottom:10px;animation:1.3s linear infinite skel-sweep}.skel-lg{height:34px;margin-bottom:18px}.skel-sm{width:46%}@keyframes skel-sweep{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.skel{background:var(--concrete-dk);animation:none}}.reveal{animation:reveal-in .56s var(--ease-out) both;animation-delay:calc(var(--i,0) * 70ms)}@keyframes reveal-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.tickrule{background-image:repeating-linear-gradient(to right, var(--line-hard) 0 1px, transparent 1px 9px);opacity:.28;height:9px;margin:22px 0 0}.tickrule-tall{background-image:repeating-linear-gradient(to right, var(--line-hard) 0 1px, transparent 1px 40px), repeating-linear-gradient(to right, var(--line-hard) 0 1px, transparent 1px 8px);opacity:.32;background-position:0 100%,0 100%;background-repeat:repeat-x,repeat-x;background-size:100% 15px,100% 7px;height:15px}.log-saved{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);animation:saved-in .26s var(--ease-out) both;align-items:center;gap:6px;margin-left:10px;font-size:10.5px;font-weight:600;display:inline-flex}.log-saved:before{content:"";background:var(--signal);width:7px;height:7px}@keyframes saved-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}.ex.is-saved{animation:saved-pulse .9s var(--ease-out)}@keyframes saved-pulse{0%{box-shadow:0 0 0 0 var(--signal)}30%{box-shadow:0 0 0 3px var(--signal-tint)}to{box-shadow:0 0 #b32b2200}}.log input,.mis-grid input{transition:border-color var(--t-fast), background var(--t-fast);caret-color:var(--signal)}.log input:hover:not(:disabled),.mis-grid input:hover:not(:disabled){border-color:var(--ink-faint)}.roster-search input,.auth-fields,.composer-field input,.composer-field textarea,.composer-field select{transition:border-color var(--t-fast), box-shadow var(--t-fast);caret-color:var(--signal)}.log button,.mis-foot button{transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast)}.log button:hover:not(:disabled),.mis-foot button:hover{box-shadow:3px 3px 0 var(--steel);transform:translate(-1px,-1px)}.log button:active,.mis-foot button:active{box-shadow:none;transform:translate(1px,1px)}.log button:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}.is-pending{position:relative;overflow:hidden}.is-pending:after{content:"";background:var(--signal);width:40%;height:2px;animation:.9s linear infinite pending-sweep;position:absolute;bottom:0;left:0}@keyframes pending-sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}.inert-note,.roster-empty,.empty{animation:note-in .26s var(--ease-out) both}@keyframes note-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.stamp.on{animation:stamp-in .38s var(--ease-out) both}@keyframes stamp-in{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal{animation:none}.nav-mark,.log input,.mis-grid input,.log button,.mis-foot button,.daybtn{transition:none}.log button:hover:not(:disabled),.mis-foot button:hover,.log button:active,.mis-foot button:active,.navbtn:active,.daybtn:active{transform:none}.log-saved,.ex.is-saved,.inert-note,.empty,.stamp.on,.is-pending:after{animation:none}}.rowlist>li,.plan-list>li,.roster>li,.recap-list>*{animation:row-in .42s var(--ease-out) both}@keyframes row-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rowlist>li:first-child,.plan-list>li:first-child,.roster>li:first-child,.recap-list>:first-child{animation-delay:0s}.rowlist>li:nth-child(2),.plan-list>li:nth-child(2),.roster>li:nth-child(2),.recap-list>:nth-child(2){animation-delay:45ms}.rowlist>li:nth-child(3),.plan-list>li:nth-child(3),.roster>li:nth-child(3),.recap-list>:nth-child(3){animation-delay:90ms}.rowlist>li:nth-child(4),.plan-list>li:nth-child(4),.roster>li:nth-child(4),.recap-list>:nth-child(4){animation-delay:.135s}.rowlist>li:nth-child(5),.plan-list>li:nth-child(5),.roster>li:nth-child(5),.recap-list>:nth-child(5){animation-delay:.18s}.rowlist>li:nth-child(n+6),.plan-list>li:nth-child(n+6),.roster>li:nth-child(n+6),.recap-list>:nth-child(n+6){animation-delay:.215s}.masthead{animation:mast-in .44s var(--ease-out) both}@keyframes mast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sample-embed .masthead,.hero .masthead{animation:none}.coach-action-group{transition:border-color var(--t), background var(--t)}.coach-action-group:hover{border-color:var(--ink-faint)}.snapshot-block li{transition:background var(--t-fast)}.snapshot-block li:hover{background:var(--concrete-hi)}.ex,.mis,.card,.rule{transition:border-color var(--t-fast), background var(--t-fast)}.ex:hover,.mis:hover{border-color:var(--ink-faint)}.ex:focus-within,.mis:focus-within{border-color:var(--line-hard)}@media (prefers-reduced-motion:reduce){.rowlist>li,.plan-list>li,.roster>li,.recap-list>*,.masthead{animation:none}.coach-action-group,.snapshot-block li,.ex,.mis,.card,.rule{transition:none}}.topbar{top:env(safe-area-inset-top,0px);z-index:40;background:var(--ink);color:var(--panel);border-bottom:2px solid var(--line-hard);transition:box-shadow var(--t), background var(--t);position:sticky}.topbar[data-scrolled]{box-shadow:0 10px 24px -18px #191714e6}.topbar[data-scrolled] .brand-mark{transform:rotate(45deg)}.topbar-progress{background:var(--signal);height:2px;transform:scaleX(var(--progress,0));transform-origin:0;pointer-events:none;position:absolute;bottom:-2px;left:0;right:0}.topbar-in{align-items:center;gap:var(--s3);max-width:760px;min-height:var(--topbar-h);padding:0 var(--s4);margin:0 auto;display:flex}.brand{align-items:center;gap:var(--s2);min-height:44px;font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--panel);flex:none;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}a.brand:hover .brand-mark,a.brand:focus-visible .brand-mark{background:var(--panel)}a.brand:focus-visible{outline:2px solid var(--panel);outline-offset:2px}.brand-mark{background:var(--signal);width:11px;height:11px;transition:background var(--t-fast), transform var(--t) var(--ease-out)}a.brand:hover .brand-mark{transform:rotate(45deg)scale(1.1)}.topbar-area{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#f3f2ecbf;white-space:nowrap;border:1px solid #f3f2ec59;flex:none;padding:3px 7px;font-size:10px;font-weight:600}.topnav{scrollbar-width:none;align-items:stretch;gap:2px;margin-left:auto;display:flex;overflow-x:auto}.topnav::-webkit-scrollbar{display:none}.topnav a,.topnav-exit{appearance:none;min-height:44px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#f3f2ecb8;white-space:nowrap;cursor:pointer;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;padding:0 10px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.topnav a:after{content:"";background:var(--panel);transform-origin:50%;height:2px;transition:transform var(--t) var(--ease-out);position:absolute;bottom:-2px;left:10px;right:10px;transform:scaleX(0)}.topnav a{position:relative}.topnav a:hover:after{transform:scaleX(1)}.topnav a:hover,.topnav-exit:hover{color:var(--panel);background:#f3f2ec1a}.topnav a[aria-current=page]{color:var(--panel);border-bottom-color:var(--signal)}.topnav-exit{color:#f3f2ec99}.topnav-exit:hover{color:var(--signal);background:0 0}.topnav a:focus-visible,.topnav-exit:focus-visible{outline:2px solid var(--panel);outline-offset:-2px}.crumbs{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:2px 6px;padding:4px 0 0;font-size:11px;font-weight:600;display:flex}.crumb{min-height:44px;color:var(--ink-soft);border-bottom:1px solid #0000;align-items:center;text-decoration:none;display:inline-flex}a.crumb:hover,a.crumb:focus-visible{color:var(--ink);border-bottom-color:var(--ink)}a.crumb:focus-visible{outline:2px solid var(--steel);outline-offset:3px}.crumb-back:before{content:"←";color:var(--signal);margin-right:7px}.crumb-here{color:var(--ink)}.crumb-sep{color:var(--ink-faint)}@media (width<=560px){.topbar-area{display:none}.topbar-in{gap:var(--s2);padding:0 var(--s3)}.topnav a,.topnav-exit{letter-spacing:.08em;padding:0 7px}}@media (width<=460px){.crumbs{letter-spacing:.08em;font-size:10.5px}.brand{font-size:14px}}@media (prefers-reduced-motion:reduce){.topbar,.brand-mark,.topnav a:after,.crumb-back:before{transition:none}.topbar[data-scrolled] .brand-mark,a.brand:hover .brand-mark{transform:none}}.print-actions{margin:14px 0 0}.print-sheet{font-family:IBM Plex Sans,system-ui,sans-serif;display:none}.print-sheet.is-print-root{display:block}.print-sheet,.print-sheet *{box-shadow:none!important;text-shadow:none!important}.print-sheet,.print-sheet .ex,.print-sheet .ex-head,.print-sheet .log,.print-sheet .card,.print-sheet .rule,.print-sheet .kv-item,.print-sheet .mis,.print-sheet .mis-head,.print-sheet .mis-grid input,.print-sheet table.prog,.print-sheet table.prog th,.print-sheet table.prog td,.print-sheet .spec,.print-sheet .spec.load,.print-sheet .spec.start,.print-sheet .sect-count,.print-sheet .daybtn,.print-sheet .tick{background:#fff!important}.print-sheet,.print-sheet h1,.print-sheet h2,.print-sheet h3,.print-sheet h4,.print-sheet p,.print-sheet span,.print-sheet strong,.print-sheet em,.print-sheet b,.print-sheet i,.print-sheet td,.print-sheet th,.print-sheet .ex-name,.print-sheet .ex-n,.print-sheet .ex-note,.print-sheet .ex-note.warn,.print-sheet .session-meta,.print-sheet .sect-sub,.print-sheet .thesis,.print-sheet .eyebrow,.print-sheet .spec,.print-sheet .spec.load,.print-sheet .spec.start,.print-sheet .rule .no,.print-sheet .rule .yes,.print-sheet .rule span,.print-sheet .kv-item .k,.print-sheet .kv-item .v,.print-sheet .kv-item .v small,.print-sheet .mis-lab,.print-sheet .mis-date{color:#000!important}.print-sheet .ex,.print-sheet .card,.print-sheet .rule,.print-sheet .kv-item,.print-sheet .mis,.print-sheet table.prog,.print-sheet .spec,.print-sheet .log input,.print-sheet .mis-grid input{border:1px solid #000!important}.print-sheet .masthead,.print-sheet h2.sect,.print-sheet h3.block,.print-sheet .log{border-color:#000!important}.print-sheet .masthead>.eyebrow:before{background:#000}.print-sheet .spec,.print-sheet .spec.load,.print-sheet .spec.start{border:1px solid #000;color:#000!important}.print-sheet .sect-count{border:1px solid #000;padding:1px 6px;color:#000!important}.print-sheet a.vid,.print-sheet .log button,.print-sheet .log-last,.print-sheet .stamp,.print-sheet .mis-foot,.print-sheet .days{display:none!important}.print-sheet .masthead{padding:0 0 3mm}.print-sheet .masthead h1{font-size:18pt;line-height:.95}.print-sheet .masthead h1 span{margin-top:1mm;font-size:11pt}.print-sheet .eyebrow{margin-bottom:2mm}.print-sheet .thesis{max-width:none;margin-top:2mm;font-size:10pt}.print-sheet h2.sect{margin:3mm 0 1mm;padding-top:1.5mm;font-size:12pt}.print-sheet h2.sect:first-of-type{margin-top:3mm}.print-sheet .sect-sub,.print-sheet .session-meta{margin-bottom:2mm;font-size:8.5pt}.print-sheet h3.block{margin:3mm 0 1.5mm;font-size:8.5pt}.print-sheet .print-session,.print-sheet .ex,.print-sheet .card,.print-sheet .rule,.print-sheet .mis,.print-sheet .prog-wrap{break-inside:avoid}.print-sheet .ex{margin-bottom:1.8mm}.print-sheet .ex-head{gap:2mm;padding:1.5mm 2mm 1.2mm;display:flex}.print-sheet .specs,.print-sheet .kv,.print-sheet .log-row{flex-wrap:wrap;display:flex}.print-sheet .prog-wrap{overflow:visible}.print-sheet .ex-n{font-size:9pt}.print-sheet .ex-name{margin-bottom:1mm;font-size:11pt}.print-sheet .spec{padding:1px 5px;font-size:8pt}.print-sheet .ex-note{margin-top:1.5mm;font-size:9pt}.print-sheet .log{padding:1.5mm 2mm}.print-sheet .log input,.print-sheet .mis-grid input{min-height:7mm;padding:1.5mm 2mm;font-size:10pt;color:#000!important;background:#fff!important}.print-sheet .card,.print-sheet .rule,.print-sheet .kv-item{margin-bottom:2mm;padding:2mm 2.5mm}.print-sheet .kv{gap:1.5mm;margin-bottom:2mm}.print-sheet .kv-item .v{font-size:13pt}.print-sheet table.prog{border-collapse:collapse;width:100%;font-size:8.5pt}.print-sheet table.prog th,.print-sheet table.prog td{border:1px solid #000;padding:1mm 1.5mm}.print-sheet .mis{margin-bottom:2.5mm}@media print{html,body,#root{color:#000;background:#fff;min-height:0;margin:0;padding:0}header.topbar,.no-print{display:none!important}.wrap{max-width:none;margin:0;padding:0}.print-sheet[data-print=plan],body.is-print-frame .print-sheet{display:block}a[href]:after{content:none!important}@page{size:A4 portrait;margin:10mm}}.composer-setup,.composer-field,.composer-blocks,.composer-knobs{margin-top:12px}.composer-field{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);flex-direction:column;gap:5px;margin:0 0 12px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;display:flex}.composer-field input,.composer-field textarea,.composer-field select,.composer-block input,.composer-block textarea,.composer-block select,.composer-kv-row input,.composer-week-note,.composer-weektype input,.composer-weektype select{letter-spacing:0;text-transform:none;color:var(--ink);border:1px solid var(--line);background:var(--panel);width:100%;padding:8px 10px;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:16px;font-weight:400}.composer-field textarea,.composer-block textarea{resize:vertical}.composer-checks{margin:0 0 18px;padding:0;list-style:none}.composer-checks li{margin:0 0 8px}.composer-checks label,.composer-inline{letter-spacing:0;text-transform:none;color:var(--ink);align-items:center;gap:8px;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:16px;display:flex}.composer-setup-nav{gap:8px;margin-top:18px;display:flex}.composer-block{border:1px solid var(--line);background:var(--panel);margin-bottom:10px;padding:12px}.composer-block-bar{letter-spacing:.1em;text-transform:uppercase;color:var(--steel);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.composer-block-actions,.composer-add-blocks,.composer-copy-day{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.composer-block-actions button,.composer-add-blocks button,.composer-copy-day button,.composer-kv-edit button,.composer-table-edit button{appearance:none;cursor:pointer;border:1px solid var(--ink);background:var(--panel);min-height:44px;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;display:inline-flex}.composer-block-actions button:disabled{opacity:.4;cursor:not-allowed}.composer-ex-grid,.composer-knobs,.composer-kv-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.composer-parse-ok{letter-spacing:.06em;text-transform:uppercase;color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:11px}.composer-fallback{border:1px dashed var(--signal);margin:8px 0;padding:10px}.composer-fallback p{color:var(--signal);margin:0 0 8px;font-size:13px}.composer-copy-day{color:var(--ink-soft);align-items:center;font-size:13px}.composer-wave{margin-top:18px}.composer-wave .composer-field{margin-bottom:8px}.composer-weektype{gap:6px;display:flex}.composer-log-keep{color:var(--ink-soft);margin:10px 0 0;font-size:13px}.a-btn{text-decoration:none;display:inline-block}.composer-preview .composer-block-bar,.composer-preview .composer-add-blocks,.composer-preview .composer-copy-day,.composer-preview .composer-block-actions{display:none}@media (width<=520px){.composer-ex-grid,.composer-knobs,.composer-kv-row{grid-template-columns:1fr}}.coach-toolbar{gap:var(--s2) var(--s3);margin:18px 0 var(--s2);flex-wrap:wrap;align-items:flex-start;display:flex}.inert-wrap{flex-direction:column;gap:6px;max-width:100%;display:flex}.inert-note{color:var(--ink-soft);max-width:36em;margin:0;font-size:13px}.link-chrome{margin:var(--s1) 0 18px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.listbox{margin:0 0 var(--s6);border:2px solid var(--line-hard);background:var(--panel)}.listbox-bar{align-items:stretch;gap:var(--s2);background:var(--concrete-hi);border-bottom:2px solid var(--line-hard);flex-wrap:wrap;padding:10px;display:flex}.field-search{background:var(--panel);border:1px solid var(--line);min-width:0;transition:border-color var(--t-fast), box-shadow var(--t-fast);flex:240px;align-items:center;display:flex;position:relative}.field-search:focus-within{border-color:var(--line-hard);box-shadow:inset 0 -2px 0 var(--signal)}.field-search-tag{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);flex:none;padding:0 10px 0 12px;font-size:10.5px;font-weight:600}.field-search input{width:100%;min-width:0;min-height:44px;color:var(--ink);font-family:var(--font-body);caret-color:var(--signal);background:0 0;border:0;flex:auto;padding:0 8px 0 0;font-size:16px}.field-search input:focus{outline:none}.field-search input::-webkit-search-cancel-button{display:none}.field-search-clear{appearance:none;width:40px;min-height:44px;color:var(--ink-soft);cursor:pointer;transition:color var(--t-fast);background:0 0;border:0;flex:none;font-size:20px;line-height:1}.field-search-clear:hover{color:var(--signal)}.field-search-clear:focus-visible{outline:2px solid var(--steel);outline-offset:-2px}.btn-add{appearance:none;justify-content:center;align-items:center;gap:var(--s2);border:2px solid var(--line-hard);background:var(--ink);min-height:44px;color:var(--panel);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);flex:none;padding:0 14px;font-size:11px;font-weight:600;display:inline-flex}.btn-add-mark{transition:transform var(--t) var(--ease-out);font-size:15px;line-height:1}.btn-add:hover,.btn-add[aria-expanded=true]{background:var(--signal)}.btn-add[aria-expanded=true] .btn-add-mark{transform:rotate(45deg)}.btn-add:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.listbox-empty{color:var(--ink-soft);margin:0;padding:22px 15px;font-size:14px}.linky{appearance:none;font:inherit;color:var(--signal);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.roster-new{background:var(--panel-hi);border-bottom:2px solid var(--line-hard);animation:row-in .32s var(--ease-out) both;padding:12px 15px 13px}.roster-new-row{align-items:flex-end;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.roster-new-field{flex-direction:column;flex:220px;gap:5px;min-width:0;display:flex}.roster-new-field span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px;font-weight:600}.roster-new-field input{border:2px solid var(--line-hard);background:var(--panel);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-body);caret-color:var(--signal);padding:0 12px;font-size:16px}.roster-new-field input:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.roster-new-actions{gap:var(--s2);flex-wrap:wrap;display:flex}.roster-new-hint,.roster-new .inert-note{color:var(--ink-soft);margin:10px 0 0;font-size:13px}@media (width<=520px){.btn-add{flex:100%}.roster-new-actions{width:100%}.roster-new-actions .inert-btn{flex:1 1 0}}@media (prefers-reduced-motion:reduce){.roster-new{animation:none}.btn-add,.btn-add-mark,.field-search,.field-search-clear{transition:none}.btn-add[aria-expanded=true] .btn-add-mark{transform:none}}.roster-search{flex-direction:column;flex:220px;gap:6px;min-width:0;display:flex}.roster-search span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:600}.roster-search input{border:2px solid var(--line-hard);background:var(--panel);width:100%;color:var(--ink);font-family:var(--font-body);padding:10px 12px;font-size:16px}.roster-search input:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.listbox .roster,.listbox .list-head{border-top:0;border-bottom:0;margin:0}.listbox .list-head{border-bottom:1px solid var(--line);padding-top:12px}.roster a{column-gap:var(--s3);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);row-gap:2px;display:grid}.roster strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;font-size:17px;font-weight:800}.roster-access{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);place-self:center end;font-size:10.5px;font-weight:600}.roster em{color:var(--ink-soft);font-size:13.5px;font-style:normal}.roster-signal{text-align:right;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--signal);justify-self:end;font-size:11px;font-weight:600}.roster-head{column-gap:var(--s3);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);row-gap:2px}.roster-head span:nth-child(2),.roster-head span:nth-child(4){text-align:right}@media (width>=561px){.roster-head{display:grid}}@media (width<=560px){.roster a{grid-template-columns:1fr;row-gap:3px}.roster-access,.roster-signal{text-align:left;justify-self:start}}.template-entry{margin:0 0 var(--s6);background:var(--panel);border:2px solid var(--line-hard);box-shadow:var(--lift);color:inherit;transition:transform var(--t), box-shadow var(--t), background var(--t);padding:20px 18px 18px;text-decoration:none;display:block}.template-entry:hover,.template-entry:focus-visible{box-shadow:7px 7px 0 var(--line-hard);background:var(--panel-hi);transform:translate(-2px,-2px)}.template-entry:active{box-shadow:2px 2px 0 var(--line-hard);transform:translate(1px,1px)}.template-entry strong{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:clamp(26px,6vw,38px);font-weight:800;line-height:.95;display:block}.template-entry strong span{color:var(--steel);display:block}.template-entry em{color:var(--ink-soft);margin:12px 0 0;font-size:15px;font-style:normal;display:block}.template-entry:focus-visible{outline:2px solid var(--steel);outline-offset:4px}@media (prefers-reduced-motion:reduce){.template-entry{transition:none}.template-entry:hover,.template-entry:focus-visible,.template-entry:active{transform:none}}.sheet-list{border-top:2px solid var(--line-hard);border-bottom:2px solid var(--line-hard);margin:0;padding:0;list-style:none}.sheet-list li{background:var(--panel);font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;grid-template-columns:40px 1fr;gap:10px;padding:12px 13px;font-size:17px;font-weight:800;display:grid}.sheet-list li+li{border-top:1px solid var(--line)}.sheet-n{font-family:var(--font-mono);color:var(--signal);font-size:13px;font-weight:600}.snapshot{margin:0 0 var(--s6);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--steel);padding:16px}.snapshot-block+.snapshot-block{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.snapshot-block h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 10px;font-size:18px;font-weight:800}.snapshot-block ul{margin:0;padding:0;list-style:none}.snapshot-block li{justify-content:space-between;gap:var(--s3);border-top:1px solid var(--line);padding:6px 0;font-size:14px;display:flex}.snapshot-block li:first-child{border-top:0}.snapshot-block b{font-weight:600}.snapshot-block span{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);text-align:right;font-size:12px}.snapshot-note{color:var(--ink-soft);margin:0;font-size:14px}.actions{margin:var(--s5) 0 var(--s6);border:2px solid var(--line-hard);background:var(--panel)}.actions-row{column-gap:var(--s3);grid-template-columns:7.5em minmax(0,1fr);padding:11px 14px 12px;display:grid}.actions-row+.actions-row{border-top:1px solid var(--line)}.actions-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0;padding-top:14px;font-size:11px;font-weight:600}.actions-row.is-danger .actions-label{color:var(--signal)}.actions-body{min-width:0}.actions-btns{gap:var(--s2);flex-wrap:wrap;display:flex}.actions-hint{max-width:60ch;color:var(--ink-soft);overflow-wrap:anywhere;margin:8px 0 0;font-size:13px;line-height:1.45}.actions-hint.is-note{color:var(--ink);animation:note-in .24s var(--ease-out) both;font-weight:500}.actions-foot{border-top:1px solid var(--line);background:var(--concrete-hi);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:0;padding:9px 14px 10px;font-size:10.5px}@media (width<=560px){.actions-row{grid-template-columns:1fr;row-gap:8px}.actions-label{padding-top:0}}@media (prefers-reduced-motion:reduce){.actions-hint.is-note{animation:none}}.coach-action-group{background:var(--panel);border:1px solid var(--line);margin:0 0 18px;padding:14px 16px 16px}.coach-action-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 4px;font-size:11px;font-weight:600}.coach-action-hint{max-width:42em;color:var(--ink-soft);margin:0;font-size:13px}.coach-action-group .coach-toolbar{margin:12px 0 0}.coach-toolbar .coach-action-hint{margin-top:2px}.coach-read-banner{border:2px solid var(--line-hard);background:var(--concrete-dk);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:14px 0 0;padding:8px 12px;font-size:11px;font-weight:600;display:inline-block}.coach-change-hint{max-width:42em;color:var(--ink-soft);margin:10px 0 0;font-size:14px}.log input:disabled,.mis input:disabled{opacity:.9;cursor:default;background:var(--concrete);color:var(--ink)}.admin-block{margin:0 0 var(--s6)}.admin-h{margin:0 0 var(--s2);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:600}.admin-h-row{margin:0 0 var(--s2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-h-row .admin-h{margin:0}.admin-mint{align-items:flex-end;gap:var(--s2);margin:0 0 var(--s3);flex-wrap:wrap;display:flex}.admin-mint-field{flex-direction:column;flex:220px;gap:5px;min-width:0;display:flex}.admin-mint-field span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px;font-weight:600}.admin-mint-field input{border:2px solid var(--line-hard);background:var(--panel);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-body);caret-color:var(--signal);padding:0 12px;font-size:16px}.admin-mint-field input:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.admin-coaches .admin-invite-code{font-family:var(--font-mono);letter-spacing:.16em;font-size:22px}.admin-note{margin:0 0 var(--s4)}.admin-request-msg{margin:4px 0 8px;font-size:14px;line-height:1.4}.admin-invite-actions,.admin-coaches .inert-btn{margin-top:8px}.admin-invite-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-stats{border:2px solid var(--line-hard);background:var(--panel);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.admin-stats li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:44px;padding:14px 14px 12px}.admin-stats li:nth-child(2n){border-right:none}.admin-stats strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1;display:block}.admin-stats span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;font-size:11px;display:block}.admin-coaches{border:2px solid var(--line-hard);background:var(--panel);margin:0;padding:0;list-style:none}.admin-coaches li{flex-direction:column;gap:4px;min-height:44px;padding:14px 16px;display:flex}.admin-coaches li+li{border-top:1px solid var(--line)}.admin-coaches strong{font-size:16px}.admin-coaches span{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.admin-feed{border:2px solid var(--line-hard);background:var(--panel);margin:0;padding:0;list-style:none}.admin-event{grid-template-columns:7.5em 1fr;gap:2px 12px;min-height:44px;padding:12px 14px;display:grid}.admin-event+.admin-event{border-top:1px solid var(--line)}.admin-event-when{font-family:var(--font-mono);color:var(--ink-soft);grid-row:1/span 2;align-self:center;font-size:11px}.admin-event strong{font-size:15px}.admin-event-who{color:var(--ink-soft);font-size:13px}.admin-event.is-bad{border-left:3px solid var(--signal)}.admin-event.is-bad strong{color:var(--signal)}@media (width>=640px){.admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-stats li,.admin-stats li:nth-child(2n){border-right:1px solid var(--line)}.admin-stats li:nth-child(5n){border-right:none}.admin-stats-use{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-stats-use li:nth-child(5n){border-right:1px solid var(--line)}.admin-stats-use li:nth-child(3n){border-right:none}}@media (prefers-reduced-motion:reduce){.admin-stats strong{transition:none}}.home .masthead h1 span{text-transform:none;letter-spacing:0;font-weight:800}.home:not(.hero) .masthead{padding-top:20px}.home-retry{margin-top:18px}.hero{padding-bottom:0}.hero-mast{padding:var(--s7) 0 var(--s2)}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:8px;margin:0 0 18px;font-size:11px;font-weight:600;display:flex}.hero-eyebrow:before{content:"";background:var(--signal);width:22px;height:3px}.hero-mast h1{font-family:var(--font-display);letter-spacing:-.035em;text-transform:uppercase;margin:0;font-size:clamp(44px,12vw,78px);font-weight:800;line-height:.9}.hero-mast h1 span{color:var(--steel);text-transform:none;letter-spacing:-.035em;font-weight:800;display:block}.hero-mast .thesis{max-width:40ch;color:var(--ink-soft);margin:20px 0 0;font-size:16.5px;line-height:1.45}.hero-doors{gap:var(--s3);margin:var(--s6) 0 0;display:grid}@media (width>=620px){.hero-doors{grid-template-columns:1fr 1fr}}.door{background:var(--panel);border:2px solid var(--line-hard);box-shadow:var(--lift);color:inherit;transition:transform var(--t) var(--ease-out), box-shadow var(--t) var(--ease-out), background var(--t);flex-direction:column;padding:20px 18px 18px;text-decoration:none;display:flex;position:relative;overflow:hidden}.door:before{content:"";transition:transform .62s var(--ease-out);pointer-events:none;background:linear-gradient(100deg,#0000 42%,#ffffffbf 50%,#0000 58%);position:absolute;inset:-60% -20%;transform:translate(-120%)}.door:hover:before,.door:focus-visible:before{transform:translate(120%)}.door>*{position:relative}.door:hover,.door:focus-visible{box-shadow:8px 8px 0 var(--line-hard);background:var(--panel-hi);transform:translate(-3px,-3px)}.door-n{transition:transform var(--t) var(--ease-out)}.door:hover .door-n,.door:focus-visible .door-n{transform:translateY(-2px)}.door:active{box-shadow:2px 2px 0 var(--line-hard);transform:translate(1px,1px)}.door:focus-visible{outline:2px solid var(--steel);outline-offset:4px}.door-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:8px;margin:0 0 12px;font-size:11px;font-weight:600;display:flex}.door-n{background:var(--ink);color:var(--panel);padding:2px 6px}.door-coach .door-n{background:var(--signal)}.door h2{font-family:var(--font-display);letter-spacing:-.025em;text-transform:uppercase;margin:0 0 10px;font-size:clamp(26px,6vw,34px);font-weight:800;line-height:1}.door-body{max-width:34ch;color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.5}.door-go{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);border-bottom:2px solid var(--signal);align-self:flex-start;align-items:center;gap:8px;margin-top:18px;padding-bottom:2px;font-size:11.5px;font-weight:600;display:inline-flex}.door-go:after{content:"→";transition:transform var(--t-fast)}.door:hover .door-go:after,.door:focus-visible .door-go:after{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.door,.door:before,.door-n,.door-go:after{transition:none}.door:before{display:none}.door:hover,.door:focus-visible,.door:active,.door:hover .door-n{transform:none}}.hero-how{margin-top:var(--s7)}.steps{margin:0 0 var(--s5);border-top:1px solid var(--line);padding:0;list-style:none}.steps li{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;gap:12px;padding:16px 0 16px 14px;display:grid;position:relative}.steps li:before{content:"";background:var(--ink);transform-origin:50% 0;width:2px;animation:spine-in .52s var(--ease-out) both;animation-delay:calc(var(--i,0) * 70ms + .16s);position:absolute;top:-1px;bottom:-1px;left:0}@keyframes spine-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.steps li:before{animation:none}}.step-n{font-family:var(--font-mono);color:var(--signal);padding-top:2px;font-size:13px;font-weight:600}.steps strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:5px;font-size:18px;font-weight:800;display:block}.steps p{max-width:56ch;color:var(--ink-soft);margin:0;font-size:14px}.hero-aside{background:var(--panel);border-left:3px solid var(--signal);max-width:56ch;color:var(--ink-soft);margin:0;padding:14px 16px;font-size:14px}.hero-aside b{color:var(--ink)}.sheet-object{margin:var(--s7) 0 var(--s7)}.sheet-object figcaption{margin:0 0 var(--s4);max-width:46ch;color:var(--ink-soft);font-size:14px}.sheet-object figcaption strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px;font-size:18px;font-weight:800;display:block}.sample-plan{background:var(--panel);border:2px solid var(--line-hard);box-shadow:var(--lift-lg);max-height:min(68vh,560px);transition:box-shadow var(--t-slow), transform var(--t-slow);margin:0;position:relative;overflow:hidden}.sheet-object:hover .sample-plan{box-shadow:11px 11px 0 var(--line-hard);transform:translate(-2px,-2px)}@media (prefers-reduced-motion:reduce){.sample-plan{transition:none}.sheet-object:hover .sample-plan{transform:none}}.sample-plan:after{content:"";background:linear-gradient(transparent, var(--panel));pointer-events:none;height:80px;position:absolute;inset:auto 0 0}.sample-embed{padding:4px 16px 40px}.sample-embed .masthead{padding-top:16px}.sample-embed .masthead h1{font-size:clamp(26px,6vw,36px)}.sample-embed nav.sheets{background:0 0;margin:0 -16px;position:static}.sample-embed .coach-read-banner,.sample-embed .foot,.sample-embed .vid,.sample-embed .log{display:none}@media (prefers-reduced-motion:reduce){.sample-plan:after{background:var(--panel);opacity:.85;height:48px}}.hero-foot{padding:var(--s5) 0 var(--s7);border-top:2px solid var(--line-hard);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:11px}.hero-foot p{margin:0}.hero-foot p:first-child{color:var(--ink);font-weight:600}.auth-card{max-width:26em;margin:var(--s4) 0 var(--s5);background:var(--panel);border:2px solid var(--line-hard);box-shadow:var(--lift);padding:16px 16px 14px}.auth-card .home-retry{width:100%;margin-top:0}.auth-points{margin:0 0 12px;padding:0;list-style:none}.auth-points li{color:var(--ink-soft);padding:0 0 4px 18px;font-size:13px;position:relative}.auth-points li:last-child{padding-bottom:0}.auth-points li:before{content:"";background:var(--signal);width:7px;height:7px;position:absolute;top:7px;left:0}.auth-note{color:var(--ink-soft);margin:0;font-size:13px}.auth-sent-copy{color:var(--ink);font-size:15px}.auth-form{flex-direction:column;gap:8px;display:flex}.auth-form-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;font-size:15px;font-weight:800}.auth-fields{border:2px solid var(--line-hard);background:var(--panel);flex-direction:column;display:flex}.auth-field{grid-template-columns:6.2em minmax(0,1fr);align-items:center;column-gap:8px;min-width:0;min-height:44px;padding:0 12px;display:grid}.auth-field+.auth-field{border-top:2px solid var(--line-hard)}.auth-field span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:600}.auth-field input,.auth-field textarea{width:100%;min-height:44px;color:var(--ink);font-family:var(--font-body);background:0 0;border:0;padding:0;font-size:16px}.auth-field textarea{resize:vertical;padding:10px 0}.auth-field-area{align-items:start;padding-top:10px;padding-bottom:10px}.auth-field input:focus,.auth-field textarea:focus{outline:none}.auth-field-pass{grid-template-columns:6.2em minmax(0,1fr) 44px}.auth-eye{width:44px;min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.auth-eye:hover,.auth-eye:focus-visible{color:var(--ink)}.auth-fields:focus-within{outline:2px solid var(--steel);outline-offset:2px}.auth-turnstile{min-height:65px}.auth-turnstile .inert-note{margin:0}.auth-form .home-retry,.auth-form .inert-btn{width:100%;margin-top:0}.auth-switch{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0;font-size:13px;display:flex}.auth-switch button{color:var(--steel);font:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 0;text-decoration:underline}.auth-or{color:var(--ink-soft);text-align:center;margin:0;font-size:12px;line-height:1}.auth-provider{gap:10px}.auth-provider-mark{flex:0 0 18px;display:block}.auth-debug{margin:0;font-size:14px}.auth-debug a{color:var(--steel)}.plan-now{margin:var(--s5) 0 var(--s6);background:var(--panel);border:2px solid var(--line-hard);box-shadow:var(--lift);color:inherit;transition:transform var(--t), box-shadow var(--t), background var(--t);padding:20px 18px 18px;text-decoration:none;display:block;position:relative}.plan-now:hover,.plan-now:focus-visible{box-shadow:8px 8px 0 var(--line-hard);background:var(--panel-hi);transform:translate(-3px,-3px)}.plan-now:active{box-shadow:2px 2px 0 var(--line-hard);transform:translate(1px,1px)}.plan-now h2{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:clamp(28px,7vw,42px);font-weight:800;line-height:.95}.plan-now h2 span{color:var(--steel);display:block}.plan-now .thesis{margin:12px 0 0}.plan-now-meta{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 0;font-size:11px}.plan-now-go{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);border-bottom:2px solid var(--signal);align-items:center;gap:8px;margin-top:16px;padding-bottom:1px;font-size:11.5px;font-weight:600;display:inline-flex}.plan-now-go:after{content:"→";transition:transform var(--t-fast)}.plan-now:hover .plan-now-go:after,.plan-now:focus-visible .plan-now-go:after{transform:translate(3px)}.plan-now:focus-visible{outline:2px solid var(--steel);outline-offset:4px}@media (prefers-reduced-motion:reduce){.plan-now{transition:none}.plan-now:hover,.plan-now:focus-visible,.plan-now:active{transform:none}}.recap-list{margin:0 0 var(--s6);flex-direction:column;gap:8px;display:flex}.recap-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);color:inherit;grid-template-columns:40px 1fr;gap:10px;padding:14px 14px 13px;text-decoration:none;display:grid}a.recap-card{transition:background var(--t-fast), border-color var(--t-fast)}a.recap-card:hover,a.recap-card:focus-visible{background:var(--panel-hi);border-left-color:var(--signal)}a.recap-card:hover .recap-cta:after,a.recap-card:focus-visible .recap-cta:after{transform:translate(3px)}a.recap-card:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.recap-card.is-now{border-color:var(--line-hard);border-left-color:var(--signal);border-left-width:4px}.recap-n{font-family:var(--font-mono);color:var(--signal);padding-top:2px;font-size:13px;font-weight:600}.recap-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin:0 0 4px;font-size:10.5px;font-weight:600}.recap-body h3{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 6px;font-size:18px;font-weight:800}.recap-text{color:var(--ink-soft);margin:0;font-size:14px}.recap-cta{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);align-items:center;gap:7px;margin-top:10px;font-size:11px;font-weight:600;display:inline-flex}.recap-cta:after{content:"→";transition:transform var(--t-fast)}.plan-list .eyebrow{letter-spacing:.14em;margin:0 0 4px;font-size:10.5px}.plan-list strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;font-size:19px;font-weight:800;display:block}.plan-list strong span{color:var(--steel);display:block}.plan-list em{color:var(--ink-soft);margin-top:6px;font-size:14px;font-style:normal;display:block}.join-code{max-width:28em;margin:var(--s5) 0 var(--s6);background:var(--panel);border:2px solid var(--line-hard);flex-direction:column;gap:12px;padding:18px 16px;display:flex}.join-code-lead{color:var(--ink-soft);margin:0;font-size:14px}.join-code .home-retry{align-self:flex-start;margin-top:0}.switch-coach{margin:var(--s6) 0 0}.switch-coach-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.switch-coach-actions .home-retry{margin-top:0}.coach-login-actions{margin:var(--s2) 0}
