body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#040915;color:#e2e8f0}.spaceracer-shell{--game-shell-max-width: 1280px}.top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.status{color:#cbd5e1;font-weight:600}.hud{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.multiplayer-opt-in{position:relative;display:inline-flex;max-width:min(280px,100%);min-height:38px;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 9px;border:1px solid #475569;border-radius:999px;background:#0f172a;color:#e2e8f0;font-size:.78rem;font-weight:750;white-space:nowrap;cursor:pointer}.multiplayer-opt-in[hidden]{display:none}.multiplayer-opt-in__label{color:#cbd5e1}.multiplayer-opt-in__status{flex:1 1 100%;color:#cbd5e1;font-size:.68rem;font-weight:600;line-height:1.25;white-space:normal}.multiplayer-opt-in input{position:absolute;width:1px;height:1px;opacity:0}.multiplayer-opt-in__track{display:inline-flex;width:36px;height:20px;align-items:center;padding:2px;border:1px solid #64748b;border-radius:999px;background:#334155;transition:background .16s ease,border-color .16s ease}.multiplayer-opt-in__track span{width:14px;height:14px;border-radius:50%;background:#f8fafc;transition:transform .16s ease}.multiplayer-opt-in input:checked+.multiplayer-opt-in__track{border-color:#86efac;background:#15803d}.multiplayer-opt-in input:checked+.multiplayer-opt-in__track span{transform:translate(16px)}.multiplayer-opt-in input:focus-visible+.multiplayer-opt-in__track{outline:3px solid #93c5fd;outline-offset:3px}.multiplayer-opt-in input:disabled+.multiplayer-opt-in__track{opacity:.65}.pill{background:#0f172acc;border:1px solid #334155;border-radius:999px;padding:4px 10px;font-weight:700}button{border:none;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700;background:#2563eb;color:#fff}button.secondary{background:#1e293b;color:#e2e8f0}button:disabled{cursor:wait;opacity:.62}.playfield{position:relative;flex:1 1 0;min-height:0;border-radius:14px;overflow:hidden;border:2px solid #334155;background:radial-gradient(circle at 30% 20%,#0f172a,#020617 70%)}.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#planetLayer{position:absolute;inset:0}.planet{position:absolute;width:500px;height:500px;object-fit:contain;opacity:.92;pointer-events:none}.lane{position:absolute;left:50px;right:50px;height:3px;background:#64748b66}.lane.player{top:200px}.lane.cpu{top:380px}.finish{position:absolute;top:24px;right:26px;padding:6px 10px;border-radius:999px;background:#fef3c7;color:#7c2d12;font-weight:800}.race-countdown{position:absolute;inset:0;display:grid;place-items:center;z-index:5;background:#02061757;color:#fef3c7;font-size:clamp(4rem,16vw,9rem);font-weight:900;text-shadow:0 8px 28px rgba(2,6,23,.72);pointer-events:none}.race-countdown.hidden{display:none}.rocket{position:absolute;width:280px;height:280px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(15,23,42,.5))}.rocket-label{position:absolute;max-width:min(40vw,220px);overflow:hidden;font-size:.9rem;font-weight:700;color:#e2e8f0;text-shadow:0 2px 8px rgba(2,6,23,.9);text-overflow:ellipsis;white-space:nowrap}.question{position:absolute;left:22px;bottom:18px;display:flex;align-items:center;gap:8px}.prompt{font-size:clamp(1.8rem,5vw,3rem);font-weight:800}.question input{width:140px;font-size:1.4rem;border-radius:10px;border:1px solid #64748b;padding:8px 10px}.bottom{margin-top:0;min-height:22px;color:#cbd5e1;font-weight:600}.modal{position:fixed;inset:0;background:#020617bf;display:grid;place-items:center;z-index:1000}.modal.hidden{display:none}#resultModal .card{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.card{background:#0f172a;border:1px solid #334155;border-radius:14px;padding:16px;width:min(560px,92vw)}.card h2{margin:0 0 6px}.race-winner-showcase{display:grid;justify-items:center;gap:8px;margin:0 auto 16px}.race-winner-avatar{position:relative;width:132px;height:132px;border:3px solid #fbbf24;border-radius:50%;background:radial-gradient(circle at 50% 38%,#1e3a5f,#111b32 72%);box-shadow:0 10px 22px #0206177a}.race-winner-monster{position:absolute;inset:7px 12px 5px}.race-winner-monster .monster-layer{position:absolute;top:0;left:50%;width:auto;max-width:none;height:100%;transform:translate(-50%);object-fit:contain;pointer-events:none}.race-winner-trophy{position:absolute;top:-7px;right:-7px;display:grid;width:43px;height:43px;place-items:center;border:4px solid #0f172a;border-radius:50%;background:#fbbf24;color:#713f12;box-shadow:0 6px 12px #0206176b}.race-winner-trophy svg{width:25px;height:25px}.race-winner-name{color:#fde68a;font-weight:800;line-height:1.35;text-align:center}.class-race-message-notice{margin:14px 0;padding:12px 14px;border:1px solid rgba(125,211,252,.48);border-left:4px solid #38bdf8;border-radius:12px;background:linear-gradient(115deg,#0e749057,#1e293be6);animation:class-race-message-arrive .32s ease-out both}.class-race-message-from{color:#bae6fd;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.class-race-message-text{margin:4px 0 0;color:#f8fafc;font-size:1.1rem;font-weight:800}.class-race-message-composer{margin:14px 0;padding:12px;border:1px solid #334155;border-radius:12px;background:#0f172ad1}.class-race-message-composer h3{margin:0 0 10px;color:#cbd5e1;font-size:.9rem}.class-race-message-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.class-race-message-option{min-height:40px;padding:8px 10px;border:1px solid #475569;border-radius:10px;background:#1e293b;color:#e2e8f0;font-size:.88rem;line-height:1.25;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.class-race-message-option:hover:not(:disabled){transform:translateY(-1px);border-color:#7dd3fc;background:#0c4a6e}.class-race-message-option:focus-visible{outline:3px solid #7dd3fc;outline-offset:2px}.class-race-message-option:disabled{cursor:wait;opacity:.65}.class-race-message-status{min-height:1.2em;margin:9px 2px 0;color:#94a3b8;font-size:.84rem}@keyframes class-race-message-arrive{0%{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.class-race-message-notice{animation:none}}@media(max-width:480px){.race-winner-avatar{width:116px;height:116px}.class-race-message-options{grid-template-columns:1fr}}.multiplayer-ready-status{min-height:1.4em;margin-top:8px;color:#93c5fd;font-weight:700}.rocket-picker{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.rocket-option{border:2px solid #334155;border-radius:10px;background:#020617;padding:8px}.rocket-option.selected{border-color:#60a5fa}.rocket-option img{width:100%;height:140px;object-fit:contain}.name-row{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
