:root{color:#f3f5ef;font-synthesis:none;--mint:#cee68f;--muted:#b0bdbb;--line:#ffffff25;--panel:#142427ed;--safe-x:max(22px,env(safe-area-inset-left));--safe-r:max(22px,env(safe-area-inset-right));--safe-y:max(20px,env(safe-area-inset-top));--safe-bottom:max(26px,env(safe-area-inset-bottom));background:#152326;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#ffffff09;border-radius:10px;padding:12px 16px;transition:background .16s,border-color .16s,transform .16s}button:hover{background:#ffffff17;border-color:#d9e8bd80}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}button:disabled{opacity:.45;cursor:default}input,select{color:#f3f5ef;border:1px solid var(--line);background:#0e1c20;border-radius:9px;min-width:0;padding:12px}select option,optgroup{color:#f3f5ef;background:#142427}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#game{touch-action:none;width:100%;height:100%;position:fixed;inset:0}#vignette{pointer-events:none;background:linear-gradient(#10202524,#0000 17% 78%,#10202522);position:fixed;inset:0}.eyebrow{letter-spacing:1.9px;color:var(--mint);font-size:10px;font-weight:700}#menu{background:linear-gradient(90deg,#142326fa 0%,#142326f5 42%,#1423269c 58%,#14232600 83%);flex-direction:column;padding:28px 4.2vw 20px;display:flex;position:fixed;inset:0;overflow:auto}.lobby-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.brand,.wordmark{color:#f3f5ef;letter-spacing:-.8px;font-size:22px;font-weight:850;text-decoration:none}.brand b,.wordmark b{color:var(--mint)}.build-label{letter-spacing:1.4px;color:#edf3f0;align-items:center;gap:12px;font-size:10px;display:flex}.build-label i,.edition-tag i,.map-heading i{background:var(--mint);border-radius:50%;width:5px;height:5px;display:inline-block}.lobby-content{width:min(610px,52vw);margin-top:clamp(20px,4vh,46px)}.intro .eyebrow{color:#b6c4bd;font-size:9px}.intro h1{letter-spacing:-3px;margin:15px 0 16px;font-size:clamp(44px,4.8vw,72px);font-weight:750;line-height:1.02}.intro h1 em{color:var(--mint);font-style:normal}.lead{color:#bdc8c5;margin:0 0 16px;font-size:15px;line-height:1.65}.edition-tag{letter-spacing:1px;color:#d2dfc6;background:#b8cf9c0c;border:1px solid #b8cf9c30;border-radius:20px;align-items:center;gap:8px;padding:6px 10px;font-size:8px;display:inline-flex}.lobby{margin-top:25px}.section-title{color:#7f9795;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;font-size:10px;display:flex}.section-title b{color:#eef4ec;margin-left:8px;font-size:13px;font-weight:600}.section-title small{color:#a9b9b5;font-size:10px}#characters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.character{text-align:left;background:#0a171b75;border-color:#b8d3ca24;border-radius:12px;min-width:0;padding:9px 10px 12px;position:relative;overflow:hidden}.character.selected{border-color:var(--mint);background:#c5df8e17;box-shadow:inset 0 0 0 1px #cee68f33}.character.selected:after{content:"✓";color:var(--mint);font-size:11px;position:absolute;bottom:12px;right:9px}.character .number{color:#92a8a0;font-size:9px}.character .new-label{float:right;letter-spacing:.6px;color:#eed4a2;font-size:8px;font-weight:700}.car-preview{width:100%;height:39px;margin:4px 0 8px;display:block}.character strong{letter-spacing:-.3px;margin-bottom:4px;font-size:17px;display:block}.character small{color:#aabbb5;min-height:23px;padding-right:8px;font-size:9px;line-height:1.3;display:block}.character-detail{color:#9eb2ab;justify-content:space-between;gap:10px;margin:11px 0 22px;font-size:10px;display:flex}.character-detail span:first-child{color:#d0dbc9}.room-controls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.primary{background:var(--mint);color:#203126;border-color:var(--mint);justify-content:space-between;align-items:center;gap:10px;font-weight:650;display:flex}.primary:hover{color:#14231c;background:#e1f3b5}.room-controls button{min-height:46px;font-size:12px}.primary>span{font-size:19px}.join{min-width:0;display:flex}.join input{letter-spacing:1px;border-radius:9px 0 0 9px;width:100%;font:11px Consolas,monospace}.join button{white-space:nowrap;border-left:0;border-radius:0 9px 9px 0;padding:10px 13px}.server-password{color:#9aada5;margin-top:11px;font-size:10px}.server-password input{width:100%;margin-top:9px;font-size:12px}summary{cursor:pointer}#status{color:#b2c3b9;min-height:18px;margin:10px 0 0;font-size:11px;line-height:1.5}#status.error{color:#ffb1a8}.showroom-caption{text-align:right;text-shadow:0 1px 8px #15232670;flex-direction:column;max-width:34vw;display:flex;position:absolute;bottom:88px;right:5vw}.showroom-caption>span{letter-spacing:2px;color:#314c45;font-size:9px}.showroom-caption strong{letter-spacing:-.6px;color:#1d352d;margin:8px 0;font-size:24px}.showroom-caption small{color:#3d5549;font-size:11px}footer{color:#94aaa3;justify-content:space-between;gap:20px;margin-top:auto;padding-top:25px;font-size:9px;display:flex}footer>span:last-child{color:#486057}#hud{pointer-events:none;padding:var(--safe-y) var(--safe-r) var(--safe-bottom) var(--safe-x);position:fixed;inset:0}#hud button,#hud select,#hud a,#settings{pointer-events:auto}.topbar{align-items:center;gap:12px;display:flex;position:relative}.wordmark{text-shadow:0 1px 6px #17252690;min-width:175px;font-size:18px}.wordmark small{color:#e0e9dc;letter-spacing:.7px;margin-top:6px;font:9px Consolas,monospace;display:block}.location-pill{background:var(--panel);border:1px solid #ffffff20;border-radius:12px;align-items:center;gap:12px;min-width:220px;max-width:34vw;padding:10px 18px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #0e1b2310}.location-icon{color:var(--mint);font-size:23px}.location-pill small,.room-badge small{letter-spacing:1.4px;color:#a8bbb3;font-size:8px;display:block}.location-pill strong{letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;display:block;overflow:hidden}.room-badge{text-align:right;background:var(--panel);border:1px solid #ffffff20;border-radius:10px;margin-left:auto;padding:8px 14px}.room-badge button{letter-spacing:1.2px;background:0 0;border:0;padding:4px 0 0;font:13px Consolas,monospace;display:block}.topbar>button{background:var(--panel);width:44px;height:44px;padding:0;font-size:20px}.mission{left:var(--safe-x);background:var(--panel);border:1px solid #fff2;border-radius:14px;width:256px;padding:13px 16px;position:absolute;top:86px;box-shadow:0 8px 28px #15232618}.mission-heading{justify-content:space-between;align-items:center;display:flex}.mission-heading .eyebrow{letter-spacing:1.4px;font-size:8px}.mission-heading button{color:#d1dfd2;background:0 0;border:0;width:24px;height:20px;padding:0;font-size:18px}.mission-title{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.mission h2{letter-spacing:-.5px;margin:0;font-size:19px}.mission-title b{color:var(--mint);font-size:20px;font-weight:500}.progress-track,.speed-track{background:#ecf5df20;border-radius:4px;height:3px;margin-top:13px;overflow:hidden}.progress-track span,.speed-track span{background:var(--mint);width:0;height:100%;transition:width .3s;display:block}.mission #objective{color:#b8c7c1;margin:11px 0;font-size:11px;line-height:1.6}.crew-player{align-items:center;gap:7px;margin:8px 0;font-size:10px;display:flex}.crew-player i{background:currentColor;border-radius:50%;width:5px;height:5px}.crew-player span:last-child{color:#afc0b6;letter-spacing:.35px;margin-left:auto;font-size:8px}.mission.collapsed .mission-content{display:none}.mission.collapsed{width:180px}.bottom-left{bottom:var(--safe-bottom);left:var(--safe-x);background:var(--panel);pointer-events:auto;border:1px solid #ffffff2c;border-radius:14px;width:200px;position:absolute;overflow:hidden;box-shadow:0 8px 25px #15232620}.map-heading,.map-footer{letter-spacing:.7px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:8px;display:flex}.map-heading{color:#c4d3c9;border-bottom:1px solid #ffffff15}.map-heading span{align-items:center;gap:6px;display:flex}.map-heading button{background:0 0;border:0;padding:0;font-size:18px}.map-footer{color:#9bb0a3;border-top:1px solid #ffffff15}.map-footer strong{color:var(--mint);letter-spacing:0;font-size:13px}#minimap{aspect-ratio:1;object-fit:cover;width:100%;display:block}.bottom-left.expanded{z-index:12;width:min(70vh,78vw)}.drive-hud{bottom:var(--safe-bottom);right:var(--safe-r);background:var(--panel);border:1px solid #fff2;border-radius:14px;width:210px;padding:14px 18px;position:absolute;box-shadow:0 8px 25px #15232620}.drive-label{letter-spacing:1.4px;color:#b7c9bd;justify-content:space-between;align-items:center;font-size:8px;display:flex}#gear{color:var(--mint);letter-spacing:0;font-size:13px}.speed{align-items:baseline;gap:8px;margin:2px 0 4px;display:flex}.speed b{letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:54px;font-weight:350;line-height:1.1}.speed span{color:#adbbb1;font-size:11px}.drive-hud #car-name{color:#e2eadc;font-size:11px;font-weight:500;line-height:1.4;display:block}.drive-hud small{color:#a8bbb0;margin-top:11px;font-size:9px;line-height:1.5;display:block}.drive-hud.on-foot .speed,.drive-hud.on-foot .speed-track{display:none}.drive-hud.on-foot #car-name{margin-top:15px;font-size:19px;font-weight:600}.drive-hud.on-foot{width:190px}#interaction{bottom:var(--safe-bottom);background:var(--panel);text-align:left;border:1px solid #ffffff40;border-radius:11px;align-items:center;gap:11px;max-width:calc(100vw - 470px);padding:10px 13px;font-size:11px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #15232620}#interaction:active{transform:translate(-50%)translateY(1px)}#interaction:disabled{opacity:.8;cursor:default}#interaction .action-arrow{color:var(--mint);margin-left:4px}kbd{color:#213126;background:#d1e59b;border-radius:5px;flex-shrink:0;padding:5px 8px;font:700 11px Segoe UI,sans-serif;display:inline-block}#notice{opacity:0;background:#15282cf2;border:1px solid #d4e6bd45;border-radius:12px;max-width:min(500px,80vw);padding:12px 18px;font-size:12px;line-height:1.5;transition:opacity .2s;position:absolute;top:96px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #13252430}#notice.visible{opacity:1}.attribution{left:var(--safe-x);color:#d4ddd6;text-shadow:0 1px 3px #132524;font-size:7px;position:absolute;bottom:5px}.attribution a{color:inherit}#settings{top:80px;right:var(--safe-r);z-index:20;background:#142427fa;border:1px solid #ffffff2c;border-radius:15px;width:min(340px,100vw - 32px);max-height:calc(100dvh - 105px);padding:20px;position:absolute;overflow-y:auto;box-shadow:0 18px 60px #08131750}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.panel-heading h2{letter-spacing:-.4px;margin:0;font-size:19px}.panel-heading button{background:0 0;border:0;width:28px;height:28px;padding:0;font-size:22px}#settings label{color:#bdcdc3;flex-direction:column;gap:8px;margin:14px 0;font-size:11px;display:flex}#settings select{width:100%;padding:10px;font-size:12px}.quick-views{grid-template-columns:1fr 1fr;gap:7px;display:grid}.quick-views button{padding:10px 8px;font-size:10px}.setting-note{color:#9fb2a7;font-size:10px;line-height:1.6}.key-guide{color:#c3d1c7;border-top:1px solid #ffffff18;grid-template-columns:1fr 1fr;gap:9px;padding-top:13px;font-size:9px;display:grid}.key-guide kbd{color:#e3eadc;background:#ffffff10;margin-right:4px;padding:3px 6px;font-size:9px}.diagnostic-tools{color:#a8bcb0;border-top:1px solid #ffffff18;margin:17px 0;padding-top:13px;font-size:10px}.diagnostic-tools button{width:100%;margin-top:8px;padding:9px;font-size:10px}.diagnostic-tools #metrics{margin-top:10px;font:9px monospace;display:block}.leave-button{color:#e9c9ba;background:#ad65500c;border-color:#e9b4a425;width:100%;font-size:11px}#touch-controls{display:none}#finish{z-index:30;background:#102022ed;flex-direction:column;justify-content:center;align-items:flex-start;padding:10vh 10vw;display:flex;position:fixed;inset:0}#finish h2{letter-spacing:-4px;margin:18px 0;font-size:clamp(44px,7vw,90px);font-weight:700;line-height:1.03}#finish em{color:var(--mint);font-style:normal}#finish>p:not(.eyebrow){color:#bdcfc1;font-size:14px;line-height:1.7}#finish button{min-width:230px;margin-top:15px}#continue{background:0 0;border:0}@media (max-width:1000px){.lobby-content{width:min(610px,68vw)}#menu{background:linear-gradient(90deg,#142326fa 0%,#142326ed 53%,#1423267a)}.showroom-caption{display:none}.location-pill{min-width:175px;max-width:29vw;padding:9px 12px}.location-pill strong{font-size:10px}.mission{width:232px}.bottom-left{width:175px}.drive-hud{width:180px}#interaction{max-width:calc(100vw - 410px);font-size:10px}.drive-hud .speed b{font-size:47px}}@media (max-width:650px){:root{--safe-x:max(12px,env(safe-area-inset-left));--safe-r:max(12px,env(safe-area-inset-right));--safe-y:max(12px,env(safe-area-inset-top));--safe-bottom:max(25px,env(safe-area-inset-bottom))}#menu{background:#142326e8;padding:24px 20px 18px}.brand{font-size:18px}.build-label{letter-spacing:.4px;font-size:8px}.build-label i{display:none}.lobby-content{width:100%;margin-top:24px}.intro h1{letter-spacing:-2px;font-size:46px}.intro .eyebrow{font-size:8px}.lead{font-size:13px}.edition-tag{font-size:7px}#characters{grid-template-columns:repeat(2,minmax(0,1fr))}.character{padding:9px 12px}.car-preview{float:right;width:65%;height:29px;margin:0}.character strong{margin-top:6px}.character small{min-height:0}.character-detail{font-size:9px}.character-detail span:last-child{display:none}.room-controls{grid-template-columns:1fr}.section-title small{font-size:9px}footer{flex-wrap:wrap;gap:8px;font-size:8px}footer>span:last-child{color:#96aaa0}.wordmark{min-width:0;font-size:14px}.wordmark small{font-size:7px}.topbar{gap:7px}.topbar>button{width:38px;height:38px;font-size:18px}.room-badge{padding:7px 9px}.room-badge small{font-size:7px}.room-badge button{font-size:10px}.location-pill{border-radius:9px;min-width:0;max-width:calc(100vw - 24px);padding:7px 10px;top:54px;left:0;transform:none}.location-pill small{display:none}.location-pill strong{margin:0;font-size:10px}.location-icon{font-size:16px}.mission{width:210px;padding:10px 12px;top:112px}.mission h2{font-size:16px}.mission #objective{margin:8px 0;font-size:10px}.mission-title b{font-size:18px}.crew-player{font-size:9px}.bottom-left{width:135px}.map-heading,.map-footer{padding:8px;font-size:6px}.map-heading button{font-size:15px}.map-footer strong{font-size:11px}.drive-hud,.drive-hud.on-foot{width:144px;padding:11px 12px}.drive-hud .speed b{font-size:38px}.drive-hud #car-name{font-size:10px}.drive-hud small{font-size:8px}.drive-hud.on-foot #car-name{font-size:16px}#interaction{bottom:calc(var(--safe-bottom) + 185px);width:max-content;max-width:calc(100vw - 24px);padding:8px 11px;font-size:10px}.attribution{max-width:calc(100vw - 24px);font-size:6px}#notice{width:max-content;max-width:calc(100vw - 24px);font-size:11px;top:100px}#settings{top:65px;right:12px}}@media (pointer:coarse){#touch-controls{display:block}#interaction{display:none}#joystick{bottom:max(35px,env(safe-area-inset-bottom));left:var(--safe-x);pointer-events:auto;touch-action:none;background:#1424276e;border:1px solid #dfefdb55;border-radius:50%;width:118px;height:118px;position:absolute;box-shadow:inset 0 0 0 18px #e6efdc08}#stick{pointer-events:none;background:#c6dfa29e;border:1px solid #eff8dca0;border-radius:50%;width:44px;height:44px;position:absolute;top:37px;left:37px}.touch-buttons{right:var(--safe-r);bottom:max(33px,env(safe-area-inset-bottom));grid-template-columns:repeat(2,68px);gap:8px;display:grid;position:absolute}.touch-buttons button{touch-action:none;background:#142427cf;border:1px solid #dfefdb55;border-radius:12px;min-height:44px;padding:13px 3px;font-size:9px}#touch-interact{color:#203126;background:#cce49ada;font-weight:700}#look-hint{color:#e0e9d8;letter-spacing:.5px;white-space:nowrap;text-shadow:0 1px 3px #11251c;font-size:6px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.bottom-left{width:135px;bottom:178px}.drive-hud,.drive-hud.on-foot{width:145px;bottom:175px}.attribution{font-size:6px;bottom:2px}.mission{width:210px}.speed b{font-size:38px}}@media (max-height:550px) and (min-width:651px){#menu{padding:18px 25px}.lobby-content{grid-template-columns:.7fr 1.3fr;gap:25px;width:100%;max-width:950px;margin-top:14px;display:grid}.intro h1{letter-spacing:-2px;font-size:42px}.intro .lead{font-size:12px}.intro .eyebrow,.edition-tag{display:none}.lobby{margin:0}.section-title{margin-bottom:8px}.section-title b{font-size:11px}.car-preview{height:27px}.character{padding:8px}.character strong{font-size:14px}.character small{font-size:8px}.character-detail{margin:8px 0 14px;font-size:8px}.room-controls button{min-height:40px;font-size:10px}.section-title small{font-size:8px}.server-password{margin-top:7px;font-size:9px}#status{font-size:10px}footer{padding-top:14px}.mission{width:220px;padding:10px 13px;top:74px}.mission h2{font-size:16px}.mission #crew{display:none}.mission #objective{font-size:9px}.mission-title{margin-top:4px}.progress-track{margin-top:8px}.bottom-left{width:135px}.drive-hud{width:160px;padding:11px 14px}.drive-hud .speed b{font-size:37px}.drive-hud small{display:none}.location-pill{max-width:28vw}.location-pill small{display:none}.location-pill strong{margin:0}.attribution{font-size:6px}#settings{max-height:calc(100dvh - 80px);top:65px}}@media (pointer:coarse) and (orientation:landscape){.bottom-left{width:120px;bottom:25px;left:155px}.drive-hud,.drive-hud.on-foot{width:145px;bottom:150px}.mission{width:220px;top:74px}.mission #crew{display:none}.mission #objective{font-size:9px}.location-pill{max-width:27vw;top:0;left:50%;transform:translate(-50%)}.location-pill small{display:none}.location-pill strong{margin:0}.mission-heading .eyebrow{font-size:7px}.attribution{max-width:80vw}.bottom-left.expanded{left:var(--safe-x);width:min(70vh,65vw)}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (min-width:1001px) and (min-height:551px) and (max-height:800px){#menu{padding:25px 4.5vw 20px}.lobby-content{margin-top:25px}.intro h1{margin:12px 0;font-size:52px}.lead{margin-bottom:12px;font-size:13px}.lobby{margin-top:21px}.character-detail{margin-bottom:16px}footer{padding-top:18px}}@media (max-height:550px) and (min-width:651px){.mission #objective{display:none}.bottom-left:not(.expanded){width:120px}}#hud.inspecting .mission,#hud.inspecting .bottom-left,#hud.inspecting .drive-hud,#hud.inspecting #interaction,#hud.inspecting #touch-controls,#hud.inspecting .location-pill{display:none}#frame-preview{color:#edf5ee;background:#142427;border:1px solid #91a49f;border-radius:14px;max-width:95vw;padding:14px}#frame-preview::backdrop{background:#061016c9}#frame-image{object-fit:contain;border-radius:7px;max-width:88vw;max-height:75vh;display:block}#frame-preview>div{justify-content:space-between;align-items:center;gap:20px;margin-top:12px;display:flex}#frame-download{color:var(--mint)}#review-caption{left:var(--safe-x);bottom:var(--safe-bottom);pointer-events:auto;background:#142427ed;border:1px solid #ffffff30;border-radius:14px;max-width:min(540px,100vw - 30px);padding:17px 20px;font-size:13px;display:none;position:absolute}#hud.inspecting #review-caption{display:block}#review-caption>.eyebrow{margin-bottom:8px;font-size:8px;display:block}#review-title{letter-spacing:-.3px;font-size:19px;font-weight:600;display:block}#review-caption p{color:#b7c8bf;max-height:75px;margin:10px 0;font-size:11px;line-height:1.55;overflow:auto}#review-metrics{color:#8fa89b;margin:10px 0;font:9px Consolas,monospace;display:block}#return-play{color:#213126;background:#d1e69c;border:0;padding:9px 13px;font-size:11px}#terrain-diagnostic{right:var(--safe-r);color:#e0f3d9;pointer-events:none;background:#142427ed;border:1px solid #ffffff20;border-radius:10px;max-width:95vw;padding:12px;font:10px/1.6 monospace;position:absolute;top:85px}#benchmark-panel{left:var(--safe-x);background:#142427ed;border-radius:8px;max-width:90vw;font-size:11px;position:absolute;top:85px}#benchmark-status:empty{display:none}#benchmark-status:not(:empty){padding:10px 14px}#benchmark-output{pointer-events:auto;color:#d4e5d2;background:#142427;border:1px solid #ffffff30;width:620px;max-width:85vw;height:180px;padding:10px;font:10px monospace}@media (max-width:650px){#review-caption{padding:13px 15px}#review-title{font-size:16px}#review-caption p{max-height:60px;font-size:10px}#terrain-diagnostic{font-size:8px;top:65px}#benchmark-panel{top:65px}}
