*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;background:#050608;color:#edf0f4;font-family:Arial,'Noto Sans KR',sans-serif}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible{outline:2px solid #9ee6e9;outline-offset:4px}.home,.game{position:relative;height:100dvh;overflow:hidden}.showroom,.race-scene{position:absolute;inset:0}.hidden-controls{display:none!important}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0002,transparent 45%,#000a)}header{position:absolute;z-index:4;top:28px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.35em}header small{font-size:9px;letter-spacing:.12em;color:#a0abb0}.muted{color:#7e898f;font-size:10px;letter-spacing:.2em}.hero{position:absolute;left:32px;top:105px;pointer-events:none}.hero p{font-size:11px;letter-spacing:.5em;color:#8b949c}.hero h1{font-weight:200;font-size:clamp(60px,10vw,150px);letter-spacing:.12em;line-height:1;margin:22px 0}.hero>div{font-size:16px;color:#9ba3a9;letter-spacing:.07em}.course-picker{position:absolute;bottom:62px;left:32px;width:min(850px,calc(100% - 64px))}.pick-label{font-size:10px;letter-spacing:.24em;margin-bottom:13px}.pick-label span{color:#8c989e;letter-spacing:0;margin-left:15px}.course-row{display:flex;gap:12px}.course{display:flex;align-items:center;text-align:left;background:#090e12b8;backdrop-filter:blur(14px);border:1px solid #ffffff28;border-radius:2px;padding:18px;width:50%;transition:border-color .2s,background .2s}.course.selected{border-color:#b2e8ec;background:#18262bbd}.course small{color:#93a4ae;font-size:9px;letter-spacing:.17em}.course h2{font-size:21px;font-weight:400;margin:9px 0}.course p{font-size:10px;color:#9da8b0;white-space:nowrap;margin:0 0 14px}.course span{font-size:10px;letter-spacing:.1em}.course b{font-weight:400;color:#77858d;margin-left:14px}.track-map{width:42%;color:#d6e4e6;filter:drop-shadow(0 0 5px #c5f7ff30)}.course>div{flex:1}.start-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.start-row>span{font-size:10px;color:#9da8ad;letter-spacing:.06em}.start{border:0;background:#e8eff0;color:#0d151a;padding:15px 26px;min-width:190px;letter-spacing:.12em;font-size:12px}.start:hover{background:#b9f1f3}.start>span{margin-left:30px}footer{position:absolute;bottom:23px;left:32px;font-size:10px;letter-spacing:.12em;color:#73828c}header button{border:1px solid #ffffff26;background:#111b2399;font-size:10px;padding:9px 13px;letter-spacing:.02em;margin-left:7px}.race-info{position:absolute;top:80px;left:32px;display:flex;gap:28px;background:#0910155c;padding:13px 18px}.race-info small{display:block;font-size:8px;letter-spacing:.2em;color:#a6b5be;margin-bottom:5px}.race-info b{font-size:19px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.08em}.dim{opacity:.3}.minimap{position:absolute;right:32px;top:80px;width:170px;padding:10px;background:#09101565}.minimap svg{width:100%}.minimap small{display:block;font-size:9px;text-align:center;color:#b7c1c8}.cue{position:absolute;top:170px;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 2px 12px #000}.cue b{display:block;font-size:13px;letter-spacing:.2em}.cue span{display:block;font-size:11px;color:#bbcbd0;margin-top:9px}.dashboard{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-between;padding:30px 30px 16px;background:linear-gradient(transparent,#020406d9);pointer-events:none}.gauge-group{display:flex;gap:12px}.gauge{position:relative;width:clamp(80px,9vw,145px);aspect-ratio:1}.gauge svg{position:absolute;width:100%;height:100%;overflow:visible}.gauge circle{fill:none}.track{stroke:#dbe5e51a;stroke-width:3}.ticks{stroke:#dbe5e53d;stroke-width:3;stroke-dasharray:1 4}.fill{stroke:#eaf6f9;stroke-width:4;filter:drop-shadow(0 0 3px #d8f6ff);transition:stroke-dasharray .1s}.accent .fill{stroke:#4bd9ff}.gauge>div{position:absolute;inset:25% 0 0;text-align:center}.gauge small{display:block;font-size:10px;letter-spacing:.1em;color:#aeb6bc}.gauge strong{display:block;font-size:clamp(18px,2.2vw,32px);font-variant-numeric:tabular-nums}.gauge em{font-size:9px;font-style:normal;letter-spacing:.13em;color:#a6b2ba}.keys{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;padding:0 12px 10px;max-width:400px;pointer-events:auto}.keys button{display:flex;flex-direction:column;align-items:center;background:#0b141a66;border:1px solid #ffffff28;padding:7px;min-width:38px;touch-action:none;user-select:none}.keys button:active{background:#347080}.keys kbd{font-family:inherit;font-size:11px}.keys span{font-size:9px;color:#9aa9b2;margin-top:4px}.keys small{width:100%;text-align:center;color:#788b96;font-size:9px;margin-top:7px}.countdown{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:100px;font-weight:200;text-align:center;text-shadow:0 0 40px #000}.countdown small{display:block;font-size:11px;letter-spacing:.3em}.modal{position:absolute;z-index:10;top:50%;left:50%;transform:translate(-50%,-50%);background:#081016ee;backdrop-filter:blur(18px);border:1px solid #78909b44;padding:35px;text-align:center;max-width:480px;width:90%}.modal h2{font-size:32px;font-weight:300;letter-spacing:.05em}.modal p{font-size:12px;color:#a4b3bb;line-height:1.8}.modal button{margin:8px;border:1px solid #ffffff30;padding:12px 20px;background:#1a2932}.modal .start{background:#e8eff0}.eyebrow{letter-spacing:.3em!important;font-size:9px!important}.loading{padding:40px;color:#9da9b0}
@media(max-width:800px){header{top:20px;left:18px;right:18px;font-size:11px}.muted{font-size:8px}.hero{left:18px;top:75px}.hero h1{font-size:clamp(52px,11vw,90px)}.hero p{font-size:8px;letter-spacing:.25em}.hero>div{font-size:12px}.course-picker{left:18px;bottom:48px;width:calc(100% - 36px)}.course{padding:12px}.course h2{font-size:16px}.course p{font-size:9px;white-space:normal;line-height:1.5}.course .track-map{width:35%}.start-row>span{max-width:160px;line-height:1.7}.start{min-width:160px;padding:13px 18px}.dashboard{padding:20px 8px 8px;flex-wrap:wrap}.gauge-group{gap:0}.gauge{width:clamp(56px,12vw,90px)}.gauge small{font-size:7px}.gauge em{font-size:7px}.gauge strong{font-size:17px}.keys{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);width:100%;max-width:340px}.race-info{left:18px;top:64px;gap:15px;padding:10px}.race-info b{font-size:14px}.minimap{right:12px;top:123px;width:100px}.cue{top:130px;left:18px;transform:none;text-align:left}.cue span{font-size:9px}header small{display:none}footer{left:18px;font-size:8px}.course-row{gap:7px}}
@media(max-height:560px){.hero{top:55px}.hero h1{font-size:65px;margin:10px 0}.hero>div{display:none}.course-picker{bottom:28px;max-width:650px}.course{padding:10px}.course h2{font-size:17px;margin:6px 0}.course p{display:none}.pick-label{margin-bottom:7px}.course .track-map{height:65px}.start-row{margin-top:7px}footer{display:none}.race-info{top:57px}.cue{top:120px}.minimap{top:60px}.keys{bottom:0;position:static;transform:none;max-width:300px}.gauge{width:75px}.dashboard{flex-wrap:nowrap}.hero p{font-size:8px}}
/* Transparent title layer; only the 3D showroom remains behind the type. */
.home .hero,.home .hero h1,.home .hero p,.home .hero>div{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important}.home .shade{background:transparent}.home .start-row{flex-direction:column;justify-content:center;gap:15px}.home .start-row>span{max-width:none;text-align:center}.home .start{display:flex;justify-content:center;align-items:center;min-width:240px;letter-spacing:.4em;text-indent:.4em;font-size:13px;padding:17px 40px;border:1px solid #d0e6eb80;background:#eaf3f5;color:#10181e;box-shadow:0 0 25px #a9e4ef15}.health{position:absolute;right:32px;top:80px;width:200px;background:#09101599;padding:12px 15px}.health>div:first-child{display:flex;justify-content:space-between;font-size:11px}.health b{font-variant-numeric:tabular-nums}.health-track{height:5px;background:#ffffff20;margin:10px 0 6px}.health-track i{display:block;height:100%;width:var(--health);background:linear-gradient(90deg,#e9a66c,#b1ded4);transition:width .15s}.health small{font-size:9px;color:#b5c7ca}.minimap{top:175px}.keys{max-width:420px}.keys button{min-width:34px;padding:6px}.impact{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px 35px #f24430}.air-empty{position:absolute;left:50%;bottom:200px;transform:translateX(-50%);font-size:12px;color:#ffcd92;background:#121a21c9;padding:10px 16px;pointer-events:none}@media(max-width:800px){.health{top:115px;right:12px;width:140px;padding:9px}.minimap{top:200px;width:100px}.cue{max-width:calc(100% - 180px)}.keys{max-width:390px}.home .start-row{gap:9px}.home .start{padding:12px 32px}.air-empty{bottom:220px;font-size:10px}}@media(max-height:560px){.health{top:64px;width:170px}.minimap{top:155px}.home .start-row{flex-direction:row;justify-content:center;gap:30px}.home .start{min-width:170px}.keys{max-width:350px}}
.home .course-picker{left:50%;transform:translateX(-50%)}
.damage-gauge .track{stroke:#ffbebe;stroke-opacity:.18}.damage-gauge .ticks{stroke:var(--damage-color);stroke-opacity:var(--damage-opacity);transition:stroke .2s,stroke-opacity .2s}.damage-gauge .fill{stroke:var(--damage-color);stroke-opacity:var(--damage-opacity);filter:drop-shadow(0 0 4px var(--damage-color));transition:stroke-dasharray .2s,stroke .2s,stroke-opacity .2s}.damage-gauge strong{color:var(--damage-color);transition:color .2s}.minimap{top:80px}@media(max-width:800px){.minimap{top:123px}}@media(max-height:560px){.minimap{top:64px}}
/* The showroom sky was an opaque black WebGL clear, not a title panel. */
.home{background:linear-gradient(180deg,#3d4850 0%,#637078 58%,#252c32 100%)}.showroom-transparent,.showroom canvas,.home header,.home .hero{background:transparent!important}.home .hero::before,.home .hero::after{background:none!important;box-shadow:none!important}
/* Black showroom backdrop with title left and vertical course selector right. */
.home{background:#000!important}.home .hero{top:28px;left:32px;right:420px}.home .hero h1{font-size:clamp(44px,7vw,110px);margin:0;line-height:1.05;letter-spacing:.1em}.home .course-picker{top:32px;right:32px;left:auto;bottom:auto;width:340px;max-width:none;transform:none}.home .course-row{flex-direction:column;gap:12px}.home .course{width:100%;padding:18px}.home .course .track-map{width:36%;height:90px}.home .course h2{font-size:20px}.home .course p{display:block;white-space:normal;line-height:1.6;font-size:10px}.home .pick-label{font-size:9px;letter-spacing:.15em}.home .pick-label span{font-size:9px;margin-left:8px}.home .start-row{flex-direction:column;gap:12px;margin-top:16px}.home .start-row>span{font-size:9px;max-width:100%}.home .start{width:100%;min-width:0;padding:16px 20px}.home .course>div{min-width:0}
@media(max-width:900px){.home .hero{top:22px;left:20px;right:330px}.home .hero h1{font-size:clamp(32px,6vw,65px)}.home .course-picker{top:24px;right:20px;width:280px}.home .course{padding:14px}.home .course h2{font-size:17px}}
@media(max-width:600px){.home .hero{top:20px;left:18px;right:18px}.home .hero h1{font-size:42px}.home .course-picker{top:95px;right:16px;width:235px}.home .course{padding:12px}.home .course h2{font-size:16px}.home .course p{font-size:9px}.home .course .track-map{height:65px}.home .pick-label span{display:none}.home .start-row>span{font-size:8px;line-height:1.6}.home .start{padding:13px}.home .course-row{gap:8px}}
@media(max-height:560px) and (min-width:601px){.home .hero{top:22px;left:24px;right:330px}.home .hero h1{font-size:60px}.home .course-picker{top:22px;right:22px;width:285px}.home .course{padding:10px 12px}.home .course p{display:none}.home .course .track-map{height:64px}.home .start-row{gap:8px;margin-top:10px}.home .start{padding:12px}.home .pick-label{margin-bottom:10px}}
/* Compact vertical cards, larger course silhouettes, independent centered start. */
.home .course-picker{width:240px;max-height:calc(100dvh - 145px);overflow-y:auto;scrollbar-width:thin}.home .course{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px}.home .course>div{flex:none}.home .course h2{font-size:18px;margin:6px 0}.home .course p{font-size:9px;margin:0 0 8px}.home .course .track-map{width:100%;height:108px;flex:none;align-self:center}.home .pick-label{font-size:9px}.home .pick-label span{display:none}.home>.start-row{position:absolute;left:50%;right:auto;top:auto;bottom:36px;transform:translateX(-50%);width:min(360px,calc(100% - 32px));margin:0;display:flex;flex-direction:column;gap:12px;z-index:4}.home>.start-row .start{width:240px;max-width:100%;padding:17px 26px}.home>.start-row>span{text-align:center;font-size:9px}
@media(max-width:900px){.home .course-picker{width:220px}.home .course .track-map{height:100px}.home .hero{right:270px}}
@media(max-width:600px){.home .course-picker{width:190px;max-height:calc(100dvh - 235px)}.home .course{padding:11px}.home .course h2{font-size:16px}.home .course .track-map{height:88px}.home>.start-row{bottom:36px}.home>.start-row .start{padding:13px 24px}.home .hero{right:18px}}
@media(max-height:560px) and (min-width:601px){.home .course-picker{width:220px;max-height:calc(100dvh - 120px)}.home .course{padding:10px;gap:4px}.home .course h2{font-size:16px}.home .course p{display:none}.home .course .track-map{height:78px}.home>.start-row{bottom:20px;gap:7px}.home>.start-row .start{padding:12px 24px}}

/* Keep each course silhouette alongside its label in a compact single row. */
.home .course{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;padding:12px}
.home .course>div{flex:1;min-width:0}
.home .course h2{font-size:16px}
.home .course .track-map{width:82px;height:90px;flex:0 0 82px}
@media(max-width:900px){.home .course .track-map{width:74px;height:82px;flex-basis:74px}.home .course{padding:10px}}
@media(max-width:600px){.home .course h2{font-size:14px}.home .course .track-map{width:64px;height:76px;flex-basis:64px}.home .course{gap:6px}.home .course b{margin-left:5px}}
/* English course labels and responsive dual-thumb driving controls. */
.home .course h2{font-size:14px;line-height:1.3;letter-spacing:.03em}
.mobile-controls,.mobile-hint{display:none}
@media(pointer:coarse),(max-width:800px){
 .desktop-hint,.game .keys{display:none!important}.home .mobile-hint{display:block}
 .mobile-controls{display:block;position:absolute;inset:0;z-index:6;pointer-events:none;user-select:none;-webkit-user-select:none}
 .joystick-area{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:calc(90px + env(safe-area-inset-bottom));text-align:center}
 .joystick{width:120px;height:120px;position:relative;display:grid;place-items:center;border:1px solid #d0efff55;border-radius:50%;background:radial-gradient(circle,#7998aa20,#08131bc9);box-shadow:inset 0 0 22px #b4edff13;pointer-events:auto;touch-action:none}
 .joystick i{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid #ddf8ff9c;background:radial-gradient(circle at 35% 25%,#a8c9d5,#405c6b);box-shadow:0 4px 15px #0006;pointer-events:none}
 .joystick-arrows{color:#c6e1ed66;font-size:24px;pointer-events:none}.joystick-area>small{display:block;font-size:8px;letter-spacing:.2em;color:#b2c5ce;margin-top:9px}
 .mobile-actions{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(100px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,52px);gap:8px;pointer-events:auto}
 .mobile-actions button{width:52px;height:52px;border-radius:50%;border:1px solid #bed4df70;background:#0c1e2bce;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;color:#e4eff4;padding:0;-webkit-tap-highlight-color:transparent}
 .mobile-actions b{font-size:22px;line-height:23px}.mobile-actions span{font-size:9px}.mobile-actions .accelerate{background:#d8f1f1;color:#132b34}.mobile-actions .jump{border-color:#9de1f1}.mobile-actions .pressed{background:#398ca2;color:white;box-shadow:0 0 18px #6ee1ff60}.mobile-actions button:disabled{opacity:.4}
 .game .dashboard{padding:12px max(12px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));flex-wrap:nowrap;z-index:5}
 .game .gauge{width:64px}.game .gauge-group{gap:5px}.game .gauge small{font-size:7px}.game .gauge strong{font-size:17px}.game .gauge em{font-size:7px}
 .game .air-empty{bottom:270px;z-index:5;max-width:80%;text-align:center}
 .game header{top:max(14px,env(safe-area-inset-top));left:14px;right:14px;font-size:11px;letter-spacing:.15em}.game header small{display:none}.game header button{min-height:38px;padding:8px}
 .game .race-info{top:65px;left:14px;gap:15px;padding:8px}.game .race-info b{font-size:14px}.game .minimap{top:65px;right:12px;width:90px}.game .cue{top:135px;left:14px;transform:none;text-align:left;max-width:calc(100% - 120px)}.game .cue span{font-size:9px}
 .game .modal{z-index:12;max-height:90dvh;overflow:auto}.game .countdown{pointer-events:none}
}
@media(max-width:370px){.joystick{width:104px;height:104px}.joystick i{width:42px;height:42px}.mobile-actions{grid-template-columns:repeat(3,46px);gap:6px}.mobile-actions button{width:46px;height:46px}.home .course h2{font-size:12px}}
@media(pointer:coarse) and (orientation:landscape){.joystick-area{bottom:calc(20px + env(safe-area-inset-bottom))}.mobile-actions{bottom:calc(24px + env(safe-area-inset-bottom))}.game .dashboard{left:155px;right:195px;justify-content:center;gap:8px}.game .gauge{width:54px}.game .gauge strong{font-size:14px}.game .gauge-group{gap:2px}.game .air-empty{bottom:90px}.game .cue{top:125px}}

.joystick-up,.joystick-down{position:absolute;left:50%;transform:translateX(-50%);color:#c6e1ed66;font-size:18px;pointer-events:none}.joystick-up{top:5px}.joystick-down{bottom:5px}
@media(pointer:coarse),(max-width:800px){.mobile-actions{grid-template-columns:repeat(2,52px)}.joystick-area>small{letter-spacing:0;font-size:9px}}
@media(max-width:370px){.mobile-actions{grid-template-columns:repeat(2,46px)}}
.garage-entry{position:absolute;z-index:5;top:150px;left:32px;display:flex;align-items:center;gap:16px}.garage-entry button,.garage-entry a{color:#d9e9ed;border:1px solid #a9c4cd60;background:#14232a99;padding:10px 16px;text-decoration:none;font-size:12px}.garage-entry span{display:block;color:#8ca3ac;font-size:10px;margin-top:5px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.garage-overlay{position:absolute;inset:0;z-index:30;background:#000b;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px}.garage-panel{width:min(920px,100%);max-height:92dvh;overflow:auto;background:#0b1218;border:1px solid #77919c55;border-radius:16px;padding:28px;box-shadow:0 24px 100px #0009}.garage-heading{display:flex;justify-content:space-between;align-items:center}.garage-heading small{font-size:9px;letter-spacing:.3em;color:#98b5c2}.garage-heading h2{font-size:30px;font-weight:400;margin:8px 0 22px}.garage-close{border:0;background:none;color:#d5e6ed;font-size:32px}.garage-panel button{cursor:pointer}.garage-panel button:disabled{opacity:.4;cursor:default}.garage-account{display:flex;justify-content:space-between;font-size:12px;margin-bottom:20px;color:#91a8b4}.garage-account a{color:#c3dce6}.garage-grid{display:grid;grid-template-columns:240px 1fr;gap:24px}.vehicle-list{display:flex;flex-direction:column;gap:8px;max-height:350px;overflow:auto}.vehicle-list button,.vehicle-item{border:1px solid #849ca730;border-radius:8px;background:#15222b;color:#dce9ed;text-align:left;padding:12px}.vehicle-list b{display:block;font-size:13px;overflow-wrap:anywhere}.vehicle-list small{display:block;color:#9eb3be;font-size:10px;margin-top:5px}.vehicle-item>button{padding:0;border:0;width:100%}.vehicle-item>div{display:flex;gap:8px;margin-top:10px}.vehicle-item>div button{font-size:10px;padding:6px 8px;background:#20313c}.vehicle-list .chosen{border-color:#a7e7e8;background:#20353e}.upload-vehicle{display:block;text-align:center;padding:14px;margin-top:14px;border:1px dashed #92bacd80;border-radius:8px;color:#c6e8f3;font-size:13px;cursor:pointer}.upload-vehicle input{display:block;width:100%;margin-top:8px;font-size:10px}.garage-help{font-size:11px;color:#8da3b0;line-height:1.7}.vehicle-preview{height:270px;position:relative;border:1px solid #57768640;border-radius:12px;overflow:hidden;background:#05080c}.vehicle-preview canvas{display:block}.vehicle-showroom{height:100%;border:0;border-radius:0;background:transparent}.preview-status{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#adbec7;text-align:center;font-size:12px;pointer-events:none}.garage-editor label{display:block;font-size:11px;color:#9fb6c2;margin-top:14px}.garage-editor input{display:block;box-sizing:border-box;width:100%;padding:10px 12px;margin-top:7px;background:#172631;border:1px solid #68828e60;border-radius:6px;color:#eef6f8}.orientation-controls{display:flex;gap:8px;margin-top:12px}.orientation-controls button{flex:1;padding:10px;border:1px solid #819da950;background:#1b2c37;border-radius:6px;font-size:11px}.garage-primary{display:block;width:100%;border:0;border-radius:6px;padding:13px;background:#cce9ed;color:#14242c;text-decoration:none;text-align:center;font-size:13px;box-sizing:border-box}.front-marker{font-size:10px;color:#b1cbd7;margin-top:8px}.garage-empty{height:100%;min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #546b7833;border-radius:12px;color:#8ba1ae;font-size:12px}.garage-empty span{letter-spacing:.3em;color:#d2e9f3}.garage-error{color:#ffc4ac;background:#702e2033;border:1px solid #bb71514d;border-radius:6px;padding:12px;font-size:12px;line-height:1.6}.garage-signin{max-width:400px;margin:30px auto;text-align:center;font-size:13px;line-height:1.8;color:#a5bbc6}.vehicle-notice{position:absolute;z-index:40;left:50%;top:15px;transform:translateX(-50%);max-width:90%;padding:12px;background:#422e22ee;border:1px solid #b99b69;border-radius:8px;font-size:12px}.vehicle-notice button{margin-left:12px;background:none;border:0;text-decoration:underline;color:white}
@media(max-width:900px){.garage-entry{top:100px;left:20px}.garage-grid{grid-template-columns:200px 1fr}}
@media(max-width:600px){.garage-entry{top:78px;left:18px;flex-direction:column;align-items:flex-start;gap:8px}.garage-entry button,.garage-entry a{padding:8px 10px;font-size:11px}.garage-entry span{max-width:100px}.garage-overlay{padding:8px}.garage-panel{padding:18px;max-height:96dvh}.garage-grid{grid-template-columns:1fr}.vehicle-list{max-height:180px}.vehicle-preview{height:240px}.vehicle-showroom{height:100%}.garage-heading h2{font-size:24px}}

.vehicle-canvas{position:absolute;inset:0;overflow:hidden}.vehicle-canvas canvas{display:block;width:100%;height:100%}.garage-controls{margin-top:20px}.garage-controls .orientation-controls{flex-direction:column}.garage-controls .garage-primary{margin-top:16px}.garage-grid>.garage-editor .vehicle-preview{height:420px}.garage-grid>.garage-editor{min-width:0}.garage-controls label{margin-top:0}
@media(max-width:600px){.garage-grid>.garage-editor .vehicle-preview{height:300px}.garage-controls .orientation-controls{flex-direction:row}}
/* Keep the collection independently scrollable as it grows. */
.garage-grid>div{min-height:0}.vehicle-list{max-height:min(240px,30dvh);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6b939e #101c24}.vehicle-list>*{flex-shrink:0}.vehicle-list::-webkit-scrollbar{width:6px}.vehicle-list::-webkit-scrollbar-thumb{background:#6b939e;border-radius:8px}.vehicle-list::-webkit-scrollbar-track{background:#101c24}
@media(max-width:600px){.vehicle-list{max-height:160px}}
.garage-panel{padding-top:10px}.garage-heading{justify-content:flex-end;height:30px;margin-bottom:8px}.garage-close{font-size:28px;line-height:1;width:30px;height:30px;padding:0}.garage-grid>.garage-editor>.orientation-controls{margin-top:12px}.garage-grid>.garage-editor>.orientation-controls button{color:#dce9ed}
@media(max-width:600px){.garage-panel{padding-top:8px}}
.garage-heading{justify-content:space-between;gap:12px}.garage-heading .garage-title{margin:0;font-size:16px;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.garage-close{flex-shrink:0}.garage-preview-wrap{position:relative;height:420px}.garage-preview-wrap .vehicle-preview{height:100%}.preview-toolbar{position:absolute;top:12px;left:12px;right:12px;z-index:2;display:flex;align-items:center;gap:8px;pointer-events:none}.preview-toolbar>*{pointer-events:auto}.preview-toolbar input{margin:0;min-width:0;flex:1;background:#101b25d9}.preview-toolbar strong{max-width:100%;padding:9px 12px;border-radius:6px;background:#101b25cc;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-toolbar .garage-primary{width:auto;flex-shrink:0;font-size:11px;padding:11px}.garage-grid .vehicle-list{max-height:390px}.vehicle-canvas canvas{cursor:grab;touch-action:none}.vehicle-canvas canvas:active{cursor:grabbing}
@media(max-width:600px){.garage-preview-wrap{height:300px}.garage-grid .vehicle-list{max-height:230px}.preview-toolbar{top:8px;left:8px;right:8px;gap:5px}.preview-toolbar .garage-primary{font-size:10px;padding:10px 7px}}
.garage-tabs{display:flex;gap:6px;height:30px}.garage-tabs button{border:0;background:transparent;color:#8ea6b3;padding:0 14px;font-size:13px;border-radius:5px;line-height:30px}.garage-tabs button[aria-selected=true]{background:#cce9ed;color:#14242c}.vehicle-card-actions{justify-content:space-between;align-items:center}.vehicle-card-actions .open-switch{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:5px 0;font-size:10px;letter-spacing:.1em}.open-switch i{display:block;width:28px;height:16px;border-radius:10px;background:#52616a;position:relative;transition:background .15s}.open-switch i:after{content:'';position:absolute;width:12px;height:12px;left:2px;top:2px;border-radius:50%;background:#e4edf0;transition:transform .15s}.open-switch[aria-checked=true] i{background:#55aba5}.open-switch[aria-checked=true] i:after{transform:translateX(12px)}.vehicle-card-actions .delete-vehicle{padding:6px;border:0;background:transparent;color:#97aebb}.vehicle-card-actions .confirm-delete{color:#ff857d;background:#612d2d}.collection-empty{padding:22px 10px;color:#9eb3be;font-size:12px}.open-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:12px}.open-pagination button{background:#20313c;border:1px solid #849ca730;border-radius:5px;padding:6px 12px;color:#dce9ed}
.garage-heading{margin-bottom:20px}
/* World journeys */
.world-picker{position:absolute;right:30px;top:28px;width:320px;z-index:4;background:rgba(7,13,18,.86);border:1px solid #ffffff20;border-radius:18px;overflow:hidden;backdrop-filter:blur(16px)}.world-heading{padding:18px 18px 12px;display:grid;gap:5px}.world-heading span{font-size:10px;letter-spacing:2px;color:#88dce5}.world-heading b{font-size:18px}.world-map{position:relative;height:180px;width:100%;overflow:hidden;background:#080e15}.world-map>div:first-child{position:absolute;inset:0}.globe-map{height:245px}.world-selection{padding:12px 18px;display:grid;gap:4px}.world-selection strong{font-size:15px}.world-selection small,.map-note{font-size:10px;color:#8e9ca7}.city-shortcuts{display:flex;gap:5px;flex-wrap:wrap;padding:0 18px 12px}.city-shortcuts button{font-size:10px;padding:6px 9px;border:1px solid #ffffff26;border-radius:20px;background:#ffffff08;color:#b9cbd5}.daily-route{display:flex;justify-content:space-between;width:calc(100% - 36px);margin:0 18px;padding:10px;border-radius:8px;background:#83e8ef13;border:1px solid #83e8ef40;color:#8feaf0;font-size:10px;align-items:center}.daily-route b{font-size:12px}.world-actions{display:flex;gap:8px;padding:12px 18px}.world-actions button{flex:1;border:1px solid #ffffff30;border-radius:8px;background:#ffffff09;padding:10px;color:#fff;font-size:12px}.map-note{display:block;padding:0 18px 14px;line-height:1.5}.world-error,.map-error{padding:10px;color:#ffb0a4;font-size:12px}.map-error{position:absolute;inset:auto 5px 5px;background:#111d}.world-overlay{position:fixed;inset:0;z-index:100;background:#000a;backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}.world-hub{width:min(960px,100%);max-height:90dvh;overflow:auto;background:#10171f;border:1px solid #ffffff24;border-radius:20px;padding:24px;box-shadow:0 20px 100px #0008;color:#e9f2f7}.world-hub button{cursor:pointer;background:#ffffff09;border:1px solid #ffffff25;color:inherit;padding:8px 12px;border-radius:7px;font-size:12px}.world-hub button:hover,.world-hub button.active{background:#8ce3ed24;border-color:#8ce3ed}.world-hub button:disabled{opacity:.45;cursor:wait}.world-hub-heading{display:flex;justify-content:space-between;margin-bottom:20px;position:sticky;top:-24px;z-index:2;background:#10171f;padding:12px 0}.world-hub-heading>div{display:flex;gap:8px}.world-totals{display:flex;gap:15px}.world-totals span{flex:1;display:grid;gap:8px;padding:20px;border:1px solid #ffffff15;border-radius:12px;color:#a0b4c3;font-size:12px}.world-totals b{font-size:32px;color:#fff}.world-muted{font-size:11px;line-height:1.8;color:#98a8b7;margin:14px 0}.drive-list{display:grid;gap:12px}.drive-card{display:grid;grid-template-columns:160px 1fr;gap:18px;border:1px solid #ffffff18;padding:16px;border-radius:14px;background:#ffffff03}.route-art{width:100%;height:120px;background:#080e15;border-radius:8px}.drive-card h3{font-size:20px;margin:5px 0}.drive-card small{font-size:11px;color:#91a5b4}.drive-card p{font-size:13px;margin:8px 0}.drive-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.world-empty{text-align:center;padding:30px;color:#a4b7c5;line-height:1.8}.mission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mission{padding:18px;border:1px solid #ffffff20;border-radius:12px}.mission small{font-size:9px;letter-spacing:1px;color:#8ce3ed}.mission h3{font-size:15px;line-height:1.5;margin:10px 0}.mission p{font-size:12px;color:#a4b7c5}.mission progress,.community-goal progress{width:100%;accent-color:#8ce3ed;height:7px}.mission button{margin-top:12px}.community-goal{margin-top:20px;padding:24px;border-radius:14px;background:linear-gradient(110deg,#21484f,#14232d)}.community-goal span{font-size:13px}.community-goal h3{font-size:34px;margin:12px 0}.community-goal h3 small{font-size:17px;color:#a4b7c5}.community-goal p{font-size:11px;margin-top:10px;color:#a4b7c5}.ranking-tabs{display:flex;gap:8px;margin-top:24px}.ranking-list>div{display:flex;align-items:center;gap:15px;padding:12px 5px;border-bottom:1px solid #ffffff12}.ranking-list span{flex:1;font-size:14px}.ranking-list small{display:block;color:#8b9fab;font-size:11px;margin-top:4px}.ranking-list em{font-size:12px;font-style:normal;color:#8ce3ed}.share-result{overflow-wrap:anywhere;background:#8ce3ed15;padding:12px;color:#8ce3ed;font-size:12px}.world-minimap{height:160px!important;width:240px!important;padding:0!important;overflow:hidden}.world-minimap .world-map{height:160px}.save-status{position:absolute;left:30px;top:160px;font-size:10px;color:#a0c5c7;display:grid;gap:8px;z-index:5}.save-status button{background:#07121b99;border:1px solid #ffffff40;border-radius:6px;padding:6px 10px;color:white;font-size:10px}.ghost-banner{position:absolute;bottom:155px;left:50%;transform:translateX(-50%);z-index:5;font-size:12px;background:#15343edb;border:1px solid #8ce3ed;padding:10px;border-radius:20px;white-space:nowrap}.ghost-banner button{background:none;border:0;color:#8ce3ed;margin-left:15px}.maplibregl-ctrl-attrib{font-size:8px!important}.maplibregl-ctrl-bottom-right{max-width:100%}.world-picker button:disabled{opacity:.5}.home .start:disabled{opacity:.6}
@media(max-width:700px){.world-picker{right:12px;top:94px;width:220px;border-radius:12px}.world-heading{padding:10px 12px 6px}.world-heading b{font-size:14px}.world-heading span{font-size:8px}.globe-map{height:170px}.world-selection{padding:8px 12px}.world-selection strong{font-size:12px}.world-selection small{font-size:9px}.city-shortcuts{padding:0 12px 8px;gap:4px}.city-shortcuts button{font-size:9px;padding:4px 6px}.daily-route{margin:0 12px;width:calc(100% - 24px);padding:8px}.world-actions{padding:8px 12px}.world-actions button{padding:7px;font-size:11px}.map-note{display:none}.world-overlay{padding:8px}.world-hub{padding:14px;max-height:95dvh;border-radius:12px}.world-hub-heading{top:-14px}.world-totals span{padding:12px}.world-totals b{font-size:24px}.mission-grid{grid-template-columns:repeat(2,1fr)}.mission{padding:12px}.drive-card{grid-template-columns:1fr;padding:12px}.route-art{height:70px}.ranking-tabs{gap:4px}.ranking-tabs button{font-size:11px;padding:8px}.ranking-list>div{gap:8px}.world-minimap{width:135px!important;height:100px!important}.world-minimap .world-map{height:100px}.save-status{left:12px;top:135px;font-size:9px}.ghost-banner{bottom:115px;font-size:10px}.world-picker .world-error{max-height:64px;overflow:auto;font-size:10px}}
@media(max-height:700px) and (min-width:701px){.world-picker{width:285px;top:18px}.globe-map{height:180px}.world-heading{padding:10px 16px}.world-selection{padding:8px 16px}.map-note{display:none}.world-actions{padding:8px 16px}}
@media(max-height:520px) and (max-width:900px){.world-picker{top:12px;right:12px;width:260px}.world-heading{display:none}.globe-map{height:130px}.world-selection{padding:6px 12px}.city-shortcuts{padding-bottom:6px}.daily-route,.map-note{display:none}.home .start-row{left:35%;bottom:18px}.world-actions{padding:6px 12px}.world-minimap{display:none}}
.history-map{padding:14px;background:#080e15;border:1px solid #ffffff20;border-radius:12px;margin-bottom:16px}.history-map>b{font-size:13px}.history-map>button{float:right}.history-map .world-map{height:260px;margin-top:15px}
.current-location{display:block;width:calc(100% - 36px);margin:0 18px 12px;padding:12px;color:#d7fcff;background:#63dce51a;border:1px solid #83e8ef70;border-radius:9px;font-size:13px;cursor:pointer}.current-location:hover{background:#63dce52e}.game .world-minimap{display:block;position:absolute;top:80px;right:24px;width:260px!important;height:190px!important;border:1px solid #ffffff45;border-radius:12px;box-shadow:0 10px 35px #0006;z-index:4}.game .world-minimap .world-map{height:100%}.navigation-label{position:absolute;top:8px;left:8px;padding:4px 7px;background:#0c1c27dc;border-radius:5px;color:#ddfaff;font-size:8px;letter-spacing:1px;pointer-events:none}.navigation-car{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:22px;color:#00c9ec;-webkit-text-stroke:1.5px #fff;filter:drop-shadow(0 2px 3px #001c32);pointer-events:none}.save-status>span{max-width:260px;color:#d8c99c;line-height:1.5}
@media(max-width:700px){.current-location{width:calc(100% - 24px);margin:0 12px 8px;padding:9px;font-size:11px}.game .world-minimap{top:65px;right:10px;width:165px!important;height:135px!important}.navigation-label{font-size:6px}.game .cue{max-width:calc(100% - 185px)}}
@media(max-height:520px){.game .world-minimap{display:block;top:60px;right:10px;width:165px!important;height:115px!important}.current-location{padding:7px;margin-bottom:6px}}
@media(max-width:700px){.save-status{max-width:calc(100vw - 195px)}.save-status>span{max-width:100%;font-size:9px}}
.race-map-credit{position:absolute;bottom:3px;right:12px;font-size:8px;color:#bac7cb;z-index:6;line-height:12px}.race-map-credit a{color:inherit;text-decoration:none}.game .dashboard{justify-content:space-between}
.skin-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;min-height:0;height:min(65vh,580px);padding-top:12px}.skin-grid .garage-editor{min-height:0;display:flex;flex-direction:column}.skin-grid .garage-preview-wrap{flex:1;min-height:0}.skin-collection{display:flex;flex-direction:column;min-height:0;gap:10px}.skin-collection .vehicle-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.skin-choice{display:flex!important;align-items:center;gap:12px}.skin-choice img{width:56px;height:56px;object-fit:cover;border-radius:6px}.skin-choice span{min-width:0;overflow-wrap:anywhere}.skin-collection>small{color:#8e9ba4;font-size:11px}.skin-panel .garage-tabs button[aria-pressed=true]{color:#9ee6e9;border-bottom:1px solid #9ee6e9}.daily-panel{max-width:680px}.daily-prize{display:flex;flex-direction:column;gap:10px;margin:24px 0;padding:22px;border:1px solid #c4aa5860;background:linear-gradient(125deg,#b79c3317,transparent)}.daily-prize span{font-size:11px;letter-spacing:.2em;color:#dfc978}.daily-prize strong{font-size:27px;color:#fff}.daily-prize small{color:#a2b2be}.daily-panel>p{font-size:13px}.my-rank{background:#9ee6e915}.garage-entry{flex-wrap:wrap}@media(max-width:640px){.skin-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(200px,1fr) minmax(140px,.8fr);height:72dvh;gap:8px}.skin-collection .skin-choice img{width:40px;height:40px}.daily-prize strong{font-size:23px}.skin-grid .front-marker{font-size:10px}.skin-panel .garage-error{max-height:50px;overflow:auto}}
/* Title moves independently of the account controls. */
.home .hero{top:36px}.home .hero h1{font-size:clamp(44px,7vw,106px)}.world-title{position:absolute;left:2px;top:-17px;font-size:11px;letter-spacing:.3em;color:#c2d5de;font-weight:400}.home>.start-row{width:min(540px,calc(100% - 32px))}.home>.start-row>.start-location-hint{display:block;font-size:10px;line-height:1.6;max-width:100%}.skin-grid{grid-template-columns:240px minmax(0,1fr);height:min(65vh,580px)}.skin-grid .skin-collection{grid-column:1;grid-row:1}.skin-grid .garage-editor{grid-column:2;grid-row:1}.skin-grid .vehicle-list{max-height:none}.skin-grid .garage-editor .vehicle-preview{height:100%}@media(max-width:900px){.home .hero{top:30px}.skin-grid{grid-template-columns:200px minmax(0,1fr)}}@media(max-width:600px){.home .hero{top:25px}.world-title{font-size:9px;top:-13px}.skin-grid{grid-template-columns:1fr;grid-template-rows:minmax(120px,.65fr) minmax(230px,1fr);height:72dvh}.skin-grid .skin-collection{grid-column:1;grid-row:1}.skin-grid .garage-editor{grid-column:1;grid-row:2}.home>.start-row>.start-location-hint{font-size:9px}}

@media(max-width:900px){.home .hero h1{font-size:clamp(32px,6vw,65px)}}@media(max-width:600px){.home .hero h1{font-size:42px}}

.vehicle-item>.card-download-actions{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:8px}.card-download-actions>button:first-child{justify-self:start}.card-download-actions>.open-switch{justify-self:center}.card-download-actions>button:last-child:not(:first-child){justify-self:end}.home .world-title{font-size:18px;top:-23px;letter-spacing:.24em;line-height:1.1}@media(max-width:600px){.home .world-title{font-size:14px;top:-18px}}

.landmark-select{display:block;width:100%;margin:8px 0;padding:11px 12px;border:1px solid #60798566;border-radius:6px;background:#111d25;color:#d5e5e9;font-size:11px}.landmark-select:focus-visible{outline:2px solid #9ee6e9}

.game header{justify-content:flex-end}.game .race-info{top:22px}
@media(max-width:800px){.game .race-info{top:55px}}
.game .race-result-modal{top:82px;bottom:auto;transform:translateX(-50%);max-height:calc(100dvh - 110px)}
.profile-totals{flex-wrap:wrap}.profile-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:250px;overflow-y:auto}.profile-places article{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #9bd8e92b;background:#13222b}.profile-places span{color:#a0b6bf}.profile-places em{font-style:normal;color:#7de4ed}
@media(max-width:600px){.game .race-result-modal{top:65px;max-height:calc(100dvh - 85px)}.profile-places{grid-template-columns:1fr}.garage-entry{flex-direction:row;flex-wrap:wrap;max-width:calc(100vw - 36px);gap:6px}}
.estate-list{display:grid;gap:14px;max-height:55dvh;overflow:auto}.estate-card{display:flex;gap:16px;padding:18px;border:1px solid #78b7ca45;background:#10212c;border-radius:12px}.estate-card>img{width:100px;height:100px;object-fit:cover;border-radius:8px}.estate-card h3{margin:0 0 8px}.estate-card small{color:#9eb2c0}.estate-card button,.estate-upload{border:1px solid #80cbdb66;background:#142e3a;padding:9px 12px;border-radius:6px;color:#e8faff}.estate-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.estate-actions input{width:120px;background:#061018;color:white;border:1px solid #577b8d;padding:9px}.estate-upload{display:inline-block;cursor:pointer;margin:8px 8px 0 0}.estate-upload input{display:none}.world-overlay{z-index:40}.game header button{margin-left:5px}.ranking-tabs{flex-wrap:wrap}
@media(max-width:600px){.estate-card{flex-direction:column}.game header button{font-size:10px;padding:7px}.game .race-info{top:65px}}
.profile-panel.world-hub{padding:12px 20px 20px}.profile-panel .world-hub-heading{height:34px;min-height:34px;align-items:center;margin:0 0 12px;padding:0;top:-12px}.profile-panel .world-hub-heading>b{font-size:17px;line-height:24px;margin:0}.profile-panel .world-hub-heading>button{width:30px;height:30px;min-height:0;padding:0;line-height:28px;margin:0}.selected-estate{border-color:#7de4ed;box-shadow:0 0 0 1px #7de4ed}.selected-estate>strong{color:#7de4ed;font-size:12px;white-space:nowrap}
.estate-detail-panel.world-hub{width:min(560px,calc(100vw - 24px));padding:12px 18px 18px}.world-hub .world-hub-heading{min-height:34px;align-items:center;padding:0;margin-bottom:12px;gap:12px}.world-hub-heading>button:last-child{width:30px;height:30px;min-height:0;padding:0;line-height:28px;flex-shrink:0}.estate-detail-panel .world-hub-heading{height:34px;top:-12px;margin-top:0}.estate-detail-panel .estate-balance{margin:8px 0 12px;color:#9fb8c4;font-size:13px}.estate-detail-panel .estate-card{border:0;padding:0;background:transparent;display:block}.estate-detail-panel .estate-card>img{float:right;margin:0 0 12px 12px}.estate-detail-panel .estate-card h3{font-size:20px}.estate-detail-panel .estate-list{max-height:65dvh}.estate-price{color:#8ee9df;font-weight:600}.estate-buy{width:100%;margin-top:10px}.drive-toast{position:fixed;bottom:calc(112px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:60;max-width:min(420px,85vw);padding:9px 16px;font-size:13px;border:1px solid #8bd7e65e;border-radius:10px;background:#09171de8;color:#f1fbff;text-align:center;pointer-events:none;animation:drive-toast-in .18s ease-out}@keyframes drive-toast-in{from{opacity:0}to{opacity:1}}

.estate-detail-panel.world-hub{width:min(820px,calc(100vw - 24px))}.estate-detail-panel .estate-card{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:center}.estate-detail-panel .estate-card>img{float:none;margin:auto;grid-column:2;grid-row:1;width:220px;height:220px;object-fit:contain}.estate-detail-panel .estate-card>div{grid-column:1;grid-row:1;min-width:0}.estate-actions{display:flex;flex-wrap:nowrap;align-items:center;overflow-x:auto;gap:6px}.estate-actions>*{flex-shrink:0;white-space:nowrap}.estate-actions input{width:80px}.estate-actions .estate-upload{margin:0}.estate-actions button,.estate-actions .estate-upload{font-size:12px;padding:8px}.estate-detail-panel .estate-card:has(.estate-actions){grid-template-columns:minmax(0,1fr) 240px}.estate-detail-panel .estate-card>div:has(.estate-actions){display:contents}.estate-detail-panel .estate-card>div:has(.estate-actions)>:not(.estate-actions){grid-column:1;margin:0}.estate-detail-panel .estate-card:has(.estate-actions)>img{grid-row:1 / 7}.estate-detail-panel .estate-actions{grid-column:1 / -1;margin:4px 0 0}.estate-detail-panel .estate-card{row-gap:10px}@media(max-width:600px){.estate-detail-panel .estate-card,.estate-detail-panel .estate-card:has(.estate-actions){grid-template-columns:minmax(0,1fr) 120px}.estate-detail-panel .estate-card>img{width:120px;height:120px}.estate-detail-panel .estate-card h3{font-size:16px}}

.language-select{background:#101b23;color:#e0edf2;border:1px solid #7397aa55;border-radius:6px;padding:8px 9px;font:inherit;font-size:12px;max-width:112px}.language-select:focus-visible{outline:2px solid #7de4ed}.garage-entry{flex-wrap:wrap}.world-picker .current-location,.world-picker .daily-route{white-space:normal}.mobile-actions button span{font-size:10px}@media(max-width:600px){.language-select{max-width:86px;font-size:11px;padding:6px}.garage-entry{gap:5px}}

.world-picker .landmark-select{width:calc(100% - 36px);margin:8px 18px 12px}@media(max-width:700px){.world-picker .landmark-select{width:calc(100% - 24px);margin:8px 12px}}

.daily-panel .ranking-tabs{margin-top:8px}.daily-panel>.garage-primary{display:block;text-align:center;font-size:16px;letter-spacing:3px;margin:16px 0 8px}.daily-panel .ranking-list:empty{display:none}.finish-ranking-status{color:#97dfe1;font-size:13px}
.market-controls{padding:5px 10px 10px;min-width:0}.market-controls>button,.market-controls>span{font-size:11px;color:#afbec8}.market-controls>button{background:#202930;border:1px solid #36424c;border-radius:6px;padding:7px 10px;cursor:pointer}.market-controls>.market-buy{color:#ffd36a;border-color:#756032;background:#30291c}.market-controls form{display:flex;align-items:center;gap:5px}.market-controls input{min-width:0;width:100%;background:#11181e;border:1px solid #4c5d68;border-radius:5px;color:white;padding:7px;font-size:12px}.market-controls form button{flex-shrink:0;padding:7px;background:#24343c;border:1px solid #405761;color:#e7f7fa;border-radius:5px}.market-controls form span{font-size:11px;color:#ffd36a}
/* Equal top/bottom insets, with a compact heading inside that space. */
.garage-panel{padding-top:28px;padding-bottom:28px}.world-hub{padding-top:24px!important;padding-bottom:24px!important}.world-hub .world-hub-heading{top:0;margin-top:0;padding:0;position:relative}.profile-panel>h3{margin:32px 0 14px;padding-top:20px;border-top:1px solid #9fc6d322;font-size:17px}.profile-panel>.world-muted{margin:0 0 14px;line-height:1.6}.profile-panel .profile-totals{margin-bottom:22px}.profile-panel .estate-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:640px;gap:16px}.profile-panel .estate-card{display:flex;flex-direction:column;gap:14px;padding:14px;min-width:0}.estate-preview{width:100%;aspect-ratio:1.6;background:#0b1720;border:1px solid #97c2d222;border-radius:8px;overflow:hidden;display:grid;place-items:center;min-width:0}.estate-preview img{display:block;width:100%;height:100%;object-fit:contain}.estate-preview span{font-size:11px;color:#93aab8;padding:16px;text-align:center}.estate-card-body{min-width:0}.estate-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.estate-title-row h3{font-size:15px;margin:0;flex-shrink:0}.estate-title-row small{font-size:10px;text-align:right;overflow-wrap:anywhere}.estate-card .estate-actions{margin-top:12px}.estate-price:empty{display:none}.estate-detail-panel .estate-card,.estate-detail-panel .estate-card:has(.estate-actions){display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start}.estate-detail-panel .estate-card>.estate-preview{grid-column:2;grid-row:1;align-self:center}.estate-detail-panel .estate-card>.estate-card-body:has(.estate-actions){display:block;grid-column:1;grid-row:1}.estate-detail-panel .estate-actions{max-width:100%;grid-column:auto}.profile-panel .estate-actions{flex-wrap:wrap;overflow:visible}.profile-panel .estate-card p{font-size:12px}.profile-panel .estate-card .estate-price{margin-bottom:4px}
@media(max-width:600px){.garage-panel{padding-top:18px;padding-bottom:18px}.world-hub{padding-top:18px!important;padding-bottom:18px!important}.profile-panel .estate-list{gap:8px}.profile-panel .estate-card{padding:9px;gap:10px}.estate-title-row{flex-wrap:wrap;gap:4px}.estate-title-row small{text-align:left}.profile-panel .estate-actions button,.profile-panel .estate-upload{font-size:10px;padding:7px}.profile-panel .estate-actions input{width:100%}.estate-detail-panel .estate-card,.estate-detail-panel .estate-card:has(.estate-actions){grid-template-columns:1fr}.estate-detail-panel .estate-card>.estate-preview{grid-column:1;grid-row:1}.estate-detail-panel .estate-card>.estate-card-body,.estate-detail-panel .estate-card>.estate-card-body:has(.estate-actions){grid-column:1;grid-row:2}}
.estate-preview{position:relative}.estate-preview>.estate-live-canvas{position:absolute;inset:0;display:none}.estate-preview.interactive>.estate-live-canvas{display:block;cursor:grab;touch-action:none}.estate-live-canvas:active{cursor:grabbing}.estate-live-canvas canvas{display:block;width:100%;height:100%}.estate-preview>.estate-orbit-start{position:absolute;inset:0;border:0!important;background:transparent!important;border-radius:8px;padding:0;display:flex;align-items:flex-end;justify-content:center;cursor:grab}.estate-preview>.estate-orbit-start>span,.estate-preview>.estate-orbit-hint{font-size:10px;color:#d5edf7;background:#08141ddd;border-radius:4px;padding:5px 8px;margin:8px;pointer-events:none}.estate-preview>.estate-orbit-hint{position:absolute;bottom:0;left:0;right:0;text-align:center}.estate-preview>.estate-orbit-close{position:absolute;right:6px;top:6px;width:26px;height:26px;padding:0;border:1px solid #8bb9cc55;border-radius:50%;background:#0c1d2be6;font-size:18px;line-height:24px;z-index:2}.estate-preview>.estate-preview-status{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:#0b172080}
.world-heading-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.world-heading-top>span{font-size:9px;letter-spacing:1.4px;white-space:nowrap}.world-heading-top>.language-select{flex-shrink:0;max-width:104px;font-size:11px;padding:5px 7px;margin:0}.world-heading>b{margin-top:3px}
.daily-panel .ranking-tabs{display:grid;grid-template-columns:1fr 1fr}.daily-panel .ranking-tabs button{line-height:1.6;white-space:normal;padding:12px 10px}.daily-panel .daily-prize small{display:block;margin-top:6px}
.admin-panel{width:min(1100px,95vw);max-height:92dvh;overflow:auto;background:#0b151e;border:1px solid #9bcddb44;border-radius:18px;padding:24px;color:#edf5fa}.admin-panel .world-hub-heading{margin:0 0 12px;padding:0;align-items:center}.admin-panel h2{font-size:22px;margin:4px 0 0}.admin-panel .world-hub-heading small{font-size:10px;letter-spacing:2px;color:#8ecfd5}.admin-header-actions{display:flex;gap:8px}.admin-header-actions button{background:#18303e;border:1px solid #85bdce44;border-radius:8px;padding:8px 12px}.admin-caption{color:#8fa8b5;font-size:11px;line-height:1.7}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat{background:#112431;border:1px solid #8dc5d125;border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:9px}.admin-stat small{font-size:12px;color:#abc4d2}.admin-stat strong{font-size:26px;color:#c9f3ef;overflow-wrap:anywhere}.admin-stat span{font-size:10px;color:#94b0bd;line-height:1.5}.admin-section{margin-top:28px}.admin-section h3{font-size:16px;margin:0 0 14px}.admin-section h3 small{font-size:10px;color:#8fa8b5}.admin-table-wrap{overflow:auto;border:1px solid #8dc5d125;border-radius:10px}.admin-table-wrap table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.admin-table-wrap th,.admin-table-wrap td{padding:12px;border-bottom:1px solid #8dc5d120;white-space:nowrap}.admin-table-wrap th{background:#142633;color:#9db9c8;position:sticky;top:0}.admin-table-wrap td:first-child{white-space:normal;min-width:120px;overflow-wrap:anywhere}.admin-members{max-height:300px}.admin-chart{display:flex;height:150px;gap:8px;padding:24px 10px 28px;background:#112431;border-radius:12px}.admin-chart>div{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;height:100%}.admin-chart i{display:block;background:#8bdcda;border-radius:4px 4px 0 0;width:70%}.admin-chart small{position:absolute;bottom:-22px;font-size:9px;white-space:nowrap;color:#9db9c8}.admin-chart b{position:absolute;top:-19px;font-size:10px;color:#c9f3ef}@media(max-width:700px){.admin-panel{padding:16px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-stat{padding:12px}.admin-stat strong{font-size:22px}.admin-panel h2{font-size:17px}.admin-chart{gap:3px}.admin-chart small{font-size:7px}}
/* Compact home controls and a clearer primary action. */
.home>.start-row{left:50%;width:min(980px,calc(100% - 32px))}
.home>.start-row>.start-controls{width:100%;white-space:nowrap;overflow-x:auto;scrollbar-width:thin;font-size:10px;letter-spacing:0;line-height:1.7}
.home>.start-row .start{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:280px;padding:15px 20px}
.home>.start-row .start strong{font-size:28px;font-weight:600;line-height:1.1;letter-spacing:.16em}
.home>.start-row .start small{font-size:10px;font-weight:400;line-height:1.4;letter-spacing:0;opacity:.72}
.profile-panel .profile-places{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-panel .profile-places article{min-width:0;overflow-wrap:anywhere}
@media(min-width:640px){.profile-panel .profile-places{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.profile-panel .profile-places{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1200px){.profile-panel .profile-places{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.home>.start-row .start{padding:12px 18px;width:260px}.home>.start-row .start strong{font-size:26px}.home>.start-row>.start-controls{text-align:left;font-size:9px}}

/* Keep personalized titles on one line within the existing hero. */
.home .world-title{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.asset-creator{padding:5px 10px;color:#afbec8;font-size:11px;overflow-wrap:anywhere}.creator-footer{display:flex;flex-wrap:wrap;gap:6px 12px;max-width:calc(100% - 36px)}.creator-footer a{color:inherit;text-decoration:none;letter-spacing:.02em}.creator-footer a:hover{text-decoration:underline}

.estate-owner{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.estate-owner a{color:#9fe3f4;text-decoration:underline}.estate-website{display:flex;gap:6px;margin-top:12px;align-items:center}.estate-website input{min-width:0;flex:1;background:#11181e;color:#edf0f4;border:1px solid #40515e;border-radius:5px;padding:9px}.estate-website button{flex-shrink:0;border:1px solid #40515e;border-radius:5px;background:#24343c;padding:9px;font-size:11px}

.creator-footer{align-items:center}.footer-socials{display:inline-flex;align-items:center;gap:10px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px}.footer-socials a:hover{color:#bcecf3}.admin-social-settings{margin:8px 0 14px}.admin-social-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.admin-social-fields label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#a6c2cd}.admin-social-fields input{width:100%;min-width:0;border:1px solid #304b59;border-radius:6px;padding:9px;background:#10232e;color:#eaf8fc}.admin-social-fields button{padding:9px 15px;border:1px solid #304b59;border-radius:6px;background:#193440;color:#eaf8fc}.admin-social-settings>small{display:block;margin-top:6px;color:#bcecf3}@media(max-width:650px){.admin-social-fields{grid-template-columns:1fr}.admin-social-fields button{justify-self:end}}
/* Race navigation and compact creator sales totals. */
.game .world-minimap{height:222px!important;display:flex;flex-direction:column;overflow:hidden}
.game .world-minimap .world-map{flex:1;min-height:0;height:auto}
.route-distance{display:flex;justify-content:space-between;gap:6px;padding:10px 8px;background:#09151eea;color:#d3edf1;font-size:10px;white-space:nowrap}
.market-controls{display:flex;align-items:center;gap:7px;padding:5px 5px 9px;flex-wrap:wrap}
.market-controls>button{padding:6px;font-size:10px}
.market-controls>.sales-summary{font-size:10px;white-space:nowrap;color:#9ee8cb}
.game .race-scene{touch-action:none;-webkit-user-select:none;user-select:none}
@media(pointer:coarse),(max-width:800px){
 .mobile-actions{display:block;bottom:calc(90px + env(safe-area-inset-bottom))}
 .joystick,.mobile-actions .boost-circle{width:112px;height:112px;box-sizing:border-box}
 .mobile-actions .boost-circle{gap:6px;background:radial-gradient(circle at 40% 30%,#326273d9,#0b1c2ded);border:1px solid #b2e6ed88;box-shadow:inset 0 0 24px #b4edff15}
 .mobile-actions .boost-circle.pressed{background:#367e92;box-shadow:0 0 22px #6ee1ff60}
 .game .world-minimap{height:162px!important;width:195px!important}
 .route-distance{font-size:9px;gap:4px;padding:8px 5px}
}
@media(max-width:700px) and (orientation:portrait){
 .home .showroom{top:45px;bottom:auto;height:39dvh}
 .home .world-picker{top:auto;bottom:125px;left:12px;right:12px;width:auto;max-height:46dvh;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 4px}
 .home .world-picker .world-heading{grid-column:1/-1;display:block;padding:7px 12px}
 .home .world-heading>b{display:none}
 .home .world-picker>.world-map{grid-column:1/-1;height:clamp(90px,14dvh,150px)}
 .home .world-selection{grid-column:1/-1;padding:6px 12px}
 .home .world-picker .current-location,.home .world-picker .daily-route{width:auto;margin:4px 8px;padding:7px;font-size:10px}
 .home .world-picker .landmark-select{width:calc(100% - 16px);margin:4px 8px;padding:6px;font-size:10px}
 .home .world-picker .world-actions{padding:4px 8px;gap:4px}
 .home .world-picker .world-actions button{padding:6px;font-size:10px}
 .home .world-picker .world-error{grid-column:1/-1}
 .home>.start-row{bottom:40px;gap:6px}
 .home>.start-row>.start-controls{display:none}
 .home>.start-row .start{padding:10px 18px}
 .home .creator-footer{bottom:8px;font-size:9px}
 .garage-panel:not(.estate-detail-panel){max-height:94dvh}
 .garage-grid,.skin-grid{grid-template-columns:1fr;grid-template-rows:minmax(240px,1.65fr) minmax(145px,1fr);height:74dvh;gap:12px}
 .garage-grid>div:first-child{display:flex;flex-direction:column;min-height:0;grid-column:1;grid-row:1}
 .garage-grid .vehicle-list,.skin-grid .vehicle-list{flex:1;min-height:0;max-height:none;overflow-y:auto}
 .garage-grid>.garage-editor,.skin-grid>.garage-editor{grid-column:1;grid-row:2;display:flex;flex-direction:column;min-height:0}
 .garage-grid .garage-preview-wrap{flex:1;min-height:0}
 .garage-grid>.garage-editor .vehicle-preview{height:100%;min-height:110px}
 .garage-grid .orientation-controls{margin-top:5px!important}
 .garage-grid .front-marker{font-size:9px;margin:4px 0}
}
@media(pointer:coarse) and (orientation:landscape){.mobile-actions,.joystick-area{bottom:calc(18px + env(safe-area-inset-bottom))}.joystick,.mobile-actions .boost-circle{width:96px;height:96px}}
.home .creator-footer{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));transform:none;width:auto;max-width:none;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;text-align:left;gap:8px 16px}
.creator-footer-left{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}
.home .creator-footer .privacy-link{margin-left:auto;flex-shrink:0;text-align:right}

/* Dedicated lift button: ordinary scene touches never engage thrust. */
@media(pointer:coarse),(max-width:800px){
 .mobile-actions{display:flex;flex-direction:column;align-items:center;gap:10px}
 .mobile-actions .boost-circle,.mobile-actions .jump-circle{width:76px;height:76px;box-sizing:border-box;gap:3px}
 .mobile-actions .boost-circle svg{width:30px;height:30px}
 .mobile-actions .jump-circle{border-color:#b2e6ed88;background:radial-gradient(circle at 40% 30%,#335f71db,#0b1c2ded);box-shadow:inset 0 0 18px #b4edff15}
 .mobile-actions .jump-circle.pressed{background:#367e92;box-shadow:0 0 22px #6ee1ff60}
}
@media(pointer:coarse) and (orientation:landscape){.mobile-actions{gap:8px}.mobile-actions .boost-circle,.mobile-actions .jump-circle{width:64px;height:64px}}
