body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;color:#eaeaf5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}#root{height:100vh;overflow:hidden;width:100vw}.scoreboard-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05060ae6;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.scoreboard-modal{animation:slideUp .4s ease;background:linear-gradient(145deg,#12141f,#1a1d2e);border:1px solid #ffffff14;border-radius:24px;box-shadow:0 25px 80px #0009;max-height:85vh;overflow-y:auto;padding:32px;position:relative;width:min(500px,90vw)}.scoreboard-close{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:32px;position:absolute;right:16px;top:16px;transition:background .2s;width:32px}.scoreboard-close:hover{background:#fff3}.scoreboard-header{margin-bottom:24px;text-align:center}.scoreboard-header h2{color:gold;font-size:28px;margin:0}.scoreboard-subtitle{color:#fff9;font-size:14px;margin:8px 0 0}.new-score-section{background:linear-gradient(135deg,#5865f233,#ffd7001a);border:1px solid #ffd7004d;border-radius:16px;margin-bottom:24px;padding:20px}.congrats-banner{color:gold;font-size:18px;font-weight:700;margin-bottom:16px;text-align:center}.name-entry{display:flex;gap:12px}.name-entry input{background:#0000004d;border:2px solid #5865f280;border-radius:10px;color:#fff;flex:1 1;font-size:16px;padding:12px 16px}.name-entry input:focus{border-color:#5865f2;outline:none}.name-entry input::placeholder{color:#fff6}.submit-btn{background:linear-gradient(135deg,#5865f2,#7289da);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px;transition:transform .2s,box-shadow .2s}.submit-btn:hover:not(:disabled){box-shadow:0 8px 20px #5865f266;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.5}.time-display{color:#fffc;font-size:14px;margin-top:12px;text-align:center}.invalid-conditions-section,.not-eligible-section{background:#ffffff0d;border-radius:12px;margin-bottom:24px;padding:16px;text-align:center}.not-eligible-text{color:#ffffffb3;font-size:14px;margin:8px 0 0}.invalid-text{color:orange;font-size:14px}.submitted-section{margin-bottom:24px}.rank-banner{background:#4ade801a;border:1px solid #4ade804d;border-radius:12px;color:#4ade80;font-size:24px;font-weight:700;padding:16px;text-align:center}.error-message{background:#ff50501a;border:1px solid #ff50504d;border-radius:8px;color:#ff5050;font-size:14px;margin-bottom:16px;padding:12px;text-align:center}.scoreboard-table{background:#0003;border-radius:16px;overflow:hidden}.scoreboard-table table{border-collapse:collapse;width:100%}.scoreboard-table th{background:#5865f233;color:#9da6ff;font-size:12px;letter-spacing:.1em;padding:14px 12px;text-align:left;text-transform:uppercase}.scoreboard-table td{border-bottom:1px solid #ffffff0d;color:#fff;padding:14px 12px}.scoreboard-table tr:last-child td{border-bottom:none}.scoreboard-table tr:hover{background:#ffffff08}.highlight-row{animation:highlightPulse 2s ease;background:#ffd7001a!important}.rank-cell{font-size:18px;width:50px}.name-cell{font-weight:600}.time-cell{color:#4ade80}.lap-cell,.time-cell{font-family:SF Mono,Monaco,monospace}.lap-cell{color:#fff9;font-size:13px}.loading,.no-scores{color:#ffffff80;padding:40px;text-align:center}@keyframes highlightPulse{0%,to{background:#ffd7001a}50%{background:#ffd70033}}.main-menu{color:#f6f8ff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;overflow:hidden;position:relative;width:100%}.menu-background{background:radial-gradient(circle at top,#5865f280,#0000),radial-gradient(circle at 20% 80%,#ffd7004d,#0000),#05060a;inset:0;position:absolute}.orb{border-radius:50%;filter:blur(80px);height:320px;opacity:.4;position:absolute;width:320px}.orb-1{background:#5865f2;right:-40px;top:-60px}.orb-2{background:#ff9a62;bottom:-80px;left:-100px}.grid-overlay{background-image:linear-gradient(#ffffff0a 1px,#0000 0),linear-gradient(90deg,#ffffff0a 1px,#0000 0);background-size:80px 80px;inset:0;opacity:.4;position:absolute}.menu-content{display:flex;flex-direction:column;gap:32px;margin:0 auto;max-width:1100px;padding:60px 32px;position:relative;z-index:2}.hero-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#05060ab3;border:1px solid #ffffff14;border-radius:32px;box-shadow:0 30px 90px #00000073;padding:48px}.eyebrow{color:#9da6ff;font-size:12px;letter-spacing:.4em;margin-bottom:16px;text-transform:uppercase}.hero-card h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 18px}.hero-copy{color:#f6f8ffcc;font-size:18px;margin-bottom:28px;max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.menu-button{background:#ffffff14;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.menu-button.primary{background:linear-gradient(120deg,#5865f2,#8f9dff);box-shadow:0 15px 35px #5865f273}.menu-button.ghost{background:#0000;border:1px solid #ffffff59}.menu-button.scoreboard{background:linear-gradient(135deg,#ffd70033,#ffb34733);border:1px solid #ffd70066}.menu-button:hover{transform:translateY(-2px)}.hero-meta{color:#ffffffbf;display:flex;flex-wrap:wrap;font-size:14px;gap:14px}.hero-meta span{background:#ffffff0f;border:1px solid #ffffff0d;border-radius:999px;padding:6px 12px}.feature-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-card{background:#0f121cd9;border:1px solid #ffffff0f;border-radius:20px;box-shadow:0 20px 40px #0000004d;min-height:140px;padding:20px}.feature-card h3{color:#f6f8ff;font-size:18px;margin:0 0 10px}.feature-card p{color:#f6f8ffb3;font-size:14px;margin:0}.feature-card code{background:#ffffff14;border-radius:6px;font-size:13px;padding:2px 6px}.dialog-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.dialog{background:#2b2d3a;border-radius:12px;box-shadow:0 8px 32px #00000080;min-width:320px;padding:24px}.dialog h2{color:#eaeaf5;margin-bottom:20px}.dialog-content{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.dialog-content label{color:#eaeaf5;display:flex;flex-direction:column;gap:8px}.dialog-input{background:#151724;border:2px solid #5865f280;border-radius:10px;color:#eaeaf5;font-size:15px;padding:10px 12px}.dialog-input:focus{border-color:#4752c4;outline:none}.radio-group{display:flex;gap:16px}.radio-group label{align-items:center;cursor:pointer;flex-direction:row;gap:8px}.dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.dialog-buttons button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:all .2s}.dialog-buttons button:first-child{background-color:#5865f2;color:#fff}.dialog-buttons button:first-child:hover{background-color:#4752c4}.dialog-buttons button:last-child{background-color:#747f8d;color:#fff}.dialog-buttons button:last-child:hover{background-color:#99aab5}.race-setup-dialog{min-width:460px}.setup-row{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:16px;justify-content:space-between;padding:12px 0}.setup-row:last-child{border-bottom:none}.setup-row>label{color:#eaeaf5;flex-shrink:0;font-weight:600;min-width:60px}.setup-row .dialog-input{flex-shrink:0;width:260px}.laps-selector{align-items:center;display:flex;gap:12px}.laps-btn{background:#5865f24d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:20px;font-weight:700;height:36px;transition:background .15s ease;width:36px}.laps-btn:hover{background:#5865f280}.laps-value{color:#fff;font-size:20px;font-weight:700;min-width:40px;text-align:center}.weather-selector{display:flex;gap:8px}.weather-btn{background:#0000;border:2px solid #ffffff26;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .15s ease}.weather-btn:hover{border-color:#5865f280}.weather-btn.active{background:#5865f24d;border-color:#5865f2;color:#fff}.dialog-buttons .start-btn{background:linear-gradient(120deg,#5865f2,#8f9dff);box-shadow:0 8px 20px #5865f259}.game-window{background:#1a1a1a;height:100%;overflow:hidden;position:relative;width:100%}.game-canvas{display:block;height:100%;outline:none;width:100%}.game-hud{color:#fff;display:flex;flex-direction:column;font-size:18px;font-weight:700;gap:8px;left:20px;position:absolute;text-shadow:2px 2px 4px #000c;top:20px;z-index:10}.hud-lap,.hud-speed,.hud-time{background:#00000080;border-radius:4px;padding:8px 12px}.game-controls{bottom:20px;display:flex;gap:10px;position:absolute;right:20px;z-index:20}.control-button{background:#0d1117d9;border:1px solid #ffffff1f;border-radius:8px;color:#f5f5f7;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:transform .15s ease,background .15s ease}.control-button:hover{background:#ffffff1a;transform:translateY(-1px)}.control-button.retry-button{background:#5865f24d;border-color:#5865f280}.control-button.retry-button:hover{background:#5865f280}.finish-overlay{align-items:center;animation:fadeIn .3s ease forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a0fd9;display:flex;inset:0;justify-content:center;overflow:hidden;position:absolute;z-index:30}.finish-card{animation:slideUp .4s ease forwards;background:linear-gradient(145deg,#111420,#1b1f2d);border:1px solid #ffffff14;border-radius:24px;box-shadow:0 25px 80px #00000080;color:#f5f7ff;padding:32px;width:min(520px,90vw)}.finish-heading{align-items:center;display:flex;gap:16px;margin-bottom:24px}.finish-heading .flag{animation:wave 1.5s ease-in-out infinite;font-size:36px}.finish-heading h2{font-size:28px;margin:0}.finish-subtitle{color:#9da6ff;font-size:14px;letter-spacing:.08em;margin:0;text-transform:uppercase}.finish-tag{color:#ffffffbf;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin:0 0 18px}.podium{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.podium-step{animation:pop .4s ease forwards;background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;padding:16px;text-align:center}.podium-step.place-1{background:linear-gradient(160deg,gold,#ffb347);color:#1b1f2d;transform:translateY(-8px)}.podium-step.place-2{background:linear-gradient(160deg,#d7dde8,#b9c6d6);color:#1b1f2d}.podium-step.place-3{background:linear-gradient(160deg,#f7d6a3,#d5a770);color:#1b1f2d}.podium-rank{font-size:28px}.podium-name{font-weight:700;margin-top:6px}.podium-best,.podium-time{font-size:14px;margin-top:4px}.finish-stats{display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.finish-stats div{background:#ffffff08;border:1px solid #ffffff0d;border-radius:14px;flex:1 1;padding:12px 14px}.finish-stats .label{color:#9da6ff;display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.finish-stats strong{display:block;font-size:18px;margin-top:4px}.finish-actions{display:flex;gap:12px;justify-content:flex-end}.finish-actions button{border:none;border-radius:999px;cursor:pointer;flex:1 1;font-weight:600;padding:12px 18px;transition:transform .15s ease,box-shadow .15s ease}.finish-actions button:first-child{background:#5865f2;box-shadow:0 10px 20px #5865f24d;color:#fff}.finish-actions button.ghost{background:#0000;border:1px solid #ffffff4d;color:#f5f7ff}.finish-actions .scoreboard-btn{background:linear-gradient(135deg,gold,#ffb347);box-shadow:0 10px 20px #ffd7004d;color:#1b1f2d}.finish-actions .retry-finish-btn{background:#5865f24d;border:1px solid #5865f280;color:#fff}.finish-actions button:hover{transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wave{0%{transform:rotate(0deg)}50%{transform:rotate(6deg)}to{transform:rotate(0deg)}}.confetti-layer{inset:0;overflow:hidden;pointer-events:none;position:absolute}.confetti-piece{animation-iteration-count:infinite;animation-name:confettiFall;animation-timing-function:linear;border-radius:2px;opacity:.9;position:absolute;top:-10px}@keyframes confettiFall{0%{opacity:1;transform:translateZ(0) rotate(0deg)}to{opacity:.8;transform:translate3d(0,140vh,0) rotate(1turn)}}.waiting-overlay{align-items:center;animation:fadeIn .3s ease forwards;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a0fe6;display:flex;inset:0;justify-content:center;position:absolute;z-index:25}.waiting-card{background:linear-gradient(145deg,#111420,#1b1f2d);border:1px solid #ffffff14;border-radius:24px;box-shadow:0 25px 80px #00000080;color:#f5f7ff;padding:32px;text-align:center;width:min(400px,90vw)}.waiting-card h2{font-size:28px;margin:0 0 16px}.waiting-card p{color:#ffffffb3;font-size:16px;margin:0 0 24px}.finished-list{display:flex;flex-direction:column;gap:12px}.finished-player{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;font-weight:600;justify-content:space-between;padding:12px 16px}.finished-player span:first-child{font-size:16px}.finished-player span:last-child{color:#ffffffb3;font-size:14px}.track-builder{background:#1a1a1a;display:flex;height:100%;width:100%}.builder-toolbar{background:#2b2d3a;display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:20px;width:250px}.builder-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.builder-toolbar h2{color:gold;font-size:22px;margin:0}.builder-exit{background:#ffffff1f;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:background .2s ease}.builder-exit:hover{background:#fff3}.tool-section h3{color:#eaeaf5;margin-bottom:10px}.tool-buttons{display:flex;flex-direction:column;gap:8px}.tool-buttons button{background:#36393f;border:2px solid #5865f2;border-radius:6px;color:#eaeaf5;cursor:pointer;padding:10px;transition:all .2s}.tool-buttons button:hover{background:#4752c4}.tool-buttons button.active{background:#5865f2;border-color:#4752c4}.builder-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}.brush-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(80px,1fr))}.brush-buttons button{background:#1f2230;border:2px solid #5865f2;border-radius:6px;color:#eaeaf5;cursor:pointer;font-weight:600;padding:10px}.brush-buttons button.active{background:#5865f2;color:#fff}.save-button{background:#57f287;border:none;border-radius:6px;color:#2b2d3a;cursor:pointer;font-size:14px;font-weight:700;padding:12px;transition:all .2s}.save-button:hover{background:#4dd877}.builder-canvas-container{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:20px}.builder-canvas{background:#2d7834;border:2px solid #5865f2;cursor:crosshair}.checkpoint-list{display:flex;flex-direction:column;gap:6px}.checkpoint-item{align-items:center;background:#00ffff1a;border:1px solid #0ff;border-radius:6px;color:#0ff;display:flex;font-size:13px;justify-content:space-between;padding:6px 10px}.remove-btn{background:#0000;border:none;color:#f55;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.remove-btn:hover{color:#f88}.track-name-input{background:#1f2230;border:2px solid #5865f2;border-radius:6px;box-sizing:border-box;color:#eaeaf5;font-size:14px;padding:10px;width:100%}.track-name-input:focus{border-color:#7289da;outline:none}.load-button{background:#5865f2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px;transition:all .2s}.load-button:hover{background:#4752c4}.multiplayer-lobby{align-items:center;background:linear-gradient(135deg,#2b2d3a,#1a1a1a);display:flex;height:100%;justify-content:center;width:100%}.lobby-container{background:#2b2d3af2;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:700px;min-width:500px;padding:30px}.lobby-container h1{color:gold;margin-bottom:20px;text-align:center}.lobby-section{margin-bottom:20px}.lobby-section h2{color:#eaeaf5;font-size:18px;margin-bottom:10px}.players-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.player-item{align-items:center;background:#36393f;border:2px solid #0000;border-radius:6px;display:flex;gap:10px;padding:10px}.player-item.ready{background:#57f2871a;border-color:#57f287}.player-color{border:2px solid #fff;border-radius:50%;height:20px;width:20px}.player-name{color:#eaeaf5;flex:1 1}.host-badge,.ready-badge{border-radius:4px;font-size:12px;font-weight:700;padding:4px 8px}.host-badge{background:#5865f2;color:#fff}.ready-badge{background:#57f287;color:#2b2d3a}.settings-group{display:flex;flex-direction:column;gap:12px}.settings-group label{color:#eaeaf5;display:flex;flex-direction:column;gap:6px}.settings-group input{background:#36393f}.settings-group input,.settings-group select{border:2px solid #5865f2;border-radius:6px;color:#eaeaf5;padding:8px}.settings-group select{background:#232530}.lobby-hint{color:#eaeaf5cc;font-size:13px;margin-top:12px}.lobby-hint.error{color:#f87171}.player-item.placeholder{color:#eaeaf5b3;font-style:italic;justify-content:center}.exit-button,.ready-button,.start-button{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;padding:12px;transition:all .2s;width:100%}.ready-button{background:#747f8d;color:#fff}.ready-button.active{background:#57f287;color:#2b2d3a}.start-button{background:#5865f2;color:#fff}.start-button:disabled{background:#747f8d;cursor:not-allowed}.start-button:not(:disabled):hover{background:#4752c4}.exit-button{background:#ed4245;color:#fff;margin-top:10px}.exit-button:hover{background:#c03537}.connection-status{font-size:13px;margin-bottom:8px;margin-top:-12px;text-align:right}.connection-status.online{color:#57f287}.connection-status.offline{color:#f6c343}.ready-button:disabled{background:#4c566a;cursor:not-allowed}.ready-indicator{border-radius:4px;font-size:12px;font-weight:700;padding:4px 8px}.ready-indicator.ready{background:#57f287;color:#2b2d3a}.ready-indicator.not-ready{background:#747f8d;color:#fff}.App{align-items:center;display:flex;height:100%;justify-content:center;width:100%}
/*# sourceMappingURL=main.00a268bd.css.map*/