:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090a0f;--bg-elevated:#10121a;--bg-card:#151823;--bg-card-hi:#1b1f2d;--border:#ffffff14;--border-strong:#ffffff29;--text:#eef0f5;--muted:#9aa1b4;--faint:#6b7287;--you:#2dd4bf;--you-dim:#2dd4bf24;--you-line:#2dd4bf66;--agent:#a78bfa;--agent-strong:#8b5cf6;--agent-dim:#a78bfa24;--agent-line:#a78bfa73;--accent:#fcd34d;--accent-strong:#f59e0b;--warn:#fb923c;--danger:#f87171;--radius:16px;--radius-sm:12px;--shadow:0 18px 50px #00000073;--tap:48px;--font:"Inter", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}body{background:radial-gradient(900px 520px at 0% -10%, #a78bfa29, transparent 60%), radial-gradient(800px 480px at 100% 0%, #2dd4bf1a, transparent 55%), var(--bg)}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}strong{font-weight:700}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted);font-weight:400}.app{max-width:480px;min-height:100dvh;padding:max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex;position:relative}.app__glow{pointer-events:none;background:radial-gradient(circle at 50% 120%,#fcd34d0f,#0000 45%);position:fixed;inset:0}.app__main{z-index:1;flex-direction:column;flex:1;justify-content:center;padding:.75rem 0 .5rem;display:flex}.app__footer{z-index:1;text-align:center;color:var(--faint);margin-top:1rem;font-size:.75rem}.app__footer-warn{color:var(--warn)}.topbar{z-index:1;justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;display:flex}.brand{align-items:center;gap:.6rem;display:flex}.brand__mark{background:var(--bg-card);border:1px solid var(--border);border-radius:9px;grid-template-columns:repeat(2,11px);gap:3px;padding:5px;display:grid}.brand__mark i{border-radius:3px;width:11px;height:11px}.brand__mark i:first-child{background:#fb7185}.brand__mark i:nth-child(2){background:#38bdf8}.brand__mark i:nth-child(3){background:#fbbf24}.brand__mark i:nth-child(4){background:#a3e635}.brand__name{letter-spacing:-.01em;flex-direction:column;font-weight:750;line-height:1.15;display:flex}.brand__name small{color:var(--muted);letter-spacing:0;font-size:.7rem;font-weight:500}.steps{gap:.25rem;margin:0;padding:0;font-size:.72rem;font-weight:600;list-style:none;display:flex}.steps__item{color:var(--faint);border:1px solid #0000;border-radius:999px;padding:.25rem .55rem}.steps__item--done{color:var(--muted)}.steps__item--current{color:var(--accent);background:#fcd34d14;border-color:#fcd34d59}.screen{flex-direction:column;gap:1.25rem;animation:.3s fade-in;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero{text-align:center;padding:.5rem .25rem 0}.hero--tight{padding:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.title{letter-spacing:-.035em;text-wrap:balance;margin:0 0 .75rem;font-size:clamp(2rem,8.5vw,2.75rem);font-weight:800;line-height:1.05}.title__accent{background:linear-gradient(90deg, var(--you), var(--agent));color:#0000;-webkit-background-clip:text;background-clip:text;display:block}.title--sm{margin-bottom:.4rem;font-size:1.75rem}.subtitle{max-width:26rem;color:var(--muted);text-wrap:pretty;margin:0 auto;font-size:1.02rem}.hint{text-align:center;color:var(--muted);text-wrap:pretty;margin:0;font-size:.82rem}.hint strong{color:var(--text);font-weight:600}.hint--left{text-align:left}.section-label{color:var(--text);margin-bottom:.55rem;padding:0;font-size:.85rem;font-weight:650;display:block}.btn{appearance:none;min-height:var(--tap);border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text);text-align:center;touch-action:manipulation;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.15rem;font-weight:650;line-height:1.2;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:#ffffff47}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.4}.btn--lg{border-radius:16px;width:100%;min-height:56px;padding:.95rem 1.5rem;font-size:1.08rem}.btn--sm{border-radius:12px;min-height:40px;padding:.4rem .8rem;font-size:.85rem}.btn--primary{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#1c1300;border-color:#0000;box-shadow:0 10px 30px #f59e0b38}.btn--primary:hover:not(:disabled){border-color:#0000;box-shadow:0 12px 36px #f59e0b52}.btn--secondary{background:var(--you-dim);border-color:var(--you-line);color:#99f6e4}.btn--agent{background:linear-gradient(135deg, var(--agent), var(--agent-strong));color:#fff;border-color:#0000;box-shadow:0 10px 30px #8b5cf647}.btn--agent:hover:not(:disabled){border-color:#0000}.btn--agent:disabled{opacity:1;background:var(--agent-dim);border-color:var(--agent-line);color:#d8ccff;box-shadow:none}.btn--quiet{border-color:var(--border);color:var(--muted);background:#ffffff0a}.btn--quiet:hover:not(:disabled){color:var(--text)}.btn--warn{color:#fed7aa;background:#fb923c24;border-color:#fb923c80}.btn--danger{color:#fecaca;background:#f8717129;border-color:#f871718c}.btn--ghost{color:var(--muted);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){color:var(--text);background:#ffffff0d;border-color:#0000}.btn--pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #a78bfa8c}50%{box-shadow:0 0 0 10px #a78bfa00}}.btn kbd{font-family:var(--mono);opacity:.8;background:#00000038;border:1px solid #ffffff2e;border-radius:5px;padding:.1rem .35rem;font-size:.7rem;font-weight:600;display:none}@media (hover:hover) and (pointer:fine){.btn kbd{display:inline-block}}.link-btn{appearance:none;color:var(--faint);text-underline-offset:3px;background:0 0;border:none;margin-left:auto;padding:.5rem;font-size:.78rem;text-decoration:underline}.link-btn:hover{color:var(--muted)}.how{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.how__step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:.85rem;padding:.8rem .95rem;display:flex}.how__step strong{font-size:.95rem;display:block}.how__body{color:var(--muted);font-size:.86rem;display:block}.how__num{width:28px;height:28px;color:var(--accent);background:#fcd34d1f;border-radius:9px;flex:none;place-items:center;font-size:.85rem;font-weight:750;display:grid}.record{background:var(--bg-elevated);border:1px solid var(--border);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.35rem .5rem .35rem .9rem;font-size:.85rem;display:flex}.record strong{font-family:var(--mono);font-size:1rem}.record__side--you strong,.record__you{color:var(--you)}.record__side--agent strong,.record__agent{color:var(--agent)}.record__sep{color:var(--faint)}.record--inline{background:0 0;border:none;gap:.35rem;margin:0;padding:0}.screen__header{align-items:center;gap:.5rem;margin-left:-.5rem;display:flex}.screen__header h2{letter-spacing:-.02em;margin:0;font-size:1.35rem}.pack-picker{border:none;min-width:0;margin:0;padding:0}.pack-grid{gap:.6rem;display:grid}.pack-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.95rem;min-height:76px;padding:.8rem 2.75rem .8rem .85rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.pack-card:hover{border-color:var(--border-strong)}.pack-card:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.pack-card--active{background:linear-gradient(90deg, #fcd34d14, transparent 70%), var(--bg-card);border-color:#fcd34db3;box-shadow:0 0 0 1px #fcd34d4d}.pack-card__text{flex-direction:column;min-width:0;display:flex}.pack-card__label{font-size:1.05rem;font-weight:750}.pack-card__fit{color:var(--text);opacity:.85;font-size:.88rem}.pack-card__desc{font-family:var(--mono);color:var(--muted);font-size:.75rem}.pack-card__check{border:2px solid var(--border-strong);border-radius:50%;width:22px;height:22px;margin-top:-11px;position:absolute;top:50%;right:.95rem}.pack-card--active .pack-card__check{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 0 5px, transparent 6px)}.pack-preview{flex:none;gap:3px;width:58px;display:flex}.pack-preview__board{background:var(--bg-elevated);aspect-ratio:1;border-radius:6px;flex:1;align-self:center;gap:1.5px;padding:3px;display:grid}.pack-preview__board i{aspect-ratio:1;border-radius:1.5px}.field{flex-direction:column;display:flex}.field input{min-height:var(--tap);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:.8rem .95rem;font-size:1rem}.field input::placeholder{color:var(--faint)}.field input:focus{border-color:var(--agent-line);box-shadow:0 0 0 3px var(--agent-dim)}.cta-block{flex-direction:column;gap:.6rem;display:flex}.screen--racing{gap:.85rem}.race-header .btn{white-space:nowrap;flex:none}.race-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.race-meta{flex-wrap:nowrap;align-items:center;gap:.4rem;min-width:0;display:flex}.pill{white-space:nowrap;color:var(--accent);background:#fcd34d1f;border-radius:999px;flex:none;align-items:center;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.pill--muted{color:var(--text);background:#ffffff12}.task-chip{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:.8rem;overflow:hidden}.task-chip--center{max-width:100%;margin:0 auto}.race-layout{grid-template-areas:"clocks""status""board""actions";gap:.85rem;display:grid}.clocks{grid-area:clocks;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.45rem;display:grid}.clocks__vs{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;align-self:center;font-size:.72rem;font-weight:800}.clock{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.15rem;padding:.7rem .85rem .75rem;transition:border-color .2s,background .2s;display:flex}.clock__head{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.clock__label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:750}.clock--you{border-color:var(--you-line)}.clock--you .clock__label{color:var(--you)}.clock--agent{border-color:var(--agent-line)}.clock--agent .clock__label{color:var(--agent)}.clock__status{color:var(--muted);align-items:center;gap:.3rem;font-size:.68rem;font-weight:600;display:inline-flex}.clock__dot{background:currentColor;border-radius:50%;width:7px;height:7px}.clock--running .clock__dot{animation:1.2s ease-in-out infinite blink}.clock--you.clock--running .clock__dot{color:var(--you)}.clock--agent.clock--running .clock__dot{color:var(--agent)}.clock--paused .clock__status{color:var(--accent)}.clock--paused .clock__time{opacity:.6}.clock--done.clock--you{background:linear-gradient(180deg, var(--you-dim), transparent), var(--bg-card)}.clock--done.clock--agent{background:linear-gradient(180deg, var(--agent-dim), transparent), var(--bg-card)}.clock--done .clock__status{color:var(--text)}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.clock__time{font-family:var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,6.5vw,1.9rem);font-weight:700;line-height:1.1}.status{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);min-height:2.9rem;color:var(--muted);grid-area:status;align-items:center;margin:0;padding:.55rem .85rem;font-size:.86rem;line-height:1.35;display:flex}.status--you{color:#ccfbf1;border-color:var(--you-line);background:var(--you-dim)}.status--agent{color:#e9e1ff;border-color:var(--agent-line);background:var(--agent-dim)}.status--warn{color:#ffedd5;background:#fb923c1f;border-color:#fb923c80}.race-board{flex-direction:column;grid-area:board;align-items:center;gap:.6rem;display:flex}.board-wrap{width:min(100%,440px,max(240px,100dvh - 420px));position:relative}.board{aspect-ratio:1;background:var(--bg-elevated);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);touch-action:manipulation;-webkit-user-select:none;user-select:none;gap:5px;width:100%;padding:.55rem;transition:filter .2s;display:grid}.board--disabled{filter:saturate(.5)brightness(.7)}.tile{appearance:none;aspect-ratio:1;border:none;border-radius:9px;min-width:0;min-height:0;padding:0;transition:transform .1s,filter .1s;animation:.18s tile-in;position:relative;box-shadow:inset 0 2px #ffffff47,inset 0 -3px #0000002e,0 3px 8px #0000004d}.tile:disabled{cursor:default}.tile:after{content:"";background:#0003;position:absolute;inset:34%}.tile[data-color="0"]:after{border-radius:50%}.tile[data-color="1"]:after{inset:36%;transform:rotate(45deg)}.tile[data-color="2"]:after{border-radius:2px}.tile[data-color="3"]:after{background:0 0;border:3px solid #00000038;border-radius:50%;inset:30%}.tile[data-color="4"]:after{border-radius:1px;inset:44% 28%}.tile:not(:disabled):active{transform:scale(.92)}.tile--lit{filter:brightness(1.15);z-index:1;transform:scale(1.05);box-shadow:inset 0 2px #ffffff59,0 0 0 2px #ffffffb3,0 8px 16px #00000059}.tile--empty{background:#ffffff06;animation:none;box-shadow:inset 0 0 0 1px #ffffff08}.tile--empty:after{display:none}@keyframes tile-in{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:none}}.board-overlay{text-align:center;border-radius:calc(var(--radius) + 4px);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#090a0fb8;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1.25rem;animation:.2s fade-in;display:flex;position:absolute;inset:0}.board-overlay__title{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.board-overlay__body{color:var(--muted);max-width:18rem;margin:0 0 .5rem;font-size:.9rem}.board-overlay--done .board-overlay__title{color:var(--you)}.board-overlay--done .board-overlay__body{font-family:var(--mono);color:var(--text);font-size:1.6rem;font-weight:700}.progress{align-items:center;gap:.65rem;width:min(100%,440px);display:flex}.progress__track{background:#ffffff12;border-radius:999px;flex:1;height:6px;overflow:hidden}.progress__fill{border-radius:inherit;background:linear-gradient(90deg, var(--you), #5eead4);height:100%;transition:width .25s}.progress__label{text-align:right;min-width:5.5rem;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.race-actions{flex-direction:column;grid-area:actions;gap:.55rem;display:flex}.race-actions__row{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.winner-card{background:var(--bg-card);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);text-align:center;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:.6rem;padding:1.75rem 1.25rem 1.25rem;display:flex}.winner-card--you{border-color:var(--you-line);background:radial-gradient(120% 70% at 50% 0%, #2dd4bf33, transparent 70%), var(--bg-card)}.winner-card--you .eyebrow{color:var(--you)}.winner-card--agent{border-color:var(--agent-line);background:radial-gradient(120% 70% at 50% 0%, #a78bfa38, transparent 70%), var(--bg-card)}.winner-card--agent .eyebrow{color:var(--agent)}.winner-card .eyebrow{margin:0}.winner-card__title{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,9vw,2.6rem);font-weight:800;line-height:1.05}.winner-card__detail{color:var(--text);opacity:.85;text-wrap:pretty;max-width:22rem;margin:0}.winner-card__times{grid-template-columns:1fr 1fr;gap:.6rem;width:100%;margin-top:.5rem;display:grid}.time-cell{border-radius:var(--radius-sm);background:#00000040;border:1px solid #0000;flex-direction:column;gap:.15rem;padding:.75rem;display:flex}.time-cell span{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.time-cell--you span{color:var(--you)}.time-cell--agent span{color:var(--agent)}.time-cell strong{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.35rem}.time-cell--win.time-cell--you{border-color:var(--you-line)}.time-cell--win.time-cell--agent{border-color:var(--agent-line)}.winner-card__note{color:var(--muted);max-width:22rem;margin:0;font-size:.78rem}.result-actions{grid-template-columns:2fr 1fr;gap:.6rem;display:grid}.screen--cooldown{text-align:center;align-items:center}.cooldown-ring{width:104px;height:104px;position:relative}.cooldown-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.cooldown-ring circle{fill:none;stroke-width:6px}.cooldown-ring__track{stroke:#ffffff14}.cooldown-ring__fill{stroke:var(--agent);stroke-linecap:round;transition:stroke-dashoffset .1s linear}.cooldown-ring__num{font-family:var(--mono);place-items:center;font-size:2rem;font-weight:700;display:grid;position:absolute;inset:0}@media (width<=380px){.steps__item:not(.steps__item--current){display:none}.clock{padding:.6rem .65rem}.clock__status{gap:0;font-size:0}}@media (height<=740px) and (width<=719px){.race-actions .hint,.app--wide .app__footer{display:none}.screen--racing,.race-layout{gap:.6rem}.clock{padding:.5rem .7rem}.clock__time{font-size:1.35rem}.status{min-height:0;padding:.45rem .75rem;font-size:.8rem}.board-wrap{width:min(100%,440px,max(200px,100dvh - 400px))}}@media (width>=720px){.app{max-width:540px;padding-top:1.25rem}.board{gap:7px;padding:.75rem}.tile{border-radius:11px}}@media (width>=900px){.app--wide{max-width:980px}.app--wide .race-layout{grid-template:"board clocks""board status""board actions"1fr/minmax(0,1fr) 360px;align-items:start;column-gap:1.5rem}.app--wide .board-wrap{width:min(100%,520px,max(320px,100dvh - 230px))}.app--wide .progress{width:min(100%,520px)}.app--wide .clock__time{font-size:1.9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
