:root{--bg-hud:#0f172ab8;--border-hud:#ffffff1f;--accent-cyan:#38bdf8;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-red:#ef4444;--text-main:#f8fafc;--text-muted:#94a3b8;--key-bg:#1e293bd9;--key-active:#38bdf8;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-family);color:var(--text-main);background-color:#0b0f19;overflow:hidden}#canvas-container{z-index:1;width:100vw;height:100vh;position:fixed;inset:0}#canvas-container canvas{display:block;width:100%!important;height:100%!important}#hud-overlay{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:fixed;inset:0}.hud-header{justify-content:space-between;align-items:center;display:flex}.brand-badge{background:var(--bg-hud);border:1px solid var(--border-hud);-webkit-backdrop-filter:blur(12px);border-radius:9999px;align-items:center;gap:10px;padding:8px 16px;display:inline-flex;box-shadow:0 8px 32px #0000004d}.status-dot{background-color:var(--accent-emerald);width:8px;height:8px;box-shadow:0 0 10px var(--accent-emerald);border-radius:50%;animation:2s ease-in-out infinite pulse-glow}.brand-title{letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0;font-size:13px;font-weight:700}.brand-subtitle{color:var(--text-muted);font-size:11px;font-weight:500}.reset-btn{pointer-events:auto;cursor:pointer;background:var(--bg-hud);border:1px solid var(--border-hud);-webkit-backdrop-filter:blur(12px);color:var(--text-main);letter-spacing:.04em;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 8px 32px #0000004d}.reset-btn:hover{border-color:var(--accent-cyan);background:#1e293bf2;transform:translateY(-1px);box-shadow:0 0 16px #38bdf859}.reset-btn:active{transform:translateY(1px)}.reset-btn.muted{color:#fca5a5;background:#ef44441f;border-color:#ef444473}.reset-btn.headlights-on{color:#38bdf8;background:#38bdf829;border-color:#38bdf8a6;box-shadow:0 0 16px #38bdf859}.reset-btn.time-sunset{color:#fb923c;background:#f9731629;border-color:#f97316a6}.reset-btn.time-night{color:#a5b4fc;background:#6366f129;border-color:#818cf8a6}.reset-btn.weather-rain{color:#38bdf8;background:#38bdf829;border-color:#38bdf8a6;box-shadow:0 0 16px #38bdf84d}.reset-btn.weather-storm{color:#c084fc;background:#a855f72e;border-color:#a855f7a6;box-shadow:0 0 16px #a855f759}.reset-btn.weather-fog{color:#cbd5e1;background:#94a3b829;border-color:#94a3b8a6;box-shadow:0 0 16px #94a3b840}.reset-key-hint{font-family:var(--font-mono);background:#ffffff26;border-radius:4px;padding:2px 6px;font-size:10px}.hud-footer{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.speedometer-card{background:var(--bg-hud);border:1px solid var(--border-hud);-webkit-backdrop-filter:blur(16px);border-radius:20px;min-width:220px;padding:18px 24px;box-shadow:0 12px 36px #0006}.speed-main{align-items:baseline;gap:10px;display:flex}.speed-value{font-family:var(--font-mono);color:#fff;text-shadow:0 0 20px #38bdf866;min-width:75px;font-size:48px;font-weight:800;line-height:1}.speed-unit{color:var(--text-muted);letter-spacing:.08em;font-size:14px;font-weight:700}.gear-badge{font-size:13px;font-weight:800;font-family:var(--font-mono);color:var(--accent-emerald);background:#10b98133;border:1px solid #10b98166;border-radius:8px;margin-left:auto;padding:4px 10px}.gear-badge.reverse{color:var(--accent-amber);background:#f59e0b33;border-color:#f59e0b66}.gear-badge.neutral{color:var(--text-muted);background:#94a3b833;border-color:#94a3b866}.speed-bar-track{background:#ffffff14;border-radius:999px;width:100%;height:6px;margin-top:14px;overflow:hidden}.speed-bar-fill{background:linear-gradient(90deg,#38bdf8,#10b981,#f59e0b,#ef4444);border-radius:999px;width:0%;height:100%;transition:width 80ms ease-out;box-shadow:0 0 10px #38bdf899}.nitro-gauge-container{flex-direction:column;gap:4px;width:100%;margin-top:10px;transition:transform .15s,filter .15s;display:flex}.nitro-gauge-container.nitro-active{filter:drop-shadow(0 0 10px #00e5ffd9);animation:.35s ease-in-out infinite alternate nitroPulse}.nitro-gauge-container.nitro-empty{opacity:.5}@keyframes nitroPulse{0%{transform:scale(1)}to{transform:scale(1.02)}}.nitro-gauge-header{font-family:var(--font-mono,monospace);justify-content:space-between;align-items:center;font-size:11px;display:flex}.nitro-label{color:#38bdf8;letter-spacing:.5px;align-items:center;gap:4px;font-weight:800;display:flex}.nitro-gauge-container.nitro-active .nitro-label{color:#00f0ff;text-shadow:0 0 8px #00f0ffe6}.nitro-key-hint{color:#ffffff73;background:#ffffff14;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:600}.nitro-percent{color:#cbd5e1;font-weight:800}.nitro-gauge-container.nitro-active .nitro-percent{color:#00f0ff;font-weight:900;animation:.2s infinite alternate blinkBoost}@keyframes blinkBoost{0%{opacity:.85}to{opacity:1}}.nitro-bar-track{background:#ffffff14;border:1px solid #00d4ff26;border-radius:999px;width:100%;height:5px;overflow:hidden}.nitro-bar-fill{background:linear-gradient(90deg,#0284c7,#00d4ff,#7dd3fc);border-radius:999px;width:100%;height:100%;transition:width 60ms linear;box-shadow:0 0 8px #00d4ffb3}.nitro-gauge-container.nitro-active .nitro-bar-fill{background:linear-gradient(90deg,#00d4ff,#fff,#00f0ff);box-shadow:0 0 14px #00f0ff}.health-gauge-container{flex-direction:column;gap:3px;width:100%;margin-top:8px;transition:transform .15s,filter .15s;display:flex}.health-gauge-header{font-family:var(--font-mono,monospace);justify-content:space-between;align-items:center;font-size:10px;display:flex}.health-label{color:#94a3b8;letter-spacing:.5px;align-items:center;gap:4px;font-weight:700;display:flex}.health-percent{color:#34d399;font-weight:800;transition:color .25s}.health-bar-track{background:#0f172ab3;border:1px solid #ffffff14;border-radius:999px;width:100%;height:5px;overflow:hidden}.health-bar-fill{background:linear-gradient(90deg,#10b981,#34d399);border-radius:999px;height:100%;transition:width .15s,background .3s;box-shadow:0 0 8px #34d39966}.health-gauge-container.moderate .health-bar-fill{background:linear-gradient(90deg,#d97706,#f59e0b);box-shadow:0 0 8px #f59e0b66}.health-gauge-container.moderate .health-percent{color:#f59e0b}.health-gauge-container.critical .health-bar-fill{background:linear-gradient(90deg,#dc2626,#ef4444);box-shadow:0 0 10px #ef444499}.health-gauge-container.critical .health-percent{color:#ef4444}.health-gauge-container.wrecked .health-bar-fill{background:#7f1d1d;box-shadow:0 0 12px #ef4444e6}.health-gauge-container.wrecked .health-percent{color:#f87171;font-weight:900;animation:.5s ease-in-out infinite alternate pulseWreck}@keyframes pulseWreck{0%{opacity:.35;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.controls-card{background:var(--bg-hud);border:1px solid var(--border-hud);-webkit-backdrop-filter:blur(16px);border-radius:20px;flex-direction:column;gap:12px;padding:16px 20px;display:flex;box-shadow:0 12px 36px #0006}.controls-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;font-size:11px;font-weight:700}.wasd-grid{flex-direction:column;align-items:center;gap:6px;display:flex}.wasd-row{gap:6px;display:flex}.key-box{background:var(--key-bg);border:1px solid var(--border-hud);width:40px;height:40px;font-family:var(--font-mono);color:#e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .1s;display:flex;box-shadow:inset 0 -2px #0006}.key-box.active{border-color:var(--accent-cyan);color:#38bdf8;background:#38bdf840;transform:scale(.94);box-shadow:0 0 12px #38bdf880,inset 0 0 0 1px #38bdf8}.key-hint{color:var(--text-muted);text-transform:uppercase;font-size:8px;font-weight:500}.controls-legend{color:var(--text-muted);justify-content:center;gap:12px;margin-top:4px;font-size:10px;display:flex}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@media (width<=640px){#hud-overlay{padding:14px}.hud-footer{flex-direction:column;align-items:stretch}.speedometer-card,.controls-card{width:100%;min-width:0}.speed-value{font-size:38px}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;background:#0b0f19d1;justify-content:center;align-items:center;padding:24px;transition:opacity .25s;display:flex;position:fixed;inset:0}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal-card{background:#0f172aeb;border:1px solid #ffffff24;border-radius:20px;flex-direction:column;gap:24px;width:100%;max-width:880px;padding:32px;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(16px)scale(.98);box-shadow:0 24px 64px #000000b3,0 0 0 1px #38bdf826}.modal-backdrop.open .modal-card{transform:translateY(0)scale(1)}.modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.modal-title-group h2{letter-spacing:.05em;text-transform:uppercase;color:#f8fafc;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.modal-title-group p{color:var(--text-muted);margin-top:4px;font-size:13px}.modal-close-btn{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.modal-close-btn:hover{color:#f87171;background:#ef444433;border-color:#ef4444}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}@media (width<=768px){.mode-grid{grid-template-columns:1fr}}.mode-card-item{cursor:pointer;background:#1e293b8c;border:1px solid #ffffff17;border-radius:16px;flex-direction:column;justify-content:space-between;gap:16px;padding:22px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.mode-card-item:hover{border-color:var(--accent-cyan);background:#1e293be6;transform:translateY(-4px);box-shadow:0 16px 32px #0006,0 0 24px #38bdf833}.mode-card-item.active{border-color:#10b981;box-shadow:0 0 0 2px #10b98166}.mode-icon-badge{justify-content:space-between;align-items:center;display:flex}.mode-icon{font-size:28px}.mode-badge{text-transform:uppercase;letter-spacing:.08em;color:#fff;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}.mode-info h3{color:#f8fafc;margin-bottom:4px;font-size:16px;font-weight:700}.mode-subtitle{color:#38bdf8;margin-bottom:8px;font-size:11px;font-weight:600}.mode-desc{color:#94a3b8;font-size:12px;line-height:1.45}.mode-action-btn{color:#f8fafc;text-align:center;pointer-events:none;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .15s}.mode-card-item:hover .mode-action-btn{background:var(--accent-cyan);border-color:var(--accent-cyan);color:#0b0f19}#drift-telemetry-card{transition:all .2s cubic-bezier(.16,1,.3,1)}#drift-telemetry-card.drifting-active{border-color:#f59e0bd9;transform:scale(1.02);box-shadow:0 0 30px #f59e0b73,0 12px 36px #0009}#drift-telemetry-card.drifting-active #drift-score-badge{color:#fde047;text-shadow:0 0 12px #fde047b3;animation:.4s ease-in-out infinite alternate drift-pulse}@keyframes drift-pulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.race-countdown-overlay{z-index:90;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.race-countdown-text{font-family:var(--font-sans);color:#ef4444;text-shadow:0 0 35px #000000e6,0 0 50px;letter-spacing:.05em;font-size:110px;font-weight:900;animation:.6s cubic-bezier(.16,1,.3,1) infinite alternate countdown-pop}@keyframes countdown-pop{0%{opacity:.7;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}.race-wrong-way{z-index:85;color:#fef2f2;letter-spacing:.05em;background:#dc2626eb;border-radius:999px;padding:8px 24px;font-size:14px;font-weight:800;animation:.4s infinite alternate wrong-way-pulse;position:fixed;top:75px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #ef4444cc,0 4px 12px #00000080}@keyframes wrong-way-pulse{0%{opacity:.75;transform:translate(-50%)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1.04)}}.race-results-card{text-align:center;gap:20px;max-width:520px}.results-header{flex-direction:column;align-items:center;gap:6px;display:flex}.results-trophy{filter:drop-shadow(0 0 16px #facc1599);margin-bottom:2px;font-size:48px}.results-header h2{color:#f8fafc;letter-spacing:.04em;font-size:22px;font-weight:900}.results-header p{color:var(--text-muted);font-size:13px}.results-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.result-stat-box{background:#1e293b99;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex}.result-stat-box.highlight{background:#10b98114;border-color:#34d39966}.stat-label{color:var(--text-muted);letter-spacing:.06em;font-size:10px;font-weight:700}.stat-value{font-family:var(--font-mono);color:#f8fafc;font-size:22px;font-weight:800}.result-stat-box.highlight .stat-value{color:#34d399}.lap-times-list{background:#0f172a99;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:6px;padding:8px 14px;display:flex}.lap-time-row{font-family:var(--font-mono);color:#cbd5e1;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:6px 4px;font-size:13px;display:flex}.lap-time-row:last-child{border-bottom:none}.lap-time-row.fastest-lap{color:#34d399;font-weight:700}.results-actions{gap:12px;margin-top:6px;display:flex}.action-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;flex:1;padding:12px 18px;font-size:13px;font-weight:700;transition:all .15s}.action-btn.primary{color:#fff;background:#2563eb}.action-btn.primary:hover{background:#1d4ed8;box-shadow:0 0 16px #2563eb80}.action-btn.secondary{color:#f8fafc;background:#ffffff14;border-color:#ffffff26}.action-btn.secondary:hover{background:#ffffff24}#btn-multiplayer .status-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;transition:background .3s,box-shadow .3s;display:inline-block}#btn-multiplayer .status-dot.connected{background:#10b981;box-shadow:0 0 10px #10b981b3}#btn-multiplayer .status-dot.connecting{background:#f59e0b;animation:1.5s infinite pulse-glow;box-shadow:0 0 8px #f59e0b99}#btn-multiplayer .status-dot.disconnected,#btn-multiplayer .status-dot.error{box-shadow:none;background:#ef4444}#btn-multiplayer .status-dot.reconnecting{background:#f97316;animation:.8s infinite alternate pulse-glow;box-shadow:0 0 10px #f97316bf}.mp-modal-card{width:100%;max-width:780px}.mp-status-banner{background:#1e293ba6;border:1px solid #ffffff14;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.mp-status-left{align-items:center;gap:10px;display:flex}.mp-status-title{color:#f8fafc;font-size:13px;font-weight:700}.mp-status-sub{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.mp-id-badge{color:#38bdf8;font-family:var(--font-mono);background:#38bdf826;border:1px solid #38bdf84d;border-radius:8px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:700;display:flex}.mp-name-bar{align-items:center;gap:10px;margin-top:-4px;display:flex}.mp-name-label{color:#94a3b8;font-size:12px;font-weight:600}.mp-input{color:#f8fafc;background:#0f172acc;border:1px solid #ffffff26;border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s}.mp-input:focus{border-color:#38bdf8;box-shadow:0 0 10px #38bdf840}.mp-select{color:#f8fafc;cursor:pointer;background:#0f172a;border:1px solid #ffffff26;border-radius:8px;outline:none;padding:8px 12px;font-size:13px}.mp-select:focus{border-color:#38bdf8}.mp-tabs{border-bottom:1px solid #ffffff14;gap:8px;padding-bottom:8px;display:flex}.mp-tab-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .2s}.mp-tab-btn:hover{color:#f8fafc;background:#ffffff0d}.mp-tab-btn.active{color:#38bdf8;background:#38bdf81f}.mp-content-section{flex-direction:column;gap:16px;display:flex}.mp-create-form{background:#1e293b66;border:1px solid #ffffff14;border-radius:14px;grid-template-columns:repeat(2,1fr);gap:14px;padding:20px;display:grid}.mp-form-group{flex-direction:column;gap:6px;display:flex}.mp-form-group.full-width{grid-column:span 2}.mp-form-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.mp-room-list{flex-direction:column;gap:10px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.mp-room-item{background:#1e293b80;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;transition:all .2s;display:flex}.mp-room-item:hover{background:#1e293bcc;border-color:#38bdf84d}.mp-room-item-info{flex-direction:column;gap:4px;display:flex}.mp-room-name-row{align-items:center;gap:8px;display:flex}.mp-room-name{color:#f8fafc;font-size:14px;font-weight:700}.mp-room-meta{color:#94a3b8;align-items:center;gap:12px;font-size:11px;display:flex}.mp-room-count-badge{font-family:var(--font-mono);color:#e2e8f0;background:#ffffff14;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.mp-empty-state{text-align:center;color:#94a3b8;background:#1e293b40;border:1px dashed #ffffff1a;border-radius:12px;padding:36px 20px;font-size:13px}.mp-active-room-card{background:#1e293b99;border:1px solid #38bdf84d;border-radius:14px;flex-direction:column;gap:16px;padding:20px;display:flex}.mp-active-room-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.mp-member-list{flex-direction:column;gap:8px;display:flex}.mp-member-item{background:#0f172a99;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.mp-member-info{align-items:center;gap:8px;display:flex}.mp-member-name{color:#f8fafc;font-size:13px;font-weight:700}.mp-member-id{color:#64748b;font-size:11px;font-family:var(--font-mono)}.mp-host-badge{color:#fbbf24;text-transform:uppercase;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:800}.mp-you-badge{color:#60a5fa;background:#2563eb40;border:1px solid #2563eb66;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700}.city-player-list-card{z-index:25;pointer-events:auto;-webkit-backdrop-filter:blur(16px);background:#0f172ac7;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;gap:10px;min-width:270px;max-width:330px;padding:14px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:72px;right:24px;box-shadow:0 12px 36px #00000073,0 0 0 1px #38bdf826}.city-player-list-card.collapsed .player-list-items,.city-player-list-card.collapsed .player-list-footer{display:none}.player-list-header{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.player-list-title{align-items:center;gap:8px;display:flex}.online-indicator{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-glow;box-shadow:0 0 8px #10b981}.player-list-room-title{text-transform:uppercase;letter-spacing:.6px;color:#e2e8f0;font-size:11px;font-weight:800}.count-badge{color:#38bdf8;font-family:var(--font-mono);background:#38bdf82e;border:1px solid #38bdf84d;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.player-list-toggle-hint{font-family:var(--font-mono);color:#94a3b8;background:#ffffff14;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:700}.player-list-items{flex-direction:column;gap:6px;max-height:240px;display:flex;overflow-y:auto}.player-list-item{background:#1e293b80;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;padding:7px 10px;transition:all .15s;display:flex}.player-list-item:hover{background:#1e293bcc;border-color:#38bdf840}.player-list-item.is-me{background:#38bdf81a;border-color:#38bdf84d}.item-left{align-items:center;gap:8px;display:flex;overflow:hidden}.item-car-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 6px}.item-name{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;max-width:110px;font-size:12px;font-weight:700;overflow:hidden}.item-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.item-dist{font-family:var(--font-mono);color:#38bdf8;background:#38bdf81f;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700}.item-ping{font-family:var(--font-mono);color:#34d399;font-size:10px;font-weight:600}.player-list-footer{color:#94a3b8;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-top:6px;font-size:10px;display:flex}.online-race-card{z-index:100;-webkit-backdrop-filter:blur(16px);background:#0f172ad1;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:10px;width:290px;padding:12px 14px;transition:all .25s cubic-bezier(.16,1,.3,1);display:none;position:fixed;top:252px;left:24px;box-shadow:0 12px 30px #00000080,0 0 1px #fff3}.online-race-header{justify-content:space-between;align-items:center;display:flex}.online-race-title-group{align-items:center;gap:6px;display:flex}.online-race-title{text-transform:uppercase;letter-spacing:.06em;color:#f8fafc;font-size:11px;font-weight:800}.online-race-badge{text-transform:uppercase;letter-spacing:.05em;color:#f87171;background:#ef444433;border:1px solid #ef444466;border-radius:6px;padding:2px 7px;font-size:9px;font-weight:800}.online-race-badge.countdown{color:#fbbf24;background:#f59e0b40;border-color:#f59e0b;animation:1s infinite alternate pulse-countdown}.online-race-badge.racing{color:#34d399;background:#10b98140;border-color:#10b981}@keyframes pulse-countdown{0%{opacity:.85;transform:scale(1)}to{opacity:1;filter:drop-shadow(0 0 6px #f59e0b99);transform:scale(1.08)}}.online-race-grid-badge{font-family:var(--font-mono);color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:700}.online-race-btn-ready{text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:#f8fafc;background:#ffffff12;border:1px solid #ffffff26;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px 14px;font-size:12px;font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.online-race-btn-ready:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.online-race-btn-ready.is-ready{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border-color:#34d399;box-shadow:0 0 16px #10b98166}.online-race-standings{flex-direction:column;gap:5px;max-height:180px;display:flex;overflow-y:auto}.online-race-standings-row{background:#1e293b80;border:1px solid #ffffff0d;border-radius:7px;justify-content:space-between;align-items:center;padding:5px 8px;font-size:11px;display:flex}.online-race-standings-row.is-me{background:#38bdf81f;border-color:#38bdf84d}.online-race-rank{font-family:var(--font-mono);color:#fbbf24;min-width:22px;font-weight:800}.online-race-row-left{align-items:center;gap:6px;display:flex;overflow:hidden}.online-race-driver-name{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-weight:700;overflow:hidden}.online-race-row-right{font-family:var(--font-mono);color:#94a3b8;align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.online-race-lap-badge{color:#38bdf8;background:#ffffff14;border-radius:4px;padding:1px 5px}.online-race-results-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.online-race-results-table th{text-align:left;color:#94a3b8;text-transform:uppercase;background:#0f172ab3;border-bottom:1px solid #ffffff1a;padding:8px 10px;font-size:11px;font-weight:700}.online-race-results-table td{color:#f8fafc;font-family:var(--font-mono);border-bottom:1px solid #ffffff0d;padding:8px 10px}.online-race-results-table tr.is-me{background:#38bdf81f}.online-race-results-table tr:hover{background:#1e293b99}.online-drift-badge{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.online-drift-badge.active{color:#fde047;background:#f59e0b4d;border-color:#f59e0b;animation:1s infinite alternate pulse-countdown;box-shadow:0 0 12px #f59e0b66}.online-drift-timer{font-family:var(--font-mono);color:#fde047;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:800}.online-drift-score-pill{font-family:var(--font-mono);color:#fde047;font-size:11px;font-weight:800}.online-drift-combo-pill{font-family:var(--font-mono);color:#f59e0b;background:#f59e0b26;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:800}.master-menu-card{width:100%;max-width:820px}.mp-master-tabs{background:#0f172aa6;border:1px solid #ffffff14;border-radius:12px;gap:6px;margin-bottom:16px;padding:4px;display:flex}.mp-master-tab-btn{color:#94a3b8;letter-spacing:.5px;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:800;transition:all .2s;display:flex}.mp-master-tab-btn:hover{color:#f8fafc;background:#ffffff0f}.mp-master-tab-btn.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 0 16px #2563eb66}.mp-quick-match-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.mp-quick-card{background:#1e293b80;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.mp-quick-card-title{text-transform:uppercase;color:#38bdf8;letter-spacing:.5px;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.mp-quick-row{align-items:center;gap:8px;display:flex}.mp-code-input{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;text-align:center;font-weight:800}.mp-full-badge{color:#f87171;letter-spacing:.5px;background:#ef444433;border:1px solid #ef444466;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:800}.mp-open-badge{color:#34d399;letter-spacing:.5px;background:#10b98126;border:1px solid #10b9814d;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:800}.mp-code-pill{color:#38bdf8;font-family:var(--font-mono);background:#38bdf81f;border:1px solid #38bdf84d;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.mp-room-code-display-wrap{background:#0f172a99;border:1px dashed #38bdf866;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;display:flex}.btn-copy-code{color:#38bdf8;cursor:pointer;background:#38bdf833;border:1px solid #38bdf866;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .15s}.btn-copy-code:hover{color:#fff;background:#38bdf859}.btn-copy-code.copied{color:#34d399;background:#10b9814d;border-color:#10b98180}.mp-checkbox-label{color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.mp-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#2563eb;width:16px;height:16px}.action-btn.disabled,.action-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none;color:#94a3b8!important;box-shadow:none!important;background:#64748b40!important;border-color:#94a3b826!important}@media (width<=640px){.mp-quick-match-grid{grid-template-columns:1fr}}#hud-reset-toast{z-index:100;-webkit-backdrop-filter:blur(14px);font-family:var(--font-family);letter-spacing:.4px;color:#f8fafc;opacity:0;pointer-events:none;background:#0f172aeb;border:1px solid #ffffff26;border-radius:9999px;align-items:center;gap:10px;padding:10px 22px;font-size:13px;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 12px 36px #00000080}#hud-reset-toast.show{opacity:1;transform:translate(-50%)translateY(0)}#hud-reset-toast.info{color:#e0f2fe;border-color:#38bdf866}#hud-reset-toast.warning{color:#fef3c7;border-color:#f59e0b80}#hud-reset-toast.alert{color:#fee2e2;border-color:#ef44448c;box-shadow:0 12px 36px #ef444440}#hud-reset-toast .toast-icon{align-items:center;font-size:16px;display:flex}#hud-action-hint{z-index:95;-webkit-backdrop-filter:blur(12px);color:#fbbf24;letter-spacing:.3px;pointer-events:none;background:#f59e0b2e;border:1px solid #f59e0b80;border-radius:12px;align-items:center;gap:8px;padding:9px 20px;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s;animation:1.4s ease-in-out infinite hint-pulse;display:none;position:fixed;bottom:120px;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 8px 24px #f59e0b40}#hud-action-hint.active{display:flex;transform:translate(-50%)translateY(0)}@keyframes hint-pulse{0%,to{transform:translate(-50%)scale(1);box-shadow:0 8px 24px #f59e0b40}50%{transform:translate(-50%)scale(1.03);box-shadow:0 12px 32px #f59e0b73}}.reset-screen-flash{z-index:90;pointer-events:none;opacity:0;background:radial-gradient(circle,#38bdf82e 0%,#0f172a66 100%);transition:opacity .28s ease-out;position:fixed;inset:0}.reset-screen-flash.flash{opacity:1}.city-info-card{background:#0f172ac7;border:1px solid #38bdf840;min-width:230px;padding:14px 20px;box-shadow:0 12px 36px #0006,inset 0 1px #ffffff14}.city-spawn-badge{font-family:var(--font-mono);color:var(--accent-cyan);background:#38bdf826;border:1px solid #38bdf859;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:800}.city-online-count{font-family:var(--font-mono);color:var(--accent-emerald);text-shadow:0 0 12px #10b98166;font-size:15px;font-weight:800}.race-position-badge{font-family:var(--font-mono);letter-spacing:.5px;color:#38bdf8;background:#38bdf833;border:1px solid #38bdf866;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:900}.race-position-badge.p1{color:#fff;background:linear-gradient(135deg,#d97706,#f59e0b);border-color:#fbbf24;box-shadow:0 0 12px #f59e0b80}.race-position-badge.p2{color:#fff;background:linear-gradient(135deg,#64748b,#94a3b8);border-color:#cbd5e1;box-shadow:0 0 10px #94a3b866}.race-position-badge.p3{color:#fff;background:linear-gradient(135deg,#b45309,#d97706);border-color:#f59e0b;box-shadow:0 0 10px #b4530966}.drift-combo-text.active-drift{animation:.6s ease-in-out infinite alternate drift-fire-pulse}@keyframes drift-fire-pulse{0%{transform:scale(1);box-shadow:0 0 8px #f59e0b66}to{transform:scale(1.08);box-shadow:0 0 18px #ef4444cc,0 0 28px #f59e0b99}}.drift-leaderboard-card{z-index:12;background:var(--bg-hud);-webkit-backdrop-filter:blur(16px);pointer-events:auto;border:1px solid #f59e0b4d;border-radius:16px;flex-direction:column;gap:8px;min-width:240px;padding:14px 18px;display:flex;position:fixed;top:80px;right:24px;box-shadow:0 12px 36px #00000073}.drift-leaderboard-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.drift-leaderboard-title{color:#fbbf24;letter-spacing:.6px;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.garage-car-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;max-height:58vh;padding:4px;display:grid;overflow-y:auto}.garage-car-card{background:#0f172ac7;border:1px solid #94a3b838;border-radius:16px;flex-direction:column;justify-content:space-between;gap:12px;padding:16px 18px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 8px 24px #00000059}.garage-car-card:hover{background:#1e293be0;border-color:#38bdf880;transform:translateY(-2px);box-shadow:0 12px 32px #38bdf829}.garage-car-card.active{background:#0e749038;border-color:#38bdf8;box-shadow:0 0 20px #38bdf859,inset 0 0 15px #38bdf81f}.garage-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.garage-card-title{color:#f8fafc;letter-spacing:-.01em;margin:0;font-size:15px;font-weight:800}.garage-card-tagline{color:#94a3b8;margin-top:2px;font-size:11px;font-weight:500}.garage-card-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}.garage-card-badge.SPORTS{color:#60a5fa;background:#3b82f640;border:1px solid #3b82f666}.garage-card-badge.RACE{color:#f87171;background:#ef444440;border:1px solid #ef444466}.garage-card-badge.DRIFT{color:#fbbf24;background:#f59e0b40;border:1px solid #f59e0b66}.garage-card-badge.PROTOTYPE{color:#c084fc;background:#a855f740;border:1px solid #a855f766}.garage-card-badge.POLICE{color:#38bdf8;background:#0ea5e940;border:1px solid #0ea5e966}.garage-card-badge.SUV{color:#34d399;background:#10b98140;border:1px solid #10b98166}.garage-desc{color:#94a3b8;font-size:11px;line-height:1.45}.garage-stats-grid{background:#00000047;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.garage-stat-row{align-items:center;gap:8px;font-size:11px;display:flex}.garage-stat-label{color:#cbd5e1;align-items:center;gap:4px;width:78px;font-weight:600;display:flex}.garage-stat-bar{background:#ffffff14;border-radius:999px;flex:1;height:6px;overflow:hidden}.garage-stat-fill{background:linear-gradient(90deg,#38bdf8,#22c55e);border-radius:999px;height:100%}.garage-stat-val{text-align:right;width:55px;font-family:var(--font-mono);color:#f1f5f9;font-size:10px;font-weight:700}.btn-select-car{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px;font-size:12px;font-weight:700;transition:all .15s;display:flex}.btn-select-car.active{color:#4ade80;cursor:default;background:#22c55e33;border:1px solid #22c55e66}.btn-select-car.choose{color:#fff;background:linear-gradient(135deg,#0284c7,#2563eb);box-shadow:0 4px 12px #2563eb59}.btn-select-car.choose:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 18px #2563eb80}.profile-view-container{flex-direction:column;gap:16px;display:flex}.profile-card-glass{-webkit-backdrop-filter:blur(12px);background:#0f172aa6;border:1px solid #ffffff14;border-radius:14px;padding:16px 20px;box-shadow:0 8px 32px #00000059}.profile-header-card{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.profile-avatar-box{background:linear-gradient(135deg,#0284c7,#6366f1,#a855f7);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;padding:3px;display:flex;box-shadow:0 0 20px #6366f159}.profile-avatar-inner{background:#0f172a;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:30px;display:flex}.profile-info-col{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}.profile-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-display-name-input{color:#f8fafc;background:#00000059;border:1px solid #ffffff26;border-radius:8px;outline:none;min-width:180px;padding:6px 12px;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s}.profile-display-name-input:focus{background:#0000008c;border-color:#38bdf8;box-shadow:0 0 10px #38bdf84d}.btn-profile-save-name{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#2563eb);border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s}.btn-profile-save-name:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-1px)}.profile-meta-row{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.profile-id-pill{font-family:var(--font-mono);color:#cbd5e1;background:#ffffff14;border-radius:6px;padding:2px 8px;font-weight:600}.profile-tag-pill{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700}.profile-car-banner{background:linear-gradient(90deg,#1e293bb3,#0f172ad9);border:1px solid #38bdf840;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.profile-car-info{align-items:center;gap:12px;display:flex}.profile-car-icon{font-size:24px}.profile-stats-grid-cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.profile-stat-category-card{background:#0f172a8c;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.profile-category-title{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.profile-stat-entry{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;display:flex}.profile-stat-entry:last-child{border-bottom:none}.profile-stat-entry-label{color:#94a3b8;font-weight:500}.profile-stat-entry-val{font-family:var(--font-mono);color:#f8fafc;font-weight:700}.profile-footer-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.btn-profile-reset{color:#f87171;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;padding:7px 12px;font-size:11px;font-weight:700;transition:all .2s}.btn-profile-reset:hover{background:#ef444440;border-color:#ef4444}.leaderboard-view-container{flex-direction:column;gap:16px;width:100%;animation:.3s cubic-bezier(.16,1,.3,1) fadeIn;display:flex}.leaderboard-header-bar{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.leaderboard-header-titles{flex-direction:column;gap:4px;display:flex}.leaderboard-main-title{color:#f8fafc;align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.leaderboard-subtitle{color:#94a3b8;font-size:12px}.btn-leaderboard-refresh{color:#38bdf8;cursor:pointer;background:#0ea5e926;border:1px solid #38bdf84d;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.btn-leaderboard-refresh:hover{background:#0ea5e94d;border-color:#38bdf8;transform:translateY(-1px)}.leaderboard-categories{flex-wrap:wrap;gap:8px;display:flex}.btn-lb-cat{color:#94a3b8;cursor:pointer;background:#0f172a99;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.btn-lb-cat:hover{color:#f8fafc;background:#1e293bcc;border-color:#fff3}.btn-lb-cat.active{color:#38bdf8;background:linear-gradient(135deg,#0ea5e940,#6366f140);border-color:#38bdf8;box-shadow:0 0 12px #0ea5e933}.leaderboard-user-banner{background:linear-gradient(135deg,#1e293ba6,#0f172ad9);border:1px solid #38bdf840;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.leaderboard-user-info{align-items:center;gap:12px;display:flex}.leaderboard-user-rank-badge{color:#fff;font-size:14px;font-weight:900;font-family:var(--font-mono);background:linear-gradient(135deg,#0ea5e9,#6366f1);border-radius:8px;padding:6px 12px;box-shadow:0 0 10px #0ea5e94d}.leaderboard-user-details{flex-direction:column;gap:2px;display:flex}.leaderboard-user-name{color:#f8fafc;font-size:13px;font-weight:700}.leaderboard-user-sub{color:#94a3b8;font-size:11px}.leaderboard-user-score{font-family:var(--font-mono);color:#38bdf8;font-size:16px;font-weight:900}.leaderboard-table-card{background:#0f172a99;border:1px solid #ffffff14;border-radius:12px;overflow:hidden}.leaderboard-table-wrap{width:100%;max-height:440px;overflow-x:auto}.leaderboard-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.leaderboard-table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;z-index:10;background:#0f172af2;border-bottom:1px solid #ffffff14;padding:10px 14px;font-weight:700;position:sticky;top:0}.leaderboard-table td{color:#e2e8f0;vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:11px 14px}.leaderboard-table tr:hover td{background:#ffffff08}.leaderboard-table tr.leaderboard-row-me td{background:#0ea5e91a;border-bottom-color:#0ea5e933}.leaderboard-rank-badge{width:28px;height:28px;font-weight:900;font-family:var(--font-mono);border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.leaderboard-rank-1{color:#fff;background:linear-gradient(135deg,#fbbf24,#b45309);box-shadow:0 0 10px #fbbf2466}.leaderboard-rank-2{color:#fff;background:linear-gradient(135deg,#94a3b8,#475569);box-shadow:0 0 8px #94a3b84d}.leaderboard-rank-3{color:#fff;background:linear-gradient(135deg,#ea580c,#7c2d12);box-shadow:0 0 8px #ea580c4d}.leaderboard-rank-default{color:#94a3b8;background:#ffffff0f}.leaderboard-pilot-col{align-items:center;gap:8px;display:flex}.leaderboard-pilot-name{color:#f8fafc;font-weight:700}.leaderboard-you-pill{color:#34d399;text-transform:uppercase;background:#10b98133;border:1px solid #10b9814d;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:800}.leaderboard-car-pill{color:#cbd5e1;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:inline-flex}.leaderboard-score-val{font-family:var(--font-mono);color:#38bdf8;font-size:13px;font-weight:800}.leaderboard-date-col{color:#64748b;font-size:11px}.leaderboard-empty-state{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.police-heat-container{background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;flex-direction:column;gap:4px;width:100%;margin-top:8px;padding:6px 8px;animation:1.2s infinite alternate policePulse;display:flex}@keyframes policePulse{0%{border-color:#ef444459;box-shadow:0 0 8px #ef444426}50%{border-color:#3b82f673;box-shadow:0 0 12px #3b82f640}to{border-color:#ef44448c;box-shadow:0 0 16px #ef444459}}.police-heat-header{justify-content:space-between;align-items:center;display:flex}.police-stars-group{gap:3px;font-size:13px;display:flex}.police-star{color:#475569;text-shadow:none;transition:color .2s,text-shadow .2s,transform .2s}.police-star.active{color:#fbbf24;text-shadow:0 0 8px #f59e0b,0 0 12px #fbbf24;animation:.6s infinite alternate starFlashing;transform:scale(1.15)}@keyframes starFlashing{0%{opacity:.85;filter:drop-shadow(0 0 2px #ef4444)}to{opacity:1;filter:drop-shadow(0 0 6px #3b82f6)}}.police-status-badge{font-family:var(--font-mono,monospace);text-transform:uppercase;color:#ef4444;letter-spacing:.5px;font-size:10px;font-weight:800}.police-progress-container{flex-direction:column;gap:2px;margin-top:2px;display:flex}.police-progress-header{font-family:var(--font-mono,monospace);color:#cbd5e1;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;display:flex}.police-bar-track{background:#0f172acc;border:1px solid #ffffff1a;border-radius:999px;width:100%;height:4px;overflow:hidden}.police-bar-fill{background:linear-gradient(90deg,#ef4444,#f97316);border-radius:999px;height:100%;transition:width .1s linear;box-shadow:0 0 6px #ef4444b3}.police-bar-fill.evade{background:linear-gradient(90deg,#3b82f6,#38bdf8);box-shadow:0 0 6px #38bdf8b3}.reset-btn.police-active{color:#f87171;background:#ef444440;border-color:#ef444499;animation:.8s infinite alternate policeBtnStrobe;box-shadow:0 0 12px #ef444466}@keyframes policeBtnStrobe{0%{border-color:#ef4444;box-shadow:0 0 10px #ef444499}50%{border-color:#3b82f6;box-shadow:0 0 10px #3b82f699}to{border-color:#ef4444;box-shadow:0 0 10px #ef444499}}.hud-minimap-container{display:none;pointer-events:none;z-index:95;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172ad9;border:1.5px solid #38bdf873;border-radius:50%;width:160px;height:160px;transition:opacity .25s,transform .25s;position:fixed;top:76px;left:24px;bottom:auto;box-shadow:0 12px 36px #000000b3,0 0 20px #38bdf840,inset 0 0 16px #38bdf826}#hud-minimap-canvas{border-radius:50%;width:160px;height:160px;display:block}.minimap-compass-n{font-family:var(--font-mono,monospace);color:#ef4444;text-shadow:0 0 6px #ef4444cc;pointer-events:none;font-size:10px;font-weight:800;position:absolute;top:6px;left:50%;transform:translate(-50%)}.minimap-zoom-badge{font-family:var(--font-mono,monospace);letter-spacing:.5px;color:#38bdf8;pointer-events:none;background:#0f172ab3;border:1px solid #38bdf84d;border-radius:999px;padding:1px 6px;font-size:8px;font-weight:700;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.reset-btn.underglow-active{color:#38bdf8;background:#00f0ff2e;border-color:#00f0ff80;box-shadow:0 0 12px #00f0ff66}.reset-btn.horn-active{animation:.2s hornPress}@keyframes hornPress{0%{transform:scale(.92)}50%{transform:scale(1.08)}to{transform:scale(1)}}.radar-flash-overlay{opacity:0;pointer-events:none;z-index:99999;background:#fff;transition:opacity 50ms ease-out;position:fixed;inset:0}.radar-flash-overlay.active{opacity:.95;transition:none}.mobile-controls-overlay{pointer-events:none;z-index:90;-webkit-user-select:none;user-select:none;touch-action:none;display:none;position:fixed;inset:0}.mobile-controls-overlay.visible{display:block}@media (hover:none) and (pointer:coarse){.mobile-controls-overlay{display:block}}@media (width<=1024px){.mobile-controls-overlay{display:block}}.mobile-steer-zone{pointer-events:auto;z-index:95;gap:14px;display:flex;position:fixed;bottom:24px;left:20px}.touch-btn{-webkit-backdrop-filter:blur(12px);color:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:#0f172abf;border:1.5px solid #ffffff38;flex-direction:column;justify-content:center;align-items:center;transition:transform 80ms,background 80ms,border-color 80ms,box-shadow 80ms;display:flex;box-shadow:0 8px 24px #00000073}.touch-btn:active,.touch-btn.active{transform:scale(.92)}.touch-btn-steer{background:#1e293bc7;border-radius:20px;width:72px;height:72px}.touch-btn-steer .touch-icon{font-size:24px;line-height:1}.touch-btn-steer .touch-label{font-family:var(--font-mono,monospace);letter-spacing:.5px;color:#94a3b8;margin-top:3px;font-size:10px;font-weight:800}.touch-btn-steer:active,.touch-btn-steer.active{background:#38bdf873;border-color:#38bdf8;box-shadow:0 0 20px #38bdf899}.touch-btn-steer.active .touch-label{color:#38bdf8}.mobile-pedal-zone{pointer-events:auto;z-index:95;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:24px;right:20px}.mobile-aux-row{gap:12px;display:flex}.touch-btn-nitro{background:linear-gradient(135deg,#06b6d459,#9333ea59);border-color:#06b6d480;border-radius:14px;width:64px;height:52px}.touch-btn-nitro .touch-icon{font-size:18px}.touch-btn-nitro .touch-label{font-family:var(--font-mono,monospace);color:#67e8f9;font-size:9px;font-weight:800}.touch-btn-nitro:active,.touch-btn-nitro.active{background:linear-gradient(135deg,#06b6d4cc,#9333eacc);border-color:#22d3ee;box-shadow:0 0 24px #22d3eecc}.touch-btn-handbrake{background:linear-gradient(135deg,#f59e0b59,#ea580c59);border-color:#f59e0b80;border-radius:14px;width:64px;height:52px}.touch-btn-handbrake .touch-icon{font-size:16px}.touch-btn-handbrake .touch-label{font-family:var(--font-mono,monospace);color:#fbbf24;font-size:9px;font-weight:800}.touch-btn-handbrake:active,.touch-btn-handbrake.active{background:linear-gradient(135deg,#f59e0bcc,#ea580ccc);border-color:#fbbf24;box-shadow:0 0 24px #fbbf24cc}.mobile-pedals-row{align-items:flex-end;gap:12px;display:flex}.touch-btn-brake{background:#ef444447;border-color:#ef444499;border-radius:18px;width:70px;height:82px}.touch-btn-brake .touch-icon{color:#f87171;font-size:22px}.touch-btn-brake .touch-label{font-family:var(--font-mono,monospace);color:#fca5a5;margin-top:2px;font-size:10px;font-weight:800}.touch-btn-brake:active,.touch-btn-brake.active{background:#ef4444a6;border-color:#ef4444;box-shadow:0 0 24px #ef4444cc}.touch-btn-gas{background:#22c55e52;border-color:#22c55eb3;border-radius:20px;width:78px;height:96px}.touch-btn-gas .touch-icon{color:#4ade80;font-size:26px}.touch-btn-gas .touch-label{font-family:var(--font-mono,monospace);color:#86efac;margin-top:3px;font-size:11px;font-weight:800}.touch-btn-gas:active,.touch-btn-gas.active{background:#22c55ebf;border-color:#22c55e;box-shadow:0 0 28px #22c55ed9}.mobile-quick-actions{pointer-events:auto;z-index:95;flex-direction:column;gap:8px;display:flex;position:fixed;top:76px;right:14px}.touch-quick-btn{-webkit-backdrop-filter:blur(8px);color:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:#0f172ac7;border:1px solid #ffffff2e;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:44px;height:44px;font-size:14px;transition:transform .1s,background .1s;display:flex;box-shadow:0 4px 14px #0006}.touch-quick-btn span:last-child{color:#94a3b8;letter-spacing:.3px;font-size:8px;font-weight:700}.touch-quick-btn:active{background:#38bdf859;border-color:#38bdf8;transform:scale(.9)}@media (width<=900px),(pointer:coarse){.controls-card{display:none!important}.hud-header{-webkit-overflow-scrolling:touch!important;gap:8px!important;padding:8px 12px!important;overflow-x:auto!important}.header-actions{flex-shrink:0;gap:6px}.reset-btn{padding:6px 10px!important;font-size:11px!important}.reset-key-hint{display:none!important}.hud-footer{pointer-events:none!important;justify-content:center!important;align-items:flex-end!important;padding-bottom:8px!important}.speedometer-card{pointer-events:auto!important;min-width:170px!important;padding:8px 16px!important;transform:translateY(-8px)!important}.speed-value{font-size:32px!important}.city-info-card{display:none!important}#race-telemetry-card,#drift-telemetry-card{z-index:92!important;min-width:180px!important;max-width:220px!important;padding:8px 12px!important;font-size:11px!important;position:fixed!important;top:76px!important;left:50%!important;transform:translate(-50%)!important}}

.vehicle-dropdown-wrap{position:relative;display:inline-flex}
.vehicle-dropdown-wrap .dropdown-chevron{transition:transform .2s cubic-bezier(.16,1,.3,1);margin-left:4px}
.vehicle-dropdown-wrap.open .dropdown-chevron{transform:rotate(180deg)}
.vehicle-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:#0f172af5;border:1px solid #ffffff24;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:5px;box-shadow:0 18px 48px #00000099,0 0 0 1px #38bdf833;opacity:0;pointer-events:none;transform:translateY(-8px)scale(.96);transition:all .2s cubic-bezier(.16,1,.3,1);z-index:1000}
.vehicle-dropdown-wrap.open .vehicle-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}
.dropdown-header{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);padding:4px 8px 6px;border-bottom:1px solid #ffffff14;margin-bottom:2px;display:flex;justify-content:space-between;align-items:center}
.dropdown-divider{height:1px;background:#ffffff14;margin:3px 0}
.vehicle-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#1e293b66;border:1px solid #ffffff12;border-radius:10px;color:var(--text-main);cursor:pointer;text-align:left;font-family:inherit;font-size:12px;transition:all .15s cubic-bezier(.16,1,.3,1);user-select:none;position:relative}
.vehicle-dropdown-item:hover{background:#1e293bd9;border-color:var(--accent-cyan);transform:translateX(3px);box-shadow:0 4px 12px #00000040}
.vehicle-dropdown-item:active{transform:scale(.97)}
.dropdown-item-icon{font-size:15px;display:flex;align-items:center;justify-content:center;width:22px;flex-shrink:0}
.dropdown-item-text{display:flex;flex-direction:column;flex:1;gap:1px}
.dropdown-item-title{font-weight:700;font-size:12px;color:#f8fafc}
.dropdown-item-status{font-size:10px;color:var(--text-muted);font-weight:600;font-family:var(--font-mono)}
.vehicle-dropdown-item.headlights-on{background:#38bdf81f;border-color:#38bdf880}
.vehicle-dropdown-item.headlights-on .dropdown-item-status{color:#38bdf8}
.vehicle-dropdown-item.underglow-active{background:#00f0ff1a;border-color:#00f0ff66}
.vehicle-dropdown-item.underglow-active .dropdown-item-status{color:#38bdf8}
.vehicle-dropdown-item.horn-active{animation:.2s hornPress}

.controls-card.hidden-by-mobile{display:none!important}
.mobile-controls-overlay.force-show{display:block!important}
.mobile-controls-overlay.force-hide{display:none!important}
@media (width<=900px),(pointer:coarse){
  .hud-minimap-container{top:calc(48px + env(safe-area-inset-top, 0px))!important;left:calc(10px + env(safe-area-inset-left, 0px))!important;bottom:auto!important;width:86px!important;height:86px!important}
  #hud-minimap-canvas{width:86px!important;height:86px!important}
  .online-race-card{top:calc(48px + env(safe-area-inset-top, 0px))!important;left:calc(104px + env(safe-area-inset-left, 0px))!important;bottom:auto!important;max-width:160px!important;padding:5px 8px!important;font-size:10px!important}
}

/* Input Mode Toggle (PC / Mobile) Controls */
.input-mode-btn {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.96)) !important;
  border: 1.5px solid rgba(56, 189, 248, 0.45) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 10px rgba(56, 189, 248, 0.2) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  font-weight: 700 !important;
  align-items: center !important;
  gap: 8px !important;
}
.input-mode-btn:hover {
  border-color: #38bdf8 !important;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.2), rgba(30, 41, 59, 0.95)) !important;
  box-shadow: 0 6px 20px rgba(56, 189, 248, 0.4) !important;
  transform: translateY(-1px) scale(1.02);
}
.input-mode-btn.mobile-active {
  border-color: rgba(34, 197, 94, 0.8) !important;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(15, 23, 42, 0.95)) !important;
  box-shadow: 0 0 16px rgba(34, 197, 94, 0.4) !important;
}
.input-mode-btn.mobile-active #input-mode-text {
  color: #4ade80 !important;
}
.input-mode-btn.pc-active {
  border-color: rgba(56, 189, 248, 0.8) !important;
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.35) !important;
}
.input-mode-btn.pc-active #input-mode-text {
  color: #38bdf8 !important;
}

.mobile-steer-zone {
  position: fixed !important;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  left: calc(14px + env(safe-area-inset-left, 0px)) !important;
  gap: 10px !important;
  z-index: 95 !important;
}
.mobile-pedal-zone {
  position: fixed !important;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  right: calc(14px + env(safe-area-inset-right, 0px)) !important;
  gap: 8px !important;
  z-index: 95 !important;
  align-items: flex-end !important;
}
.mobile-quick-actions {
  position: fixed !important;
  top: calc(6px + env(safe-area-inset-top, 0px)) !important;
  right: calc(8px + env(safe-area-inset-right, 0px)) !important;
  bottom: auto !important;
  flex-direction: row !important;
  gap: 5px !important;
  z-index: 99 !important;
}

/* Race Restart & Reset HUD Enhancements */
.reset-btn.race-restart-btn {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.28), rgba(2, 132, 199, 0.28)) !important;
  border: 1.5px solid rgba(56, 189, 248, 0.6) !important;
  color: #38bdf8 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 14px rgba(56, 189, 248, 0.3) !important;
  animation: 2.2s infinite alternate raceBtnGlow;
}
.reset-btn.race-restart-btn:hover {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.55), rgba(2, 132, 199, 0.55)) !important;
  border-color: #38bdf8 !important;
  color: #fff !important;
  transform: translateY(-1px) scale(1.03) !important;
  box-shadow: 0 6px 24px rgba(56, 189, 248, 0.6) !important;
}
.reset-btn.race-restart-btn:active {
  transform: translateY(1px) scale(0.97) !important;
}
@keyframes raceBtnGlow {
  0% { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 10px rgba(56, 189, 248, 0.25); }
  100% { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5), 0 0 18px rgba(56, 189, 248, 0.55); border-color: rgba(56, 189, 248, 0.85); }
}

.race-telemetry-restart-btn {
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  animation: 1.6s infinite alternate telemetryBtnPulse;
}
.race-telemetry-restart-btn:hover {
  transform: translateY(-1px) scale(1.02);
  filter: brightness(1.15);
}
@keyframes telemetryBtnPulse {
  0% { box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4); }
  100% { box-shadow: 0 4px 20px rgba(56, 189, 248, 0.7); }
}

.track-switch-btn {
  color: #38bdf8;
  border-color: #38bdf880;
  background: rgba(14, 165, 233, 0.15);
}
.track-switch-btn:hover {
  background: rgba(14, 165, 233, 0.3);
  border-color: #38bdf8;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.45);
}
.touch-track-btn {
  background: rgba(14, 165, 233, 0.25) !important;
  border-color: rgba(56, 189, 248, 0.6) !important;
  color: #38bdf8 !important;
}
.touch-track-btn:active {
  background: rgba(14, 165, 233, 0.5) !important;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.6) !important;
}

/* =========================================================================
   MOBILE NON-OVERLAPPING RESPONSIVE HUD & TOUCH CONTROLS
   Guarantees zero overlapping between pedals, steer buttons, quick actions,
   minimap, telemetry, and speedometer across all screen sizes and orientations.
   ========================================================================= */

@media (width <= 900px), (pointer: coarse) {
  /* Header: Sleek, single-line horizontal scrolling with space on right for quick buttons */
  .hud-header {
    height: 44px !important;
    padding: 4px 10px !important;
    padding-right: 210px !important; /* Keep clear of mobile-quick-actions */
    gap: 6px !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .hud-header::-webkit-scrollbar {
    display: none !important;
  }
  .brand-badge {
    padding: 3px 8px !important;
    gap: 6px !important;
  }
  .brand-title {
    font-size: 11px !important;
  }
  .brand-subtitle {
    display: none !important;
  }

  /* Quick Actions (Top-Right): Sleek horizontal row of icon buttons, NEVER overlapping pedals! */
  .mobile-quick-actions {
    position: fixed !important;
    top: calc(5px + env(safe-area-inset-top, 0px)) !important;
    right: calc(8px + env(safe-area-inset-right, 0px)) !important;
    bottom: auto !important;
    left: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 5px !important;
    z-index: 99 !important;
  }
  .touch-quick-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    padding: 0 !important;
    gap: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  }
  .touch-quick-btn span:last-child {
    display: none !important; /* Hide tiny text label on mobile to keep buttons ultra-clean */
  }

  /* Minimap: Pinned to top-left below header */
  .hud-minimap-container {
    position: fixed !important;
    top: calc(48px + env(safe-area-inset-top, 0px)) !important;
    left: calc(8px + env(safe-area-inset-left, 0px)) !important;
    bottom: auto !important;
    width: 84px !important;
    height: 84px !important;
    border-radius: 12px !important;
    z-index: 88 !important;
  }
  #hud-minimap-canvas {
    width: 84px !important;
    height: 84px !important;
  }

  /* Online race card: Docked safely next to minimap horizontally, NEVER reaching bottom steer zone */
  .online-race-card {
    position: fixed !important;
    top: calc(48px + env(safe-area-inset-top, 0px)) !important;
    left: calc(98px + env(safe-area-inset-left, 0px)) !important;
    bottom: auto !important;
    max-width: 155px !important;
    max-height: 90px !important;
    padding: 4px 8px !important;
    font-size: 9px !important;
    z-index: 89 !important;
    overflow-y: auto !important;
  }

  /* Telemetry Cards: Centered at top, between minimap and quick actions */
  #race-telemetry-card,
  #drift-telemetry-card {
    position: fixed !important;
    top: calc(48px + env(safe-area-inset-top, 0px)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    min-width: 140px !important;
    max-width: 195px !important;
    padding: 4px 8px !important;
    font-size: 10px !important;
    z-index: 92 !important;
  }

  /* Steer Zone (Bottom-Left): Dedicated thumb zone */
  .mobile-steer-zone {
    position: fixed !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    left: calc(10px + env(safe-area-inset-left, 0px)) !important;
    gap: 8px !important;
    z-index: 95 !important;
  }
  .touch-btn-steer {
    width: 58px !important;
    height: 58px !important;
    border-radius: 16px !important;
  }

  /* Pedal Zone (Bottom-Right): Dedicated thumb zone with Nitro, Handbrake, Brake, Gas */
  .mobile-pedal-zone {
    position: fixed !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    right: calc(10px + env(safe-area-inset-right, 0px)) !important;
    gap: 7px !important;
    z-index: 95 !important;
    align-items: flex-end !important;
  }
  .mobile-aux-row {
    gap: 7px !important;
  }
  .touch-btn-nitro,
  .touch-btn-handbrake {
    width: 52px !important;
    height: 42px !important;
    border-radius: 12px !important;
  }
  .mobile-pedals-row {
    gap: 7px !important;
  }
  .touch-btn-brake {
    width: 56px !important;
    height: 68px !important;
    border-radius: 16px !important;
  }
  .touch-btn-gas {
    width: 64px !important;
    height: 80px !important;
    border-radius: 18px !important;
  }

  /* Speedometer (Bottom-Center): Compact, never touches steering or pedals */
  .hud-footer {
    position: fixed !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 93 !important;
    pointer-events: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
  }
  .speedometer-card {
    min-width: 120px !important;
    max-width: 136px !important;
    padding: 4px 8px !important;
    border-radius: 12px !important;
    pointer-events: auto !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important;
    transform: none !important;
  }
  .speed-value {
    font-size: 24px !important;
  }
  .speed-unit {
    font-size: 9px !important;
  }
  .speed-bar-track,
  .nitro-bar-track,
  .health-bar-track {
    height: 3px !important;
    margin-top: 2px !important;
  }
  .city-info-card {
    display: none !important;
  }
}

/* Portrait Mobile Optimization: Elevate speedometer above steering & pedals */
@media (max-width: 600px) and (orientation: portrait) {
  .hud-footer {
    bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .mobile-steer-zone {
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    left: calc(8px + env(safe-area-inset-left, 0px)) !important;
  }
  .mobile-pedal-zone {
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    right: calc(8px + env(safe-area-inset-right, 0px)) !important;
  }
  .online-race-card {
    display: none !important; /* Hide online list on compact portrait to maximize clarity */
  }
}



/* ── Mobil Kontrolleri Aç butonu (dokunmatik cihazlarda, PC modundayken) ── */
.mobile-enable-btn {
  display: none;
  position: fixed;
  left: 50%;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: 3000;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 9999px;
  border: 1.5px solid rgba(74, 222, 128, 0.85);
  background: linear-gradient(135deg, rgba(22, 163, 74, 0.95), rgba(21, 128, 61, 0.95));
  color: #f0fdf4;
  font: 800 15px/1 var(--font-family);
  letter-spacing: 0.02em;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 22px rgba(74, 222, 128, 0.45);
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  animation: mobileEnablePulse 2s ease-in-out infinite;
}
.mobile-enable-btn.visible {
  display: inline-flex;
}
.mobile-enable-icon {
  font-size: 20px;
}
@keyframes mobileEnablePulse {
  0%, 100% { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 14px rgba(74, 222, 128, 0.35); }
  50% { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 30px rgba(74, 222, 128, 0.7); }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-enable-btn { animation: none; }
}

/* ── Oda içi Admin (Host) mod paneli ── */
.mp-host-mode-panel {
  margin-top: 14px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.06);
}
.mp-host-mode-title {
  font-size: 11px;
  font-weight: 800;
  color: #fbbf24;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.mp-host-mode-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 8px;
}
.mp-host-mode-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(15, 23, 42, 0.75);
  color: #e2e8f0;
  font: 700 12px/1.2 var(--font-family);
  cursor: pointer;
  pointer-events: auto;
  transition: border-color 0.15s, background 0.15s;
}
.mp-host-mode-btn:hover:not(:disabled) {
  border-color: #fbbf24;
  background: rgba(245, 158, 11, 0.15);
}
.mp-host-mode-btn.active {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.25);
  color: #fde68a;
}
.mp-host-mode-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.mp-host-mode-btn.active:disabled {
  opacity: 1;
}
.mp-host-mode-note {
  margin-top: 8px;
  font-size: 11px;
  color: #94a3b8;
}

/* Mobil: menü/modal panelleri ekrana sığsın, içerik kaydırılsın, başlık + kapat butonu hep görünsün */
@media (width <= 900px), (pointer: coarse) {
  .modal-backdrop {
    padding: max(8px, env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-right, 0px))
      max(8px, env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
  }
  .modal-card {
    max-height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding: 0 14px 14px;
    border-radius: 14px;
  }
  .modal-card > * {
    flex-shrink: 0;
  }
  .modal-header {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #0f172a;
    padding: 12px 0 10px;
  }
  .modal-title-group h2 {
    font-size: 15px;
    gap: 8px;
  }
  .modal-title-group h2 svg {
    width: 18px;
    height: 18px;
  }
  .modal-title-group p {
    display: none;
  }

  /* Ana menü sekmeleri: tek satır, yatay kaydırılabilir şerit */
  .mp-master-tabs {
    margin-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .mp-master-tabs::-webkit-scrollbar {
    display: none;
  }
  .mp-master-tab-btn {
    flex: 1 0 auto;
    gap: 6px;
    padding: 8px 12px;
    font-size: 12px;
    white-space: nowrap;
  }
  .mp-master-tab-btn .tab-sub {
    display: none;
  }
}

/* ── Mobil HAZIRIM butonu (online lobi) ── */
.touch-ready-btn {
  position: fixed;
  left: 50%;
  top: 40%;
  transform: translate(-50%, -50%);
  z-index: 120;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 9999px;
  border: 2px solid rgba(250, 204, 21, 0.9);
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.97));
  color: #fef9c3;
  font: 800 17px/1 var(--font-family);
  letter-spacing: 0.04em;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 22px rgba(250, 204, 21, 0.45);
  pointer-events: auto;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
  animation: mobileEnablePulse 2s ease-in-out infinite;
}
.touch-ready-btn.is-ready {
  border-color: rgba(74, 222, 128, 0.9);
  background: linear-gradient(135deg, rgba(22, 163, 74, 0.95), rgba(21, 128, 61, 0.95));
  color: #f0fdf4;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 22px rgba(74, 222, 128, 0.45);
  animation: none;
}
.mobile-pedal-zone,
.mobile-pedal-zone .touch-btn {
  touch-action: none;
}
