:root{color-scheme:dark;--bg:#11100e;--surface:#1b1815;--surface2:#25211d;--line:#3a342b;--text:#f4f0e8;--muted:#b8afa1;--gold:#d5a84f;--gold2:#f1d58d;--green:#70c995;--yellow:#e4c15b;--red:#e66d62;--radius:8px}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,rgba(213,168,79,.08),transparent 280px),var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{width:min(1180px,calc(100% - 28px));margin:auto;padding:28px 0 48px}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}.hero-main,.poster-card,.panel,.coach-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015))}.hero-main{min-height:330px;padding:clamp(24px,5vw,54px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 10px;color:var(--gold2);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}h1{font-size:clamp(2.8rem,8vw,6.5rem);line-height:.9;margin:0 0 18px}h2{font-size:clamp(1.8rem,4vw,3rem);margin:0}h3{margin:0 0 14px}p{color:var(--muted)}.actions,.tabs{display:flex;gap:10px;flex-wrap:wrap}.primary,button,.button-label{border:1px solid var(--line);border-radius:var(--radius);min-height:42px;padding:0 14px;color:var(--text);background:var(--surface2)}.primary{border-color:rgba(213,168,79,.7);background:linear-gradient(180deg,var(--gold2),var(--gold));color:#21180a;font-weight:800}.button-label{display:inline-grid;place-items:center}.button-label input{display:none}.poster-card{padding:18px;display:grid;gap:14px}.poster-card figure{margin:0;border:1px solid rgba(213,168,79,.35);border-radius:var(--radius);overflow:hidden;max-height:410px;background:#0e0d0b}.poster-card img{width:100%;height:100%;min-height:220px;max-height:410px;object-fit:cover;object-position:center 32%;display:block}.goal-stats,.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.goal-stats div,.metric{padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);background:rgba(255,255,255,.035)}.goal-stats span,.metric span{display:block;color:var(--muted);font-size:.75rem}.tabs{position:sticky;top:0;z-index:10;padding:12px 0;background:rgba(17,16,14,.92);backdrop-filter:blur(14px)}.tabs button.active{border-color:var(--gold);color:var(--gold2)}.tab-panel{display:none;padding-top:14px}.tab-panel.active{display:block}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:18px 0}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}.panel,.coach-card{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:grid;gap:7px;color:var(--muted);font-size:.92rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);background:rgba(0,0,0,.22);padding:11px 12px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(213,168,79,.16)}input[type=range]{padding:0;accent-color:var(--gold)}.full{grid-column:1/-1}.checks{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.checks label,.week-check{border:1px solid var(--line);border-radius:var(--radius);padding:11px;display:flex;gap:8px;align-items:center}.checks input,.week-check input{width:auto;accent-color:var(--gold)}.save-hint,.mini-score,.exercise-meta{color:var(--muted);font-size:.9rem}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px}.day-card{min-height:230px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.day-card.today{border-color:var(--gold)}.pill{display:inline-block;margin:0 5px 7px 0;padding:5px 8px;border:1px solid rgba(213,168,79,.35);border-radius:999px;color:var(--gold2);font-size:.78rem}.week-check{margin-top:10px}.training-list{display:grid;gap:12px}.exercise{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.sets{display:grid;gap:8px;margin-top:12px}.set-row{display:grid;grid-template-columns:44px 1fr 1fr;gap:8px;align-items:center}.progression{margin-top:10px;color:var(--green);font-weight:800}.mobility-list{display:grid;gap:8px;padding:0;list-style:none}.mobility-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.mobility-list span{color:var(--muted);text-align:right}canvas{width:100%;height:auto;display:block}.list-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:900}.dot{width:18px;height:18px;border-radius:50%;background:currentColor}.green{color:var(--green)}.yellow{color:var(--yellow)}.red{color:var(--red)}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(120%);background:var(--gold);color:#21180a;font-weight:800;padding:12px 16px;border-radius:var(--radius);transition:.2s;z-index:30}.toast.show{transform:translateX(-50%) translateY(0)}.login-page{min-height:100dvh;display:grid;place-items:center}.login-shell{width:min(460px,calc(100% - 28px))}.login-card h1{font-size:3.4rem}.login-error{padding:10px;border:1px solid var(--red);color:var(--red);border-radius:var(--radius);margin-bottom:12px}
@media(max-width:900px){.hero,.grid.two,.metric-row{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.app{width:calc(100% - 20px);padding-top:10px}.hero-main{min-height:0;padding:24px}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs button{flex:0 0 auto}.form-grid,.checks,.goal-stats,.week-grid,.set-row{grid-template-columns:1fr}.set-row span{display:none}}
.nutrition-plan ul{margin:0 0 12px;padding-left:18px;color:var(--muted)}
.nutrition-plan li{margin:0 0 8px}
.nutrition-plan strong{color:var(--gold2)}
.nutrition-plan.accent{border-color:rgba(213,168,79,.45);background:linear-gradient(145deg,rgba(213,168,79,.12),rgba(255,255,255,.02))}
.mini-score h4{margin:0 0 10px;color:var(--text)}
.status-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.status-list li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:rgba(255,255,255,.025)}
.status-list li.done{border-color:rgba(112,201,149,.35)}
.status-list li.open{border-color:rgba(230,109,98,.4)}
.status-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900}
.done .status-icon{background:rgba(112,201,149,.18);color:var(--green)}
.open .status-icon{background:rgba(230,109,98,.16);color:var(--red)}
.status-list strong{display:block;color:var(--text);font-size:.94rem}
.status-list small{display:block;color:var(--muted);margin-top:2px}
