:root{
  --red:#ef6258;
  --ink:#f3f0e9;
  --black:#070707;
  --panel:rgba(8,8,8,.91);
  --line:rgba(255,255,255,.18);
  --muted:rgba(255,255,255,.62);
  --green:#77d278;
  --yellow:#e2c35c;
  --orange:#ed8b43;
  --danger:#ef4f43;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;background:#050505;color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow:hidden}
button{font:inherit;color:inherit}
button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.app{position:relative;width:100%;height:100%;min-height:100dvh;isolation:isolate;background:#050505}
#gameCanvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;background:#111;z-index:-5}
.scanlines{position:absolute;inset:0;pointer-events:none;z-index:-2;opacity:.13;background:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 4px);mix-blend-mode:overlay}
.flash-layer{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:20;transition:opacity .18s}
.topbar{position:absolute;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));display:flex;align-items:center;gap:12px;z-index:12;pointer-events:none}
.logo{width:min(42vw,380px);height:auto;display:block;filter:drop-shadow(0 3px 18px rgba(0,0,0,.55))}
.mode-label{font-size:10px;font-weight:900;letter-spacing:.24em;background:rgba(0,0,0,.72);border:1px solid var(--line);padding:8px 10px;white-space:nowrap}
.topbar-actions{margin-left:auto;display:flex;gap:6px;pointer-events:auto}
.icon-btn,.secondary{border:1px solid var(--line);background:rgba(0,0,0,.75);padding:9px 11px;font-size:10px;font-weight:900;letter-spacing:.09em;cursor:pointer}
.icon-btn:hover,.secondary:hover{background:var(--ink);color:#000}
.panel{background:var(--panel);border:1px solid var(--line);box-shadow:0 22px 80px rgba(0,0,0,.55);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.panel-lite{background:rgba(7,7,7,.86);border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.38);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.screen{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) scale(.98);width:min(820px,calc(100% - 28px));max-height:calc(100% - 125px);overflow:auto;padding:clamp(22px,4vw,48px);z-index:9;opacity:0;pointer-events:none;transition:.22s ease}
.screen.active{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.screen:not(.active) *{pointer-events:none!important}
.eyebrow{margin:0 0 15px;font-size:10px;font-weight:900;letter-spacing:.24em;color:var(--muted)}
h1,h2{margin:0;text-transform:uppercase;font-weight:950;letter-spacing:-.065em;line-height:.88}
h1{font-size:clamp(48px,10vw,104px);margin-bottom:28px}
h2{font-size:clamp(40px,7vw,76px)}
.level-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:'num title status' 'num sub status';align-items:center;gap:4px 18px;border:0;background:var(--red);color:#080808;padding:20px;text-align:left;cursor:pointer;transition:.16s ease}
.level-card:hover{transform:translateY(-2px);filter:brightness(1.07)}
.level-number{grid-area:num;font-size:12px;font-weight:950;letter-spacing:.13em;border-right:2px solid rgba(0,0,0,.28);padding-right:18px;height:100%;display:flex;align-items:center}
.level-title{grid-area:title;font-size:clamp(24px,5vw,45px);font-weight:950;letter-spacing:-.05em}
.level-sub{grid-area:sub;font-size:10px;font-weight:900;letter-spacing:.16em;opacity:.62}
.level-status{grid-area:status;font-size:12px;font-weight:950;letter-spacing:.13em}
.locked-card{display:grid;grid-template-columns:auto 1fr;gap:5px 16px;margin-top:8px;padding:16px 18px;border:1px solid var(--line);background:#111;opacity:.48}
.locked-card span{grid-row:1/3;font-size:11px;font-weight:900;letter-spacing:.13em;border-right:1px solid var(--line);padding-right:15px}
.locked-card strong{font-size:15px;letter-spacing:.07em}.locked-card small{font-size:9px;letter-spacing:.13em}
.microcopy{margin:16px 0 0;text-align:center;font-size:10px;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.section-heading .eyebrow{margin:0}.section-heading h2{text-align:right}
.spot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.spot-card{position:relative;border:1px solid var(--line);background:#111;padding:17px;text-align:left;cursor:pointer;min-height:185px;display:flex;flex-direction:column;transition:.15s ease}
.spot-card:hover{background:var(--ink);color:#050505;transform:translateY(-2px)}
.spot-card .spot-icon{font-size:30px;margin-bottom:15px}.spot-card h3{font-size:23px;letter-spacing:-.04em;margin:0 0 5px}.spot-card p{margin:0 0 14px;font-size:11px;line-height:1.35;opacity:.72}.spot-card ul{margin:auto 0 0;padding:0;list-style:none;font-size:10px;font-weight:800;letter-spacing:.04em;line-height:1.5}.spot-card .cost{position:absolute;right:14px;top:14px;font-size:10px;font-weight:950;letter-spacing:.1em;background:var(--red);color:#090909;padding:6px 7px}
.selection-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.selection-footer div{display:flex;flex-direction:column}.tiny{font-size:9px;letter-spacing:.16em;color:var(--muted)}
.game-ui{position:absolute;inset:0;z-index:7;display:none;pointer-events:none}.game-ui.active{display:block}
.hud{position:absolute;top:max(80px,calc(env(safe-area-inset-top) + 74px));left:max(14px,env(safe-area-inset-left));width:min(650px,calc(100% - 28px));padding:12px;pointer-events:auto}
.hud-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:10px}.hud-location{display:block;font-size:20px;font-weight:950;letter-spacing:-.04em}.hud-tag{display:block;font-size:8px;letter-spacing:.13em;color:var(--muted);margin-top:2px}.coin-box{text-align:right}.coin-box span{display:block;font-size:8px;letter-spacing:.15em;color:var(--muted)}.coin-box strong{font-size:24px}
.bar-grid{display:grid;gap:7px}.meter{display:grid;grid-template-columns:76px minmax(120px,1fr) 42px 150px;align-items:center;gap:7px;min-height:25px;font-size:8px;font-weight:950;letter-spacing:.1em;--meter-color:var(--green)}.meter>span:first-child{white-space:nowrap}.meter-track{position:relative;height:14px;background:#252525;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.meter i{position:relative;z-index:1;display:block;width:0;height:100%;background:var(--meter-color);box-shadow:0 0 10px color-mix(in srgb,var(--meter-color) 70%,transparent);opacity:.88;transition:width .12s linear,background-color .18s ease}.bar-ad{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;padding:0 5px;font-style:normal;font-size:6px;font-weight:950;letter-spacing:.08em;color:#fff;text-shadow:0 1px 2px #000;white-space:nowrap;overflow:hidden;pointer-events:none;mix-blend-mode:difference;opacity:.68}.meter b{text-align:right;font-size:8px;color:var(--meter-color);transition:color .18s ease}.meter.critical .meter-track{animation:criticalPulse .65s steps(2,end) infinite}.meter.critical b{animation:criticalText .65s steps(2,end) infinite}.meter.special .meter-track{overflow:hidden}.meter.special i{position:absolute;left:50%;width:0;background:var(--meter-color)}.center-mark{position:absolute;z-index:3;left:50%;top:-3px;width:1px;height:19px;background:#fff;opacity:.75}.meter-action-spacer{display:block}.need-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:0}.need-actions .quick-buy{grid-column:1/-1}.need-action{width:100%;border:1px solid var(--line);background:#111;padding:7px 6px;font-size:7px;font-weight:950;letter-spacing:.07em;cursor:pointer;white-space:nowrap}.need-action:hover{background:var(--ink);color:#050505}.need-action.urgent{background:var(--danger);color:#070707;border-color:transparent;animation:needPulse .65s steps(2,end) infinite}.need-action:disabled{opacity:.35;cursor:not-allowed;animation:none}.quick-buy{width:100%;border:1px solid rgba(239,98,88,.65);background:rgba(239,98,88,.14);color:var(--ink);padding:7px 6px;font-size:7px;font-weight:950;letter-spacing:.07em;cursor:pointer;white-space:nowrap}.quick-buy:hover{background:var(--red);color:#070707}.quick-buy.owned{border-color:rgba(119,210,120,.5);background:rgba(119,210,120,.14);color:var(--green)}.quick-buy:disabled{opacity:.35;cursor:not-allowed}.quick-buy.owned:disabled{opacity:.72}
@keyframes needPulse{50%{filter:brightness(1.35)}}@keyframes criticalPulse{50%{box-shadow:0 0 0 2px rgba(239,79,67,.7),0 0 16px rgba(239,79,67,.55)}}@keyframes criticalText{50%{opacity:.45}}
.controls{position:absolute;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(920px,calc(100% - 24px));padding:10px;pointer-events:auto}.utility-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}.utility-actions button{border:1px solid var(--line);background:#111;padding:10px 12px;font-size:9px;font-weight:950;letter-spacing:.08em;cursor:pointer}.utility-actions button:hover{background:var(--ink);color:#050505}.primary-action-zone{display:grid;grid-template-columns:minmax(155px,.55fr) 1fr;gap:10px;align-items:stretch;border-top:1px solid var(--line);padding-top:9px}.primary-action-copy{display:flex;flex-direction:column;justify-content:center}.primary-action-copy span{font-size:8px;font-weight:950;letter-spacing:.18em;color:var(--red)}.primary-action-copy small{margin-top:4px;font-size:7px;font-weight:900;line-height:1.25;letter-spacing:.08em;color:var(--muted)}.primary-action{border:0;background:var(--ink);color:#050505;min-height:48px;padding:12px 16px;font-size:13px;font-weight:950;letter-spacing:.08em;cursor:pointer}.primary-action:hover{filter:brightness(1.08)}.primary-action.danger{background:var(--red)}.controls button:disabled{opacity:.35;cursor:not-allowed}
.event-banner{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) translateY(8px);background:var(--red);color:#050505;padding:12px 18px;font-size:clamp(13px,2vw,22px);font-weight:950;letter-spacing:.08em;text-align:center;opacity:0;pointer-events:none;transition:.16s ease;max-width:calc(100% - 30px)}.event-banner.show{opacity:1;transform:translate(-50%,-50%) translateY(0)}
.shop{position:absolute;right:max(14px,env(safe-area-inset-right));top:50%;transform:translateY(-50%) translateX(30px);width:min(480px,calc(100% - 28px));max-height:calc(100% - 120px);overflow:auto;padding:20px;z-index:15;opacity:0;pointer-events:none;transition:.2s ease}.shop.active{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0)}
.shop-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.shop-head h2{font-size:42px}.product-grid{display:grid;gap:7px}.product-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);background:#111}.product-card h3{margin:0 0 3px;font-size:14px;letter-spacing:.04em}.product-card p{margin:0;font-size:9px;color:var(--muted);line-height:1.35}.purchased-note{display:block;margin-top:6px;color:var(--red);font-weight:950;font-style:italic;letter-spacing:.08em}.product-card button{border:0;background:var(--red);color:#070707;padding:10px;font-size:9px;font-weight:950;letter-spacing:.08em;cursor:pointer;min-width:76px}.product-card button:disabled{background:#333;color:#888}
.result{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:min(650px,calc(100% - 28px));padding:clamp(24px,5vw,52px);z-index:18;opacity:0;pointer-events:none;transition:.2s ease}.result.active{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.result h2{font-size:clamp(52px,11vw,106px);margin-bottom:18px}.result>p:not(.eyebrow){font-size:14px;line-height:1.45;color:var(--muted)}.result-stats{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.stat-chip{border:1px solid var(--line);padding:9px 11px;font-size:9px;font-weight:900;letter-spacing:.08em}.result-actions{display:flex;gap:8px;flex-wrap:wrap}.primary{border:0;background:var(--red);color:#080808;padding:14px 17px;font-size:10px;font-weight:950;letter-spacing:.1em;cursor:pointer}.result-actions button{flex:1 1 220px}
.toast{position:absolute;right:max(15px,env(safe-area-inset-right));top:max(82px,calc(env(safe-area-inset-top) + 72px));z-index:25;background:var(--ink);color:#050505;padding:11px 13px;font-size:10px;font-weight:950;letter-spacing:.06em;opacity:0;transform:translateY(-8px);transition:.16s ease;pointer-events:none;max-width:min(320px,calc(100% - 30px))}.toast.show{opacity:1;transform:translateY(0)}.toast.purchase-reveal{left:50%;right:auto;top:50%;transform:translate(-50%,-50%) scale(.96);display:flex;flex-direction:column;align-items:center;gap:10px;width:min(560px,calc(100% - 30px));max-width:none;padding:22px 24px;background:var(--red);color:#050505;text-align:center;box-shadow:0 18px 80px rgba(0,0,0,.7)}.toast.purchase-reveal.show{transform:translate(-50%,-50%) scale(1)}.toast.purchase-reveal strong{font-size:clamp(18px,3.5vw,34px);line-height:.95;letter-spacing:-.03em}.toast.purchase-reveal span{font-size:clamp(11px,1.5vw,15px);font-style:italic;letter-spacing:.12em}

.intro-screen{overflow:hidden}.intro-topline{display:flex;justify-content:space-between;align-items:center}.intro-counter{font-size:10px;font-weight:950;letter-spacing:.14em;color:var(--muted)}.intro-slides{position:relative;min-height:360px}.intro-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateX(24px);pointer-events:none;transition:.22s ease}.intro-slide.active{opacity:1;transform:translateX(0);pointer-events:auto}.intro-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:22px;background:var(--red);color:#080808;font-size:27px;font-weight:950;font-style:italic}.intro-slide h2{font-size:clamp(44px,8vw,82px);margin-bottom:20px}.intro-slide p{max-width:610px;margin:0;font-size:15px;line-height:1.55;color:var(--muted)}.intro-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.intro-actions button{min-width:130px}.intro-actions .primary{margin-left:auto}
.pause-overlay{position:absolute;inset:0;z-index:13;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-right:min(480px,34vw);background:rgba(0,0,0,.58);opacity:0;pointer-events:none;transition:.16s ease}.pause-overlay.active{opacity:1}.pause-overlay strong{font-size:clamp(44px,9vw,100px);font-weight:950;letter-spacing:-.065em;line-height:.86;text-shadow:0 5px 30px #000}.pause-overlay span{margin-top:12px;font-size:11px;font-weight:950;letter-spacing:.25em;color:var(--red)}
.police-lock{position:absolute;left:50%;top:52%;z-index:14;transform:translate(-50%,-50%) scale(.96);display:flex;flex-direction:column;align-items:center;text-align:center;width:min(520px,calc(100% - 30px));padding:20px;background:#08101c;border:2px solid #7aa8d7;box-shadow:0 0 0 5px rgba(0,0,0,.55),0 20px 70px rgba(0,0,0,.7);opacity:0;pointer-events:none;transition:.16s ease}.police-lock.active{opacity:1;transform:translate(-50%,-50%) scale(1)}.police-lock-kicker{font-size:9px;font-weight:950;letter-spacing:.2em;color:#9dc9ef}.police-lock strong{font-size:clamp(35px,7vw,68px);line-height:.9;margin:8px 0;font-weight:950;letter-spacing:-.05em}.police-lock small{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.game-ui.controls-locked button:not(.police-bribe){opacity:.2;filter:grayscale(1);cursor:not-allowed}.game-ui.controls-locked .hud{border-color:rgba(122,168,215,.55)}

.hidden{display:none!important}
@media(max-width:700px){
  .topbar{align-items:flex-start}.logo{width:min(55vw,280px)}.mode-label{display:none}.topbar-actions{flex-direction:column}.icon-btn{padding:7px 8px;font-size:8px}
  .screen{top:53%;max-height:calc(100% - 100px);padding:20px}.section-heading{display:block}.section-heading h2{text-align:left;margin-top:10px}.spot-grid{grid-template-columns:1fr}.spot-card{min-height:142px}
  .hud{top:max(70px,calc(env(safe-area-inset-top) + 62px));width:calc(100% - 28px);padding:9px}.hud-tag{max-width:220px}.meter{grid-template-columns:62px minmax(80px,1fr) 34px 126px;gap:5px}.bar-ad{font-size:5px;letter-spacing:.04em}.need-action{font-size:6px;padding:6px 4px}.quick-buy{font-size:6px;padding:6px 4px}.controls{padding:7px}.utility-actions button{padding:8px 6px;font-size:7px}.primary-action-zone{grid-template-columns:115px 1fr}.primary-action{min-height:44px;font-size:10px}.primary-action-copy small{font-size:6px}
  .event-banner{top:52%}.shop{top:52%;max-height:calc(100% - 100px)}.intro-slides{min-height:390px}.intro-slide h2{font-size:44px}.intro-slide p{font-size:13px}.police-lock{top:48%}.pause-overlay{padding-right:0}
}
@media(max-height:650px) and (orientation:landscape){
  .topbar{top:8px}.logo{width:250px}.hud{top:55px;width:520px;padding:8px}.meter{min-height:21px}.controls{bottom:6px;width:760px}.primary-action{min-height:38px;padding:8px;font-size:10px}.utility-actions button{padding:7px;font-size:7px}.screen{top:54%;max-height:calc(100% - 70px);padding:20px}.spot-card{min-height:145px}.event-banner{top:48%}
}
