:root{--bg: #06060c;--panel: rgba(12, 10, 24, .94);--ink: #f0eef8;--muted: #9a94b8;--accent: #ff3ac8;--accent2: #40c8ff;--gold: #ffd040;--line: #2c2648;--font: "Press Start 2P", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);overflow:hidden}#game{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}#game canvas{image-rendering:pixelated;image-rendering:crisp-edges;cursor:none;display:block}#ui{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px;background:radial-gradient(ellipse at center,#280a3c8c,#000000d9)}#ui.hidden{display:none}h1{font-size:22px;margin:0 0 16px;color:var(--gold);text-shadow:3px 3px 0 #000,0 0 18px rgba(255,60,200,.5);letter-spacing:1px}h2{font-size:16px;margin:8px 0;text-shadow:2px 2px 0 #000}h3{font-size:11px;color:var(--accent2);margin:14px 0 8px}p,li,small,.muted,input,label span{font-size:10px;line-height:1.7}.muted{color:var(--muted)}button{font-family:var(--font);font-size:11px;color:var(--ink);background:#1c1834;border:2px solid var(--line);padding:10px 14px;cursor:pointer;box-shadow:3px 3px #000;transition:transform .05s,border-color .1s}button:hover:not(:disabled){border-color:var(--accent);transform:translate(-1px,-1px)}button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #000}button:disabled{opacity:.5;cursor:default}button.primary{background:#6a1458;border-color:var(--accent);color:#fff}button.on{border-color:var(--gold);color:var(--gold);background:#2c2408}button.small{font-size:9px;padding:7px 10px}input{font-family:var(--font);background:#0c0a18;color:var(--ink);border:2px solid var(--line);padding:8px;outline:none}input:focus{border-color:var(--accent2)}.screen{background:var(--panel);border:2px solid var(--line);box-shadow:0 0 0 2px #000,8px 8px #000;padding:22px;max-width:min(1100px,100%);width:100%;max-height:calc(100vh - 32px);overflow:auto}.screen.overlay{max-width:560px;text-align:center}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.menu-buttons{display:flex;flex-direction:column;gap:10px;margin-top:18px;align-items:stretch;max-width:360px;margin-inline:auto}.cols{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}@media(max-width:760px){.cols,.online-cols{grid-template-columns:1fr!important}}.menu{max-width:640px;text-align:center}.logo{display:flex;justify-content:center;align-items:baseline;gap:12px;margin:4px 0 6px}.logo .l1{font-size:clamp(28px,7vw,54px);color:var(--accent);text-shadow:4px 4px 0 #000,0 0 24px rgba(255,58,200,.7);transform:skew(-8deg);display:inline-block}.logo .l2{font-size:clamp(22px,5vw,40px);color:var(--gold);text-shadow:4px 4px 0 #000}.tag{font-size:10px;color:var(--muted);margin-bottom:12px}.showcase{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:10px 0}.showcase .carimg{height:64px;animation:bob 2s ease-in-out infinite}.showcase .carimg:nth-child(2n){animation-delay:-1s}@keyframes bob{50%{transform:translateY(-4px)}}.name{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.foot{margin-top:18px;font-size:8px;color:var(--muted);line-height:1.8}.carimg{image-rendering:pixelated;display:block}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;align-content:start}.car{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;font-size:8px}.car .carimg{height:56px}.car.boss{border-color:#803030}.detail{background:#0c0a18;border:2px solid var(--line);padding:14px}.detail-img{display:flex;justify-content:center}.detail-img .carimg{height:150px}.stats{display:grid;gap:6px;margin:10px 0}.stat{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:8px;font-size:8px}.bar{height:8px;background:#1c1834;border:1px solid #000}.bar>div{height:100%}.special{background:#2a0e12;border:1px solid #6a2020;padding:8px;font-size:9px;line-height:1.7}.special b{color:#ff9040}.form{display:grid;gap:10px;margin-top:12px}.form label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px}.seg{display:flex;flex-wrap:wrap;gap:4px}.seg button{padding:7px 9px;font-size:9px;box-shadow:2px 2px #000}.arenas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.arena{text-align:left;display:flex;flex-direction:column;gap:6px;border-left:6px solid var(--accent)}.arena b{font-size:11px}.arena small{color:var(--muted);font-size:8px;line-height:1.6}.slider{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px;margin:6px 0}.binds{display:grid;gap:4px}.bind{display:grid;grid-template-columns:1fr 140px;align-items:center;gap:8px;font-size:9px}.bind button{padding:6px;font-size:8px;box-shadow:2px 2px #000}.help{padding-left:16px;margin:0}.online-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{background:#0c0a18;border:2px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:10px}input.code{font-size:20px;text-transform:uppercase;letter-spacing:8px;text-align:center}.code-big{color:var(--accent2);letter-spacing:6px}.share{display:flex;gap:8px;margin-bottom:14px}.share input{flex:1;min-width:0;font-size:9px}.players{display:grid;gap:6px;align-content:start}.player{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;background:#0c0a18;border:2px solid var(--line);padding:6px;font-size:10px}.player .carimg{grid-row:span 2;height:40px}.player.me{border-color:var(--gold)}.player.bot{grid-template-columns:1fr;opacity:.7}.results h1.win{color:#60ff60}.results h1.lose{color:#ff6060}.ending{margin:12px 0;display:flex;flex-direction:column;align-items:center}.ending .carimg{height:120px}.ending .unlock{color:var(--gold)}.boss{display:flex;gap:14px;align-items:center;text-align:left;background:#200808;border:2px solid #602020;padding:10px;margin-top:12px}.boss .carimg{height:110px}.boss b{color:#ff5050;font-size:11px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#1c1834;border:2px solid var(--accent);padding:10px 16px;font-size:10px;z-index:10;box-shadow:3px 3px #000}
