:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa;overflow:hidden}.app{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:.5rem;gap:.5rem}.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;text-align:center;padding:2rem}.screen h1{font-size:2.5rem;letter-spacing:-.03em}.screen .subtitle{color:#ffffff80;font-size:.95rem;max-width:440px}.screen h2{font-size:1.5rem;color:#f59e0b}.btn{padding:.7rem 2.5rem;border:none;border-radius:.5rem;color:#fff;font-family:inherit;font-size:1rem;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.04em}.btn:hover{transform:scale(1.03)}.btn:active{transform:scale(.98)}.btn-primary{background:#8b5cf6}.btn-primary:hover{background:#7c3aed}.btn-green{background:#10b981}.btn-green:hover{background:#059669}.btn-red{background:#ef4444}.btn-red:hover{background:#dc2626}.btn-gold{background:linear-gradient(135deg,#f59e0b,#d97706)}.controls-hint{font-size:.7rem;color:#ffffff59;max-width:320px;line-height:1.8}.bracket{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;justify-content:center}.round-col{display:flex;flex-direction:column;gap:.5rem}.round-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#fff6;text-align:center;margin-bottom:.3rem}.matchup{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.4rem;padding:.4rem .7rem;font-size:.8rem;min-width:160px}.matchup .racer{display:flex;justify-content:space-between;padding:.15rem 0}.matchup .racer.winner{color:#10b981;font-weight:600}.matchup .racer.loser{color:#ffffff4d}.matchup .time{font-size:.7rem;color:#ffffff80;font-family:ui-monospace,monospace}.hud{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;justify-content:center;padding:.4rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;width:100%;max-width:960px;font-size:.8rem}.hud-item{display:flex;align-items:center;gap:.3rem}.hud-item .label{color:#ffffff73;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.hud-item .value{font-family:ui-monospace,monospace;font-weight:600}.hud-item .value.gold{color:#f59e0b}.hud-item .value.green{color:#10b981}.hud-item .value.red{color:#ef4444}.hud-item .value.purple{color:#8b5cf6}.checkpoints-bar{display:flex;gap:.25rem;align-items:center}.cp-dot{width:10px;height:10px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);transition:all .2s}.cp-dot.reached{background:#10b981;border-color:#10b981}.cp-dot.current{background:#f59e0b;border-color:#f59e0b;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.game-viewport{position:relative;width:960px;height:500px;border:2px solid rgba(255,255,255,.12);border-radius:.5rem;overflow:hidden;background:#0f172a;flex-shrink:0}.game-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.results{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;min-width:320px}.results h2{font-size:1.4rem;margin-bottom:.5rem}.result-row{display:flex;justify-content:space-between;width:100%;gap:2rem;font-size:.9rem;padding:.3rem 0}.result-row .pos{width:24px;text-align:center;font-weight:700}.result-row .name{flex:1}.result-row .rtime{font-family:ui-monospace,monospace;color:#fff9}.result-row.first .pos,.result-row.first .name{color:#f59e0b}.result-row.player-row{background:#8b5cf61a;border-radius:.3rem;padding:.3rem .5rem}.winner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100}.winner-card{text-align:center;padding:3rem;background:#ffffff0d;border:1px solid rgba(245,158,11,.3);border-radius:1rem;max-width:400px}.winner-card h2{font-size:2rem;color:#f59e0b;margin-bottom:.5rem}.winner-card p{color:#fff9;margin-bottom:.3rem;font-size:.9rem}.winner-card .trophy{font-size:4rem;margin-bottom:1rem}.eliminated-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100}.eliminated-card{text-align:center;padding:3rem;background:#ffffff0d;border:1px solid rgba(239,68,68,.3);border-radius:1rem;max-width:400px}.eliminated-card h2{font-size:2rem;color:#ef4444;margin-bottom:.5rem}.eliminated-card p{color:#fff9;margin-bottom:.3rem;font-size:.9rem}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}
