:root{--cyan: #ffd166;--magenta: #ff6b35;--jade: #4ecdc4;--red: #e63946;--ink: #1b1f24;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ink);color:#fff;font-family:-apple-system,SF Pro Display,Helvetica Neue,PingFang HK,Noto Sans TC,sans-serif;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}#gl{position:fixed;inset:0;width:100%;height:100%;display:block}#overlay{position:fixed;inset:0;pointer-events:none}#overlay>*{pointer-events:auto}.hud{position:absolute;left:12px;top:12px;font:12px/1.4 ui-monospace,Menlo,monospace;color:#e8e8e4;background:#00000073;padding:8px 10px;border-radius:6px;white-space:pre;pointer-events:none}.banner{position:absolute;left:50%;top:18%;transform:translate(-50%);font-weight:900;font-size:clamp(28px,8vw,72px);letter-spacing:.04em;text-shadow:0 2px 10px rgba(0,0,0,.7);pointer-events:none;text-align:center}.touch-zone{position:absolute;bottom:0;height:45%;width:50%}.touch-zone.left{left:0}.touch-zone.right{right:0}.timer{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);font-weight:900;font-size:clamp(34px,7vw,64px);letter-spacing:.06em;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px rgba(0,0,0,.7);pointer-events:none;transition:transform .2s}.timer.urgent{color:var(--red);text-shadow:0 0 18px var(--red),0 0 40px var(--red);transform:translate(-50%) scale(1.35)}.status{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;font-weight:800;font-size:clamp(14px,2.6vw,22px);text-align:right;pointer-events:none;text-shadow:0 0 10px rgba(0,0,0,.8)}.status .it{color:var(--red);text-shadow:0 0 12px var(--red)}.status .you{color:var(--jade)}.callout{position:absolute;left:50%;top:30%;transform:translate(-50%) scale(.6);opacity:0;font-weight:900;font-size:clamp(30px,9vw,84px);letter-spacing:.04em;white-space:nowrap;pointer-events:none;text-shadow:0 3px 12px rgba(0,0,0,.75);transition:transform .12s cubic-bezier(.2,1.6,.4,1),opacity .12s}.callout.show{opacity:1;transform:translate(-50%) scale(1)}.callout.red{color:var(--red);text-shadow:0 3px 12px rgba(0,0,0,.75)}.callout.jade{color:var(--jade);text-shadow:0 3px 12px rgba(0,0,0,.75)}.flood{position:absolute;inset:0;pointer-events:none;opacity:0;box-shadow:inset 0 0 18vmin 6vmin var(--red);transition:opacity .15s}.panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#1b1f24d9;backdrop-filter:blur(6px);text-align:center;padding:20px}.panel h1{margin:0;font-weight:900;font-size:clamp(34px,9vw,88px);letter-spacing:.04em;line-height:1}.panel h1.caught{color:var(--red);text-shadow:0 0 22px var(--red),0 0 60px var(--red)}.panel h1.survived{color:var(--jade);text-shadow:0 0 22px var(--jade),0 0 60px var(--jade)}.panel .sub{font-size:clamp(14px,3vw,20px);opacity:.85}.cars{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.car-btn{border:2px solid rgba(255,255,255,.25);background:#ffffff0f;color:#fff;border-radius:12px;padding:14px 16px;min-width:120px;font-weight:800;font-size:15px;cursor:pointer}.car-btn .swatch{display:block;width:100%;height:26px;border-radius:6px;margin-bottom:8px}.car-btn.sel{border-color:var(--cyan);box-shadow:0 0 16px var(--cyan)}.btn{border:0;border-radius:999px;padding:16px 26px;font-weight:900;font-size:clamp(16px,3.4vw,22px);cursor:pointer;color:#05060a;background:var(--jade);box-shadow:0 0 22px #37ffb099}.btn.magenta{background:var(--magenta);color:#fff;box-shadow:0 0 22px #ff2bd699}.btn.ghost{background:#ffffff1a;color:#fff;box-shadow:none}.results{display:grid;grid-template-columns:auto 1fr auto;gap:6px 14px;font-size:clamp(13px,2.6vw,18px);text-align:left;min-width:min(90vw,420px)}.results .me{color:var(--cyan);font-weight:800}.results .loser{color:var(--red)}.toast{position:absolute;left:50%;bottom:12%;transform:translate(-50%);background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:10px 16px;font-weight:700;pointer-events:none}.spectate{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);background:#0000008c;border-radius:999px;padding:10px 18px;font-weight:800;letter-spacing:.04em;pointer-events:none}.hud{top:auto;bottom:max(10px,env(safe-area-inset-bottom));left:10px;font-size:11px;opacity:.8}.hint{position:absolute;left:50%;bottom:22%;transform:translate(-50%);opacity:.75;font-weight:700;letter-spacing:.05em;pointer-events:none;text-align:center}.wallet-chip{position:absolute;right:12px;bottom:max(12px,env(safe-area-inset-bottom));border:1px solid rgba(55,255,176,.5);background:#05060ab3;color:#fff;border-radius:14px;padding:8px 12px;text-align:right;cursor:pointer}.wallet-chip .amt{display:block;font-weight:900;font-size:18px;color:var(--jade);text-shadow:0 0 10px rgba(55,255,176,.6)}.wallet-chip .lbl{display:block;font-size:11px;opacity:.8}.panel.wallet{justify-content:flex-start;padding-top:12vh;overflow-y:auto}.name-input{font:inherit;font-size:18px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:#ffffff14;color:#fff;width:min(80vw,300px);text-align:center}.end-wallet{color:var(--jade);font-weight:800}.mute{position:absolute;left:12px;top:max(12px,env(safe-area-inset-top));width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#05060a99;color:#fff;font-size:18px;cursor:pointer}
