:root{font-family:Arial,Helvetica,sans-serif;color:#f7edda;background:#15121c;color-scheme:dark;--gold:#e9bd65;--purple:#9a60d2}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:700 12px Arial;border:1px solid #81717e66;color:#f7edda;background:#211c2b;padding:12px 16px;border-radius:5px;cursor:pointer}button:hover,button:focus-visible{border-color:var(--gold);background:#392840}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--gold);color:#221b2d;border-color:var(--gold);padding:17px 22px}button[aria-pressed=true]{background:#674085}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world{display:block;width:100vw;height:100dvh;touch-action:none}header{position:fixed;top:0;left:0;width:100%;display:flex;align-items:center;gap:20px;padding:14px 22px;background:linear-gradient(#15121cf5,#15121cc9);border-bottom:1px solid #e9bd6533;z-index:2}.brand{font-size:28px;font-weight:900;letter-spacing:-2px;white-space:nowrap}.brand span{color:var(--gold)}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:3px}nav{display:flex;gap:5px;margin-left:auto}#stats{font-size:13px;line-height:1.6;color:var(--gold)}#mission{position:fixed;top:94px;left:22px;max-width:380px;background:#15121cdc;border-left:3px solid var(--gold);padding:15px 20px;pointer-events:none}#mission small{color:var(--gold);font-size:10px;letter-spacing:2px}#mission h2{font-size:20px;margin:8px 0}#mission p{color:#d3c4c9;font-size:13px;line-height:1.5;margin:0}#hint{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#15121ce6;border:1px solid #e9bd6555;text-align:center;font-size:12px;max-width:80vw;pointer-events:none}#toast{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);background:var(--gold);color:#211b29;padding:12px 20px;border-radius:5px;font-weight:bold;font-size:13px;opacity:0;pointer-events:none;z-index:9}.overlay{position:fixed;inset:0;z-index:5;background:#15121cf2;overflow:auto}#menu{display:grid;grid-template-columns:1fr 45%;align-items:center;padding:7vh 9vw;gap:4vw}#menu img{width:100%;height:72vh;object-fit:cover;object-position:50% 30%;border-radius:8px;filter:contrast(1.03)}.intro small{font-size:10px;letter-spacing:2px;color:var(--gold)}.intro h1{font-size:clamp(65px,9vw,130px);line-height:.77;letter-spacing:-6px;margin:30px 0}.intro h1 span{color:var(--gold)}.intro h2{font-size:23px}.intro p{font-size:14px;line-height:1.7;color:#c1b0ba;max-width:460px}.intro button{margin:8px 4px 0 0}.intro .fine{font-size:10px;line-height:1.6;letter-spacing:.6px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:9px;margin:25px 0}.legend b:nth-child(1){color:#b780e9}.legend b:nth-child(2){color:#ef7777}.legend b:nth-child(3){color:#55c8bd}.legend b:nth-child(4){color:#ee91b6}.sheet{max-width:1100px;margin:5vh auto;padding:25px;background:#211c2b;border:1px solid #e9bd6533;border-radius:8px}.sheet>button{float:right}.sheet h2{color:var(--gold);font-size:32px;margin-top:10px}.sheet p{line-height:1.6;color:#c4b7c2}.blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}.block{padding:14px;background:#15121c;border-left:3px solid var(--crew)}.block h3{margin:0;font-size:15px}.block p{font-size:12px}.block button{font-size:10px;padding:8px;margin:4px 3px 0 0}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.gallery img{width:100%;border-radius:5px}.gallery p{font-size:12px}iframe{width:100%;height:65vh;border:1px solid #7c658d;margin-top:15px}.equip{display:flex;gap:10px;flex-wrap:wrap}#fullmap{width:100%;max-height:70vh;object-fit:contain}#controls{position:fixed;bottom:18px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}#controls button{pointer-events:auto;touch-action:none;background:#211c2be8;min-height:48px;user-select:none}.dpad{display:grid;grid-template-columns:48px 48px 48px;grid-template-rows:48px 48px;gap:4px}.dpad button{padding:0}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.actions{display:grid;grid-template-columns:65px 85px;gap:5px;align-content:end}.actions button{font-size:10px;padding:5px} @media(pointer:fine){#controls{display:none}}@media(max-width:700px){header{padding:10px;gap:10px;flex-wrap:wrap}.brand{font-size:23px}#stats{font-size:11px}nav{width:100%;justify-content:space-between;gap:3px}nav button{font-size:9px;padding:9px 6px}#mission{top:105px;left:10px;max-width:calc(100vw - 20px);padding:9px 12px}#mission h2{font-size:15px;margin:5px 0}#mission p{font-size:11px}#hint{bottom:135px;width:90vw;max-width:90vw;padding:8px;font-size:10px}#toast{bottom:185px;width:85vw;text-align:center}#menu{padding:30px 22px;grid-template-columns:1fr}#menu img{display:none}.intro h1{font-size:100px}.sheet{margin:10px;padding:15px}.sheet h2{font-size:24px}.sheet>button{font-size:9px;padding:9px}.gallery{grid-template-columns:1fr 1fr}iframe{height:58vh}#controls{bottom:max(15px,env(safe-area-inset-bottom));left:12px;right:12px}}

#mission{pointer-events:auto}#mission #help{margin-top:8px;font-size:11px;padding:8px 14px;border-color:var(--gold)}button.highlight{border:2px solid var(--gold);box-shadow:0 0 0 2px #e9bd6533}#controls #use{font-size:10px;overflow-wrap:anywhere}@media(max-height:500px) and (pointer:coarse){header{padding:5px 10px;gap:8px}.brand{font-size:18px}nav button{padding:7px 8px;font-size:9px}#stats{font-size:10px}#mission{top:60px;left:10px;max-width:280px;padding:7px 10px}#mission h2{font-size:14px;margin:3px 0}#mission p{font-size:10px}#mission #help{padding:5px 10px;margin-top:5px}#hint{bottom:110px;max-width:50vw;font-size:10px;padding:6px}#toast{bottom:150px}.sheet{margin:5px auto;padding:12px}}

header{gap:12px}#stats{max-width:350px}nav{flex-shrink:0}@media(max-height:500px) and (pointer:coarse){#stats{max-width:210px;font-size:9px}#mission{top:65px}}
/* Angled-city travel controls stay above the existing touch pad. */
#travel-tools{position:fixed;left:22px;bottom:22px;display:flex;gap:7px;z-index:3}#travel-tools button{font-size:10px;letter-spacing:.5px;background:#211c2be8;border:1px solid #e9bd6566;min-height:40px}#travel-tools #auto-run[aria-pressed=true]{color:#f7d99a;border-color:#e9bd65;background:#483b2ad9}#call-car{color:#ceb1f5}#menu .intro p{max-width:500px}#world{background:#667466}
@media(pointer:coarse),(max-width:700px){#travel-tools{left:12px;bottom:calc(132px + env(safe-area-inset-bottom,0px));gap:5px}#travel-tools button{font-size:9px;padding:9px;min-height:36px}}
@media(max-height:500px) and (pointer:coarse){#travel-tools{left:12px;bottom:128px}#travel-tools button{font-size:8px;min-height:29px;padding:6px}#mission{max-width:260px}#mission p{max-height:45px;overflow:auto}}
@media(max-width:700px){#mission{top:137px}#hint{bottom:calc(180px + env(safe-area-inset-bottom,0px))}}
@media(max-height:500px) and (pointer:coarse){#mission{top:65px}#hint{bottom:168px;max-width:45vw}#toast{bottom:205px}}
.grid-direction{display:inline-block;transform:rotate(45deg);pointer-events:none}

/* Mobile play keeps the street visible; management lives in the paused menu. */
.mobile-only,#mobile-stats{display:none}
.mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}
.mobile-menu-grid button{min-height:48px}
@media (pointer:coarse),(max-width:700px){
 html,body{overscroll-behavior:none;height:100%;-webkit-tap-highlight-color:transparent}
 button{touch-action:manipulation;min-height:44px}
 header{height:calc(52px + env(safe-area-inset-top,0px));padding:calc(6px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 6px max(12px,env(safe-area-inset-left,0px));gap:8px;flex-wrap:nowrap;background:linear-gradient(#15121ce8,#15121c99);border:0}
 .brand{font-size:18px;letter-spacing:-1px}.brand small,header nav,#stats{display:none}
 #mobile-stats{display:block;min-width:0;flex:1;text-align:center;font-size:11px;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #mobile-menu{display:block;flex:0 0 auto;min-height:34px;padding:7px 10px;font-size:10px;border-color:#e9bd6555;background:#211c2ba8}
 #mission{top:calc(60px + env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));max-width:none;display:flex;align-items:center;gap:8px;padding:6px 10px;background:#15121c9c;border-left:2px solid var(--gold);border-radius:0 7px 7px 0;z-index:1}
 #mission h2{font-size:13px;line-height:1.4;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #chapter,#detail,#mission #help,#hint,#travel-tools{display:none}
 #objective-toggle{display:block;min-height:30px;width:32px;flex:0 0 32px;padding:3px;border-color:#e9bd6544;border-radius:50%;font-size:15px;background:#211c2b80}
 #controls{display:flex;left:max(14px,env(safe-area-inset-left,0px));right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px));align-items:flex-end;z-index:3}
 #controls .dpad,#controls [data-hold=run]{display:none}
 #thumbstick{display:flex;align-items:center;justify-content:center;position:relative;width:108px;height:108px;flex:0 0 108px;border-radius:50%;background:radial-gradient(circle,#211c2b20 0 36%,#211c2b62 37%);border:1px solid #f7edda35;box-shadow:inset 0 0 0 12px #211c2b20;pointer-events:auto;touch-action:none;user-select:none}
 .stick-knob{display:block;width:43px;height:43px;border:1px solid #ead29a88;border-radius:50%;background:#ead29a50;box-shadow:0 2px 12px #15121c55;pointer-events:none;will-change:transform}
 .stick-label{position:absolute;bottom:8px;left:0;width:100%;text-align:center;font-size:8px;letter-spacing:2px;color:#f7edda99;pointer-events:none}
 #controls .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;width:166px;max-width:calc(100vw - 155px);pointer-events:none}
 #controls .actions button{display:block;flex:0 0 72px;min-height:57px;padding:6px;font-size:10px;background:#211c2bad;border:1px solid #e9bd6555;border-radius:15px;pointer-events:auto}
 #controls #use{background:#e9bd65e0;color:#211b29;border-color:#f7d99a;font-size:10px}
 #controls #drive-gas{background:#775f2dcc;border-color:#ead29a99}
 #controls[data-driving=true] .actions{width:180px;max-width:calc(100vw - 145px)}
 #controls[data-driving=true] .actions button{flex-basis:76px;min-height:48px}
 #controls [aria-pressed=true]{background:#89632c!important;box-shadow:0 0 0 2px #e9bd6577}
 #toast{bottom:calc(145px + env(safe-area-inset-bottom,0px));width:auto;max-width:calc(100vw - 36px);min-width:220px;font-size:11px;padding:10px 13px;line-height:1.4}
 #menu{padding:max(24px,env(safe-area-inset-top,0px)) 22px;grid-template-columns:1fr;align-content:center}
 #menu img,#menu .legend,#menu .fine{display:none}#menu .intro h1{font-size:82px;margin:20px 0}#menu .intro h2{font-size:19px}#menu .intro p{font-size:12px;line-height:1.5}
 .sheet{margin:max(10px,env(safe-area-inset-top,0px)) 10px;padding:16px;border-radius:12px}.sheet>button{min-height:40px}.sheet h2{font-size:24px;padding-right:85px}.sheet p{font-size:13px}.sheet .equip{gap:8px}.sheet select{max-width:100%;min-height:44px;font-size:16px}
}
@media (pointer:coarse) and (max-height:500px){
 header{height:46px;padding-top:5px;padding-bottom:5px}#mission{top:52px;max-width:350px;right:auto;width:calc(100vw - 180px)}#mission h2{font-size:12px}
 #thumbstick{width:96px;height:96px;flex-basis:96px}.stick-knob{width:40px;height:40px}
 #controls{bottom:max(10px,env(safe-area-inset-bottom,0px))}#controls .actions button{min-height:48px}#toast{bottom:115px;max-width:48vw}
 #menu{padding:16px 24px;align-content:start}#menu .intro h1{font-size:54px;margin:16px 0}#menu .intro h2{font-size:17px}#menu .intro p{font-size:11px;max-width:550px}#menu .intro small{font-size:8px}
}
@media (pointer:coarse),(max-width:700px){#mobile-timer{display:inline-block;flex:0 0 auto;padding:4px 6px;border-radius:4px;background:#e9bd6520;color:#f7d99a;font-size:11px;font-variant-numeric:tabular-nums}#mobile-timer[data-urgent=true]{color:#ffb8a0;background:#b649352a}}
