:root{color-scheme:dark;--bg:#0b0d10;--bg-elev:#14181d;--bg-elev-2:#1c222a;--border:#2a323c;--text:#f2f5f8;--text-dim:#9aa7b4;--accent:#ff4d4f;--warmup:#2f6df6;--warmup-deep:#12295e;--sprint:#ff3b30;--sprint-deep:#4a0d0a;--recovery:#22c55e;--recovery-deep:#0c3a1e;--cooldown:#14b8a6;--cooldown-deep:#0a3c37;--radius:16px;--tap:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{min-height:100dvh}a{text-decoration:none}a,button{color:inherit}button{font-family:inherit;cursor:pointer;border:none}.app{max-width:560px;margin:0 auto;padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 24px);min-height:100dvh}.h-title{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0}.h-sub{color:var(--text-dim);font-size:15px;margin:4px 0 0}.section-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:24px 0 10px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stack{flex-direction:column}.row,.stack{display:flex;gap:12px}.row{align-items:center}.spread{justify-content:space-between}.grow{flex:1 1}.btn{min-height:var(--tap);border-radius:var(--radius);font-size:18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;background:var(--bg-elev-2);border:1px solid var(--border);transition:transform .05s ease,filter .15s ease;width:100%}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-ghost{background:transparent}.btn-lg{min-height:76px;font-size:22px}.btn-danger{background:#3a1210;border-color:#5a1a17;color:#ff9a95}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-dim)}.knob-chip{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.check{display:flex;align-items:center;gap:14px;min-height:var(--tap);padding:8px 14px;border-radius:var(--radius);background:var(--bg-elev);border:1px solid var(--border);font-size:17px}.check input{width:28px;height:28px;accent-color:var(--recovery);flex-shrink:0}.check.done{border-color:var(--recovery)}.stepper{gap:10px}.stepper,.stepper button{display:flex;align-items:center}.stepper button{width:48px;height:48px;border-radius:12px;background:var(--bg-elev-2);border:1px solid var(--border);font-size:24px;font-weight:700;justify-content:center}.stepper .val{min-width:64px;text-align:center;font-size:20px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.proto{text-align:left;width:100%;padding:16px;border-radius:var(--radius);background:var(--bg-elev);border:2px solid var(--border)}.proto.selected{border-color:var(--accent);background:#1a1214}.proto .name{font-size:20px;font-weight:800}.proto .blurb{color:var(--text-dim);font-size:14px;margin-top:4px}.workout{position:fixed;inset:0;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 8px) 16px calc(var(--safe-bottom) + 16px);color:#fff;transition:background .4s ease}.phase-warmup{background:linear-gradient(160deg,var(--warmup),var(--warmup-deep))}.phase-sprint{background:linear-gradient(160deg,var(--sprint),var(--sprint-deep));animation:pulse 1s ease-in-out infinite}.phase-recovery{background:linear-gradient(160deg,var(--recovery),var(--recovery-deep))}.phase-cooldown{background:linear-gradient(160deg,var(--cooldown),var(--cooldown-deep))}@keyframes pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}.w-top{display:flex;justify-content:space-between;align-items:flex-start;font-weight:700}.phase-name{font-size:26px;font-weight:900;letter-spacing:.02em;text-shadow:0 2px 8px rgba(0,0,0,.3)}.w-center{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.big-clock{font-size:clamp(96px,40vw,220px);font-weight:900;line-height:.9;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 4px 20px rgba(0,0,0,.35)}.sprint-word{font-size:clamp(40px,14vw,88px);font-weight:900;letter-spacing:.04em}.next-cue{margin-top:12px;font-size:22px;font-weight:700;opacity:.92}.knob-target{margin-top:18px;font-size:30px;font-weight:900;background:rgba(0,0,0,.28);padding:10px 22px;border-radius:999px;display:inline-flex;gap:10px;align-items:center}.w-controls{display:flex;gap:12px}.w-controls .btn{background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.25);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.seg-bar{display:flex;gap:4px;height:10px;margin-top:10px}.seg-bar .seg{height:100%;border-radius:4px;background:rgba(255,255,255,.28);position:relative;overflow:hidden}.seg-bar .seg .fill{position:absolute;inset:0;background:rgba(255,255,255,.95);transform-origin:left}.count-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none}.count-num{font-size:clamp(160px,60vw,380px);font-weight:900;color:#fff;text-shadow:0 0 40px rgba(0,0,0,.5);animation:popIn .9s ease}@keyframes popIn{0%{transform:scale(.4);opacity:0}30%{transform:scale(1);opacity:1}to{transform:scale(1.1);opacity:0}}input[type=range]{width:100%;accent-color:var(--accent);height:40px}input[type=text],textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:12px;font-size:16px;font-family:inherit}.muted{color:var(--text-dim)}.center{text-align:center}.stat{font-size:26px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.divider{height:1px;background:var(--border);margin:16px 0}.tabbar{display:flex;gap:8px;margin-top:8px}.link{color:var(--warmup);font-weight:600}