:root{--bg-0:#140d1a;--bg-1:#2a1830;--ink:#f7eff7;--ink-dim:#cdbdd4;--ink-faint:#978599;--glass:#ffffff12;--glass-strong:#ffffff1a;--facet:#ffffff0f;--glass-border:#ffffff29;--glass-blur:blur(22px) saturate(165%);--glass-highlight:inset 0 1px 0 #ffffff4d;--glass-shadow:0 14px 36px -16px #0000009e;--teal:#79e6c4;--teal-deep:#36a886;--coral:#ff8a72;--coral-deep:#ec6249;--amber:#ffd2a6;--radius:24px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis-weight:none}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background-color:var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(46% 32% at 12% 8%,#79e6c438 0%,#79e6c400 70%),radial-gradient(50% 36% at 88% 18%,#ff8a7238 0%,#ff8a7200 72%),radial-gradient(60% 40% at 50% 108%,#9a6edc47 0%,#9a6edc00 70%),radial-gradient(120% 90% at 50% -10%,#3a2150 0%,#3a215000 60%);background-attachment:fixed;margin:0;font-family:Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.4}body:before{content:"";z-index:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.glass{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-highlight)}.facet{background:var(--facet);border:1px solid #ffffff1a;box-shadow:inset 0 1px #ffffff29}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:#24182aeb}}.app{z-index:1;width:min(100%,460px);height:100dvh;padding:max(20px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex;position:relative}.app__header{text-align:center}.app__kicker{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 2px;font-size:.7rem;font-weight:600}.app__title{font-optical-sizing:auto;letter-spacing:.005em;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:600}.app__title em{color:var(--amber);font-style:italic}.status{border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-highlight);padding:15px 15px 13px;transition:border-color .45s,box-shadow .45s,background .45s}.status--alert{background:linear-gradient(#ff8a7233,#ff8a720f);border-color:#ffb28480;box-shadow:0 18px 48px -22px #ff8a72b3,inset 0 1px #ffdcc866}.status__tiles{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.tile{text-align:center;background:var(--facet);border:1px solid #ffffff1a;border-radius:16px;padding:11px 4px 9px;box-shadow:inset 0 1px #ffffff29}.tile__value{font-optical-sizing:auto;font-variant-numeric:tabular-nums;font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1;display:block}.tile__label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;font-size:.66rem;font-weight:600;display:block}.status__msg{color:var(--ink-dim);margin:12px 2px 0;font-size:.85rem;line-height:1.45}.status--alert .status__msg{color:var(--amber)}.status__flag{background:var(--coral-deep);color:#2a0f0a;letter-spacing:.04em;vertical-align:1px;border-radius:999px;margin-right:6px;padding:1px 7px;font-size:.74rem;font-weight:700;display:inline-block}.status__disclaimer{color:var(--ink-faint);margin:8px 2px 0;font-size:.69rem;line-height:1.4}.history{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow-y:auto}.history__head{justify-content:space-between;align-items:baseline;padding:0 2px;display:flex;position:sticky;top:0}.history__head h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600}.linkbtn{color:var(--ink-faint);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:.8rem;font-weight:500;transition:color .15s}.linkbtn:active{color:var(--coral)}.history__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.row{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-highlight);border-radius:18px;flex-direction:column;gap:9px;padding:11px 12px;animation:.32s both row-in;display:flex}@keyframes row-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}.row__top{align-items:center;gap:10px;display:flex}.row__num{font-variant-numeric:tabular-nums;color:var(--ink-faint);background:#ffffff1f;border-radius:999px;flex:none;padding:2px 8px;font-size:.72rem;font-weight:600}.row__ts{font-variant-numeric:tabular-nums;letter-spacing:.01em;flex:auto;font-size:.95rem;font-weight:600}.row__stats{gap:9px;display:flex}.row__stat{background:var(--facet);border:1px solid #ffffff1a;border-radius:12px;flex:1 1 0;align-items:baseline;gap:7px;padding:6px 11px;display:flex;box-shadow:inset 0 1px #ffffff29}.row__stat b{font-variant-numeric:tabular-nums;font-family:Fraunces,Georgia,serif;font-size:1rem;font-weight:600}.row__stat small{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:.6rem;font-weight:600}.row__del{width:32px;height:32px;color:var(--ink-faint);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:11px;flex:none;place-items:center;font-size:1.2rem;line-height:1;transition:color .15s,background .15s,border-color .15s;display:grid}.row__del:active{color:var(--coral);background:#ec624933;border-color:#ec624973}.history--empty{text-align:center;color:var(--ink-faint);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px dashed var(--glass-border);box-shadow:var(--glass-highlight);border-radius:20px;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:4px;padding:28px 16px;font-size:.92rem;line-height:1.55;display:flex}.history--empty b{color:var(--ink-dim)}.timer{color:#15100c;cursor:pointer;isolation:isolate;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(14px)saturate(150%);border:1px solid #ffffff38;border-radius:30px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;width:100%;min-height:186px;padding:28px 24px;font-family:inherit;transition:transform .12s,box-shadow .4s,background .4s;display:flex;position:relative;overflow:hidden}.timer:before{content:"";border-radius:inherit;pointer-events:none;mix-blend-mode:screen;opacity:.7;background:linear-gradient(#ffffff73 0%,#ffffff0f 22%,#fff0 55%);position:absolute;inset:0}.timer:active{transform:scale(.985)}.timer--idle{background:linear-gradient(158deg,#79e6c4eb 0%,#36a886db 100%);box-shadow:0 22px 55px -24px #36a886b3,inset 0 1px #ffffff8c}.timer--active{color:#2a0f08;background:linear-gradient(158deg,#ff8a72f0 0%,#ec6249e0 100%);animation:4.5s ease-in-out infinite breathe}@keyframes breathe{0%,to{box-shadow:0 22px 55px -26px #ec624980,0 0 #ff8a7200,inset 0 1px #ffffff80}50%{box-shadow:0 26px 70px -22px #ec6249cc,0 0 60px 6px #ff8a724d,inset 0 1px #ffffff9e}}.timer__label{letter-spacing:.2em;text-transform:uppercase;opacity:.72;font-size:.74rem;font-weight:700;position:relative}.timer__time{font-optical-sizing:auto;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-family:Fraunces,Georgia,serif;font-size:clamp(3.2rem,19vw,4.6rem);font-weight:600;line-height:.96;position:relative}.timer__ms{opacity:.62;letter-spacing:0;margin-left:.04em;font-size:.42em;font-weight:500}.timer__hint{opacity:.66;font-size:.85rem;font-weight:500;position:relative}@media (prefers-reduced-motion:reduce){.timer--active{animation:none;box-shadow:0 24px 64px -22px #ec6249bf,inset 0 1px #ffffff8c}.row{animation:none}}
