:root{--bg:#08080b;--bg-glow:#16101a;--surface:#ffffff0f;--surface-strong:#ffffff1a;--text:#f6f4f1;--text-dim:#f6f4f16b;--text-faint:#f6f4f12e;--accent:#e24b32;--accent-bright:#ff9a5a;--pad-top:max(.75rem, env(safe-area-inset-top));--pad-bottom:max(.75rem, env(safe-area-inset-bottom));--pad-left:max(1rem, env(safe-area-inset-left));--pad-right:max(1rem, env(safe-area-inset-right));--ease:cubic-bezier(.32, .72, 0, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px;border-radius:4px}.app{height:100dvh;padding:var(--pad-top) var(--pad-right) var(--pad-bottom) var(--pad-left);background:var(--bg);grid-template-rows:auto 1fr auto;gap:.5rem;display:grid;position:fixed;top:0;left:0;right:0}.app__bar{justify-content:center;min-height:1.75rem;display:flex}.stage{place-items:center;min-height:0;display:grid}.panel{flex-direction:column;align-items:center;gap:1.25rem;min-width:0;padding-bottom:.5rem;display:flex}@media (orientation:landscape){.app{grid-template:"bar bar""stage panel"1fr/1fr 1fr;column-gap:1rem}.app__bar{grid-area:bar}.stage{grid-area:stage}.panel{grid-area:panel;justify-content:center;gap:1rem;padding-bottom:0}}.badge{background:var(--surface);color:var(--text-dim);letter-spacing:.02em;transition:color .3s var(--ease), background .3s var(--ease);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.7rem;font-weight:500;display:inline-flex}.badge svg{width:.8rem;height:.8rem}.badge[data-active]{color:var(--accent-bright);background:#ff9a5a1f}.stage__ring{aspect-ratio:1;place-items:center;width:min(78vw,46dvh,22rem);display:grid;position:relative}@media (orientation:landscape){.stage__ring{width:min(42vw,72dvh,20rem)}}.ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.ring__track,.ring__sweep{fill:none;stroke-width:2.5px;stroke-linecap:round}.ring__track{stroke:var(--text-faint)}.ring__sweep{stroke:var(--accent)}.ring__sweep[data-animated]{transition:stroke-dashoffset .16s linear}.readout{place-items:center;display:grid;position:relative}.readout__status{white-space:nowrap;position:absolute;top:calc(100% + .35rem)}.readout__time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.03em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:clamp(3rem,17vw,5rem);font-weight:200;line-height:1}@media (orientation:landscape){.readout__time{font-size:clamp(2.5rem,9vw,4rem)}}.readout__status{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);transition:color .4s var(--ease);font-size:.72rem;font-weight:600}.app[data-status=running] .readout__status{color:var(--accent-bright)}.app[data-status=completed] .readout__time{color:var(--accent-bright);animation:breathe 2.4s var(--ease) infinite}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}.presets{gap:.4rem;display:flex}.presets__chip{background:var(--surface);min-width:2.6rem;color:var(--text-dim);font-variant-numeric:tabular-nums;transition:background .2s var(--ease), color .2s var(--ease), transform .12s var(--ease);border-radius:999px;padding:.35rem .6rem;font-size:.8rem;font-weight:600}.presets__chip[data-selected]{background:var(--surface-strong);color:var(--text)}.presets__chip:active:not(:disabled){transform:scale(.94)}.presets__chip:disabled{opacity:.3}.dial{max-width:26rem;height:3.75rem;transition:opacity .3s var(--ease);align-self:stretch;position:relative}.dial[data-disabled]{opacity:.28;pointer-events:none}.dial__scroller{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;height:100%;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.dial__scroller:active{cursor:grabbing}.dial__scroller::-webkit-scrollbar{display:none}.dial__track{align-items:flex-start;height:100%;display:flex}.dial__spacer{flex:none}.dial__tick{flex:0 0 var(--tick-gap);scroll-snap-align:center;justify-content:center;height:100%;display:flex;position:relative}.dial__mark{background:var(--text-faint);border-radius:1px;width:1.5px;height:.9rem}.dial__tick[data-major] .dial__mark{background:var(--text-dim);height:1.45rem}.dial__label{font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap;font-size:.7rem;font-weight:500;position:absolute;top:1.85rem}.dial__needle{background:var(--accent);pointer-events:none;border-radius:2px;width:2px;height:1.75rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.dial__input{opacity:0;pointer-events:none;position:absolute;inset:0}.dial__input:focus-visible{opacity:1;pointer-events:auto}.controls{align-items:center;gap:1.5rem;display:flex}.controls__button{background:var(--surface);width:3rem;height:3rem;color:var(--text);transition:transform .14s var(--ease), background .2s var(--ease), opacity .2s var(--ease);border-radius:999px;place-items:center;display:grid}.controls__button svg{width:1.15rem;height:1.15rem}.controls__button:active:not(:disabled){background:var(--surface-strong);transform:scale(.9)}.controls__button:disabled{opacity:.25}.controls__button--primary{background:var(--accent);color:#fff;width:4.5rem;height:4.5rem;position:relative}.controls__button--primary svg{opacity:0;width:1.6rem;height:1.6rem;transition:opacity .18s var(--ease), transform .18s var(--ease);position:absolute;transform:scale(.7)}.controls__button--primary svg[data-visible]{opacity:1;transform:scale(1)}.controls__button--primary svg:first-of-type{margin-left:.18rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.stamp{color:var(--text-faint);font-variant-numeric:tabular-nums;letter-spacing:.06em;padding:.25rem .5rem;font-size:.6rem}.stamp:active{color:var(--text-dim)}
