:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--hud-h:58px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#151716}
body{touch-action:none;overscroll-behavior:none}
button{font:inherit}
#game-shell{position:fixed;inset:0;overflow:hidden;background:#151716}
#hud{position:absolute;z-index:10;top:0;left:0;right:0;height:calc(var(--hud-h) + env(safe-area-inset-top));padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));display:flex;align-items:center;gap:7px;background:linear-gradient(180deg,#101817 0%,#131b19 100%);border-bottom:1px solid #ffffff1f;box-shadow:0 3px 12px #0008;pointer-events:none}
.stat{height:42px;min-width:88px;padding:5px 10px;border:1px solid #ffffff20;border-radius:10px;background:#1a2422;display:flex;flex-direction:column;justify-content:center;line-height:1}
.stat small{font-size:8px;letter-spacing:1.2px;color:#9fb0a7;margin-bottom:4px}.stat b{font-size:14px;color:#f4f2e9}
.round{margin-left:auto;flex:0 0 42px;width:42px;height:42px;border-radius:10px;border:1px solid #ffffff35;background:#22302dee;color:#fff;font-size:20px;pointer-events:auto;touch-action:manipulation;cursor:pointer}.round:active{transform:scale(.97)}
#game{position:absolute;z-index:1;left:0;right:0;top:calc(var(--hud-h) + env(safe-area-inset-top));bottom:0;width:100%;height:calc(100% - var(--hud-h) - env(safe-area-inset-top));display:block;background:#282623;touch-action:none}
#joystick{position:absolute;z-index:8;left:max(16px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));width:112px;height:112px;border-radius:50%;border:2px solid #ffffff75;background:#0e11119c;box-shadow:inset 0 0 0 14px #ffffff0b,0 9px 25px #0009;touch-action:none;user-select:none;cursor:grab}
#joystick.active{border-color:#ffff;cursor:grabbing}
#stick{position:absolute;left:34px;top:34px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2f5f1,#7e8c83 72%);border:2px solid #fff9;box-shadow:0 6px 15px #0009;pointer-events:none;will-change:transform}
#action{position:absolute;z-index:8;right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:120px;min-height:80px;border-radius:20px;border:2px solid #fff7;background:#121918e8;color:#fff;box-shadow:0 9px 27px #0009;display:grid;place-items:center;padding:7px 10px;touch-action:manipulation}
#action span{font-size:22px;line-height:1}#action b{font-size:10px;letter-spacing:1px}#action small{font-size:7px;color:#b7c3bc;max-width:100px;line-height:1.2}#action.ready{background:#173f2dea;border-color:#8ce39b}
#toast{position:absolute;z-index:12;left:50%;top:calc(var(--hud-h) + env(safe-area-inset-top) + 12px);transform:translate(-50%,-8px);padding:9px 14px;max-width:72vw;border-radius:9px;background:#f2e3c4;color:#24322b;font-weight:700;font-size:11px;opacity:0;transition:.18s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}
@media (orientation:portrait){
 :root{--hud-h:56px}
 .stat{min-width:0;flex:1;height:40px;padding:5px 7px}.stat small{font-size:7px}.stat b{font-size:12px}.round{flex-basis:40px;width:40px;height:40px}
 #joystick{width:106px;height:106px;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom))}#stick{left:32px;top:32px;width:42px;height:42px}
 #action{width:108px;min-height:74px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
}
@media (orientation:landscape){
 :root{--hud-h:52px}
 #hud{gap:6px}.stat{height:38px;min-width:96px;padding:4px 8px}.stat small{font-size:7px}.stat b{font-size:12px}.round{flex-basis:38px;width:38px;height:38px;font-size:18px}
 #joystick{width:104px;height:104px;left:max(12px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom))}#stick{left:32px;top:32px;width:40px;height:40px}
 #action{width:108px;min-height:70px;right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));border-radius:17px}
}

.roomstat{min-width:120px}.roomstat b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}@media (orientation:portrait){.roomstat{display:none}}
.product-panel{position:absolute;z-index:20;inset:0;display:none;align-items:flex-end;justify-content:center;padding:16px;background:#0008;pointer-events:auto}
.product-panel.open{display:flex}.product-card{width:min(560px,96vw);max-height:72%;overflow:auto;border:1px solid #ffffff2b;border-radius:18px;background:#111b19f7;box-shadow:0 20px 60px #000c;padding:16px;color:#f4f2e9}.product-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.product-head small{font-size:9px;letter-spacing:1.4px;color:#8ea199}.product-head h2{margin:3px 0 0;font-size:22px}.product-head button{width:42px;height:42px;border:1px solid #ffffff30;border-radius:12px;background:#24302e;color:white;font-size:26px;line-height:1}.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-item{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;border:1px solid #ffffff1f;border-radius:13px;background:#1a2422;padding:10px}.product-thumb{width:54px;height:54px;border-radius:10px;background:#0c1211;display:grid;place-items:center;overflow:hidden;border:1px solid #ffffff1b}.product-thumb img{width:100%;height:100%;object-fit:contain}.product-thumb span{font-size:22px}.product-name{font-weight:800;font-size:13px}.product-meta{font-size:10px;color:#9fb0a7;margin-top:3px}.product-price{font-weight:900;color:#a8f3b4}.product-empty{margin:18px 0 4px;text-align:center;color:#9fb0a7}.product-empty[hidden]{display:none}@media (max-width:520px){.product-list{grid-template-columns:1fr}.product-card{padding:13px}.product-panel{padding:10px}}
.product-subtitle{margin:4px 0 0;color:#9fb0a7;font-size:10px;line-height:1.35}.product-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:84px}.rarity{font-size:9px;font-weight:800;margin-top:3px;letter-spacing:.2px}.mini-action{min-width:76px;min-height:32px;border-radius:9px;border:1px solid #8ce39b66;background:#1c4a35;color:#effff2;font-weight:900;font-size:9px;letter-spacing:.7px;padding:6px 8px;touch-action:manipulation}.mini-action:disabled{opacity:.42;filter:grayscale(.5);background:#26302e;border-color:#ffffff20}.product-item.locked{opacity:.7}.product-item{grid-template-columns:54px minmax(0,1fr) auto}.product-price{white-space:nowrap}.product-list{align-items:stretch}
@media (max-width:520px){.product-side{min-width:78px}.mini-action{min-width:72px}.product-name{font-size:12px}.product-meta{font-size:9px}}
.save-round{margin-left:0}.save-round.saved{background:#285d39;border-color:#9ff3ae;transform:scale(.95)}
#carry-hud{position:absolute;z-index:9;left:max(6px,env(safe-area-inset-left));top:calc(var(--hud-h) + env(safe-area-inset-top) + 6px);width:min(225px,34vw);max-height:38vh;overflow:auto;padding:7px 9px;border:1px solid #ffffff26;border-radius:9px;background:#101817dc;box-shadow:0 6px 18px #0007;color:#f4f2e9;opacity:0;transform:translateX(-6px);pointer-events:none;transition:.16s}
#carry-hud.visible{opacity:1;transform:translateX(0)}#carry-hud>small{display:block;color:#98aaa1;font-size:7px;font-weight:900;letter-spacing:1.05px;margin-bottom:4px}#carry-list{display:grid;gap:5px;font-size:9px;line-height:1.28}#carry-list b{display:block;color:#ffb04a;font-size:8px;letter-spacing:.55px;text-transform:uppercase;margin-bottom:1px}#carry-list span{display:block;color:#f3f6f4}
#sale-popup{position:absolute;z-index:30;left:50%;top:38%;transform:translate(-50%,-50%) scale(.82);opacity:0;pointer-events:none;padding:13px 22px;border-radius:14px;border:2px solid #b7f8c4;background:#173d27f2;color:#d9ffe1;font-size:clamp(22px,4vw,38px);font-weight:1000;letter-spacing:.5px;text-shadow:0 2px 4px #0008;box-shadow:0 12px 36px #000a,0 0 24px #72ff9277}
#sale-popup.show{animation:sale-pop 1.5s ease both}@keyframes sale-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}24%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1;transform:translate(-50%,-62%) scale(1)}100%{opacity:0;transform:translate(-50%,-82%) scale(.96)}}
@media (orientation:portrait){#carry-hud{top:calc(var(--hud-h) + env(safe-area-inset-top) + 5px);left:max(5px,env(safe-area-inset-left));width:min(190px,48vw);padding:6px 8px}.save-round{flex-basis:40px;width:40px;height:40px}}
.claim-round{position:relative;margin-left:0;font-size:12px;font-weight:1000;line-height:1.05;padding:3px;color:#d9e0dc;background:#29312f;border-color:#ffffff25}.claim-round span{display:block;font-size:6px;letter-spacing:.7px;margin-top:2px;color:#9eaaa5}.claim-round.ready{background:#6b4918;border-color:#ffc35a;color:#fff1c7;box-shadow:0 0 13px #ffad3544}.claim-round.ready span{color:#ffe2a3}.claim-round:disabled{opacity:.72;cursor:default}
@media (orientation:portrait){.claim-round{flex-basis:44px;width:44px;font-size:10px}.claim-round span{font-size:5.5px}}
/* Driving controls */
#vehicle-controls{display:none;position:absolute;z-index:11;inset:calc(var(--hud-h) + env(safe-area-inset-top)) 0 0 0;pointer-events:none}
#vehicle-controls.active{display:block}
#van-steering-joystick{position:absolute;left:max(16px,env(safe-area-inset-left));top:14px;width:138px;height:150px;pointer-events:auto;touch-action:none;user-select:none;text-align:center;color:#fff}
.steer-joy-base{position:relative;width:132px;height:132px;border-radius:50%;border:3px solid #ffffff55;background:#101514d9;box-shadow:inset 0 0 0 10px #202725aa,0 9px 24px #000b}
.steer-joy-base::before,.steer-joy-base::after{content:"";position:absolute;background:#ffffff20;pointer-events:none}
.steer-joy-base::before{left:14px;right:14px;top:50%;height:2px;transform:translateY(-50%)}
.steer-joy-base::after{top:14px;bottom:14px;left:50%;width:2px;transform:translateX(-50%)}
.steer-joy-knob{position:absolute;left:50%;top:50%;width:58px;height:58px;border-radius:50%;transform:translate(-50%,-50%);background:linear-gradient(#59635f,#27312d);border:3px solid #b7c2bc;box-shadow:0 6px 15px #000a,inset 0 2px 4px #ffffff33;will-change:transform}
#van-steering-joystick.active .steer-joy-knob{filter:brightness(1.18)}
#van-steering-joystick small{display:block;margin-top:5px;font-size:8px;font-weight:900;letter-spacing:1.4px;text-shadow:0 2px 5px #000}
#pedals{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:10px;align-items:flex-end;pointer-events:auto}
.pedal{width:108px;height:92px;border-radius:18px;border:2px solid #ffffff66;color:#fff;box-shadow:0 9px 25px #000a;touch-action:none;user-select:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-weight:900}
.pedal b{font-size:11px;letter-spacing:.6px}.pedal small{font-size:6.5px;line-height:1.15;opacity:.8}
.pedal.accelerator{background:#1d5737e8;border-color:#7ee9a0}.pedal.brake{background:#6b2424e8;border-color:#ff8d8d}.pedal.pressed{transform:translateY(3px) scale(.98);filter:brightness(1.2)}
#van-speed{position:absolute;right:160px;top:18px;min-width:78px;padding:8px 10px;border-radius:12px;background:#0e1514dd;border:1px solid #ffffff35;color:#fff;text-align:center;font-size:18px;font-weight:1000;box-shadow:0 6px 18px #0008}
#van-speed small{font-size:7px;color:#aebbb5;letter-spacing:1px}
#game-shell.driving #joystick{display:none}#game-shell.driving #carry-hud{opacity:.35}#game-shell.driving #action{right:auto;left:max(16px,env(safe-area-inset-left));transform:none;bottom:max(14px,env(safe-area-inset-bottom));width:104px;min-height:58px}
@media (orientation:portrait){#van-steering-joystick{width:116px;height:130px;left:10px;top:9px}.steer-joy-base{width:108px;height:108px}.steer-joy-knob{width:50px;height:50px}#pedals{right:10px;bottom:10px;gap:7px}.pedal{width:92px;height:78px}.pedal b{font-size:9px}.pedal small{font-size:5.8px}#van-speed{right:132px;top:11px;font-size:15px}}
/* In-van GPS */
#gps-button{position:absolute;left:50%;top:14px;transform:translateX(-50%);min-width:94px;height:42px;padding:0 14px;border-radius:12px;border:2px solid #ffb447;background:#2b2011ed;color:#fff4da;font-weight:1000;letter-spacing:.7px;pointer-events:auto;touch-action:manipulation;box-shadow:0 7px 20px #0009}
#gps-button b{font-size:11px;margin-left:5px}#gps-button.route-active{background:#654115;border-color:#ffd06d;box-shadow:0 0 18px #ffb13b66,0 7px 20px #0009}
#gps-menu{display:none;position:absolute;left:50%;top:62px;transform:translateX(-50%);width:min(230px,72vw);padding:9px;border-radius:14px;border:1px solid #ffffff35;background:#101716f5;box-shadow:0 14px 36px #000c;pointer-events:auto}
#gps-menu.open{display:grid;gap:7px}.gps-title{font-size:8px;letter-spacing:1.3px;color:#aebbb5;font-weight:900;text-align:center;padding:2px 0 4px}
#gps-menu button{min-height:42px;border-radius:10px;border:1px solid #ffffff28;background:#22302d;color:#fff;text-align:left;padding:8px 12px;font-weight:900;touch-action:manipulation}.gps-menu button:active,#gps-menu button:active{transform:scale(.98)}#gps-menu .gps-off{color:#c3ccc8;background:#252a29}
@media (orientation:portrait){#gps-button{top:9px;height:38px;min-width:82px;font-size:11px}#gps-menu{top:52px;width:min(220px,74vw)}}

/* Global manager controls restored and kept outside room upgrade terminals */
.manager-menu-wrap{position:absolute;z-index:18;right:max(8px,env(safe-area-inset-right));top:calc(var(--hud-h) + env(safe-area-inset-top) + 8px);display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:auto}
.manager-menu-toggle{min-height:38px;padding:8px 12px;border:1px solid #9be7ad66;border-radius:10px;background:#173a2bdd;color:#effff3;font-size:10px;font-weight:900;letter-spacing:.55px;box-shadow:0 6px 18px #0008;touch-action:manipulation}
.manager-menu-toggle[aria-expanded="true"]{background:#24543bea;border-color:#a8f3b4}
.manager-menu{width:min(240px,72vw);padding:7px;border:1px solid #ffffff2a;border-radius:12px;background:#101817f2;box-shadow:0 12px 30px #000b;display:grid;gap:6px}
.manager-menu[hidden]{display:none}.manager-menu button{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;align-items:center;text-align:left;min-height:49px;padding:7px 9px;border:1px solid #ffffff20;border-radius:9px;background:#1a2422;color:#f4f2e9;touch-action:manipulation}
.manager-menu button>span{grid-row:1/3;font-size:20px;text-align:center}.manager-menu button>b{font-size:11px}.manager-menu button>small{font-size:8px;color:#9fb0a7;margin-top:2px}.manager-menu button:disabled{opacity:.48;filter:grayscale(.7);background:#202725}.manager-menu button:disabled small::after{content:" • LOCKED";color:#b7aaa2;font-weight:900}
#van-speed{display:flex;flex-direction:column;gap:1px}#van-speed em{font-size:7px;font-style:normal;color:#ffca69;letter-spacing:.7px}
#gps-menu{z-index:50;border:2px solid #ffb447;background:#0e1514f8}#gps-menu.open{display:grid;gap:8px}#gps-menu button{font-size:12px;min-height:48px}#gps-button{z-index:51}
@media (orientation:portrait){.manager-menu-wrap{top:calc(var(--hud-h) + env(safe-area-inset-top) + 6px);right:max(6px,env(safe-area-inset-right))}.manager-menu-toggle{min-height:34px;padding:7px 9px;font-size:9px}.manager-menu{width:min(220px,76vw)}#gps-menu{width:min(250px,82vw)}}
