:root{--bg:#f2f3f4;--surface:#fff;--sunken:#e8eaec;--ink:#15181c;--muted:#5b636d;--rule:#d7dade;--ember:#e0542a;--ember-ink:#fff;--line-hyrox:#b7811a;--line-calisthenics:#24857a;--line-functional:#356ca8;--line-shred:#be3657;--line-hybrid:#6a58b8;--line-powerhour:#4a5a6b;--line-inferno:#c9541a;--good:#2e7d4f;--warn:#b7791f;--bad:#c0392b;--display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--r:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#101214;--surface:#191c20;--sunken:#22262b;--ink:#eceef0;--muted:#9aa2ac;--rule:#2c3137;--ember:#f06a3f;--ember-ink:#14100e;--line-hyrox:#e0a93b;--line-calisthenics:#4cb8aa;--line-functional:#6c9dd6;--line-shred:#e46a87;--line-hybrid:#9c8be6;--line-powerhour:#9db0c4;--line-inferno:#f08a4b;--good:#5bbf85;--warn:#e3a948;--bad:#ee6b5b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#101214;--surface:#191c20;--sunken:#22262b;--ink:#eceef0;--muted:#9aa2ac;--rule:#2c3137;--ember:#f06a3f;--ember-ink:#14100e;--line-hyrox:#e0a93b;--line-calisthenics:#4cb8aa;--line-functional:#6c9dd6;--line-shred:#e46a87;--line-hybrid:#9c8be6;--line-powerhour:#9db0c4;--line-inferno:#f08a4b;--good:#5bbf85;--warn:#e3a948;--bad:#ee6b5b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink)}body{font-family:var(--body);font-size:14px;line-height:1.5}.wrap{max-width:1280px;padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));gap:18px;margin:0 auto;display:grid}h1,h2,h3{font-family:var(--display);letter-spacing:.01em;text-wrap:balance;margin:0;font-weight:700}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ember);outline-offset:2px}header.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand svg{flex:none;width:30px;height:30px}.brand h1{text-transform:uppercase;font-size:30px;line-height:1}.brand h1 span{color:var(--muted);font-weight:500}.cyc{text-align:right;gap:2px;display:grid}.cyc strong{font-family:var(--display);font-size:20px;font-weight:600}.tabs{background:var(--sunken);border-radius:999px;gap:4px;width:max-content;max-width:100%;padding:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 16px;font-weight:600}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.weeks{grid-template-columns:repeat(var(--wks,4),minmax(0,1fr));gap:8px;display:grid}.wk{border:1px solid var(--rule);background:var(--surface);border-radius:var(--r);text-align:left;gap:2px;padding:10px 12px;display:grid}.wk b{font-family:var(--display);font-size:19px;font-weight:600}.wk .meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:0 8px;font-size:12px;display:flex}@media (width<=640px){.wk .meta{flex-direction:column}}.wk[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.wk.deload b:after{content:" ↓";color:var(--muted)}@media (width<=640px){.weeks{grid-template-columns:repeat(2,minmax(0,1fr))}}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--rule);background:var(--surface);border-radius:999px;align-items:center;gap:7px;padding:5px 12px 5px 9px;font-weight:500;display:inline-flex}.chip i{background:var(--c,var(--muted));border-radius:50%;width:9px;height:9px;display:inline-block}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.themes{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.theme{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);gap:3px;min-width:0;padding:10px 12px;display:grid}.theme .ln{align-items:center;gap:6px;font-weight:600;display:flex}.theme .ln i{background:var(--c);border-radius:2px;width:9px;height:9px}.theme p{color:var(--muted);margin:0;font-size:13px}.grid{grid-template-columns:repeat(var(--cols,6),minmax(0,1fr));gap:8px;display:grid}.day{align-content:start;gap:8px;min-width:0;display:grid}.dayhead{border-bottom:2px solid var(--ink);padding:4px 2px 6px;display:grid}.dayhead b{font-family:var(--display);text-transform:uppercase;justify-content:space-between;align-items:baseline;font-size:20px;font-weight:700;display:flex}.dayhead b span{font-family:var(--mono);color:var(--muted);font-size:12px;font-weight:400}.dayhead small{color:var(--muted);font-size:12px;line-height:1.3}.sess{border:1px solid var(--rule);background:var(--surface);border-radius:var(--r);text-align:left;gap:6px;min-width:0;padding:10px;transition:transform .12s,border-color .12s;display:grid}.sess:hover{border-color:var(--c);transform:translateY(-1px)}.sess .ln{letter-spacing:.06em;text-transform:uppercase;color:var(--c);justify-content:space-between;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.sess .ln .done{color:var(--good);letter-spacing:0;text-transform:none}.sess h3{font-size:17px;font-weight:600;line-height:1.15}.tags{flex-wrap:wrap;gap:4px;display:flex}.tag{font-family:var(--mono);background:var(--sunken);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:10.5px}.tag.test{background:var(--ember);color:var(--ember-ink)}.empty-day{color:var(--muted);padding:8px 2px;font-size:12px}@media (width<=980px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.weeks{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=620px){.grid{grid-template-columns:minmax(0,1fr)}}.status{background:var(--surface);border:1px dashed var(--rule);border-radius:var(--r);color:var(--muted);text-align:center;padding:20px}.status strong{color:var(--ink);font-family:var(--display);margin-bottom:4px;font-size:20px;display:block}.scrim{z-index:20;background:#0a0c0e73;position:fixed;inset:0}.sheet{background:var(--bg);z-index:21;width:min(720px,100%);padding-top:calc(env(safe-area-inset-top,0px) + 18px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 40px);padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));display:block;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 40px #0000002e}.sheet>*+*{margin-top:18px}@media (prefers-reduced-motion:no-preference){.sheet{animation:.18s ease-out slide}@keyframes slide{0%{opacity:.6;transform:translate(24px)}}}.sheet-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.close{border:1px solid var(--rule);background:var(--surface);border-radius:999px;padding:5px 14px;font-weight:600}.sh-title{gap:6px;display:grid}.sh-title h2{font-size:32px;line-height:1.05}.sh-title .eyebrow{color:var(--c);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.objective{max-width:62ch;margin:0;font-size:16px}.facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.fact{background:var(--surface);border:1px solid var(--rule);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.fact b{font-family:var(--mono);font-size:15px;font-weight:500}.timeline{gap:6px;display:grid}.tl{border:1px solid var(--rule);border-radius:6px;height:30px;display:flex;overflow:hidden}.tl div{font-family:var(--mono);border-right:1px solid var(--bg);white-space:nowrap;justify-content:center;align-items:center;min-width:0;font-size:12px;font-weight:500;display:flex;overflow:hidden}.tl div:last-child{border-right:0}.tl .A,.tl .E{background:var(--sunken)}.tl .B{background:color-mix(in srgb,var(--c) 22%,var(--surface))}.tl .C{background:var(--c);color:var(--surface)}.tl .D{background:color-mix(in srgb,var(--c) 45%,var(--surface))}.ticks{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.block{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}.block-h{border-bottom:1px solid var(--rule);align-items:baseline;gap:10px;padding:10px 14px;display:flex}.block-h .code{font-family:var(--display);color:var(--c);width:18px;font-size:22px;font-weight:700}.block-h h3{flex:1;font-size:18px;font-weight:600}.block-h .t{font-family:var(--mono);color:var(--muted);font-size:12px}.items{border-collapse:collapse;width:100%}.items td{border-top:1px solid var(--rule);vertical-align:top;padding:8px 14px}.items tr:first-child td{border-top:0}.items td.dose{font-family:var(--mono);white-space:nowrap;text-align:right;width:1%;font-size:13px}.items .note{color:var(--muted);font-size:12.5px;display:block}@media (width<=520px){.items td.dose{white-space:normal;text-align:left;width:auto}.items tr{display:grid}.items td.dose{border-top:0;padding-top:0}}.scale{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scale div{background:var(--surface);border:1px solid var(--rule);border-radius:8px;gap:3px;padding:10px 12px;display:grid}.scale p{margin:0}@media (width<=520px){.scale{grid-template-columns:minmax(0,1fr)}}.cues{gap:8px;display:grid}.cues div{gap:2px;display:grid}.cues ul{margin:0;padding-left:18px}.section{gap:8px;display:grid}.section>h3{font-size:20px}form.log{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);gap:12px;padding:14px;display:grid}.row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}label.f{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:6px;width:100%;padding:7px 9px}textarea{resize:vertical;min-height:70px}.pills{flex-wrap:wrap;gap:6px;display:flex}.pills label{border:1px solid var(--rule);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.pills input{width:auto}.btn{background:var(--ember);color:var(--ember-ink);border:0;border-radius:8px;padding:9px 16px;font-weight:600}.btn[disabled]{opacity:.5;cursor:default}.hint{color:var(--muted);margin:0;font-size:12.5px}.toast{color:var(--good);font-weight:600}.err{color:var(--bad);font-weight:600}.fb-table-wrap{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);overflow-x:auto}table.fb{border-collapse:collapse;width:100%;min-width:720px}table.fb th,table.fb td{text-align:left;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums;padding:10px 12px}table.fb th{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}table.fb tr:last-child td{border-bottom:0}.ln-cell{align-items:center;gap:7px;font-weight:600;display:flex}.ln-cell i{background:var(--c);border-radius:2px;width:9px;height:9px}.pill{background:var(--sunken);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.pill.good{color:var(--good)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}.alerts{gap:6px;display:grid}.alert{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--warn);border-radius:6px;padding:8px 12px}.alert.bad{border-left-color:var(--bad)}.logs{gap:8px;display:grid}.logrow{background:var(--surface);border:1px solid var(--rule);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.logrow .h{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.logrow .h b{font-weight:600}.logrow p{margin:0}footer{color:var(--muted);font-size:12px}@media (width<=560px){.flag{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.mrow{grid-template-columns:minmax(0,1fr)}}.bsel{align-items:center;gap:8px;display:flex}.bsel select{background:var(--surface);width:auto;min-width:170px;font-weight:600}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.tabs button .dot{background:var(--ember);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.banner{background:color-mix(in srgb,var(--ember) 12%,var(--surface));border:1px solid var(--ember);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.banner b{font-family:var(--display);font-size:18px;font-weight:600}.btn.small{padding:5px 11px;font-size:13px}.sess.missing{cursor:default;background:0 0;border-style:dashed}.sess.missing:hover{border-color:var(--rule);transform:none}.gap{color:var(--warn);font-size:11.5px;font-weight:600}.adapted{color:var(--muted);letter-spacing:0;text-transform:none;font-size:11px;font-weight:500}.sheet .gapbox{background:color-mix(in srgb,var(--warn) 12%,var(--surface));border:1px solid var(--warn);border-radius:8px;padding:8px 12px}.eng{gap:22px;display:grid}.strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.stat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);gap:2px;min-width:0;padding:10px 12px;display:grid}.stat b{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.1}.stat small{color:var(--muted);font-size:12px}.stat.hot{border-color:var(--ember);box-shadow:inset 0 0 0 1px var(--ember)}.sec-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.sec-h h2{font-size:24px}.sec-h p{color:var(--muted);max-width:70ch;margin:0;font-size:13px}.flags{gap:8px;display:grid}.flag{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--warn);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 14px;padding:10px 12px;display:grid}.flag.bad{border-left-color:var(--bad)}.flag.skipped{opacity:.55;border-left-color:var(--rule)}.flag .what{gap:3px;min-width:0;display:grid}.flag .what b{font-weight:600}.flag .ev{color:var(--muted);font-size:12.5px}.seg{border:1px solid var(--rule);background:var(--sunken);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);background:0 0;border:0;padding:4px 12px;font-size:12.5px;font-weight:600}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}@media (width<=560px){.flag{grid-template-columns:minmax(0,1fr)}}.manual{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);gap:10px;padding:12px;display:grid}.mrow{grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}@media (width<=760px){.mrow{grid-template-columns:minmax(0,1fr)}}.mlist{gap:6px;display:grid}.mitem{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-top:8px;display:flex}.mitem:first-child{border-top:0;padding-top:0}.mitem p{flex:1;min-width:220px;margin:0}.linkbtn{color:var(--muted);background:0 0;border:0;padding:0;font-size:12.5px;text-decoration:underline}.review{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);gap:14px;padding:16px;display:grid}.review h3{font-size:22px}.checks{gap:3px;margin:0;padding-left:18px;display:grid}.checks li.fail{color:var(--bad)}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.thr{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding:12px;display:grid}.thr label.f span{font-weight:400}details.box{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:10px 14px}details.box summary{cursor:pointer;font-weight:600}details.box[open] summary{margin-bottom:10px}.runlog{color:var(--muted);gap:4px;font-size:12.5px;display:grid}.today{gap:12px;display:grid}.today-h{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.today-h h2{text-transform:uppercase;font-size:30px}.tcards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.tcard{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--c);border-radius:var(--r);text-align:left;gap:8px;padding:14px;display:grid}.tcard h3{font-size:22px;line-height:1.1}.tcard p{color:var(--muted);margin:0}.tcard .row2{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.bgrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.bcard{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);gap:10px;min-width:0;padding:14px;display:grid}.bcard h3{font-size:22px}.tt{border-collapse:collapse;width:100%;font-size:12.5px}.tt th,.tt td{text-align:center;border-bottom:1px solid var(--rule);padding:3px 4px}.tt th:first-child,.tt td:first-child{text-align:left}.tt td.on{color:var(--c);font-weight:700}.bform{background:var(--surface);border:1px solid var(--ink);border-radius:var(--r);gap:14px;padding:14px;display:grid}.ttedit{overflow-x:auto}.ttedit table{border-collapse:collapse;min-width:420px}.ttedit td,.ttedit th{text-align:center;padding:4px 6px}.ttedit td:first-child,.ttedit th:first-child{text-align:left;font-weight:600}.ttedit input{width:auto}.eqgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.eqgrid label{grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:6px;font-size:13px;display:grid}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}.wrap{padding-top:calc(env(safe-area-inset-top,0px) + 20px)}.stack{gap:14px;display:grid}.tabs a{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:6px 16px;font-weight:600;text-decoration:none}.tabs a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.cyc .linkbtn{font-size:12px}.close{color:var(--ink);text-decoration:none}.classpage{max-width:760px}.classpage>*{margin:0}.tt-wrap{overflow-x:auto}.login{min-height:100vh;padding:24px max(16px,env(safe-area-inset-left,0px));place-items:center;display:grid}.login-card{background:var(--surface);border:1px solid var(--rule);border-radius:14px;gap:14px;width:min(420px,100%);padding:24px;display:grid}.login-card p{margin:0}.login-card input{padding:10px 12px;font-size:18px}.login-card input#login-code{letter-spacing:.3em;font-family:var(--mono)}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--rule)}@media (width<=640px){.cyc{text-align:left}.brand h1{font-size:26px}}html,body{overscroll-behavior-x:none;max-width:100%;overflow-x:hidden}.wrap{width:100%;max-width:1280px}.wrap>*,.bar>*,.stack>*,.eng>*,.section>*,.today>*{min-width:0}.bar{flex-wrap:wrap}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.bsel{max-width:100%}.bsel select{min-width:0;max-width:100%}.cyc{overflow-wrap:anywhere;min-width:0}.chips{max-width:100%}.sess,.tcard,.bcard,.flag,.logrow,.review,.manual,.bform,.stat{overflow-wrap:anywhere;min-width:0}.classpage{width:100%;max-width:760px}.items td{overflow-wrap:anywhere}@media (width<=640px){input,select,textarea{font-size:16px}.bar{gap:8px}.bsel{width:100%}.bsel select{flex:1}.tabs a{padding:6px 12px}.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.thr,.tcards,.bgrid{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
