:root{color:#172033;font-family:ui-rounded,Trebuchet MS,Segoe UI,sans-serif;font-weight:700}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#8fd4ff;overflow:hidden;position:fixed;inset:0;width:100%;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button,p,h1,h2{margin:0;font:inherit}button{cursor:pointer;touch-action:none}[hidden]{display:none!important}#app,#view{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#menu,#hud,#finish,#portrait-lock{position:absolute;inset:0}#menu{display:flex;flex-direction:column;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));pointer-events:none;background:linear-gradient(to top,#1020346b,#10203400 46%),linear-gradient(to right,#10203447,#10203400 42%)}#menu>*{pointer-events:auto}.menu-top,.menu-bottom,.menu-tools,.roster,.finish-actions,.cluster{display:flex;gap:10px}.menu-top,.menu-bottom{justify-content:space-between;align-items:flex-end}.menu-top{align-items:flex-start}.menu-tools{align-items:center}.brand{max-width:min(460px,58vw)}#logo svg{display:block;width:min(340px,48vw);height:auto;filter:drop-shadow(0 8px 0 rgba(18,32,48,.18))}.tag,.best,.kb-hint,.eyebrow,#finish-best{font-weight:750;letter-spacing:.01em}.tag{margin-top:6px;color:#17324a;background:#ffffffd1;border:3px solid #172033;border-radius:12px;padding:6px 10px;width:fit-content;max-width:100%;box-shadow:3px 3px #172033}.best{color:#172033;background:#fffc;border-radius:999px;padding:6px 10px;border:2px solid #172033}.mute,.pad,.card,#race,#again,#repick{border:3px solid #172033;background:#ffffffeb;color:#172033;box-shadow:4px 4px #172033;border-radius:16px}.mute{border-radius:999px;padding:8px 12px;background:#fff6d4}.mute[aria-pressed=true]{background:#d9e2ea}.roster{align-items:stretch;flex-wrap:nowrap}.card{width:112px;padding:8px 8px 10px;text-align:left;display:flex;flex-direction:column;gap:2px}.card strong{font-size:14px;line-height:1.1}.card em{font-style:normal;font-size:11px;font-weight:750;color:#5c6b7c}.card.selected{transform:translateY(-8px);background:#fffaf0;box-shadow:4px 4px #ff5a3c;border-color:#ff5a3c}.swatch{height:54px;position:relative;margin-bottom:4px}.swatch .body{position:absolute;left:18px;right:18px;bottom:10px;height:22px;background:var(--body);border:3px solid #172033;border-radius:6px}.swatch .visor{position:absolute;width:22px;height:16px;left:46px;bottom:28px;background:var(--trim);border:3px solid #172033}.swatch .visor:after{content:"";position:absolute;left:3px;right:3px;top:3px;height:4px;background:var(--visor)}.swatch .wheel{position:absolute;bottom:4px;width:14px;height:14px;background:#24262c;border:2px solid #172033}.swatch .wheel.left{left:16px}.swatch .wheel.right{right:16px}#race,#again{background:#ff5a3c;color:#fff;min-width:118px;min-height:118px;font-size:28px;letter-spacing:.02em}#race:active,.card:active,.pad.held,#again:active{transform:translate(2px,2px);box-shadow:0 0 #172033}.card.selected:active{transform:translate(-2px,-4px)}#hud,.topbar,.controls,.pips,.hud-mute,.kb-hint,.banner{pointer-events:none}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left))}.center-stack{display:flex;flex-direction:column;align-items:center;gap:4px}.pill{background:#121c2ac7;color:#fff;border-radius:999px;padding:7px 12px;border:2px solid rgba(255,255,255,.45);font-variant-numeric:tabular-nums;letter-spacing:.04em}.time{font-size:22px;min-width:118px;text-align:center}.racebar{position:relative;width:min(280px,34vw);height:12px;border-radius:99px;border:2px solid #172033;background:#ffffff8c}.racebar i{position:absolute;top:50%;width:12px;height:12px;margin:-8px 0 0 -6px;border:2px solid #172033;border-radius:3px}.racebar i.me{width:16px;height:16px;margin:-10px 0 0 -8px;background:#fff!important;z-index:1}.banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.9);font-size:84px;color:#fff;letter-spacing:.04em;opacity:0;text-shadow:4px 4px 0 #ff5a3c,8px 8px 0 #172033}.banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.controls{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:0 calc(14px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left))}.cluster{pointer-events:auto}.pad{width:78px;height:78px;font-size:28px;pointer-events:auto}.pad.wide{width:92px;font-size:16px;letter-spacing:.04em}.pad.boost{background:#ffd166}.pad.held{background:#fff3bf}.pips{position:absolute;right:calc(18px + env(safe-area-inset-right));bottom:calc(102px + env(safe-area-inset-bottom));display:flex;gap:6px}.pips span{width:16px;height:16px;background:#ffffff59;border:2px solid #172033;border-radius:4px}.pips span.on{background:#ffd166}.hud-mute{position:absolute;left:calc(14px + env(safe-area-inset-left));top:calc(58px + env(safe-area-inset-top));pointer-events:auto;font-size:13px}.kb-hint{display:none;position:absolute;left:50%;bottom:18px;transform:translate(-50%);color:#17324a;background:#ffffffc7;border-radius:999px;padding:4px 10px;font-size:12px}@media(pointer:fine){.kb-hint{display:block}}#finish{display:grid;place-items:center;background:#12243a47;pointer-events:auto}.finish-card{width:min(420px,calc(100vw - 32px));background:#fffcf5f5;border:4px solid #172033;border-radius:24px;box-shadow:8px 8px #172033;padding:22px 22px 18px;text-align:center}.eyebrow{color:#ff5a3c;letter-spacing:.14em;text-transform:uppercase;font-size:13px}#finish-place{font-size:48px;margin:4px 0}.finish-time{font-size:36px;font-variant-numeric:tabular-nums}#finish-new{margin-top:6px;color:#8a5a00;background:#ffd166;display:inline-block;border:3px solid #172033;border-radius:999px;padding:3px 10px}.finish-actions{justify-content:center;margin-top:14px}#repick{min-height:64px;padding:0 16px;background:#fff}#again{min-height:64px;font-size:22px}#portrait-lock{display:none;z-index:20;background:linear-gradient(#8fd4ff,#d7f3c8);place-items:center;text-align:center;padding:24px}.turn h2{font-size:36px;margin:12px 0 6px}.turn p{color:#24506a}.phone{display:inline-block;width:54px;height:86px;border:6px solid #172033;border-radius:10px;background:#ffd166;box-shadow:6px 6px #172033;position:relative}.phone:after{content:"";position:absolute;left:50%;bottom:6px;width:16px;height:4px;margin-left:-8px;background:#172033}@media(orientation:portrait){#portrait-lock{display:grid}}@media(max-height:360px){.card{width:96px}.swatch{height:42px}#race{min-width:96px;min-height:96px;font-size:22px}.pad{width:68px;height:68px}.banner{font-size:64px}}
