:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202820;background:#f5f4ef;--bg:#f5f4ef;--card:#fff;--text:#202820;--muted:#646e67;--line:#dedfd6;--soft:#f1f2ec;--accent:#b84a12;--orange:#f4803f;--tint:#fff0e4;--green:#26663b;--greenbg:#e8f5e9;--yellow:#805312;--yellowbg:#fff3ce;--red:#a32f2b;--redbg:#ffeceb;--shadow:0 12px 45px #1b24131c;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html[data-theme=dark]{color-scheme:dark;--bg:#141b18;--card:#1f2923;--text:#f0f1e9;--muted:#adb9ad;--line:#3c483e;--soft:#29352c;--accent:#ff9d67;--tint:#3e2c20;--green:#a3e3b0;--greenbg:#1c3a27;--yellow:#f7d77c;--yellowbg:#41381b;--red:#ffb1aa;--redbg:#4a2422;background:var(--bg);color:var(--text)}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--text);background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:11px 15px;min-height:44px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){border-color:var(--accent)}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}input,select,textarea{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;min-height:44px;max-width:100%}input[type=checkbox]{min-height:24px;width:24px;height:24px;accent-color:#d75a20}input[type=number]{min-width:0}textarea{resize:vertical;min-height:76px}label.field{display:grid;gap:7px;color:var(--muted);font-size:12px;margin:12px 0}label.field input,label.field select,label.field textarea{font-size:15px;width:100%}.rail{width:230px;position:fixed;inset:0 auto 0 0;padding:22px;background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}.logo{width:136px;height:136px;object-fit:contain;align-self:center}html[data-theme=dark] .logo{filter:url(#logo-dark)}.athlete-label{font-size:10px;letter-spacing:1.8px;margin:18px 8px 24px;color:var(--muted)}.athlete-label strong{display:block;font-size:25px;letter-spacing:-.6px;margin:9px 0;color:var(--text)}.athlete-label span{letter-spacing:0;font-size:12px}.rail nav{display:grid;gap:5px}.rail nav button{background:transparent;border:1px solid transparent;text-align:left;font-size:14px}.rail nav button.active{color:var(--accent);background:var(--tint)}.rail nav button span{margin-left:9px}.motto{margin-top:auto;padding-top:35px;font-size:12px;line-height:1.7;color:var(--muted)}main{margin-left:230px;padding:28px 38px;max-width:1600px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.back{background:var(--orange);color:#24180e;text-decoration:none;font-size:11px;font-weight:750;padding:13px 16px;border-radius:8px;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:16px}#save-state{font-size:11px;color:var(--muted);max-width:210px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:750;color:var(--accent)}h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1.7px;font-weight:650;line-height:1.05;margin:13px 0 17px}h2{font-size:23px;letter-spacing:-.7px;margin:0 0 12px}h3{font-size:17px;margin:0 0 8px}p{line-height:1.6}p.muted,.muted{color:var(--muted)}.micro{font-size:11px;line-height:1.6;color:var(--muted)}.hero{background:#233229;color:#f6f5eb;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:16px;padding:30px 32px;margin:0 0 20px}.hero .eyebrow{color:#ffa76e}.hero p{color:#c4cfc1;margin:0;max-width:570px;font-size:14px}.hero-number{font-size:62px;letter-spacing:-4px;font-weight:650;text-align:right;line-height:1}.hero-number small{display:block;font-size:10px;letter-spacing:1px;margin-top:12px;color:#b5c5b5}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat,.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:21px}.stat span{font-size:11px;color:var(--muted)}.stat strong{display:block;font-size:28px;font-weight:650;letter-spacing:-1px;margin-top:8px}.stat small{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}.panel{margin-bottom:15px}.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:14px 0 0}.primary{background:var(--accent);color:var(--card);border-color:var(--accent)}html[data-theme=dark] .primary{color:#201810}.danger{color:var(--red)}.week-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:18px 0}.week-btn{text-align:left;background:var(--card);font-size:11px;padding:12px}.week-btn b{font-size:22px;display:block;margin:3px 0}.week-btn small{display:block;color:var(--muted);font-size:10px;font-weight:400}.week-btn.active{border-color:var(--accent);background:var(--tint);color:var(--accent)}.day-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.day-tabs button{text-align:left;background:var(--card);padding:16px}.day-tabs button.active{border-color:var(--accent);background:var(--tint)}.day-tabs b{font-size:24px;margin-right:10px}.day-tabs span{font-size:12px}.callout{border-left:3px solid var(--orange);padding:14px 18px;background:var(--tint);border-radius:8px;margin:16px 0;font-size:13px;line-height:1.65}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.exercise{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:13px;overflow:hidden}.exercise>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:20px;cursor:pointer}.exercise>summary::-webkit-details-marker{display:none}.exercise>summary:after{content:'+';margin-left:auto;color:var(--muted);font-size:23px}.exercise[open]>summary:after{content:'−'}.exercise summary .ex-id{font-size:11px;border:1px solid var(--line);border-radius:8px;padding:9px 6px;color:var(--muted)}.exercise summary h3{margin-bottom:5px}.exercise summary small{font-size:11px;color:var(--muted)}.exercise .inner{padding:0 21px 21px}.equipment{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:13px;margin:12px 0}.equipment label{margin-top:0}.equipment details summary{cursor:pointer;font-size:12px;color:var(--accent);padding:7px 0}.equipment .actions button{font-size:12px}.chip{font-size:10px;display:inline-block;background:var(--soft);border-radius:5px;padding:5px 8px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{font-size:10px;text-align:left;font-weight:650;color:var(--muted);padding:11px 7px;border-bottom:1px solid var(--line)}td{padding:11px 7px;border-bottom:1px solid var(--line);vertical-align:middle}caption{text-align:left;color:var(--muted);font-size:11px;padding:10px 0}.sets{table-layout:fixed}.sets th{text-align:center;font-size:9px;letter-spacing:.3px;padding:10px 3px}.sets td{text-align:center;padding:5px 3px}.sets th:first-child{width:32px}.sets th:last-child{width:40px}.sets input{width:100%;text-align:center;padding:9px 3px;font-size:16px}.sets input[type=checkbox]{width:23px}.sets .done{background:var(--greenbg)}.signal{padding:13px 15px;border-radius:8px;background:var(--soft);font-size:12px;border-left:3px solid var(--muted);line-height:1.6;margin:15px 0}.signal strong{display:block;font-size:12px;margin-bottom:3px}.signal.green{color:var(--green);background:var(--greenbg);border-color:var(--green)}.signal.yellow{color:var(--yellow);background:var(--yellowbg);border-color:var(--yellow)}.signal.red{color:var(--red);background:var(--redbg);border-color:var(--red)}.checkline{display:flex;gap:10px;align-items:center;font-size:12px;margin:15px 0}.empty{padding:34px 22px;text-align:center;border:1px dashed var(--line);border-radius:12px;margin:20px 0;background:var(--card)}.empty p{color:var(--muted);font-size:13px}.progress-card{margin-top:18px}.progress-card svg{display:block;width:100%;height:auto;max-height:230px}.session{margin-bottom:12px}.session>summary{cursor:pointer;list-style:none}.history-ex{padding-top:15px;border-top:1px solid var(--line);margin-top:15px}.history-ex p{font-size:12px}.history-ex .sets-text{font-variant-numeric:tabular-nums;line-height:1.8;white-space:pre-wrap}.note{white-space:pre-wrap;overflow-wrap:anywhere}.timer{position:fixed;bottom:20px;right:25px;width:460px;max-width:calc(100vw - 24px);z-index:25;color:#f7f7ed;background:#1a2920;padding:16px 18px;border-radius:14px;box-shadow:0 8px 45px #0006;border:1px solid #50614e}.timer-top{display:flex;gap:15px;align-items:center;justify-content:space-between}.timer-top>div{min-width:0}.timer-top span{display:block;font-size:9px;color:#ffa76e;text-transform:uppercase;letter-spacing:1px}.timer-top strong{display:block;font-size:13px;margin-top:6px}.timer-top small{display:block;font-size:10px;color:#bbcab8;margin-top:4px}.timer output{font-size:39px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.timer progress{width:100%;height:5px;accent-color:#ff985b;margin:12px 0 8px}.timer-controls{display:flex;gap:5px;flex-wrap:wrap}.timer button{background:#324638;color:#f7f7ed;border-color:#566956;font-size:10px;padding:8px;flex:1;min-height:40px}.timer .micro{color:#c0cabb;font-size:10px;margin:9px 0 0}.timer.finished{border:2px solid #ffa76e}#toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);background:#25352a;color:#fff;padding:14px 20px;max-width:min(90vw,620px);border:1px solid #96a28e;border-radius:10px;z-index:100;font-size:13px;box-shadow:var(--shadow)}footer{font-size:11px;color:var(--muted);line-height:1.7;margin:30px 0;padding-bottom:240px;max-width:800px}.calendar-card.current{border-color:var(--accent)}.calendar-days{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.calendar-days button{font-size:11px;padding:8px}.calendar-days .complete{background:var(--greenbg);color:var(--green)}.hint{font-size:12px;color:var(--muted);line-height:1.7}.setup{max-width:660px;margin:35px auto}.setup .field{margin-top:22px}.settings-logo{width:100px}.metric-title{font-size:12px;color:var(--muted)}.nowrap{white-space:nowrap}@media(min-width:1550px){main{margin-right:auto;margin-left:calc(230px + (100vw - 1550px)/2)}}@media(max-width:1050px){main{padding:24px}.rail{width:200px}main{margin-left:200px}.grid3{grid-template-columns:1fr 1fr}.stats{gap:8px}.stat{padding:15px}}@media(max-width:700px){.rail{position:static;width:100%;padding:12px 14px 0;display:grid;grid-template-columns:65px 1fr;gap:0 12px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.logo{width:65px;height:65px}.athlete-label{margin:9px 0;font-size:8px}.athlete-label strong{font-size:20px;margin:3px 0}.athlete-label span{font-size:10px}.rail nav{grid-column:1/3;display:flex;overflow-x:auto;margin-top:12px;gap:4px;padding-bottom:9px}.rail nav button{flex-shrink:0;font-size:12px;padding:9px;min-height:42px}.rail nav button span{margin-left:3px}.motto{display:none}main{margin:0;padding:18px 14px}.top{margin-bottom:18px;gap:8px;align-items:flex-start}.top-actions{gap:8px;align-items:flex-end;flex-direction:column-reverse}#save-state{font-size:9px;max-width:150px;text-align:right}.top-actions button{padding:7px 12px;min-height:38px;font-size:12px}.back{font-size:10px;padding:13px 12px}.hero{padding:24px 20px;gap:12px}.hero p{font-size:12px}.hero-number{font-size:46px}.hero-number small{font-size:8px}.hero h1{font-size:32px}.stats{grid-template-columns:repeat(2,1fr)}.stat strong{font-size:25px}.week-strip{gap:5px}.week-btn{padding:10px 6px;font-size:9px}.week-btn b{font-size:20px}.week-btn small{font-size:8px}.day-tabs{gap:6px}.day-tabs button{padding:12px 9px}.day-tabs b{display:block;margin-bottom:5px}.day-tabs span{font-size:10px}.panel{padding:17px}.grid2,.grid3{grid-template-columns:1fr}.exercise>summary{padding:17px 13px;gap:10px}.exercise summary h3{font-size:15px}.exercise .inner{padding:0 12px 16px}.exercise summary small{font-size:10px}.exercise summary .ex-id{font-size:9px;padding:8px 5px}.row{flex-wrap:wrap;gap:8px}.sets th{font-size:8px}.sets th:first-child{width:25px}.sets th:last-child{width:30px}.sets td{padding:5px 2px}.sets input{font-size:16px}.timer{bottom:9px;right:12px;padding:12px;width:calc(100vw - 24px)}.timer output{font-size:33px}.timer button{padding:7px 4px;font-size:9px}.timer-top strong{font-size:12px}.timer .micro{font-size:9px}.calendar-days button{font-size:10px}.actions button{font-size:12px}.stats .stat{padding:14px}th,td{padding:10px 6px}h1{font-size:33px}.settings-logo{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
