:root{--void: #07080d;--panel: rgba(8, 9, 14, .72);--cream: #f4efe4;--mute: #9aa0b2;--red: #ff2d4a;--yellow: #ffc01a;--green: #22e38a;--line: rgba(244, 239, 228, .12);--safe-top: env(safe-area-inset-top, 0px);--safe-bot: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}html,body{margin:0;height:100%;overflow:hidden;background:#04050a;color:var(--cream);font-family:Outfit,system-ui,sans-serif;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{display:flex;justify-content:center;background:radial-gradient(1200px 600px at 50% 115%,rgba(255,45,74,.16),transparent 55%),radial-gradient(900px 500px at 50% -10%,rgba(34,227,138,.08),transparent 50%),#04050a}#app{position:relative;width:min(100vw,430px);height:100dvh;height:100svh;overflow:hidden;background:var(--void);box-shadow:0 0 80px #ff2d4a14;touch-action:manipulation}#view{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:manipulation}#vignette{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 40%,transparent 40%,rgba(0,0,0,.55) 100%),linear-gradient(to bottom,rgba(0,0,0,.35),transparent 18%,transparent 80%,rgba(0,0,0,.4))}#grain{pointer-events:none;position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");animation:grain 1.6s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-.4%,.2%)}50%{transform:translate(.2%,-.4%)}to{transform:translate(-.2%,.3%)}}#flash{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:radial-gradient(circle at 50% 70%,rgba(255,45,74,.55),rgba(255,45,74,.12) 55%,transparent 75%);transition:opacity .22s ease}#flash.on{opacity:1}#flash.go{background:radial-gradient(circle at 50% 58%,rgba(34,227,138,.28),rgba(34,227,138,.06) 52%,transparent 74%)}#flash.good{background:radial-gradient(circle at 50% 48%,rgba(255,192,26,.28),rgba(255,192,26,.06) 55%,transparent 76%)}#flash.best{background:radial-gradient(circle at 50% 42%,rgba(255,192,26,.55),rgba(255,192,26,.12) 48%,transparent 74%)}#flash.omen{background:radial-gradient(circle at 50% 58%,rgba(255,138,40,.62),rgba(255,80,30,.18) 50%,transparent 74%)}#result.is-time h2,#result.is-time .stats{display:none}#result.is-time .flavor{margin-bottom:14px}.result-hero{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:0 0 6px;animation:rise .55s cubic-bezier(.16,1,.3,1) both}.result-hero strong{font-family:Anton,sans-serif;font-size:clamp(72px,22vw,108px);line-height:.82;letter-spacing:.01em;color:var(--cream);text-shadow:0 8px 40px rgba(0,0,0,.45),0 0 36px rgba(34,227,138,.28)}.result-hero span{font-size:18px;font-weight:700;letter-spacing:.18em;color:var(--mute)}.result-hero.is-best strong{color:var(--yellow);text-shadow:0 8px 40px rgba(0,0,0,.45),0 0 48px rgba(255,192,26,.55)}.result-hero.punch{animation:heroPunch .55s cubic-bezier(.16,1,.3,1)}@keyframes heroPunch{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.hero-sub{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.28em;color:var(--green)}.result-tops{width:100%;margin:0 0 16px;padding:0;list-style:none;display:grid;gap:6px}.result-tops li{display:grid;grid-template-columns:48px 1fr;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#07080d8c;animation:topIn .5s cubic-bezier(.16,1,.3,1) both}.result-tops li.empty{opacity:.38}.result-tops .rank{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--mute);text-align:left}.result-tops .meters{font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:600;color:var(--cream);text-align:right}.result-tops li.gold .rank,.result-tops li.gold .meters{color:var(--yellow)}.result-tops li.now{border-color:#ffc01ab3;background:#ffc01a24;box-shadow:0 0 22px #ffc01a38;animation:topInNow .5s cubic-bezier(.16,1,.3,1) both}.result-tops li.now.gold{animation:topInNow .5s cubic-bezier(.16,1,.3,1) both,nowGlow 1.15s ease-in-out .5s infinite}@keyframes topIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes topInNow{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:scale(1.03)}}@keyframes nowGlow{0%,to{box-shadow:0 0 16px #ffc01a2e}50%{box-shadow:0 0 28px #ffc01a66}}.new-best.place{background:transparent;color:var(--green);border:1px solid rgba(34,227,138,.55);box-shadow:0 0 18px #22e38a33}@media(max-height:720px){.result-hero strong{font-size:clamp(58px,16vw,84px)}.result-tops li{padding:6px 10px}}#hud{position:absolute;top:calc(14px + var(--safe-top));left:16px;right:16px;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px;z-index:3;animation:hudIn .45s cubic-bezier(.16,1,.3,1)}.time-fuse{grid-column:1 / -1;height:5px;border-radius:99px;background:#f4efe41a;border:1px solid var(--line);overflow:hidden}#time-fuse-bar{display:block;height:100%;width:100%;transform:scaleX(1);transform-origin:left center;background:linear-gradient(90deg,#f4efe4,#ffc01a);border-radius:99px}#hud.is-warn #time-fuse-bar{background:var(--yellow)}#hud.is-critical #time-fuse-bar{background:var(--red);animation:fusePulse .7s ease-in-out infinite}@keyframes fusePulse{0%,to{opacity:1}50%{opacity:.55}}.hud-clock{position:relative;overflow:hidden}.hud-fill{position:absolute;left:0;right:0;bottom:0;height:100%;background:#f4efe41a;pointer-events:none}#hud.is-warn .hud-fill{background:#ffc01a29}#hud.is-critical .hud-fill{background:#ff2d4a33}.hud-clock .hud-label,.hud-clock #hud-time{position:relative;z-index:1}@keyframes hudIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.hud-clock,.hud-odometer,.hud-speed{background:#07080d8c;border:1px solid var(--line);border-radius:14px;padding:8px 10px 7px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center}.hud-odometer{border-color:#ffc01a47}.hud-label{font-size:9px;letter-spacing:.22em;color:var(--mute);font-weight:600}#hud-time,#hud-dist,#hud-speed,.stats strong{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;font-size:22px;line-height:1.15;margin-top:2px}#hud-dist{font-size:26px;color:var(--yellow)}#hud-dist.tick{animation:distTick .32s cubic-bezier(.16,1,.3,1)}@keyframes distTick{0%{transform:scale(1)}40%{transform:scale(1.12);color:#f4efe4}to{transform:scale(1)}}#hud-time.warn{color:var(--yellow)}#hud-time.critical{color:var(--red);animation:timePulse .7s ease-in-out infinite}@keyframes timePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.04)}}#countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:4;font-family:Anton,sans-serif;font-size:28vw;letter-spacing:.02em;text-shadow:0 10px 40px rgba(0,0,0,.55);pointer-events:none}#countdown.punch{animation:countPunch .38s cubic-bezier(.16,1,.3,1)}#countdown.go{color:var(--green);text-shadow:0 0 40px rgba(34,227,138,.45),0 10px 40px rgba(0,0,0,.55)}@keyframes countPunch{0%{transform:scale(.55);opacity:0;filter:blur(8px)}55%{transform:scale(1.08);opacity:1;filter:blur(0)}to{transform:scale(1);opacity:1}}#toast{position:absolute;left:50%;top:22%;transform:translate(-50%);z-index:4;font-family:Anton,sans-serif;letter-spacing:.12em;font-size:28px;color:var(--yellow);text-shadow:0 0 24px rgba(255,192,26,.45);pointer-events:none;animation:toast .7s ease forwards}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}20%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(1.04)}}#toast.place{font-size:22px;letter-spacing:.28em;color:var(--cream);text-shadow:0 0 22px rgba(244,239,228,.28);animation-duration:1.1s}#toast.egg{font-size:22px;letter-spacing:.08em;color:#c8ccd4;text-shadow:0 0 22px rgba(200,204,212,.4);animation-duration:1.6s}#pedal-wrap{position:absolute;left:0;right:0;bottom:calc(22px + var(--safe-bot));display:grid;place-items:center;z-index:3;pointer-events:none}#pedal{pointer-events:auto;position:relative;width:122px;height:122px;border-radius:50%;border:2px solid rgba(244,239,228,.2);background:radial-gradient(circle at 50% 40%,#22e38a33,#07080dc7 62%);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 40px #00000073,inset 0 0 24px #22e38a14;transition:transform .08s ease,border-color .08s ease,background .08s ease,box-shadow .08s ease}#pedal:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;border:1px solid rgba(34,227,138,.28);animation:pedalRing 1.8s ease-out infinite;pointer-events:none}#pedal:not(.held){animation:pedalIdle 1.8s ease-in-out infinite}#pedal.held{transform:scale(.92);border-color:var(--green);background:radial-gradient(circle at 50% 40%,#22e38a75,#07080d8c 62%);box-shadow:0 0 44px #22e38a52;animation:none}#pedal.held:before,#pedal.braking:before{animation:none;opacity:0}#pedal.braking{border-color:var(--red);background:radial-gradient(circle at 50% 40%,#ff2d4a57,#07080d99 62%);box-shadow:0 0 36px #ff2d4a47}@keyframes pedalRing{0%{transform:scale(.86);opacity:.7}to{transform:scale(1.18);opacity:0}}@keyframes pedalIdle{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}#pedal-state{font-family:Anton,sans-serif;font-size:28px;letter-spacing:.08em;line-height:1}.pedal-sub{margin-top:2px;font-size:10px;letter-spacing:.28em;color:var(--mute)}.panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:calc(28px + var(--safe-top)) 24px calc(36px + var(--safe-bot));background:linear-gradient(to top,rgba(4,5,10,.94) 0%,rgba(4,5,10,.58) 42%,rgba(4,5,10,.16) 70%,transparent 100%);text-align:center}.logo-lights{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0 0 12px;padding:7px 10px;background:#0c0e14e6;border:1px solid #2a2e3c;border-radius:999px;animation:rise .7s cubic-bezier(.16,1,.3,1) both}.lamp{width:9px;height:9px;border-radius:50%;background:#1b1d27;box-shadow:inset 0 0 0 1px #ffffff0f;transition:background .18s ease,box-shadow .18s ease}.lamp.red.on{background:var(--red);box-shadow:0 0 18px var(--red)}.lamp.yellow.on{background:var(--yellow);box-shadow:0 0 18px var(--yellow)}.lamp.green.on{background:var(--green);box-shadow:0 0 18px var(--green)}h1{font-family:Anton,sans-serif;font-size:clamp(52px,16vw,72px);line-height:.86;margin:0 0 12px;letter-spacing:.01em;text-shadow:0 8px 40px rgba(0,0,0,.55);animation:rise .8s cubic-bezier(.16,1,.3,1) .04s both}h2{font-family:Anton,sans-serif;font-size:clamp(44px,14vw,64px);line-height:.9;margin:0 0 10px;animation:rise .55s cubic-bezier(.16,1,.3,1) both}.eyebrow{margin:0 0 8px;font-size:11px;letter-spacing:.34em;color:var(--mute);font-weight:600;animation:rise .6s cubic-bezier(.16,1,.3,1) both}.tagline{margin:0 0 14px;font-size:18px;font-weight:600;color:var(--yellow);animation:rise .75s cubic-bezier(.16,1,.3,1) .08s both}.pitch{margin:0 0 22px;max-width:22em;color:var(--mute);line-height:1.45;font-size:14px;animation:rise .75s cubic-bezier(.16,1,.3,1) .12s both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.flavor{margin:0 0 22px;color:var(--mute);max-width:20em}#board .flavor{margin-bottom:12px}.board-tabs{display:flex;width:100%;max-width:280px;margin:0 0 14px;padding:4px;gap:4px;border:1px solid var(--line);border-radius:999px;background:#07080d8c}.board-tabs button{flex:1;width:auto;max-width:none;height:36px;letter-spacing:.14em;font-size:11px;background:transparent;color:var(--mute);box-shadow:none}.board-tabs button:hover{transform:none;box-shadow:none}.board-tabs button[aria-selected=true]{background:var(--cream);color:#111218}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:100%;max-width:280px;height:56px;border-radius:999px;background:var(--cream);color:#111218;font-family:Outfit,sans-serif;font-size:15px;font-weight:700;letter-spacing:.16em;cursor:pointer;box-shadow:0 10px 28px #00000047;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}button:hover{transform:translateY(-1px);box-shadow:0 14px 32px #00000057}button:active{transform:scale(.98)}#btn-start{animation:playPulse 2.6s ease-in-out infinite,rise .8s cubic-bezier(.16,1,.3,1) .16s both}@keyframes playPulse{0%,to{box-shadow:0 10px 28px #00000047,0 0 #f4efe447}50%{box-shadow:0 10px 28px #00000047,0 0 0 10px #f4efe400}}button.ghost{margin-top:10px;background:transparent;color:var(--cream);border:1px solid var(--line)}.best-line{margin:16px 0 10px;color:var(--mute);letter-spacing:.12em;font-size:12px}.best-line strong{color:var(--cream);font-family:IBM Plex Mono,monospace}.controls-hint{margin:0;font-size:11px;letter-spacing:.22em;color:#9aa0b2cc}.stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}.stats div{background:#07080d80;border:1px solid var(--line);border-radius:14px;padding:10px 6px}.stats strong{display:block;font-size:20px}#auth-bar{position:absolute;top:calc(12px + var(--safe-top));left:12px;right:12px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}#auth-bar button,#auth-user{pointer-events:auto}#auth-slot,#auth-user{display:flex;align-items:center;gap:8px;min-width:0}.chip,.text-btn{width:auto;height:36px;padding:0 12px;letter-spacing:.12em;font-size:11px;max-width:none}.chip.google{display:inline-flex;align-items:center;gap:8px;background:var(--cream)}.chip.google svg{width:14px;height:14px}.text-btn{background:transparent;color:var(--mute);border:0;padding:0 4px}#auth-user{background:#07080d9e;border:1px solid var(--line);border-radius:999px;padding:4px 8px 4px 4px}#auth-photo{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#1a1c24}#auth-name{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;letter-spacing:.08em;font-weight:600}.auth-error{position:absolute;top:calc(52px + var(--safe-top));left:16px;right:16px;z-index:6;margin:0;text-align:center;color:var(--red);font-size:12px}#board-list{width:100%;list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:180px;max-height:52vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:manipulation}#board-list *{touch-action:manipulation}#board-list li{display:grid;grid-template-columns:28px 28px 1fr auto;align-items:center;gap:8px;text-align:left;background:#07080d8c;border:1px solid var(--line);border-radius:14px;padding:8px 10px}#board-list li.me{border-color:#ffc01a73}#board-list img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#1a1c24}#board-list .rank{font-family:IBM Plex Mono,monospace;color:var(--mute);font-size:12px}#board-list .who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}#board-list .meters{font-family:IBM Plex Mono,monospace;color:var(--yellow);font-size:13px}button.google:disabled,button.chip:disabled{opacity:.6}.hidden{display:none!important}.panel.is-exit{display:flex!important;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .32s ease,transform .32s ease}#result h2.good{color:var(--green)}#result h2.bad{color:var(--red)}.result-miss{margin:2px 0 16px;display:flex;flex-direction:column;align-items:center;gap:4px}#result-left{margin:0;font-family:IBM Plex Mono,monospace;font-size:22px;letter-spacing:.08em;color:var(--cream)}#result-pace{margin:0;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--yellow)}#result h2.omen{color:#ff8a3d;text-shadow:0 0 28px rgba(255,138,61,.35)}.new-best{margin:-4px 0 14px;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.22em;color:#111218;background:var(--yellow);box-shadow:0 0 24px #ffc01a59;animation:bestPop .5s cubic-bezier(.16,1,.3,1)}@keyframes bestPop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.icon-btn{position:absolute;left:14px;bottom:calc(18px + var(--safe-bot));z-index:7;width:42px;height:42px;max-width:none;padding:0;border-radius:50%;background:#07080d9e;color:var(--cream);border:1px solid var(--line);box-shadow:none;display:grid;place-items:center}.icon-btn.right{left:auto;right:14px}#pause h2{font-size:clamp(40px,12vw,56px)}#pause{background:linear-gradient(to top,rgba(4,5,10,.96) 0%,rgba(4,5,10,.72) 48%,rgba(4,5,10,.28) 78%,transparent 100%)}.icon-btn:hover{transform:none;background:#12141ce6}.icon-btn svg{width:18px;height:18px}.icon-btn .icon-off,.icon-btn.is-muted .icon-on{display:none}.icon-btn.is-muted .icon-off{display:block}#board-list li{animation:rise .4s cubic-bezier(.16,1,.3,1) both}#board-list[data-ready] li{animation:none}#board-list li:nth-child(1){animation-delay:.02s}#board-list li:nth-child(2){animation-delay:.05s}#board-list li:nth-child(3){animation-delay:.08s}#board-list li:nth-child(4){animation-delay:.11s}#board-list li:nth-child(5){animation-delay:.14s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.noscript{box-sizing:border-box;min-height:100dvh;padding:64px 24px;text-align:center;max-width:32em;margin:0 auto}.noscript h1{font-size:clamp(40px,12vw,64px)}
