@import url('./fonts.css');
.title-lockup{width:min(42vw,590px);margin:25px 0 10px;line-height:1}.title-lockup img{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 18px #0008)}.intro .halloween-intro{font:800 clamp(23px,2.7vw,42px)/1.04 'Barlow Condensed',Impact,sans-serif;color:#f1f4e8;letter-spacing:.6px;margin:8px 0 14px}.halloween-intro strong{color:#ffac67}.intro>.eyebrow{color:#ffac67}.run-info{max-width:470px!important}.threat b{font-size:8px}.campaign-heading .panel-title{margin-bottom:10px}.campaign-progress{font-size:10px;letter-spacing:1px;color:#9dafab;margin-bottom:24px}.campaign-progress b{color:var(--paper);font-size:16px}.campaign-progress span{float:right;color:#ffb575}.mission-brief{display:flex;gap:22px;background:linear-gradient(110deg,#43302366,#101b1d);border:1px solid #ffb57935;padding:20px}.brief-number{font:800 74px/.95 'Barlow Condensed';color:#ffad65;border-right:1px solid #ffffff20;padding-right:20px}.mission-brief .eyebrow{font-size:8px;letter-spacing:1.3px;color:#ffb575}.mission-brief h3{font:800 31px 'Barlow Condensed';margin:6px 0}.mission-brief p{color:#b5c1ba;line-height:1.5;margin:0;font-size:12px}.brief-goals{display:flex;flex-wrap:wrap;gap:8px 18px;padding:17px 0;color:#d2dccf;font-size:12px}.brief-goals .exit-goal{width:100%;color:var(--acid);font-size:11px}.brief-facts{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 18px;font-size:9px;letter-spacing:.7px;color:#9aaea1}.brief-facts span+span{border-left:1px solid #ffffff25;padding-left:16px}.brief-tip{font-size:11px;line-height:1.5;color:#a8b7a8;margin:13px 0 22px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.level-card{padding:13px 11px 10px;border:1px solid #ffffff15;background:#152326;text-align:left;min-height:98px}.level-card.selected{background:#3b3325;border-color:#ffb575;box-shadow:inset 0 -2px #ffb575}.level-card:not(:disabled):hover{border-color:#caff60}.level-number{font:800 26px 'Barlow Condensed';color:#b2c4b4}.level-card.selected .level-number{color:#ffb575}.level-card strong{display:block;font:700 15px/1.15 'Barlow Condensed';margin:5px 0 9px;text-transform:uppercase}.level-card small{font-size:8px;color:#819387;letter-spacing:.7px}.level-card.completed small{color:var(--acid)}.level-card:disabled{opacity:.43}.star-help{font-size:10px}.result-mission{color:#ffb575;letter-spacing:2px;font-size:12px}.result-stars{font-size:40px;letter-spacing:8px;color:#ffb575;text-shadow:0 0 20px #d5882540}.result-stars span{color:#405048}.actions{flex-wrap:wrap}.actions .primary{min-width:220px}#mission-title{font:700 22px/1 'Barlow Condensed';letter-spacing:.5px;text-transform:uppercase;color:#ffb575;margin:0 0 15px}.hud-left{width:265px!important}.objective{line-height:1.5}.objective>div{padding:3px 0;border-bottom:1px solid #ffffff10;font-size:11px;max-width:265px}.objective b{float:right;color:var(--acid);margin-left:10px}.mission-hint{color:#ffc48c;font-size:10px}.extract-ready{color:var(--acid);font-size:10px;font-weight:800}.hud-left h2{margin-bottom:4px!important}#objective{margin-bottom:18px}.hud-left .meter{max-width:210px}.hud-left .meter-label{max-width:210px}
@media(max-height:720px){.title-lockup{width:min(38vw,480px);margin-top:16px}.intro .halloween-intro{font-size:27px}.intro>p:not(.halloween-intro){font-size:11px;margin-top:9px}.mission-brief{padding:14px}.brief-tip{margin-bottom:14px}.level-card{min-height:80px;padding:8px}}
@media(max-width:800px){.title-lockup{width:46vw;margin-top:22px}.intro .halloween-intro{font-size:25px}.campaign-heading .panel-title{font-size:32px}.mission-brief{gap:14px}.brief-number{font-size:57px;padding-right:14px}.mission-brief h3{font-size:26px}.level-grid{grid-template-columns:repeat(4,1fr)}.hud-left{width:225px!important}.objective>div{font-size:10px}.brief-facts{font-size:8px}.level-card strong{font-size:13px}}
@media(max-width:520px) and (orientation:portrait){.title-lockup{width:87vw;margin:15px 0 7px}.intro .halloween-intro{font-size:24px;margin:0 0 8px}.intro>p:not(.halloween-intro){font-size:10px;line-height:1.45;max-width:90%;margin:7px 0}.intro{top:15%!important}.run-info{margin:12px 0!important;max-width:88vw!important;gap:15px!important}.run-info small{font-size:7px}.run-info .threat{margin-left:auto}.run-info .threat b{font-size:7px}.vehicle-label{bottom:25%!important}.mission-brief{padding:12px;gap:11px}.brief-number{font-size:43px;padding-right:11px}.mission-brief .eyebrow{font-size:6px}.mission-brief h3{font-size:22px}.mission-brief p{font-size:10px}.brief-goals{font-size:10px;gap:7px}.brief-facts{gap:8px;font-size:7px}.brief-facts span+span{padding-left:8px}.level-grid{grid-template-columns:repeat(4,1fr);gap:5px}.level-card{padding:8px 6px;min-height:84px}.level-number{font-size:21px}.level-card strong{font-size:11px}.level-card small{font-size:6px}.campaign-progress{font-size:8px}.actions{gap:8px}.actions .primary{min-width:100%;flex:1}.actions .secondary{flex:1;padding:12px}.hud-left{width:185px!important;top:182px!important}#mission-title{font-size:19px}.objective>div{font-size:9px}.objective b{margin-left:4px}.hud-left .meter,.hud-left .meter-label{max-width:150px}.star-help{font-size:9px}.campaign-heading .panel-title{font-size:28px}}
:root{--acid:#ccff58;--paper:#f1f4e8;--muted:#8e9b95;--panel:#101b1c;--line:#ffffff20}*{box-sizing:border-box}body{margin:0;background:#101a1b;color:var(--paper);font:500 14px Barlow,Arial,sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible{outline:2px solid var(--acid);outline-offset:5px}#scene{display:block;position:fixed;inset:0;width:100%;height:100%}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#071011e8 0%,#081213a0 28%,transparent 65%),linear-gradient(0deg,#071011c9,transparent 30%,transparent 80%,#08101090)}#flash{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 120px #ef7e39;opacity:0;z-index:3}header{position:absolute;top:0;left:0;right:0;padding:29px 4%;display:flex;align-items:center;justify-content:space-between;z-index:4}.brand{font:900 27px 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;color:var(--paper);text-decoration:none;display:flex;align-items:center;gap:9px}.brand-icon{color:var(--acid);font-size:35px}.edition{border-left:1px solid #64716d;margin-left:12px;padding-left:18px;font:600 9px Barlow,sans-serif;letter-spacing:2px;width:92px;line-height:1.5}.top-right{display:flex;gap:12px;align-items:center}.wallet{color:var(--acid);margin-right:15px;font-size:20px}.wallet small{font-size:10px;letter-spacing:1px;margin-left:7px;color:#a4b1a8}.icon-button{width:39px;height:39px;border:1px solid var(--line);background:#10202299;font-size:21px;border-radius:3px}.icon-button:hover{background:#283b35}main{position:absolute;inset:0;pointer-events:none}main button{pointer-events:auto}.intro{position:absolute;top:19%;left:5%;max-width:530px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--acid);font-weight:700}.eyebrow i{display:inline-block;width:6px;height:6px;background:var(--acid);border-radius:50%;margin-right:6px;box-shadow:0 0 12px var(--acid)}h1{font:900 clamp(56px,6.8vw,108px)/.87 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1.6px;margin:26px 0 22px}h1 em{font-style:normal}h1 span{color:var(--acid)}.intro p{font-size:14px;line-height:1.6;color:#b3beb7}.run-info{border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;gap:27px;margin:23px 0 15px;max-width:392px;font-size:15px}.run-info small{font-size:9px;letter-spacing:1px;margin-left:9px}.threat{font-size:8px;color:var(--muted)}.threat b{display:block;color:#edac71;margin-top:3px;letter-spacing:2px}.primary{background:var(--acid);color:#152016;border:0;font-weight:800;letter-spacing:1px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:20px 24px;min-width:350px;clip-path:polygon(0 0,100% 0,100% 78%,96% 100%,0 100%);transition:background .15s,transform .15s}.primary:hover{background:#e0ff94;transform:translateY(-2px)}.primary span{font-size:24px;line-height:1}.control-hint{font-size:8px;color:#95a29c;margin-top:17px;letter-spacing:.5px;display:flex;align-items:center;gap:10px}kbd{border:1px solid #60716a50;padding:3px 5px;border-radius:2px;font:600 9px Barlow,sans-serif;color:#c6cec8}.vehicle-label{position:absolute;right:8%;bottom:25%;text-align:right;text-shadow:0 2px 12px #000}.vehicle-label h2{font:800 33px 'Barlow Condensed',Impact,sans-serif;margin:8px 0 3px;letter-spacing:1px}.vehicle-label>span:last-of-type{font-size:9px;letter-spacing:2px;color:#b6c0b8}.specs{display:flex;gap:25px;justify-content:flex-end;margin-top:18px}.specs span{font-size:8px;letter-spacing:1px;color:#a4aea6}.specs b{font:700 19px 'Barlow Condensed',sans-serif;color:var(--paper);margin-left:8px}.menu-bottom{position:absolute;bottom:5%;left:5%;right:5%;display:flex;gap:16px;align-items:center}.menu-card{border:1px solid #6e84704d;background:linear-gradient(110deg,#1c2d29e0,#0c1617c9);display:flex;align-items:center;text-align:left;padding:21px 23px;gap:19px;min-width:285px;position:relative}.menu-card:hover{border-color:var(--acid)}.card-icon{font-size:33px;color:var(--acid)}.menu-card small,.best small{font-size:8px;letter-spacing:1.6px;color:#8faaa0;display:block;margin-bottom:7px}.menu-card strong{font:700 20px 'Barlow Condensed',sans-serif;letter-spacing:1px}.menu-card i{font-style:normal;color:var(--acid);margin-left:27px;font-size:15px}.dot{width:5px;height:5px;background:var(--acid);position:absolute;right:11px;top:11px;border-radius:50%}.best{margin-left:auto;text-align:right}.best strong{font:700 30px 'Barlow Condensed';letter-spacing:2px;display:block}.best>span{font-size:8px;letter-spacing:2px;color:#647d70;display:block;margin-top:6px}.hidden{display:none!important}#hud{position:absolute;inset:0;pointer-events:none}#hud button{pointer-events:auto}.hud-left{position:absolute;left:4%;top:125px;width:210px}.hud-left h2{font:800 38px 'Barlow Condensed';margin:8px 0}.objective{font-size:12px;color:#c7d2c6;margin-bottom:26px}.meter-label{font-size:9px;letter-spacing:1px;margin:8px 0;display:flex;justify-content:space-between}.meter{height:5px;background:#5c75684d}.meter i{display:block;height:100%;width:100%;background:var(--acid);transition:width .15s}.nitro i{background:#70cddd}.hud-center{position:absolute;left:50%;transform:translateX(-50%);top:35px;text-align:center;display:flex;flex-direction:column}.hud-center small{font-size:9px;letter-spacing:3px;color:#bccabf}.hud-center strong{font:800 44px 'Barlow Condensed';letter-spacing:2px}.hud-center>span{color:var(--acid);height:25px;font-weight:800;letter-spacing:1px}.hud-center>b{font:600 21px 'Barlow Condensed';letter-spacing:2px}.pause{position:absolute;right:4%;top:106px}.speed{position:absolute;right:5%;bottom:7%;width:155px;text-align:right}.speed>strong{font:800 80px/.9 'Barlow Condensed';font-style:italic}.speed>span{font-size:10px;margin-left:8px;color:#9cafaa}.speed .meter-label{margin-top:16px}.hud-bottom{position:absolute;bottom:5%;left:4%;display:flex;gap:25px;font-size:10px;letter-spacing:1px}.hud-bottom>span:nth-child(2){color:var(--acid)}#minimap{position:absolute;left:4%;bottom:13%;width:130px;height:130px;opacity:.8;border:1px solid #a5c8ae30;border-radius:50%}#toast{position:absolute;left:50%;top:30%;transform:translateX(-50%);font:800 27px 'Barlow Condensed';color:var(--acid);text-shadow:0 2px 10px #000;text-align:center}dialog{background:#0e1b1ef2;color:var(--paper);border:1px solid #5b766561;padding:38px;max-width:800px;width:calc(100% - 36px);max-height:86vh;overflow:auto;border-radius:6px;box-shadow:0 30px 120px #000;backdrop-filter:blur(22px)}dialog::backdrop{background:#010908ad;backdrop-filter:blur(7px)}.close{position:absolute;right:16px;top:16px}.panel-title{font:800 38px 'Barlow Condensed';margin:10px 0 25px}.panel-sub{color:#95aaa0;font-size:13px;line-height:1.7}.cars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.car-card{padding:20px 15px;border:1px solid var(--line);background:#18282b;text-align:left}.car-card.active{border-color:var(--acid);background:#28392b}.car-card strong{display:block;font:700 24px 'Barlow Condensed';margin:10px 0}.car-card small{color:#a0b3aa;font-size:10px}.car-card .symbol{font-size:32px;color:var(--acid)}.car-card .price{display:block;margin-top:13px;color:var(--acid);font-size:12px}.garage-section{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.garage-section h3{font-size:10px;letter-spacing:2px;margin:0 0 14px}.swatches{display:flex;gap:12px}.swatch{width:34px;height:34px;border-radius:50%;border:3px solid transparent;background:var(--color)}.swatch.active{border-color:white;box-shadow:0 0 0 2px #738571}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade{padding:15px;border:1px solid var(--line);background:#192a2a}.upgrade strong{display:block;font-size:13px}.upgrade small{display:block;color:var(--muted);font-size:10px;margin:8px 0 15px}.upgrade span{color:var(--acid);font-size:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:17px 0}.row label{font-size:13px}.row select{background:#203632;border:1px solid #556b60;color:white;padding:8px}.secondary{padding:13px 22px;background:#20332f;border:1px solid #536e5a;font-weight:700}.actions{display:flex;gap:12px;margin-top:25px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.stat-grid small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px}.stat-grid strong{font:700 34px 'Barlow Condensed';color:var(--acid)}.reward-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:25px 0}.day{background:#21332d;padding:15px 3px;text-align:center;border:1px solid var(--line)}.day.active{border-color:var(--acid);color:var(--acid)}.day small{display:block;font-size:8px;margin-bottom:8px}.day strong{font:700 23px 'Barlow Condensed'}#loading{position:fixed;inset:0;background:#101b1b;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column}#loading p{font-size:10px;letter-spacing:3px;color:#aec18f;margin-top:28px}.loading-track{width:240px;height:3px;background:#2a3c2b}.loading-track i{display:block;width:35%;height:100%;background:var(--acid);animation:loading 1s infinite alternate}@keyframes loading{to{transform:translateX(185%)}}#touch{position:absolute;left:3%;right:3%;bottom:12%;display:flex;justify-content:space-between;pointer-events:none}#touch>div{display:flex;gap:9px}#touch button{pointer-events:auto;touch-action:none;background:#11231ca6;border:1px solid #77987970;border-radius:10px;min-width:54px;height:57px;color:#d0e8bb;font-size:11px;user-select:none}body.playing .vignette{background:linear-gradient(0deg,#051012a0,transparent 24%,transparent 75%,#07111570)}body.playing .edition{display:none}@media(max-height:720px){header{padding-top:20px}.intro{top:19%}h1{font-size:clamp(52px,6.6vw,83px);margin:17px 0}.intro p{font-size:12px;margin-bottom:0}.run-info{margin:15px 0 12px}.primary{padding:15px 20px}.menu-card{padding:15px 20px}.menu-bottom{bottom:4%}.vehicle-label{bottom:26%}.control-hint{margin-top:12px}}@media(max-width:800px){header{padding:18px 4%}.brand{font-size:23px}.edition{display:none}.wallet{font-size:16px;margin-right:0}.wallet small{display:none}.top-right{gap:7px}.intro{left:5%;top:18%;max-width:55%}h1{font-size:clamp(45px,8vw,68px)}.intro p{font-size:11px}.run-info{max-width:300px;gap:15px}.run-info small{font-size:7px}.primary{min-width:280px;font-size:11px}.control-hint{display:none}.vehicle-label{right:5%;bottom:26%}.vehicle-label h2{font-size:24px}.specs{gap:12px}.menu-bottom{gap:10px}.menu-card{min-width:0;flex:1;padding:16px 12px;gap:10px}.menu-card strong{font-size:16px}.menu-card small{font-size:7px}.menu-card i{margin-left:10px}.best{display:none}.hud-left{top:95px;width:165px}.hud-center{top:30px}.hud-center strong{font-size:32px}.hud-left h2{font-size:30px}.speed>strong{font-size:55px}#minimap{width:90px;height:90px}.hud-bottom{gap:12px;font-size:8px}.cars{gap:7px}.car-card{padding:13px 9px}.car-card strong{font-size:19px}dialog{padding:25px}.upgrade-grid{gap:7px}.upgrade{padding:10px}.actions .primary{min-width:0;flex:1}}@media(max-width:520px) and (orientation:portrait){.intro{top:17%;max-width:90%}h1{font-size:60px}.intro p{max-width:200px}.vehicle-label{bottom:24%;right:5%}.vehicle-label .eyebrow,.specs{display:none}.vehicle-label h2{font-size:20px}.vehicle-label>span:last-of-type{font-size:7px}.menu-bottom{bottom:4%;flex-direction:column;align-items:stretch}.menu-card{padding:13px 16px}.menu-card strong{font-size:18px}.menu-card .card-icon{font-size:23px}.run-info{max-width:285px}.hud-center{top:90px}.hud-left{top:185px;width:135px}.hud-left .eyebrow{font-size:7px}.hud-left h2{font-size:26px}.objective{font-size:10px}.speed{bottom:26%;width:120px}#minimap{bottom:26%}.hud-bottom{bottom:5%}#touch{bottom:11%}#touch button{min-width:40px;height:52px}.panel-title{font-size:30px}.reward-days{gap:3px}.day strong{font-size:18px}.stat-grid{gap:10px}}

#boss{position:fixed;top:162px;left:50%;transform:translateX(-50%);width:min(520px,60vw);text-align:center;pointer-events:none}
#boss-name{font:800 18px 'Barlow Condensed',Impact,sans-serif;letter-spacing:3px;color:#ffb24a;text-shadow:0 0 14px #ff6a00aa}
.meter.boss{height:12px;border:1px solid #ffb24a66;background:#1a0d08cc;margin-top:4px}.meter.boss i{display:block;height:100%;background:linear-gradient(90deg,#ff5a1a,#ffb24a);transition:width .15s}
#arrow{position:fixed;left:0;top:0;margin:-23px 0 0 -23px;width:46px;color:#ff9c49;text-align:center;pointer-events:none;filter:drop-shadow(0 0 8px #ff7a1a);z-index:5}
#arrow small{display:block;font:700 11px 'Barlow Condensed',sans-serif;letter-spacing:1.5px;margin-top:-2px;text-shadow:0 1px 4px #000}
#arrow.near svg{animation:bob 1s ease-in-out infinite}@keyframes bob{50%{translate:0 8px}}
.objective .done{color:#8fa38f;text-decoration:line-through;text-decoration-color:#ffffff30}.objective .later{opacity:.5}.objective .active{color:#fff}
body.playing .vignette{background:radial-gradient(ellipse at center,transparent 55%,#0a0418cc 100%)}


/* === DEADSHIFT fixed-layout pass ===
   UI is authored at 1600x900 and uniformly scaled to the viewport. This keeps
   fullscreen/windowed layouts identical and prevents breakpoint-driven overlap. */
html,body{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none}
#ui-stage{
  --ui-scale:1;
  position:fixed;
  left:50%;top:50%;
  width:1600px;height:900px;
  transform:translate(-50%,-50%) scale(var(--ui-scale));
  transform-origin:center center;
  z-index:4;
  pointer-events:none;
  overflow:hidden;
}
#ui-stage header,#ui-stage main,#ui-stage #hud,#ui-stage #touch{position:absolute}
#ui-stage header{left:0;right:0;top:0}
#ui-stage main,#ui-stage #hud{inset:0}
#ui-stage button,#ui-stage a{pointer-events:auto}

/* Freeze the desktop composition inside the virtual stage, regardless of the
   physical browser width. */
#ui-stage .intro{top:19%!important;left:5%!important;max-width:530px!important}
#ui-stage .title-lockup{width:590px!important;margin:25px 0 10px!important}
#ui-stage .intro .halloween-intro{font-size:42px!important;margin:8px 0 14px!important}
#ui-stage .intro>p:not(.halloween-intro){font-size:14px!important;line-height:1.6!important;max-width:none!important}
#ui-stage .vehicle-label{right:8%!important;bottom:25%!important}
#ui-stage .vehicle-label .eyebrow,#ui-stage .vehicle-label .specs{display:flex}
#ui-stage .vehicle-label>.eyebrow{display:inline-block}
#ui-stage .vehicle-label h2{font-size:33px!important}
#ui-stage .vehicle-label>span:last-of-type{font-size:9px!important}
#ui-stage .menu-bottom{bottom:5%!important;left:5%!important;right:5%!important;flex-direction:row!important;align-items:center!important;gap:16px!important}
#ui-stage .menu-card{min-width:285px!important;flex:0 0 auto!important;padding:21px 23px!important;gap:19px!important}
#ui-stage .menu-card strong{font-size:20px!important}
#ui-stage .menu-card small{font-size:8px!important}
#ui-stage .menu-card .card-icon{font-size:33px!important}
#ui-stage .best{display:block!important}
#ui-stage .control-hint{display:flex!important}
#ui-stage .primary{min-width:350px!important;font-size:14px!important;padding:20px 24px!important}
#ui-stage .hud-left{left:4%!important;top:125px!important;width:265px!important}
#ui-stage .hud-center{top:35px!important}
#ui-stage .speed{right:5%!important;bottom:7%!important;width:155px!important}
#ui-stage #minimap{left:4%!important;bottom:13%!important;width:130px!important;height:130px!important}
#ui-stage .hud-bottom{bottom:5%!important;left:4%!important;gap:25px!important;font-size:10px!important}
#ui-stage #touch{left:3%!important;right:3%!important;bottom:12%!important;flex-direction:row!important}

/* Dialogs can still scroll on very short displays, but never show browser
   scrollbars. */
dialog{max-height:min(86vh,760px);overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
dialog::-webkit-scrollbar{width:0;height:0;display:none}
#panel-content{overflow:visible}

/* Keep dense cards readable without changing their geometry. */
.car-card small{font-size:11px}
.garage-section h3{font-size:11px}
.upgrade strong{font-size:14px}
.upgrade small{font-size:11px;line-height:1.35}
.upgrade span{font-size:12px}

/* === Y8 mobile controls: viewport-sized, not scaled with the 1600 x 900 UI === */
#touch{position:fixed!important;inset:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100vw!important;height:100dvh!important;z-index:8;display:block!important;pointer-events:none!important;transform:none!important;
  touch-action:none!important;overflow:visible!important}
#touch.hidden{display:none!important}
#touch button{touch-action:none!important;pointer-events:auto!important;min-width:0!important;
  min-height:50px!important;height:clamp(50px,8dvh,70px)!important;padding:0 8px!important;
  color:#f6ffe8!important;font-size:clamp(12px,2.7vw,16px)!important;font-weight:800!important;
  border:2px solid #c9ff8d88!important;border-radius:13px!important;background:#10221edc!important;
  box-shadow:0 4px 0 #0b100de8,0 0 16px #08120b70!important;user-select:none!important;-webkit-user-select:none!important}
#touch button:active{background:#587a3aee!important}
#touch .touch-left{position:absolute;left:max(10px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));display:flex!important;gap:8px!important}
#touch .touch-left button{width:clamp(53px,9vw,74px)!important;font-size:23px!important}
#touch .touch-right{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:grid!important;grid-template-columns:repeat(2,minmax(53px,72px))!important;gap:7px!important}
#touch .touch-right button{width:100%!important}
#touch .touch-right button[data-key="KeyW"]{background:#406b2be8!important;border-color:#d4ffa6!important}
#touch .touch-aux{position:absolute;left:max(10px,env(safe-area-inset-left));top:max(10px,env(safe-area-inset-top));display:flex!important;gap:7px!important}
#touch .touch-aux button{height:48px!important;min-height:48px!important;padding:0 12px!important}
#touch #touch-pause{position:absolute;right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));height:48px!important;min-height:48px!important;padding:0 13px!important}
#ui-stage #pause{pointer-events:none}
@media (pointer:fine){#touch{display:none!important}#ui-stage #pause{pointer-events:auto}}
@media (pointer:coarse){
  #ui-stage #pause{opacity:0!important;pointer-events:none!important}
  #ui-stage #minimap{bottom:35%!important}
  #ui-stage .speed{bottom:auto!important;top:210px!important;right:5%!important}
  #ui-stage .hud-bottom{bottom:auto!important;top:275px!important;left:42%!important;gap:15px!important}
}
@media (pointer:coarse) and (orientation:portrait){
  #touch .touch-left{bottom:max(18px,env(safe-area-inset-bottom))}
  #touch .touch-right{bottom:max(18px,env(safe-area-inset-bottom))}
  #touch button{min-height:58px!important;height:58px!important}
  #touch .touch-right{grid-template-columns:repeat(2,minmax(57px,67px))!important}
  #touch .touch-left button{width:clamp(60px,16vw,76px)!important}
}
@media (pointer:coarse) and (max-height:420px){
  #touch .touch-right{grid-template-columns:repeat(2,57px)!important;gap:5px!important}
  #touch button{height:46px!important;min-height:46px!important;font-size:11px!important}
  #touch .touch-left button{width:50px!important;height:51px!important;min-height:51px!important}
  #touch .touch-aux button,#touch #touch-pause{height:38px!important;min-height:38px!important}
}
.rewarded-button{background:linear-gradient(95deg,#315a28,#48602c)!important;border:1px solid #a7f368!important;color:#f4ffe1!important;font-size:14px!important}
.result-bonus-ok{color:var(--acid)!important}
/* Mobile dialogs should remain readable without horizontal overflow. */
@media(max-width:640px){dialog{max-width:calc(100vw - 18px);max-height:calc(100dvh - 18px);padding:24px 14px!important}
  .cars,.upgrade-grid{grid-template-columns:1fr!important}.reward-days{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .level-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .actions{flex-wrap:wrap}.actions>button{min-width:100%!important}
  .stat-grid{gap:6px!important}.stat-grid strong{font-size:26px!important}
}
