:root{--bg:#0d1116;--panel:#151b22;--panel2:#1b232c;--line:#27313c;--text:#f6f7f8;--muted:#97a4b2;--accent:#9ee66f;--accent2:#6fd6a1;--danger:#ff6b6b;--ready:#66d28e;--recover:#ff6262;--shadow:0 18px 50px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -10%,#1d2a21 0,transparent 32%),var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.hidden{display:none!important}.muted{color:var(--muted)}.micro{font-size:.82rem}.small-text{font-size:.88rem}.eyebrow{font-size:.73rem;letter-spacing:.16em;font-weight:800;color:var(--accent);margin-bottom:.45rem}.card{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:7vw;max-width:1180px;margin:auto;padding:6vw}.brand-panel h1{font-size:clamp(2.7rem,6vw,5.7rem);line-height:.95;max-width:700px;letter-spacing:-.055em;margin:.8rem 0 1.2rem}.brand-panel>.muted{max-width:570px;font-size:1.05rem;line-height:1.7}.brand-mark{width:62px;height:62px;border-radius:18px;background:var(--accent);color:#0e1510;display:grid;place-items:center;font-weight:950;font-size:1.8rem;transform:rotate(-7deg);box-shadow:0 18px 45px rgba(158,230,111,.18)}.brand-mark.small{width:36px;height:36px;border-radius:11px;font-size:1rem}.feature-pills{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.8rem}.feature-pills span{border:1px solid var(--line);background:#11171d;border-radius:999px;padding:.55rem .8rem;color:#cbd3db;font-size:.85rem}.auth-card{background:rgba(21,27,34,.86);border:1px solid var(--line);border-radius:24px;padding:1.25rem;box-shadow:var(--shadow);backdrop-filter:blur(16px)}.auth-toggle{display:grid;grid-template-columns:1fr 1fr;background:#0d1218;border-radius:13px;padding:4px;margin-bottom:1.3rem}.auth-toggle button{border:0;background:transparent;color:var(--muted);padding:.75rem;border-radius:10px}.auth-toggle button.active{background:var(--panel2);color:var(--text)}label{display:grid;gap:.5rem;font-size:.9rem;color:#cbd3db;margin:1rem 0}input,select{width:100%;background:#0e141a;color:var(--text);border:1px solid #2b3642;border-radius:12px;padding:.82rem .9rem;outline:none}input:focus,select:focus{border-color:#668d58;box-shadow:0 0 0 3px rgba(158,230,111,.08)}button.primary{border:0;background:var(--accent);color:#101510;font-weight:800;border-radius:12px;padding:.8rem 1rem}button.primary:hover{filter:brightness(1.05)}button.wide{width:100%;margin-top:.6rem}.ghost{border:1px solid var(--line);background:transparent;color:#dce2e8;border-radius:10px;padding:.65rem .8rem}.ghost:hover{background:#202833}.danger{border:0;background:#4c2025;color:#ffb2b2;border-radius:10px;padding:.68rem .9rem;font-weight:700}.toast{position:fixed;z-index:50;right:20px;top:20px;max-width:360px;background:#1e2730;border:1px solid #33404d;padding:.85rem 1rem;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{border-color:#6b3232;color:#ffc7c7}
.app{min-height:100vh}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,22px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(13,17,22,.84);backdrop-filter:blur(16px);z-index:20}.brand-row,.top-actions{display:flex;align-items:center;gap:.8rem}.tabs{position:fixed;left:0;top:70px;bottom:0;width:190px;border-right:1px solid var(--line);padding:1.2rem .75rem;background:#0f141a;display:flex;flex-direction:column;gap:.35rem}.tab{display:flex;align-items:center;gap:.75rem;border:0;background:transparent;color:var(--muted);padding:.82rem .9rem;border-radius:11px;text-align:left}.tab.active{background:#1b2525;color:var(--text)}.tab.active span{color:var(--accent)}.content{margin-left:190px;padding:clamp(1.5rem,4vw,3.4rem);max-width:1500px}.tab-panel{display:none}.tab-panel.active{display:block}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.page-head h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;margin-bottom:.55rem}.page-head .muted{max-width:680px}.settings-strip{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;margin-bottom:1.25rem}.settings-strip p{margin:.2rem 0 0}.settings-strip select{width:220px}.layout-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:1.3rem}.stack{display:grid;gap:.85rem}.routine-card{padding:1rem 1.05rem}.routine-card-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.routine-name{display:flex;align-items:center;gap:.6rem;min-width:0}.routine-name h3{margin:0}.routine-actions{display:flex;gap:.45rem}.exercise-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border-top:1px solid var(--line);padding:.75rem 0}.exercise-row:first-child{margin-top:.75rem}.chips{display:flex;gap:.35rem;flex-wrap:wrap}.chip{font-size:.72rem;padding:.28rem .48rem;background:#222c36;color:#b9c5cf;border-radius:999px}.empty{border:1px dashed #34404c;border-radius:14px;padding:1.2rem;color:var(--muted);text-align:center}.exercise-library{padding:1rem;align-self:start;position:sticky;top:90px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.section-head h3{margin:.2rem 0}.search{margin:.8rem 0 .35rem}.exercise-bank{max-height:600px;overflow:auto;padding-right:.2rem}.bank-item{width:100%;text-align:left;border:0;border-top:1px solid var(--line);padding:.72rem .2rem;background:transparent;color:var(--text)}.bank-item:hover{color:var(--accent)}.routine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.launch-card{padding:1.2rem;display:grid;gap:1rem}.launch-card h3{margin:0}.launch-card .primary{justify-self:start}.workout-hero{padding:1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.workout-hero h2{margin:0}.workout-clock{display:flex;align-items:center;gap:.8rem}.workout-clock span{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:850}.rest-timer{background:linear-gradient(100deg,#24351f,#1d2920);border:1px solid #3c5733;border-radius:16px;padding:.9rem 1.1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.rest-timer p{margin:0;color:#bacab4;font-size:.8rem}.rest-timer strong{font-size:1.75rem;font-variant-numeric:tabular-nums}.ghost.light{border-color:#50644a}.active-exercise{padding:1rem}.active-exercise h3{margin-bottom:.35rem}.set-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;align-items:end;margin-top:.9rem}.set-form label{margin:0}.set-list{margin-top:.75rem;display:grid;gap:.4rem}.set-pill{display:flex;justify-content:space-between;background:#10161c;border-radius:10px;padding:.55rem .7rem;font-size:.85rem}.body-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:1.2rem}.body-card{padding:1rem;display:grid;place-items:center}.body-svg{width:min(100%,330px);max-height:650px}.skin{fill:#29333d;stroke:#364450;stroke-width:2}.muscle{fill:var(--ready);opacity:.82;stroke:#0f1712;stroke-width:1.5;transition:.25s}.muscle.recovering{fill:var(--recover)}.body-legend{display:flex;gap:1rem;color:var(--muted);font-size:.85rem}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.35rem}.dot.ready{background:var(--ready)}.dot.recovering{background:var(--recover)}.muscle-card{padding:1rem;display:flex;align-items:center;justify-content:space-between}.muscle-card strong{display:block}.status-badge{font-size:.78rem;padding:.35rem .55rem;border-radius:999px}.status-badge.ready{background:#173526;color:#8ae7ad}.status-badge.recovering{background:#3c1f24;color:#ff9f9f}.info-note{margin-top:1rem}.calendar{padding:1rem}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head h3{margin:0}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem}.weekday-row{color:var(--muted);font-size:.78rem;text-align:center;margin:1rem 0 .45rem}.calendar-day{min-height:95px;border:1px solid var(--line);background:#10161c;color:var(--text);border-radius:12px;padding:.55rem;text-align:left;display:flex;flex-direction:column;gap:.35rem}.calendar-day.other{opacity:.35}.calendar-day:hover{border-color:#475566}.calendar-day.has-workout{background:linear-gradient(145deg,#122018,#11171c)}.day-num{font-size:.82rem;color:#aab6c1}.workout-dot{display:block;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#213026;color:#baf09a;border-radius:7px;padding:.25rem .35rem}.day-details{margin-top:1rem}.history-card{padding:1rem}.history-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.history-table{margin-top:.75rem;display:grid;gap:.35rem}.history-set{display:grid;grid-template-columns:1.4fr .6fr .6fr .8fr;gap:.5rem;background:#10161c;padding:.55rem .65rem;border-radius:8px;font-size:.82rem}.modal{width:min(520px,calc(100% - 30px));border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:0;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(0,0,0,.67);backdrop-filter:blur(4px)}.modal form{padding:1.1rem}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:1.5rem}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}fieldset{border:1px solid var(--line);border-radius:12px;padding:.75rem}legend{color:var(--muted);font-size:.82rem}.check-item{display:flex;align-items:center;gap:.45rem;background:#10161c;border-radius:8px;padding:.45rem}.check-item input{width:auto;margin:0}.choose-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:#10161c;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:.75rem}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;gap:2rem;padding:7vw}.brand-panel h1{font-size:3.6rem}.tabs{top:auto;bottom:0;width:100%;height:70px;border-right:0;border-top:1px solid var(--line);flex-direction:row;z-index:25;padding:.5rem;justify-content:space-around}.tab{flex:1;justify-content:center;flex-direction:column;gap:.15rem;font-size:.72rem;padding:.35rem}.content{margin-left:0;padding:1.3rem 1rem 90px}.layout-two,.body-layout{grid-template-columns:1fr}.exercise-library{position:static}.topbar{padding:0 1rem}.top-actions .small-text{display:none}.calendar-day{min-height:70px}.workout-dot{display:none}}
@media(max-width:560px){.brand-panel{display:none}.auth-shell{padding:1rem}.page-head{align-items:stretch;flex-direction:column}.settings-strip,.workout-hero{align-items:stretch;flex-direction:column}.settings-strip select{width:100%}.set-form{grid-template-columns:1fr 1fr}.set-form button{grid-column:1/-1}.history-set{grid-template-columns:1.2fr .5fr .5fr}.history-set span:last-child{display:none}.calendar-day{min-height:52px;padding:.38rem}.weekday-row,.calendar-grid{gap:.25rem}.routine-card-head{align-items:flex-start}.routine-actions{flex-direction:column}}
