@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f0e5;--ink:#333c32;--muted:#7e8273;--line:#dcdccd;--green:#344d3d;--orange:#ce774d;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #d28459;outline-offset:4px}button:disabled{cursor:wait;opacity:.6}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world{position:absolute;inset:88px 0 auto;width:100%;height:650px;display:block}#lobby{position:relative;pointer-events:none}#lobby>*{pointer-events:auto}header{height:88px;margin:0 4.7%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d1d2be55;position:relative;z-index:2}.brand{text-decoration:none;color:var(--ink);font-family:'Manrope',sans-serif;font-size:30px;font-weight:800;letter-spacing:-1.5px;display:flex;align-items:center;gap:9px}.brand-icon{font-size:39px;font-weight:400;transform:rotate(-25deg);display:inline-block}.brand-dot{font-size:10px;align-self:flex-start;margin-top:10px;letter-spacing:0}nav{display:flex;gap:36px;margin-right:60px}nav button{background:none;font-size:13px;position:relative;padding:10px 0}nav button.nav-active:after{content:'';width:4px;height:4px;border-radius:50%;background:var(--ink);position:absolute;bottom:0;left:50%}nav span{margin-left:5px}.profile{display:flex;align-items:center;gap:10px;font-size:12px;background:none}.avatar{border-radius:50%;width:31px;height:31px;background:#dce1cd;display:grid;place-items:center;font-size:12px}.status-dot{display:inline-block;width:6px;height:6px;background:#719167;border-radius:50%}.hero{position:relative;height:650px;padding:71px 4.7% 0;pointer-events:none}.hero>*{pointer-events:auto}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;display:block}.tiny-sun{font-size:18px;margin-right:8px;vertical-align:middle}.hero h1{font-family:'Manrope',sans-serif;font-size:clamp(38px,4.25vw,64px);font-weight:500;letter-spacing:-3px;line-height:1.13;margin:21px 0 22px}.hero h1 em{font-style:normal;color:#7a8065}.hero p{font-size:13px;line-height:1.8;color:#777e6b;margin:0 0 25px}.primary{background:var(--green);color:#fff9ed;border-radius:5px;padding:16px 21px;font-size:12px;min-width:163px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px}.primary:hover{background:#44644d}.primary span{font-size:19px}.hero-note{font-size:10px;color:#777e6b;margin-top:15px;display:flex;align-items:center;gap:8px}.keycap{border:1px solid #a7ad97;border-radius:4px;padding:1px 5px;font-size:12px}.location{position:absolute;left:4.7%;bottom:31px;display:flex;gap:13px;align-items:center}.location-dot{width:8px;height:8px;outline:1px solid #78805c;outline-offset:4px;background:#78805c;border-radius:50%;margin:5px}.location strong{display:block;letter-spacing:1.4px;font-size:10px;font-weight:600}.location div>span{display:block;font-size:8px;letter-spacing:1px;margin-top:6px;color:#6e765c}.coordinates{margin-left:26px;border-left:1px solid #8c967555;padding-left:20px;font-size:8px;line-height:1.8;color:#737c62;letter-spacing:1px}.sound-toggle{position:absolute;right:4.7%;bottom:32px;border:1px solid #8a8e6a66;border-radius:30px;background:#f8efdb55;padding:8px 12px;font-size:14px;display:flex;gap:8px;align-items:center}.sound-toggle span{font-size:9px}.play-panel{position:relative;background:var(--paper);padding:35px 4.7% 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.section-title .eyebrow{color:#8c917e;font-size:8px}.section-title h2{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-.7px;font-size:23px;margin:10px 0 0}.text-button{background:none;font-size:11px;padding:5px 0}.text-button span{margin-left:12px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.mode-card{text-align:left;background:transparent;border:1px solid var(--line);border-radius:6px;padding:20px 23px 17px;transition:background .2s,transform .2s}.mode-card:hover{background:#eae9db;transform:translateY(-3px)}.mode-card.featured{background:#e8eadb;border-color:#d4d9c3}.card-top{display:flex;align-items:center;justify-content:space-between}.mode-icon{font-size:28px;line-height:1;color:#6b785b}.pill{font-size:7px;letter-spacing:.8px;border:1px solid #cdd2bd;border-radius:20px;padding:5px 8px;color:#737c62}.mode-card h3{font-family:'Manrope',sans-serif;font-size:22px;font-weight:500;letter-spacing:-.7px;margin:16px 0 10px;display:flex;justify-content:space-between;align-items:center}.mode-card h3 span{font-size:21px;font-weight:400;color:#7c866b}.mode-card p{font-size:11px;line-height:1.8;color:#828775;margin:0 0 23px}.card-bottom{padding-top:15px;border-top:1px solid #d6dac8;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.8px;color:#7c836c}footer{display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1px;color:#8a8f7a;padding:30px 0 24px}footer>span:nth-child(2){letter-spacing:.3px;display:flex;align-items:center;gap:8px}.footer-divider{margin:0 7px;color:#b7bbaa}.footer-sun{font-size:19px;vertical-align:middle;margin-left:12px}body.playing{overflow:hidden;background:#dac8ae}body.playing #world{position:fixed;inset:0;height:100dvh}#game-ui{position:fixed;inset:0;pointer-events:none;color:#fff9ea;text-shadow:0 1px 8px #3334}#game-ui button{pointer-events:auto}.game-top{position:absolute;top:max(20px,env(safe-area-inset-top));left:22px;right:22px;display:flex;justify-content:space-between;align-items:center}.glass{background:#273d3866;backdrop-filter:blur(10px);border:1px solid #fff4;border-radius:6px;color:#fff9ea;font-size:11px;padding:11px 14px}.session-name{text-align:center}.session-name span{display:block;font-size:8px;letter-spacing:3px;margin-bottom:4px}.session-name strong{font-family:'Manrope',sans-serif;font-weight:500;font-size:18px}.game-left{position:absolute;top:105px;left:23px;font-size:11px}.game-right{position:absolute;top:105px;right:25px;text-align:right}.game-right span{display:block;font-size:8px;letter-spacing:2px}.game-right strong{font-size:34px;font-weight:400;display:block;margin:6px 0}#standings{margin-top:15px;line-height:2}#standings .standing{display:flex;gap:15px;justify-content:space-between;padding:3px 0;border-bottom:1px solid #fff3;min-width:140px}#room-tag{letter-spacing:1px;font-size:9px}.speed{position:absolute;right:28px;bottom:106px;text-align:center;min-width:80px}.speed strong{display:block;font-family:'Manrope',sans-serif;font-size:50px;font-weight:400;line-height:1}.speed span{font-size:8px;letter-spacing:3px}.speed>div{height:3px;background:#fff9ea;margin-top:10px;transform-origin:left}.game-bottom{display:flex;justify-content:center;position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:20px;right:20px;gap:8px}.controls-info{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:.5px;opacity:.8}#minimap{position:absolute;left:20px;bottom:85px;width:145px;height:113px;opacity:.85}.mobile-controls{display:none}#drift-pop{position:absolute;top:43%;left:50%;transform:translateX(-50%);color:#fff3bd;text-align:center;font-size:25px;font-family:'Manrope',sans-serif;letter-spacing:1px}.stunt-banner{position:absolute;top:90px;left:50%;transform:translateX(-50%);text-align:center;padding:12px 18px;background:#253d37aa;border:1px solid #fff3;border-radius:7px;font-size:11px;max-width:400px;width:calc(100% - 40px);line-height:1.8}.modal-wrap{position:fixed;inset:0;background:#263b3260;backdrop-filter:blur(9px);z-index:20;display:grid;place-items:center;padding:20px}.modal{width:100%;max-width:470px;max-height:90dvh;overflow:auto;position:relative;background:var(--paper);padding:37px;border:1px solid #fff8;box-shadow:0 20px 100px #263b3233;border-radius:10px}.modal h2{font-family:'Manrope',sans-serif;font-size:30px;font-weight:500;letter-spacing:-1.2px;margin:14px 0 18px}.modal-close{position:absolute;right:15px;top:12px;font-size:24px;background:none;color:#858b76}.modal p{font-size:12px;color:#7c826e;line-height:1.8}.modal label{display:block;font-size:10px;letter-spacing:.7px;margin:20px 0 7px}.modal input,.modal select{width:100%;border:1px solid #ccd1bc;border-radius:5px;background:#fffbf2;padding:13px;color:var(--ink);font-size:13px}.modal .primary{width:100%;margin-top:20px}.modal .secondary{width:100%;background:none;padding:13px;margin-top:7px;font-size:11px;color:#7c826e}.form-error{color:#b65a3e!important;font-size:11px}.garage-cars{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.car-swatch{width:58px;height:45px;border:3px solid #fff8;border-radius:6px;box-shadow:0 2px 6px #0001}.car-swatch.selected{outline:2px solid #455c41;outline-offset:3px}.guide-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8}.guide-row strong{display:block;font-weight:600}.guide-row span{color:#7c826e}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#334b3e;color:#fff9ea;padding:13px 20px;border-radius:6px;box-shadow:0 5px 30px #0002;z-index:50;font-size:12px;opacity:0;pointer-events:none;transition:.25s;max-width:90%;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.hero{height:750px;padding-top:95px}#world{height:750px}.hero h1{font-size:72px}}
@media(max-width:850px){header{height:72px}.brand{font-size:25px}.brand-icon{font-size:32px}nav{gap:20px;margin-right:0}nav button{font-size:11px}.profile>span:not(.avatar){display:none}#world{top:72px;height:610px}.hero{height:610px;padding-top:48px}.hero h1{font-size:46px;letter-spacing:-2px}.hero p{font-size:12px}.play-panel{padding-top:28px}.mode-grid{gap:10px}.mode-card{padding:17px 15px}.pill{font-size:6px;letter-spacing:.2px}.mode-card h3{font-size:19px}.mode-card p{font-size:10px}.card-bottom{font-size:6px;letter-spacing:.2px}.section-title h2{font-size:20px}footer{font-size:6px}footer>span:last-child{display:none}}
@media(max-width:580px){header{margin:0 6%;height:68px}nav{gap:18px}nav button{font-size:10px}nav button:last-child{font-size:0}nav button:last-child span{font-size:15px}.brand{font-size:23px;gap:5px}.brand-icon{font-size:29px}.brand-dot{font-size:8px}.avatar{width:26px;height:26px}.profile{padding:0}#world{top:68px;height:610px}.hero{height:610px;padding:34px 6% 0}.hero .eyebrow{font-size:7px;letter-spacing:1.2px}.tiny-sun{font-size:15px}.hero h1{font-size:39px;letter-spacing:-2px;line-height:1.15;margin:18px 0 14px}.hero p{font-size:11px;margin-bottom:18px;line-height:1.7}.primary{padding:13px 17px;font-size:11px;min-width:145px}.hero-note{font-size:9px;margin-top:12px}.location{left:6%;bottom:25px;gap:8px}.location strong{font-size:8px}.location div>span{font-size:6px}.coordinates{display:none}.sound-toggle{right:6%;bottom:24px;padding:6px 10px;font-size:12px}.sound-toggle span{font-size:8px}.play-panel{padding:28px 6% 0}.section-title{align-items:flex-start;gap:10px;margin-bottom:20px}.section-title h2{font-size:22px;max-width:220px;line-height:1.35}.section-title .eyebrow{font-size:7px}.text-button{font-size:9px;white-space:nowrap;margin-top:25px}.text-button span{margin-left:4px}.mode-grid{grid-template-columns:1fr;gap:12px}.mode-card{padding:19px 21px}.mode-card h3{font-size:25px;margin:10px 0}.mode-card p{font-size:11px;margin-bottom:18px}.mode-icon{font-size:25px}.pill{font-size:7px;letter-spacing:.8px}.card-bottom{font-size:7px;letter-spacing:.6px}footer{gap:15px;align-items:flex-start;line-height:1.8;padding:26px 0;font-size:6px}footer>span:nth-child(2){flex-wrap:wrap;gap:5px;justify-content:flex-end}.footer-divider{display:none}.game-top{left:15px;right:15px;top:max(15px,env(safe-area-inset-top))}.game-top .glass{font-size:9px;padding:10px}.session-name strong{font-size:14px}.session-name span{font-size:6px;letter-spacing:2px}.game-left{left:16px;top:88px;font-size:9px}.game-right{right:16px;top:90px}.game-right strong{font-size:27px}.game-right span{font-size:7px}.game-bottom{bottom:max(15px,env(safe-area-inset-bottom));left:12px;right:12px;gap:5px}.game-bottom .glass{font-size:9px;padding:10px}.controls-info{display:none}.mobile-controls{position:absolute;bottom:82px;left:15px;right:15px;display:flex;gap:10px;align-items:flex-end;pointer-events:none}.mobile-controls button{touch-action:none;user-select:none;-webkit-user-select:none}.steering{display:flex;gap:8px;margin-right:auto}.steering button{width:51px;height:55px;border:1px solid #fff6;background:#293c3b44;backdrop-filter:blur(5px);border-radius:12px;color:#fff;font-size:32px}.pedal{width:56px;height:60px;border:1px solid #fff6;background:#293c3b66;border-radius:12px;color:#fff;font-size:9px;letter-spacing:1px}.pedal.gas{height:80px;background:#eef2d766;color:#344b3c}.speed{right:20px;bottom:185px;min-width:50px}.speed strong{font-size:34px}.speed span{font-size:7px}#minimap{left:12px;bottom:178px;width:110px;height:86px}#drift-pop{font-size:20px}.stunt-banner{top:160px;font-size:10px}.modal{padding:30px 25px}.modal h2{font-size:27px}}
@media(pointer:coarse) and (min-width:581px){.mobile-controls{display:flex;position:absolute;bottom:75px;left:20px;right:20px;gap:15px;align-items:flex-end}.steering{display:flex;gap:12px;margin-right:auto}.mobile-controls button{touch-action:none;background:#293c3b66;color:white;border:1px solid #fff5;border-radius:10px;width:65px;height:65px}.controls-info{display:none}#minimap{bottom:165px}.speed{bottom:165px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#car-marker{position:absolute;transform:translate(-50%,-100%);font-size:8px;font-weight:700;letter-spacing:2px;color:#fff2bd;text-shadow:0 1px 4px #24392c;pointer-events:none;text-align:center}#car-marker span{display:block;font-size:13px;margin-top:3px;letter-spacing:0}.drive-hint{position:absolute;top:29%;left:50%;transform:translateX(-50%);background:#293e35d9;border:1px solid #fff4;backdrop-filter:blur(8px);padding:15px 20px;border-radius:8px;text-align:center;max-width:calc(100% - 36px);width:330px;text-shadow:none}.drive-hint strong{display:block;font-size:13px;font-weight:500;margin-bottom:7px}.drive-hint>span{display:block;font-size:11px;line-height:1.7;color:#eeedd6}.render-error{position:absolute;top:25%;left:50%;transform:translateX(-50%);width:340px;max-width:calc(100% - 36px);background:#f6f0e5;color:#333c32;text-shadow:none;padding:25px;border-radius:9px;pointer-events:auto}.render-error p{font-size:12px;line-height:1.6}.render-error .primary{width:100%;margin-top:10px}
.steering{display:flex;flex-direction:column;align-items:center;gap:0;margin-right:auto}#steering-wheel{width:126px;height:126px;flex-shrink:0;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:-3px}#steering-wheel.dragging{cursor:grabbing}#steering-wheel svg{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 8px #20352a55)}.wheel-rotor{transform-origin:60px 60px;transform:rotate(var(--wheel-angle,0deg));transition:transform .18s ease-out}.dragging .wheel-rotor{transition:none}.wheel-caption{font-size:7px;letter-spacing:2px;opacity:.8;margin-top:-2px}.mobile-controls .steering{gap:0}.mobile-controls .pedal{flex-shrink:0}@media(max-width:580px){#minimap{bottom:235px}.mobile-controls{align-items:flex-end}.speed{bottom:190px}}@media(pointer:coarse) and (min-width:581px){#minimap{bottom:235px}}@media(max-height:500px){#steering-wheel{width:104px;height:104px}#minimap{display:none}.drive-hint{top:24%;padding:10px 15px}.mobile-controls{bottom:64px}.speed{bottom:155px}}
/* Keep the wheel available with a mouse as well as on touchscreens. */
@media(min-width:581px) and (pointer:fine){.mobile-controls{position:absolute;bottom:82px;left:20px;right:20px;display:flex;gap:10px;align-items:flex-end;pointer-events:none}.mobile-controls .pedal{width:56px;height:60px;border:1px solid #fff6;background:#293c3b66;backdrop-filter:blur(5px);border-radius:12px;color:#fff;font-size:9px;letter-spacing:1px;touch-action:none;user-select:none}.mobile-controls .pedal.gas{height:80px;background:#eef2d766;color:#344b3c}#minimap{bottom:235px}.speed{bottom:190px}}
/* Larger, tactile driving controls. The lever and pedal keep independent touch targets. */
.mobile-controls{gap:12px;bottom:max(80px,calc(env(safe-area-inset-bottom) + 62px))}#steering-wheel{width:clamp(164px,45vw,208px);height:clamp(164px,45vw,208px)}.driving-pedals{display:flex;align-items:flex-end;gap:10px;pointer-events:none;flex-shrink:0}.mobile-controls #brake,.mobile-controls #gas{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex-shrink:0;width:68px;height:176px;padding:0;background:transparent;border:0;border-radius:12px;color:#fff7de;backdrop-filter:none;touch-action:none;user-select:none;-webkit-user-select:none;transform:none;text-shadow:0 1px 5px #20372a;cursor:pointer}.mobile-controls #gas{width:70px}.mobile-controls #brake svg,.mobile-controls #gas svg{width:100%;height:154px;overflow:visible;filter:drop-shadow(0 3px 5px #20352a55);pointer-events:none}.control-label{font-size:7px;line-height:16px;letter-spacing:1.2px;font-weight:600;white-space:nowrap;pointer-events:none}.handbrake-lever{transform-origin:44px 132px;transform:rotate(25deg);transition:transform .12s ease-out}.engaged .handbrake-lever{transform:rotate(-4deg)}.accelerator-pedal{transform-origin:41px 136px;transform:perspective(220px) rotateX(0deg);transition:transform .1s ease-out,filter .1s}.engaged .accelerator-pedal{transform:perspective(220px) rotateX(24deg) translateY(5px);filter:brightness(.85)}.engaged .control-label{color:#f2c98d}.mobile-controls #brake:focus-visible,.mobile-controls #gas:focus-visible{outline-offset:3px}#minimap{bottom:325px}.speed{bottom:285px}.controls-info{bottom:64px}@media(max-width:580px){.mobile-controls{left:12px;right:12px;gap:6px}.driving-pedals{gap:6px}.mobile-controls #brake{width:58px;height:156px}.mobile-controls #gas{width:62px;height:156px}.mobile-controls #brake svg,.mobile-controls #gas svg{height:136px}#minimap{bottom:305px}.speed{bottom:255px}}@media(max-width:360px){#steering-wheel{width:164px;height:164px}.mobile-controls #brake,.mobile-controls #gas{width:52px}.driving-pedals{gap:4px}.control-label{font-size:6px;letter-spacing:.7px}}@media(max-height:500px){#steering-wheel{width:148px;height:148px}.mobile-controls{bottom:64px}.mobile-controls #brake,.mobile-controls #gas{height:130px;width:56px}.mobile-controls #brake svg,.mobile-controls #gas svg{height:112px}.speed{bottom:210px}.control-label{font-size:6px}#minimap{display:none}.controls-info{display:none}}
.game-top-actions{display:flex;gap:7px}.game-top-actions button:disabled{opacity:.4;cursor:default}.vehicle-picker{margin-top:18px}.vehicle-picker fieldset{border:0;margin:0;padding:0}.vehicle-picker legend{font-size:9px;font-weight:600;letter-spacing:1px;margin-bottom:10px}.vehicle-options{display:flex;flex-direction:column;gap:9px}.modal .vehicle-option{position:relative;display:grid;grid-template-columns:105px 1fr;align-items:center;gap:12px;padding:13px 12px;margin:0;border:1px solid #d2d7c4;border-radius:7px;cursor:pointer;letter-spacing:0;background:#fffbf250}.vehicle-option:has(input:checked){border-color:#58714d;background:#e5e9d7;box-shadow:0 0 0 1px #58714d}.vehicle-option input,.paint-option input{position:absolute;width:1px!important;height:1px;opacity:0;padding:0!important;margin:0}.vehicle-option:has(input:focus-visible),.paint-option:has(input:focus-visible){outline:3px solid #ca9065;outline-offset:3px}.car-illustration{width:100%;display:block}.vehicle-copy>strong{font-family:Manrope,sans-serif;font-size:16px;font-weight:600;display:block}.vehicle-copy>span{display:block;font-size:8px;color:#7e846e;margin-top:4px}.modal .vehicle-copy p{font-size:10px;margin:7px 0;line-height:1.5}.vehicle-numbers{display:flex;gap:8px;flex-wrap:wrap;font-size:7px;letter-spacing:.3px;color:#5e7055}.modal .tuning-note{font-size:9px;line-height:1.6;margin:12px 0 22px}.paint-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px 10px}.paint-options legend{margin-bottom:13px}.modal .paint-option{display:flex;align-items:center;flex-direction:column;position:relative;gap:6px;margin:0;cursor:pointer;letter-spacing:0}.paint-chip{display:grid;place-items:center;width:100%;height:34px;max-width:98px;border:2px solid #fff9;border-radius:5px;color:#f6f0e5;font-size:22px}.paint-option input:checked+.paint-chip{outline:2px solid #526b45;outline-offset:3px}.paint-label{font-size:8px;text-align:center;color:#7c846e}.paint-taken{opacity:.4;cursor:not-allowed!important}.paint-taken .paint-chip{background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,#334d3c33 6px,#334d3c33 9px)!important}.vehicle-picker #vehicle-preview{width:170px;margin:8px auto 15px}.driver-paint{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px;box-shadow:0 0 0 1px #fff6}@media(max-width:380px){.modal .vehicle-option{grid-template-columns:80px 1fr;padding:11px 9px;gap:9px}.vehicle-copy>strong{font-size:14px}.vehicle-numbers{font-size:6px;gap:6px}.game-top-actions{gap:4px}.game-top-actions .glass{padding:9px 7px}.session-name strong{font-size:12px}.session-name span{font-size:5px}}
.modal:has(.vehicle-options){max-width:600px}.modal .vehicle-option{grid-template-columns:minmax(145px,1.05fr) minmax(150px,1fr);gap:18px;padding:18px 14px}.vehicle-art .car-illustration{min-height:90px}.vehicle-copy>strong{font-size:18px}.vehicle-copy>span{font-size:9px;line-height:1.5}.vehicle-numbers{font-size:8px;gap:7px 10px}.vehicle-picker #vehicle-preview{width:100%;max-width:340px;margin:12px auto 18px}@media(max-width:520px){.modal .vehicle-option{grid-template-columns:1fr;gap:0;padding:12px 17px 17px}.vehicle-art{width:100%;max-width:350px;margin:auto}.vehicle-art .car-illustration{min-height:110px}.vehicle-copy>strong{font-size:18px}.vehicle-copy>span{font-size:9px}.modal .vehicle-copy p{font-size:11px;margin:7px 0 10px}.vehicle-numbers{font-size:8px;gap:10px}.vehicle-options{gap:14px}}
.header-actions{display:flex;gap:15px;align-items:center}.theme-toggle{font-size:22px;background:transparent;padding:7px;color:inherit;line-height:1}.game-top-actions{gap:5px}.game-top-actions .glass{min-width:30px;padding:10px}.session-name{min-width:0;margin:0 8px}.session-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.radio-strip{position:absolute;top:75px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:210px;padding:5px 8px;border-radius:5px;background:#253b3555;backdrop-filter:blur(8px);text-shadow:none}.radio-strip button{font-size:14px;background:transparent;color:#f5ecd5;padding:5px}.radio-strip>div{min-width:0}.radio-strip strong{display:block;font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.radio-strip span{display:block;font-size:6px;letter-spacing:.8px;margin-top:3px;opacity:.7}.music-controls{display:flex;align-items:center;gap:10px}.music-controls .primary{min-width:150px}.music-controls .secondary{width:auto}.music-tracks{margin-top:20px;border-top:1px solid var(--line)}.music-track{width:100%;display:flex;align-items:center;gap:15px;background:transparent;text-align:left;padding:13px 9px;border-bottom:1px solid var(--line)}.music-track.selected{background:#dce3ce77}.music-track>span{color:var(--muted);font-size:11px}.music-track>span:last-child{margin-left:auto}.music-track strong{display:block;font-size:12px;font-weight:500}.music-track small{font-size:9px;display:block;margin-top:5px;color:var(--muted)}.modal .music-credit{font-size:9px;margin-top:20px}.music-credit a{color:inherit}#music-volume{accent-color:var(--green);padding:8px 0;border:0;background:none}
body.moon{--paper:#111c2b;--ink:#e1e8e5;--muted:#8d9fac;--line:#2e4253;--green:#76aaa0;--orange:#bba6d5;background:var(--paper);color:var(--ink)}body.moon .hero h1 em{color:#9cabc8}body.moon .hero p,body.moon .hero-note,body.moon .location div>span,body.moon .coordinates{color:#9baabc}body.moon .hero .eyebrow{color:#b1c1c8}body.moon .primary{color:#0e2028;background:#99bdb0}body.moon .profile .avatar{background:#2c4053}body.moon .mode-card.featured,body.moon .mode-card:hover{background:#1c3042;border-color:#425768}body.moon .mode-card p,body.moon .mode-card .pill,body.moon .card-bottom{color:#9baeb9}body.moon .card-bottom,body.moon .pill{border-color:#3a5261}body.moon .mode-icon,body.moon .mode-card h3 span{color:#a0bcc2}body.moon .modal,body.moon .modal input,body.moon .modal select{background:#162636;color:#e1e8e5;border-color:#456071}body.moon .modal p,body.moon .vehicle-copy>span,body.moon .paint-label,body.moon .vehicle-numbers{color:#a0b4be}body.moon .vehicle-option{background:#1b3040;border-color:#3c5661}body.moon .vehicle-option:has(input:checked){background:#2b4450;border-color:#90bfb0}body.moon .sound-toggle{background:#1e334788;color:#c7d9db;border-color:#708a9e66}body.moon .stunt-banner,body.moon .glass{background:#0d192a88}body.moon .modal input[type=range]{background:none}body.moon .music-track.selected{background:#36515b88}body.moon .paint-chip{border-color:#9bb3a977}@media(max-width:580px){.header-actions{gap:4px}.theme-toggle{font-size:19px;padding:4px}.game-top-actions{gap:3px}.game-top-actions .glass{min-width:27px;padding:9px 7px}.session-name{margin:0 5px;max-width:90px}.session-name strong{font-size:11px}.session-name span{font-size:6px;letter-spacing:1px}.radio-strip{top:70px;max-width:165px}.radio-strip strong{font-size:8px}.game-top{gap:2px}nav{gap:13px}.brand{font-size:21px;letter-spacing:-1.2px}}@media(max-height:500px){.radio-strip{top:67px;left:auto;right:18px;transform:none;max-width:160px}}

.now-playing{position:fixed;z-index:25;left:50%;bottom:max(315px,calc(env(safe-area-inset-bottom) + 300px));transform:translateX(-50%);display:flex;align-items:center;gap:14px;width:max-content;max-width:min(360px,calc(100vw - 32px));padding:15px 21px;border:1px solid #f9eed844;border-radius:12px;background:#263a32e8;box-shadow:0 8px 32px #14271d22;backdrop-filter:blur(12px);color:#fff4dd;pointer-events:none;opacity:0}.now-playing-icon{font-size:29px;color:#dfb887}.now-playing>div{min-width:0}.now-playing .eyebrow{font-size:8px;letter-spacing:1.7px;opacity:.6;margin-bottom:5px}.now-playing strong{display:block;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.now-playing #now-playing-artist{display:block;font-size:12px;margin-top:3px;opacity:.75}.moon .now-playing{background:#161d32ec;border-color:#b3a4dd55}.moon .now-playing-icon{color:#bcb0e8}.now-playing.announcing{animation:track-announce 6s both}@keyframes track-announce{0%{opacity:0;translate:0 8px}9%,82%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -5px}}@media(max-height:500px){.now-playing{bottom:auto;top:max(85px,env(safe-area-inset-top));max-width:280px;padding:10px 15px}.now-playing strong{font-size:13px}}@media(prefers-reduced-motion:reduce){.now-playing.announcing{animation:none;opacity:1}}
/* theme switch: the logo grows over the screen and turns 180° (sun logo -> moon logo), the page reloads under it, then it shrinks back into the logo */
.theme-disc{position:fixed;left:0;top:0;border-radius:50%;z-index:2147483646;pointer-events:none}
.wipe-in::after{content:'';position:fixed;left:50%;top:50%;width:150vmax;height:150vmax;border-radius:50%;background:var(--disc);transform:translate(-50%,-50%) rotate(-25deg);z-index:2147483646;pointer-events:none;animation:unveil-late .6s 4s ease-out forwards}
/* an AE86 parked on the disc's horizon; difference blending paints it navy on the light half and cream on the dark half */
.theme-car,.wipe-in::before{position:fixed;left:50%;top:50%;width:min(36vw,260px);aspect-ratio:420/131;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(-25deg);background:#fff;mix-blend-mode:difference;--ae86:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 131'%3E%3Cpath d='M0 107L0 51L13 47L25 41L115 6L139 0L230 1L289 41L361 51L406 65L420 74L420 107L420 110L406 110L371 110L371 98L369 90L366 82L361 75L361 75L354 70L347 67L338 66L330 67L322 70L315 75L310 82L307 90L306 98L305 110L294 110L289 110L126 110L125 110L124 98L123 90L120 82L115 75L108 70L100 67L92 66L84 67L76 70L69 75L64 82L61 90L59 98L59 110L25 110L13 110L0 110ZM63 102a29 29 0 1 0 58 0a29 29 0 1 0 -58 0ZM309 102a29 29 0 1 0 58 0a29 29 0 1 0 -58 0Z'/%3E%3C/svg%3E");-webkit-mask:var(--ae86) center/contain no-repeat;mask:var(--ae86) center/contain no-repeat;z-index:2147483647;pointer-events:none}
.wipe-in::before{content:'';animation:unveil-late .6s 4s ease-out forwards}
@keyframes unveil-late{to{opacity:0;visibility:hidden}}
