:root{--bg: #111216;--bg-raised: #15171b;--bg-card: #1a1c20;--border: #2e3036;--border-soft: #26282d;--text: #eae6de;--text-dim: #989ea8;--text-faint: #6b7178;--accent: #c69f6e;--accent-soft: rgba(198, 159, 110, .15);--accent-2: #d7b98c;--good: #8fae8b;--radius: 14px;--title-font: "Bebas Neue", "Impact", "Oswald", "Anton", "Arial Narrow", sans-serif;--body-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--body-font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app{max-width:760px;margin:0 auto;padding:0 18px 80px}.topbar{display:flex;align-items:baseline;gap:12px;padding:22px 4px 18px;position:sticky;top:0;background:linear-gradient(180deg,var(--bg) 70%,transparent);z-index:10}.brand{font-family:var(--title-font);font-size:40px;letter-spacing:1.5px;margin:0;line-height:1;background:linear-gradient(95deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{font-size:12px;text-transform:uppercase;letter-spacing:3px;color:var(--text-faint)}.topbar-reset{margin-left:auto}.topbar-actions{margin-left:auto;display:flex;gap:8px}.boot{display:flex;justify-content:center;align-items:center;min-height:70vh;color:var(--text-faint);font-size:15px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:18px;padding:32px 26px}.login-brand{font-size:34px;text-align:center;margin-bottom:4px}.login-tag{text-align:center;color:var(--text-dim);margin:0 0 26px;font-size:14px}.login-form{display:flex;flex-direction:column;gap:16px}.login-label{display:flex;flex-direction:column;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint)}.login-input{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);padding:13px 14px;border-radius:10px;font-size:16px;font-family:var(--body-font)}.login-input:focus{outline:none;border-color:var(--accent)}.login-submit{width:100%;margin-top:4px;text-align:center}.login-error{background:#cf8a761f;border:1px solid rgba(207,138,118,.4);color:#cf8a76;padding:10px 12px;border-radius:9px;font-size:13px}.login-notice{background:var(--accent-soft);border:1px solid var(--border);color:var(--accent-2);padding:10px 12px;border-radius:9px;font-size:13px}.login-switch{text-align:center;color:var(--text-dim);font-size:14px;margin:22px 0 0}.login-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;padding:0;text-decoration:underline;text-underline-offset:3px}.onboarding{padding-top:10px}.progress{display:flex;gap:8px;margin-bottom:28px}.progress-dot{height:4px;flex:1;border-radius:4px;background:var(--border);transition:background .25s}.progress-dot.on{background:linear-gradient(90deg,var(--accent),var(--accent-2))}.step{min-height:320px}.step-title{font-family:var(--title-font);font-size:34px;letter-spacing:1px;margin:0 0 6px;text-transform:uppercase}.step-sub{color:var(--text-dim);margin:0 0 26px;font-size:15px}.choice-row{display:flex;gap:14px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice{background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:18px;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;transition:all .15s}.choice.big{flex:1;padding:30px;font-size:18px}.choice:hover{border-color:var(--text-faint)}.choice.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.goal-row{flex-direction:column;gap:14px}.goal-card{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;cursor:pointer;transition:all .15s}.goal-card:hover{border-color:var(--text-faint)}.goal-card.selected{border-color:var(--accent);background:var(--accent-soft)}.goal-name{font-family:var(--title-font);font-size:24px;letter-spacing:1px;text-transform:uppercase;color:var(--text)}.goal-card.selected .goal-name{color:var(--accent)}.goal-name{display:flex;align-items:center;gap:10px}.goal-badge{font-family:var(--body-font);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--accent-2);border:1px solid rgba(198,159,110,.28);background:#c69f6e14;padding:3px 8px;border-radius:6px}.goal-desc{font-size:14px;color:var(--text-dim);line-height:1.5}.slider-block{margin-top:30px}.slider-value{font-family:var(--title-font);font-size:56px;text-align:center;color:var(--accent);letter-spacing:1px}input[type=range]{width:100%;margin:24px 0 10px;accent-color:var(--accent);height:6px}.slider-scale{display:flex;justify-content:space-between;color:var(--text-faint);font-size:13px}.slider-scale .suggested{color:var(--accent-2)}.fullgym-btn{width:100%;padding:16px;margin-bottom:16px;border-radius:var(--radius);border:1px dashed var(--border);background:var(--bg-raised);color:var(--text);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s}.fullgym-btn.selected{border:1px solid var(--good);color:var(--good);background:#8fae8b24}.equip-grid{display:flex;flex-wrap:wrap;gap:10px}.chip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);padding:11px 15px;border-radius:999px;font-size:14px;cursor:pointer;transition:all .15s}.chip:hover:not(:disabled){border-color:var(--text-faint);color:var(--text)}.chip.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.chip.selected.accent{border-color:var(--accent-2);background:#c69f6e24;color:var(--accent-2)}.chip.selected.mute{border-color:var(--text-faint);background:#ffffff10;color:var(--text-dim);text-decoration:line-through}.chip:disabled{opacity:.3;cursor:not-allowed}.hint{color:var(--text-faint);font-size:13px;margin-top:16px}.nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:34px}.primary-btn{background:linear-gradient(95deg,var(--accent),var(--accent-2));border:none;color:var(--bg);font-weight:800;font-size:15px;padding:14px 28px;border-radius:999px;cursor:pointer;letter-spacing:.3px;transition:transform .1s,opacity .15s}.primary-btn:hover{transform:translateY(-1px)}.primary-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.ghost-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:12px 20px;border-radius:999px;cursor:pointer;font-size:14px;transition:all .15s}.ghost-btn:hover{border-color:var(--text-faint);color:var(--text)}.adapt-bar{margin-bottom:16px}.adapt-btn{width:100%;padding:14px;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font-size:15px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:all .15s}.adapt-btn:hover{background:#c69f6e38}.adapt-active{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--accent-2);background:#c69f6e1a}.adapt-active-label{font-size:14px;color:var(--text)}.adapt-active-label strong{color:var(--accent-2)}.adapt-active-actions{display:flex;gap:14px}.adapt-link{background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.adapt-link:hover{color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:flex-start;justify-content:center;padding:40px 18px;overflow-y:auto;z-index:50}.modal{width:100%;max-width:560px;background:var(--bg-raised);border:1px solid var(--border);border-radius:18px;padding:26px;margin-top:4vh}.modal .step-title{font-size:26px}.tag-adapted{color:var(--accent-2);border-color:#c69f6e57;background:#c69f6e12}.tag-warn{color:#cf8a76;border-color:#c69f6e57}.adapted-note{margin-top:8px;font-size:12px;color:var(--text-faint)}.exercise-card.is-unavailable{opacity:.6}.week-tabs{display:flex;gap:8px;margin-bottom:14px}.week-tab{flex:1;background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);padding:12px 6px;border-radius:10px;cursor:pointer;font-weight:700;font-size:13px;transition:all .15s}.week-tab.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.day-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.day-tab{background:transparent;border:1px solid var(--border-soft);color:var(--text-dim);padding:9px 16px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.day-tab.active{background:var(--text);color:var(--bg);border-color:var(--text)}.day-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.day-title{font-family:var(--title-font);font-size:30px;letter-spacing:1px;text-transform:uppercase;margin:0}.day-meta{color:var(--text-faint);font-size:13px}.exercise-list{display:flex;flex-direction:column;gap:14px}.exercise-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:18px}.exercise-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:10px}.exercise-head-left{display:flex;align-items:flex-start;gap:10px;min-width:0}.exercise-head-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.edit-hint{color:var(--text-faint);font-size:12px;margin:-8px 0 14px}.drag-handle{background:none;border:none;color:var(--text-faint);font-size:20px;line-height:1;cursor:grab;padding:2px 4px;margin-top:1px;touch-action:none}.drag-handle:active{cursor:grabbing;color:var(--text)}.swap-btn{background:var(--bg-raised);border:1px solid var(--border-soft);color:var(--accent);font-size:15px;width:32px;height:32px;border-radius:8px;cursor:pointer;transition:all .15s}.swap-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.swap-list{display:flex;flex-direction:column;gap:8px;margin:18px 0 8px;max-height:52vh;overflow-y:auto}.swap-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .15s}.swap-option:hover{border-color:var(--accent);background:var(--accent-soft)}.swap-option-name{font-size:15px;font-weight:600;color:var(--text)}.swap-option-meta{font-size:12px;color:var(--text-faint);text-transform:capitalize}.exercise-name{margin:0 0 8px;font-size:18px;font-weight:700}.exercise-tags{display:flex;gap:8px}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);background:var(--bg-raised);border:1px solid var(--border-soft);padding:3px 9px;border-radius:6px}.tag-compound{color:var(--accent-2);border-color:#c69f6e47}.tag-rest{color:var(--text-dim)}.video-link{font-size:13px;color:var(--accent);text-decoration:none;white-space:nowrap;padding:6px 10px;border:1px solid var(--border-soft);border-radius:8px}.video-link.disabled{color:var(--text-faint);cursor:default}.sets{border-top:1px solid var(--border-soft);padding-top:6px}.sets-header,.set-row{display:grid;grid-template-columns:44px 1fr 1fr 96px;align-items:center;gap:8px}.sets-header{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);padding:8px 0}.set-row{padding:7px 0;border-top:1px solid #ffffff08}.col-set{font-weight:700;color:var(--text-dim)}.col-reps{color:var(--text);font-variant-numeric:tabular-nums}.col-prev{color:var(--text-faint);font-variant-numeric:tabular-nums}.weight-input{width:100%;background:var(--bg-raised);border:1px solid var(--border);color:var(--text);padding:9px 10px;border-radius:8px;font-size:15px;text-align:center;font-variant-numeric:tabular-nums}.weight-input:focus{outline:none;border-color:var(--accent)}.weight-input::placeholder{color:var(--text-faint)}
