:root { --bg:#0f1115; --card:#1a1e27; --fg:#e8eaed; --muted:#8b93a7; --accent:#4ade80; --warm:#3a4252; --field:#11141c; --line:#2a3142; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.4 system-ui, sans-serif; }
header { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px 16px; position:sticky; top:0; z-index:5; background:var(--bg); }
header #title { font-size:17px; }

.rest { display:flex; align-items:center; gap:4px; }
.rest-secs { width:52px; padding:6px; text-align:center; background:var(--field); border:1px solid var(--line); border-radius:8px; color:var(--fg); font-size:15px; }
.rest-unit { color:var(--muted); font-size:13px; margin-right:2px; }
.timer { color:var(--accent); font-variant-numeric:tabular-nums; background:var(--warm); border:none; padding:8px 12px; border-radius:8px; cursor:pointer; user-select:none; min-width:72px; text-align:center; font-size:15px; }
.timer:active { background:var(--accent); color:#06210f; }

.tabs { display:flex; gap:8px; padding:0 12px 4px; }
.tab { flex:1; background:var(--card); border:1px solid var(--line); color:var(--muted); padding:10px; border-radius:8px; font-size:14px; cursor:pointer; }
.tab.active { background:var(--warm); color:var(--fg); border-color:var(--warm); }

#history { padding:4px 0 40px; }
.history-item { display:flex; flex-direction:column; gap:2px; text-align:left; width:calc(100% - 24px); margin:8px 12px; padding:12px; background:var(--card); border:1px solid var(--line); border-radius:10px; color:var(--fg); cursor:pointer; }
.history-item .hi-date { font-weight:600; }
.history-item .hi-meta { color:var(--muted); font-size:13px; }
.history-back { margin:8px 12px; background:var(--warm); border:none; color:var(--fg); padding:10px 14px; border-radius:8px; font-size:14px; cursor:pointer; }
.empty { color:var(--muted); text-align:center; margin:32px 12px; }

.undo-bar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 12px; padding:10px 14px; background:var(--warm); border-radius:10px; font-size:14px; }
.undo-bar button { background:var(--accent); color:#06210f; border:none; padding:8px 14px; border-radius:8px; font-size:14px; cursor:pointer; }

.exercise { background:var(--card); margin:10px 12px; border-radius:12px; padding:12px; }
.ex-head { display:flex; align-items:center; justify-content:space-between; }
.exercise h2 { margin:0 0 2px; font-size:17px; }
.exercise .last { color:var(--muted); font-size:13px; margin-bottom:8px; }
.calibrate { color:#fbbf24; font-size:13px; }

.set { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:8px 4px; border-top:1px solid #232838; }
.set.warmup { color:var(--muted); }
.set .x { color:var(--muted); }
.set .range { color:var(--muted); font-size:12px; }
.set .wt, .set .reps { width:62px; text-align:center; padding:8px; background:var(--field); border:1px solid var(--line); border-radius:8px; color:var(--fg); font-size:16px; }
.effort { display:inline-flex; margin-left:auto; }
.effort button { background:var(--warm); border:none; color:var(--fg); padding:6px 8px; border-radius:8px; margin-left:4px; font-size:13px; }
.effort button.sel { background:var(--accent); color:#06210f; }
.remove-set { background:transparent; border:none; color:var(--muted); font-size:15px; padding:4px 6px; cursor:pointer; }
.remove-exercise { background:transparent; border:none; color:var(--muted); font-size:16px; padding:2px 6px; cursor:pointer; }

.add-set { margin-top:8px; background:transparent; border:1px dashed var(--line); color:var(--accent); padding:8px 12px; border-radius:8px; font-size:14px; cursor:pointer; }

.add-exercise { display:flex; gap:8px; margin:4px 12px 0; }
.add-exercise select { flex:1; min-width:0; padding:10px; background:var(--field); border:1px solid var(--line); border-radius:8px; color:var(--fg); font-size:15px; }
.add-exercise button { background:var(--warm); border:none; color:var(--fg); padding:10px 14px; border-radius:8px; font-size:14px; cursor:pointer; white-space:nowrap; }

.endbtn { display:block; width:calc(100% - 24px); margin:16px 12px 40px; padding:16px; font-size:17px; background:var(--accent); color:#06210f; border:none; border-radius:12px; }
