:root{--bg:#0f0f14;--bg-elev:#181820;--bg-elev-2:#20212c;--border:#2a2b38;--text:#f2f3f7;--text-dim:#9a9cab;--text-faint:#62646f;--accent:#4ade80;--accent-press:#36c46a;--rest:#38bdf8;--warn:#f87171;--warm:#fbbf24;--radius:16px;--radius-sm:10px;--tap:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#root{flex-direction:column;max-width:560px;margin:0 auto;display:flex}button{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none}h1,h2,h3{font-weight:700;line-height:1.15}.screen{min-height:100%;padding:calc(var(--safe-top) + 12px) 16px calc(var(--safe-bottom) + 16px);flex-direction:column;flex:1;display:flex}.screen-header{align-items:center;gap:12px;min-height:40px;margin-bottom:18px;display:flex}.screen-header h1{font-size:22px}.spacer{flex:1}.brand{letter-spacing:-.02em;font-weight:800}.brand .brand-accent{color:var(--accent)}.btn{min-height:var(--tap);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:17px;font-weight:600;transition:transform 60ms,background .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:var(--accent);color:#07210f;font-weight:700}.btn-primary:active{background:var(--accent-press)}.btn-danger{color:var(--warn)}.btn-ghost{border:1px solid var(--border);background:0 0}.btn-block{width:100%}.btn-lg{min-height:64px;font-size:19px}.icon-btn{background:var(--bg-elev);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:inline-flex}.icon-btn:active{background:var(--bg-elev-2)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.chip-grid{gap:10px;display:grid}.chip{min-height:var(--tap);border-radius:var(--radius-sm);background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim);justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .12s;display:flex}.chip[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 18%, var(--bg-elev));border-color:var(--accent);color:var(--text)}.tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);background:var(--bg-elev-2);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.tag-warmup,.tag-cooldown{color:#2a1c00;background:var(--warm)}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:8px;font-size:13px;font-weight:700}.text-dim{color:var(--text-dim)}.text-faint{color:var(--text-faint)}.scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}input{width:100%;min-height:var(--tap);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:0 14px}input:focus{border-color:var(--accent)}.runner{justify-content:space-between}.runner-top{align-items:center;gap:12px;display:flex}.runner-count{text-align:center;flex:1;font-size:14px;font-weight:600}.runner-progress{background:var(--bg-elev-2);border-radius:999px;height:6px;margin:14px 0 4px;overflow:hidden}.runner-progress-fill{background:var(--kind-color,var(--accent));height:100%;transition:width .2s linear}.runner-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.runner-phase{letter-spacing:.14em;font-size:13px;font-weight:800}.runner-figure{place-items:center;height:230px;display:grid}.runner-timer{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:76px;font-weight:800;line-height:1}.runner-name{margin-top:2px;font-size:24px}.runner-target{font-size:15px}.runner-cue{max-width:280px;font-size:13px}.runner-controls{align-items:center;gap:12px;margin-top:12px;display:flex}.runner-pause{flex:1}.icon-btn.lg{width:var(--tap);height:var(--tap);font-size:22px}
