*{box-sizing:border-box}:root{color-scheme:dark;--bg: #07111c;--panel: rgba(6, 13, 19, .7);--panel-strong: rgba(5, 13, 22, .86);--line: rgba(230, 205, 152, .26);--line-bright: rgba(124, 255, 178, .5);--text: #ecf6ff;--muted: #9fb2c4;--accent: #68d8ff;--accent-2: #7cffb2;--zone-color: #68d8ff;--gold: #ffdf8a;--danger: #ff6d8d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none}button,a{font:inherit}button{cursor:pointer}#play-canvas{position:fixed;inset:0;width:100vw;height:100vh;display:block;background:#07111c;outline:none}.vignette,.noise-layer{position:fixed;inset:0;pointer-events:none}.vignette{z-index:2;background:radial-gradient(circle at 50% 45%,transparent 0 44%,rgba(0,0,0,.2) 100%),linear-gradient(180deg,rgba(255,205,126,.08),transparent 34%,rgba(104,216,255,.05))}.noise-layer{display:none}.hud{position:fixed;top:14px;left:14px;right:14px;z-index:15;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;pointer-events:none}body:not(.is-driving) .hud{display:none}.hud-core,.hud-readouts,.interaction-prompt,.circuit-status,.panel-card,.menu-card,.map-card,.title-card{border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,223,138,.09),transparent 42%),var(--panel);box-shadow:0 18px 48px #0000004d,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hud-core{justify-self:start;min-width:0;border-radius:8px;padding:8px 12px;background:linear-gradient(135deg,rgba(124,255,178,.09),transparent 48%),#040a1180}.hud-kicker,.title-card span,#prompt-kind,#panel-kind{display:block;color:var(--accent-2);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.hud-core strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,2vw,1.18rem)}.hud-readouts{display:flex;align-items:center;gap:6px;border-radius:8px;padding:5px;pointer-events:auto;background:linear-gradient(135deg,rgba(255,223,138,.055),transparent 46%),#040a1175}.hud-readouts span{min-height:34px;display:inline-flex;align-items:center;padding:0 9px;border-radius:6px;background:#ffdf8a0a;color:var(--muted);white-space:nowrap}#zone-readout{color:var(--accent-2)}.hud-pill,.title-actions a,.title-actions button,.panel-top button,.panel-actions a,.panel-actions button,.menu-top button,.menu-tabs button,.option-tile{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#050c14bd;color:var(--text);text-decoration:none;padding:10px 13px;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.hud-pill{pointer-events:auto}.hud-pill:hover,.hud-pill:focus-visible,.title-actions a:hover,.title-actions a:focus-visible,.title-actions button:hover,.title-actions button:focus-visible,.panel-top button:hover,.panel-top button:focus-visible,.panel-actions a:hover,.panel-actions a:focus-visible,.panel-actions button:hover,.panel-actions button:focus-visible,.menu-top button:hover,.menu-top button:focus-visible,.menu-tabs button:hover,.menu-tabs button:focus-visible,.option-tile:hover,.option-tile:focus-visible{border-color:var(--line-bright);background:#7cffb221;outline:none;transform:translateY(-1px)}.title-screen,.loading,.panel,.menu,.map-modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 42%,rgba(104,216,255,.08),transparent 38%),linear-gradient(120deg,#03080d7a,#050e1738)}.title-screen{z-index:55;place-items:end start;padding:0 18px 18px;background:radial-gradient(circle at 32% 58%,transparent 0 48%,rgba(3,8,13,.055) 86%),linear-gradient(0deg,rgba(3,8,13,.18),rgba(3,8,13,.025) 34%,transparent 78%)}.title-back{position:fixed;top:18px;left:18px}.title-card{position:relative;width:min(360px,calc(100vw - 36px));border-radius:8px;padding:clamp(10px,1.4vw,13px) clamp(12px,1.5vw,14px) clamp(12px,1.5vw,14px) clamp(14px,1.7vw,16px);margin:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:6px;animation:title-rise .7s cubic-bezier(.2,.8,.2,1) both;border-color:#e6cd9833;background:linear-gradient(90deg,rgba(124,255,178,.12),transparent 46%),#040a116b;box-shadow:0 16px 36px #00000038,inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.title-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:999px;background:var(--accent-2);box-shadow:0 0 18px #7cffb294}.title-card h1{max-width:none;margin:2px 0 0;font-size:clamp(1.32rem,2vw,1.62rem);line-height:1;letter-spacing:0}.title-card p{max-width:36ch;margin:2px 0 0;color:var(--muted);font-size:clamp(.78rem,.95vw,.86rem);line-height:1.32}.title-actions,.panel-actions{display:flex;flex-wrap:wrap;gap:10px}.title-actions{justify-content:flex-start;margin-top:2px}.panel-actions{margin-top:18px}.title-actions button,.title-actions a,.panel-actions button{min-height:36px;padding:7px 11px}.title-actions button,.panel-actions button{border-color:var(--line-bright);background:#7cffb224}.interaction-prompt{position:fixed;left:50%;bottom:28px;z-index:20;width:min(88vw,360px);border-color:color-mix(in srgb,var(--zone-color),transparent 46%);border-radius:8px;padding:14px 16px;text-align:left;transform:translate(-50%);animation:prompt-in .18s ease both;background:linear-gradient(90deg,color-mix(in srgb,var(--zone-color),transparent 78%),transparent 56%),#040a11cc;box-shadow:0 18px 42px #00000047,0 0 26px color-mix(in srgb,var(--zone-color),transparent 82%)}.interaction-prompt:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:var(--zone-color);box-shadow:0 0 16px var(--zone-color)}.interaction-prompt strong{display:block;margin-top:4px;font-size:clamp(1.08rem,3vw,1.45rem)}.interaction-prompt p{margin:6px 0 0;color:var(--muted)}.whisper-feed{position:fixed;left:228px;bottom:24px;z-index:20;width:min(88vw,360px);border:1px solid color-mix(in srgb,var(--zone-color),transparent 50%);border-radius:8px;padding:12px 14px;background:linear-gradient(90deg,color-mix(in srgb,var(--zone-color),transparent 82%),transparent 58%),#040a11b8;box-shadow:0 18px 42px #0000003d,0 0 24px color-mix(in srgb,var(--zone-color),transparent 84%);pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:whisper-in .18s ease both}.whisper-feed span{display:block;color:var(--zone-color);font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.whisper-feed strong{display:block;margin-top:5px;color:var(--text);font-size:clamp(.92rem,1.7vw,1rem);line-height:1.35}.circuit-status{position:fixed;top:84px;left:50%;z-index:19;width:min(calc(100vw - 36px),380px);border-radius:10px;padding:11px 14px 12px;pointer-events:none;transform:translate(-50%);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.debug-drive .circuit-status{top:138px}body:not(.is-driving) .circuit-status,body:has(.panel:not([hidden])) .circuit-status,body:has(.menu:not([hidden])) .circuit-status,body:has(.map-modal:not([hidden])) .circuit-status{display:none}.circuit-status.is-pulsing{border-color:#7cffb2b8;box-shadow:0 18px 48px #0000004d,0 0 28px #7cffb238,inset 0 1px #ffffff1a;transform:translate(-50%) translateY(-2px)}.circuit-status span{display:block;color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.circuit-status strong{display:block;margin-top:4px;color:var(--accent-2);font-size:1rem;line-height:1.15}.circuit-status div{display:flex;justify-content:space-between;gap:10px;margin-top:7px}.circuit-status small{color:var(--muted);font-weight:800;white-space:nowrap}.minimap{position:fixed;left:16px;bottom:16px;z-index:18;width:162px;aspect-ratio:1;border:1px solid rgba(255,223,138,.34);border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 50%,#0b342bdb,#030d18f5 72%);box-shadow:0 16px 42px #00000057;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.9}body:not(.is-driving) .minimap{display:none}body:not(.is-driving) .interaction-prompt{display:none}body:not(.is-driving) .whisper-feed,body:has(.panel:not([hidden])) .whisper-feed,body:has(.menu:not([hidden])) .whisper-feed,body:has(.map-modal:not([hidden])) .whisper-feed{display:none}.minimap-world{position:absolute;inset:0}.minimap-island,.map-island{position:absolute;inset:13%;border:1px solid rgba(255,223,138,.34);border-radius:55% 45% 53% 47%/48% 58% 42% 52%;clip-path:polygon(48% 2%,66% 6%,84% 17%,96% 39%,90% 62%,76% 86%,52% 98%,27% 92%,8% 72%,3% 47%,15% 20%);background:radial-gradient(circle at 50% 50%,rgba(124,255,178,.22),transparent 47%),radial-gradient(circle at 26% 22%,rgba(255,223,138,.18),transparent 23%),radial-gradient(circle at 78% 28%,rgba(104,216,255,.16),transparent 20%),linear-gradient(rgba(255,223,138,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,223,138,.06) 1px,transparent 1px),radial-gradient(circle at 48% 46%,#418b4cfa 0 68%,#6b9c48f2 82%,#d4ad69ed 90%,#4accdab3 96%,#06243cf5);background-size:auto,auto,auto,9% 9%,9% 9%,auto;box-shadow:inset 0 0 32px #7cffb224,0 0 28px #ffdf8a1a}.minimap-district,.map-district{position:absolute;border:1px solid color-mix(in srgb,var(--district-color),transparent 36%);border-radius:8px;background:color-mix(in srgb,var(--district-color),transparent 86%);transform:translate(-50%,-50%)}.minimap-canal,.map-canal{position:absolute;border-radius:999px;background:#42c4e894;transform:translate(-50%,-50%);box-shadow:0 0 10px #68d8ff33}.minimap-road,.map-road{position:absolute;border-radius:999px;background:#1e2b2ba8;transform:translate(-50%,-50%);box-shadow:none}.minimap-roads-svg,.map-roads-svg,.minimap-circuit-svg,.map-circuit-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.minimap-road-underlay,.map-road-underlay{fill:none;stroke:#ffefbf33;stroke-linecap:round;stroke-linejoin:round;opacity:.74}.map-road-underlay{opacity:.48}.minimap-road-line,.map-road-line{fill:none;stroke:#303731e6;stroke-linecap:round;stroke-linejoin:round}.map-road-line{filter:drop-shadow(0 0 1px rgba(0,0,0,.28));opacity:.88}.minimap-road-plaza,.map-road-plaza{stroke:#d7c799db}.minimap-road-security,.map-road-security{stroke:#337789e0}.minimap-road-dirt,.map-road-dirt{stroke:#744f27c7}.minimap-road-stunt,.map-road-stunt{stroke:#704132d1}.map-circuit-line,.minimap-circuit-line{fill:none;stroke:#ff9b6d57;stroke-width:.28;stroke-dasharray:.9 1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.74}.minimap-circuit-line{stroke-width:.34;opacity:.34}.map-district-label,.map-route-label,.map-legend{pointer-events:none;position:absolute;z-index:3}.map-district-label{max-width:76px;padding:3px 5px;border:1px solid color-mix(in srgb,var(--district-color),transparent 42%);border-radius:6px;background:#02080d9e;color:color-mix(in srgb,var(--district-color),white 28%);font-size:.52rem;font-weight:800;line-height:1.05;text-align:center;text-transform:uppercase;transform:translate(-50%,-50%);box-shadow:0 0 12px color-mix(in srgb,var(--district-color),transparent 62%),inset 0 1px #ffffff14;opacity:.86}.map-route-label{padding:2px 4px;border:1px solid rgba(255,223,138,.14);border-radius:999px;background:#02080d7a;color:#fff6dcad;font-size:.42rem;font-weight:800;line-height:1;text-transform:uppercase;transform:translate(-50%,-50%);white-space:nowrap;box-shadow:0 0 7px #0000003d;opacity:.66}.map-route-major{background:#02080da8;border-color:#ffdf8a38;color:#fff6dcdb;font-size:.46rem;opacity:.78;z-index:4}.map-route-minor{font-size:.38rem;opacity:.42;z-index:2}.map-route-security{color:#a8f0ff}.map-route-stunt{color:#ffc0a5}.map-route-plaza{color:#ffe4a3}.map-route-dirt{color:#f5c78e}.map-circuit-checkpoint,.minimap-circuit-checkpoint{position:absolute;z-index:4;width:6px;height:6px;border:1px solid rgba(255,235,196,.82);border-radius:50%;background:#ff9b6d94;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ff9b6d1f,0 0 8px #ff9b6d73}.minimap-circuit-checkpoint{width:3px;height:3px;border-width:1px;box-shadow:0 0 5px #ff9b6d70}.map-circuit-checkpoint[data-label]:after{content:attr(data-label);position:absolute;left:12px;top:50%;padding:2px 5px;border-radius:999px;background:#02080dc7;color:#fff2d2;font-size:.55rem;font-weight:900;text-transform:uppercase;transform:translateY(-50%)}.map-legend{right:5.5%;bottom:5.5%;display:flex;flex-direction:column;gap:5px;padding:8px 9px;border:1px solid rgba(255,223,138,.18);border-radius:6px;background:linear-gradient(135deg,rgba(255,223,138,.08),transparent 52%),#02080db8;box-shadow:0 10px 22px #00000052,inset 0 1px #ffffff14}.map-legend span{display:inline-flex;align-items:center;gap:6px;color:#fff6dcd1;font-size:.58rem;font-weight:800;line-height:1;text-transform:uppercase;white-space:nowrap}.map-legend span:before{content:"";width:12px;height:3px;border-radius:999px;background:var(--legend-color);box-shadow:0 0 8px var(--legend-color)}.minimap-pin{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--pin-color);transform:translate(-50%,-50%);box-shadow:0 0 8px var(--pin-color)}.minimap-player,.map-player{position:absolute;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:13px solid var(--gold);filter:drop-shadow(0 0 8px rgba(255,223,138,.9));transform-origin:50% 55%;z-index:5}.map-player{border-left-width:8px;border-right-width:8px;border-bottom-width:20px}.panel,.menu,.map-modal{z-index:50}.panel-card,.menu-card,.map-card{width:min(94vw,760px);max-height:min(82vh,760px);overflow:auto;border-radius:12px;padding:clamp(18px,3vw,28px)}.panel{place-items:center end;padding:92px 24px 26px;background:radial-gradient(circle at 72% 45%,color-mix(in srgb,var(--zone-color),transparent 88%),transparent 34%),linear-gradient(90deg,transparent 0 48%,rgba(3,8,13,.68))}.panel-card{position:relative;width:min(92vw,520px);max-height:min(78vh,660px);margin:0;border-color:color-mix(in srgb,var(--zone-color),transparent 50%);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--zone-color),transparent 84%),transparent 44%),#040a11d6}.panel-card:before{content:"";position:absolute;left:18px;right:18px;top:10px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--zone-color),transparent);box-shadow:0 0 18px color-mix(in srgb,var(--zone-color),transparent 32%)}.panel-top,.menu-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-top h2{margin:4px 0 0;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1}.menu-top h2{margin:4px 0 0;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1}.panel-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.panel-meta span{display:grid;gap:3px;min-width:92px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--zone-color),transparent 64%);border-radius:8px;background:#ffffff0b}.panel-meta small{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.panel-meta strong{overflow:hidden;color:var(--text);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.panel-body{margin-top:18px;max-width:58ch}.panel-body p,.menu-content p{margin:0 0 13px;color:var(--text);font-size:clamp(1rem,1.7vw,1.12rem);line-height:1.72}.panel-body h3{margin:8px 0 10px;font-size:clamp(1.5rem,3vw,2.4rem)}.panel-muted{color:var(--muted)!important}.project-counter{color:var(--gold);font-size:.82rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.menu-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 18px}.menu{place-items:start end;padding:92px 18px 18px;background:radial-gradient(circle at 78% 28%,rgba(124,255,178,.1),transparent 26%),linear-gradient(90deg,transparent 0 44%,rgba(2,8,13,.42) 58%,rgba(3,8,13,.78))}.menu-card{width:min(92vw,470px);max-height:calc(100vh - 120px);border-radius:8px}.menu-card .menu-top h2{font-size:clamp(1.45rem,3vw,2.35rem)}.menu-tabs button.is-active{border-color:var(--accent-2);background:#7cffb229}.menu-grid{display:grid;grid-template-columns:1fr;gap:10px}.option-tile{display:grid;gap:6px;min-height:78px;text-align:left;background:linear-gradient(90deg,rgba(104,216,255,.1),transparent 52%),#03080dcc}.map-modal{background:radial-gradient(circle at 50% 38%,rgba(104,216,255,.1),transparent 34%),linear-gradient(180deg,#03080d2e,#03080da8)}.map-card{width:min(94vw,700px);max-height:min(88vh,760px);border-radius:8px}.map-card .menu-top h2{font-size:clamp(1.55rem,3.2vw,2.55rem)}.menu-card.drive-console,.map-card.drive-console{position:relative;border-color:#68d8ff57;border-radius:6px;background:linear-gradient(90deg,rgba(104,216,255,.08) 0 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 0 1px,transparent 1px),radial-gradient(circle at 18% 0%,rgba(124,255,178,.13),transparent 34%),radial-gradient(circle at 100% 18%,rgba(255,223,138,.1),transparent 28%),linear-gradient(145deg,#07131be6,#03080dd6 58%,#120c08d1);background-size:24px 24px,100% 7px,auto,auto,auto;box-shadow:0 24px 76px #0000006b,0 0 34px #68d8ff21,inset 0 1px #ffffff1a,inset 0 -18px 36px #0003}.menu-card.drive-console:before,.map-card.drive-console:before,.menu-card.drive-console:after,.map-card.drive-console:after{content:"";position:absolute;pointer-events:none}.menu-card.drive-console:before,.map-card.drive-console:before{left:14px;right:14px;top:9px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--gold),transparent);box-shadow:0 0 18px #68d8ff66,0 0 24px #7cffb233}.menu-card.drive-console:after,.map-card.drive-console:after{inset:10px;border:1px solid rgba(255,255,255,.055);border-radius:4px;background:linear-gradient(var(--accent),var(--accent)) left top / 34px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) left top / 1px 34px no-repeat,linear-gradient(var(--gold),var(--gold)) right bottom / 34px 1px no-repeat,linear-gradient(var(--gold),var(--gold)) right bottom / 1px 34px no-repeat;opacity:.58}.menu-card.drive-console{width:min(90vw,440px);padding:clamp(16px,2.4vw,24px)}.map-card.drive-console{width:min(92vw,680px);padding:clamp(16px,2.4vw,24px)}.menu-card.drive-console .menu-top h2,.map-card.drive-console .menu-top h2{font-size:clamp(1.25rem,2.5vw,2rem)}.option-tile span{color:var(--muted);line-height:1.45}.control-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px 14px}.control-grid span{color:var(--accent)}.achievement-list{display:grid;gap:8px}.achievement{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#ffffff0b;opacity:.62}.achievement.is-unlocked{border-color:#7cffb26b;opacity:1}.achievement span{color:var(--muted)}.world-map{position:relative;width:min(76vw,610px,calc(86vh - 180px));min-width:min(82vw,420px);aspect-ratio:1;margin:14px auto 0;border:1px solid rgba(104,216,255,.28);border-radius:6px;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(73,194,207,.2),transparent 46%),radial-gradient(circle at 50% 50%,rgba(255,223,138,.07),transparent 62%),linear-gradient(rgba(104,216,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(104,216,255,.045) 1px,transparent 1px),radial-gradient(circle at 50% 50%,#073047f5,#020a12f7);background-size:auto,auto,28px 28px,28px 28px,auto;box-shadow:0 0 0 1px #ffffff09,0 18px 42px #00000057,inset 0 0 42px #68d8ff1a;cursor:grab}.world-map:after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(rgba(255,255,255,.035) 0 1px,transparent 1px),radial-gradient(circle at 50% 50%,transparent 48%,rgba(2,8,13,.22));background-size:100% 5px,auto;pointer-events:none}.world-map:before{content:"N";position:absolute;top:12px;right:13px;z-index:4;width:24px;height:24px;border:1px solid rgba(255,223,138,.36);border-radius:50%;color:#ffdf8ae0;font-size:.65rem;font-weight:900;line-height:24px;text-align:center;pointer-events:none;box-shadow:0 0 18px #ffdf8a2e}.world-map:active{cursor:grabbing}.world-map-layer{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .12s ease}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.map-toolbar button{min-height:36px;border:1px solid var(--line);border-radius:8px;background:#050c14c7;color:var(--text);padding:7px 11px}.map-toolbar span{color:var(--muted);font-size:.92rem}.map-pin{position:absolute;z-index:6;width:12px;height:12px;min-height:12px;padding:0;border:2px solid var(--pin-color);border-radius:3px;background:var(--pin-color);color:transparent;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 18px var(--pin-color)}.map-pin.is-active{width:auto;height:auto;min-height:34px;padding:6px 9px;border-radius:6px;color:var(--text);background:#050c14f5;transform:translate(-50%,-50%);z-index:9}.map-pin:hover,.map-pin:focus-visible{width:auto;height:auto;min-height:34px;padding:6px 9px;border-radius:6px;color:var(--text);background:#050c14f2;transform:translate(-50%,-50%);z-index:10}.notifications{position:fixed;right:18px;bottom:18px;z-index:70;display:grid;gap:8px;width:min(90vw,360px);pointer-events:none}.debug-readout{position:fixed;left:16px;top:92px;z-index:90;box-sizing:border-box;max-width:min(calc(100vw - 32px),920px);margin:0;padding:8px 10px;border:1px solid rgba(104,216,255,.34);border-radius:8px;background:#03080db8;color:#bff8ff;font:700 .75rem/1.35 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere;white-space:normal;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body:has(.panel:not([hidden])) .debug-readout,body:has(.menu:not([hidden])) .debug-readout,body:has(.map-modal:not([hidden])) .debug-readout{display:none}.notification{padding:12px 14px;border:1px solid rgba(124,255,178,.38);border-radius:8px;background:#050c14db;color:var(--text);opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.notification.is-visible{opacity:1;transform:translateY(0)}.loading{z-index:80;color:var(--accent-2);font-weight:900;letter-spacing:.14em;text-transform:uppercase;transition:opacity .26s ease}.loading.is-hidden{opacity:0;pointer-events:none}.boot-error{color:var(--danger)}[hidden]{display:none!important}.touch-controls{position:fixed;left:0;right:0;bottom:0;z-index:22;display:none;pointer-events:none;padding:0 22px 22px}.touch-stick{position:absolute;left:22px;bottom:22px;width:134px;height:134px;border:1px solid rgba(104,216,255,.42);border-radius:50%;background:#050c1475;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.touch-stick span{position:absolute;left:50%;top:50%;width:48px;height:48px;border:1px solid rgba(124,255,178,.72);border-radius:50%;background:#7cffb252;transform:translate(-50%,-50%)}.touch-buttons{position:absolute;right:18px;bottom:24px;display:flex;gap:10px;pointer-events:auto}.touch-buttons button{width:72px;height:72px;border:1px solid rgba(255,223,138,.5);border-radius:50%;background:#050c149e;color:var(--text);font-size:.72rem;font-weight:900;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.noscript-warning{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--text)}@keyframes title-rise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes prompt-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes whisper-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(hover:none),(pointer:coarse){.touch-controls{display:block}body:not(.is-driving) .touch-controls,body:has(.panel:not([hidden])) .touch-controls,body:has(.menu:not([hidden])) .touch-controls,body:has(.map-modal:not([hidden])) .touch-controls{display:none}}@media(max-width:780px){.hud{grid-template-columns:34px minmax(0,1fr);top:7px;left:7px;right:7px;gap:5px;align-items:start}.hud-core{display:none}.hud-back{width:34px;min-width:34px;min-height:30px;justify-content:center;padding:0;font-size:0}.hud-back:before{content:"<";font-size:.96rem;font-weight:900;line-height:1}.hud-readouts{justify-content:flex-end;justify-self:end;max-width:calc(100vw - 53px);gap:3px;padding:3px;overflow:hidden;background:linear-gradient(135deg,rgba(255,223,138,.04),transparent 44%),#040a1157}#zone-readout{display:none}.hud-readouts span,.hud-pill{min-height:28px;padding:4px 7px;border-radius:6px;font-size:.68rem}#speed-readout{min-width:56px;justify-content:center}#sound-button{min-width:45px}#map-button,#menu-button{min-width:43px}.hud-back{overflow:hidden;color:transparent;font-size:0}.hud-back:before{color:var(--text)}.circuit-status{top:48px;width:min(calc(100vw - 24px),340px);padding:9px 11px 10px}.debug-drive .circuit-status{top:76px}.circuit-status strong{font-size:.92rem}.circuit-status small{font-size:.72rem}.title-card h1{max-width:none;font-size:clamp(1.45rem,7vw,1.9rem)}.title-card{width:min(92vw,360px);margin:0;padding:16px;grid-template-columns:1fr;align-items:start}.title-actions{gap:8px;margin-top:8px;justify-content:flex-start}.title-actions a,.title-actions button{min-height:38px;padding:8px 11px}.menu-grid{grid-template-columns:1fr}.panel,.menu,.map-modal{place-items:end center;padding:14px 14px 112px;background:radial-gradient(circle at 50% 42%,rgba(104,216,255,.08),transparent 38%),linear-gradient(180deg,transparent,rgba(3,8,13,.76))}.panel-card,.menu-card,.map-card{width:min(94vw,520px);max-height:86vh}.menu-card.drive-console,.map-card.drive-console{width:min(94vw,520px);padding:16px}.menu-card.drive-console{max-height:min(78vh,620px)}.map-card.drive-console{max-height:min(82vh,720px)}.menu-tabs{gap:6px;margin:16px 0 14px}.menu-tabs button{min-height:36px;padding:8px 10px}.option-tile{min-height:70px}.panel-top,.menu-top{align-items:flex-start}.world-map{width:min(84vw,calc(86vh - 170px));min-width:0}.map-route-label{display:none}.map-district-label{max-width:62px;font-size:.48rem}.map-legend{transform:scale(.88);transform-origin:right bottom}.minimap{left:10px;bottom:14px;width:104px;opacity:.66}#interaction-prompt{left:126px;right:12px;bottom:14px;width:auto;max-width:none;padding:8px 10px;transform:none;animation-name:prompt-in-mobile}#interaction-prompt strong{margin-top:0;font-size:.96rem;line-height:1.15}#interaction-prompt p{margin-top:4px;font-size:.78rem;line-height:1.25}.whisper-feed{left:auto;right:14px;bottom:230px;width:min(86vw,330px)}.notifications{left:126px;right:12px;bottom:14px;width:auto}.notification{padding:8px 10px;font-size:.88rem;line-height:1.15}.debug-readout{left:7px;right:7px;top:42px;max-width:none;max-height:22px;padding:3px 6px;font-size:.48rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;background:#03080d80}.touch-stick{left:16px;bottom:16px;width:112px;height:112px}.touch-stick span{width:40px;height:40px}.touch-buttons{right:14px;bottom:18px;gap:8px}.touch-buttons button{width:60px;height:60px;font-size:.68rem}}@media(max-width:780px)and ((hover:none)or (pointer:coarse)){.minimap,#interaction-prompt,.notifications{bottom:96px}}@keyframes prompt-in-mobile{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
