:root{--bg:#0d0e10;--panel:#16181c;--panel2:#1d2025;--line:#2a2e35;--text:#f5f7f8;--muted:#969da8;--accent:#d7ff63;--accent2:#b6dc43;--danger:#ff8a8a;--radius:22px;--shadow:0 18px 48px rgba(0,0,0,.28)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0}.app-body{min-height:100dvh;background:radial-gradient(circle at 80% -10%,rgba(215,255,99,.12),transparent 30%),var(--bg);padding-bottom:92px}.topbar{position:sticky;top:0;z-index:20;padding:calc(18px + env(safe-area-inset-top)) 20px 14px;background:linear-gradient(var(--bg) 76%,transparent);display:flex;justify-content:space-between;align-items:end}.topbar h1{font-size:29px;margin:2px 0 0;letter-spacing:-.04em}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--accent);font-weight:800}.sync-badge{font-size:11px;color:var(--muted);padding:7px 9px;border:1px solid var(--line);border-radius:99px}.view{max-width:560px;margin:auto;padding:10px 18px 30px}.hero-card,.card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:24px;margin-bottom:14px}.hero-card h2{font-size:34px;line-height:1;margin:8px 0 12px;letter-spacing:-.05em}.muted{color:var(--muted);line-height:1.5}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick{padding:18px;min-height:134px;display:flex;flex-direction:column;justify-content:space-between}.quick strong{font-size:18px}.metric{font-size:32px;font-weight:800;letter-spacing:-.04em}.primary,.secondary,.ghost,.chip{appearance:none;border:0;font:inherit;cursor:pointer}.primary{width:100%;background:var(--accent);color:#11130d;font-weight:900;padding:16px 18px;border-radius:16px}.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line);padding:14px 16px;border-radius:14px;font-weight:700}.ghost{background:transparent;color:var(--muted);padding:10px}.stack{display:grid;gap:14px}label{display:grid;gap:7px;color:#d9dde2;font-size:13px;font-weight:700}input,select,textarea{width:100%;background:#111317;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:14px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#798c40;box-shadow:0 0 0 3px rgba(215,255,99,.08)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 2px 10px}.section-title h2{font-size:17px;margin:0}.exercise-row,.workout-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-top:1px solid var(--line)}.exercise-row:first-child,.workout-row:first-child{border-top:0}.exercise-row button,.workout-row button{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%}.tag{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.pill{padding:7px 9px;border-radius:99px;background:rgba(215,255,99,.09);color:var(--accent);font-size:11px;font-weight:800}.search{margin-bottom:12px}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:6px}.chip{white-space:nowrap;background:var(--panel);border:1px solid var(--line);color:var(--muted);padding:10px 12px;border-radius:99px}.chip.active{background:var(--accent);color:#11130d;border-color:var(--accent);font-weight:800}.sheet{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.7);display:flex;align-items:flex-end}.sheet>div{width:100%;max-height:92dvh;overflow:auto;background:#14161a;border-radius:28px 28px 0 0;border:1px solid var(--line);padding:20px 18px calc(22px + env(safe-area-inset-bottom))}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet h2{font-size:26px;letter-spacing:-.04em}.mode-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:16px 0}.mode-card{padding:14px 8px;text-align:center;background:var(--panel2);border:1px solid var(--line);border-radius:16px}.mode-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.set-row{display:grid;grid-template-columns:54px 1fr 1fr;gap:8px;align-items:end;margin:10px 0}.set-row .set-num{height:49px;display:grid;place-items:center;border-radius:14px;background:var(--panel2);font-weight:800}.set-row label{font-size:10px;text-transform:uppercase;color:var(--muted)}.advice{margin:14px 0;padding:14px;border-radius:14px;background:rgba(215,255,99,.08);border:1px solid rgba(215,255,99,.2)}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;padding:9px 10px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:rgba(14,15,17,.92);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.nav-btn{all:unset;text-align:center;color:#737a84;font-size:20px;cursor:pointer}.nav-btn small{display:block;font-size:10px;margin-top:3px}.nav-btn.active{color:var(--accent)}.auth-body{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 60% 0%,rgba(215,255,99,.13),transparent 38%),var(--bg);padding:24px}.auth-card{width:min(420px,100%);padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.auth-card h1{font-size:34px;letter-spacing:-.05em;margin:8px 0}.brand-mark{width:46px;height:46px;display:grid;place-items:center;background:var(--accent);color:#11130d;border-radius:14px;font-size:25px;font-weight:1000}.notice{padding:12px;border-radius:12px;margin:12px 0;font-size:13px}.notice.error{background:#311d21;color:#ffc0c0}.notice.success{background:#1e2b1d;color:#caf0be}.empty{padding:26px;text-align:center;color:var(--muted)}.best-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.best-box{background:#111317;border:1px solid var(--line);border-radius:14px;padding:11px}.best-box strong{display:block;font-size:20px}.small{font-size:12px;color:var(--muted)}

/* History progression state */
.history-target{margin-top:12px;padding:13px 0 2px;border-top:1px solid var(--border)}
.history-target:first-of-type{margin-top:14px}
.history-target-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.history-target-head>div{display:flex;flex-direction:column;gap:3px}
.history-target-head strong{font-size:16px}
.history-progress{margin-top:8px;line-height:1.55}
.status-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:700;background:rgba(255,255,255,.07);border:1px solid var(--border)}
.status-pill.success{color:var(--accent);border-color:rgba(190,255,64,.24);background:rgba(190,255,64,.08)}
.status-pill.hold{color:var(--text)}

/* v1.2 workout flow */
.previous-card{margin:12px 0 16px;padding:15px;background:linear-gradient(145deg,rgba(215,255,99,.08),rgba(255,255,255,.025));border:1px solid rgba(215,255,99,.18);border-radius:16px;display:grid;gap:8px}.previous-card>strong{font-size:15px;line-height:1.45}.previous-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.previous-head>div{display:grid;gap:5px;min-width:0}.previous-head strong{font-size:14px;line-height:1.45}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.template-card{appearance:none;text-align:left;display:flex;flex-direction:column;gap:9px;min-height:126px;padding:16px;background:linear-gradient(145deg,var(--panel2),var(--panel));color:var(--text);border:1px solid var(--line);border-radius:18px;font:inherit}.template-card strong{font-size:18px;line-height:1.1}.template-create{width:100%;margin-top:4px}.selected-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.selected-item{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 11px;background:var(--panel2);border:1px solid var(--line);border-radius:999px;font-size:12px}.selected-item button{appearance:none;border:0;background:transparent;color:var(--muted);font-size:17px;line-height:1;padding:0 2px}.empty.compact{padding:17px}.workout-exercise.pending{opacity:.78}.workout-exercise.pending span:last-child{color:var(--muted)}.workout-exercise:not(.pending) span:last-child{color:var(--accent);font-weight:900}.sheet-actions{display:flex;align-items:center;gap:4px}.mini-finish{appearance:none;border:0;border-radius:999px;background:var(--accent);color:#11130d;font:inherit;font-size:12px;font-weight:900;padding:9px 12px}.sticky-sheet-head{position:sticky;top:-20px;z-index:4;background:#14161a;padding-top:20px;padding-bottom:10px;margin-top:-20px}.danger-text{color:#ff9a9a}
