*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:100%;overflow:hidden;background:#0a0e14;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff;touch-action:none;user-select:none}
#c{display:block;width:100%;height:100%;position:fixed;inset:0}
#hud{position:fixed;inset:0;pointer-events:none;z-index:10}
#topbar{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;gap:12px}
#stars{display:flex;gap:4px;filter:drop-shadow(0 2px 4px #000)}
.star{width:22px;height:22px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#2a2a2a}
.star.on{background:linear-gradient(180deg,#ffd700,#ff8c00);box-shadow:0 0 8px #ff0}
#stats{display:flex;gap:14px;font-weight:700;font-size:14px;letter-spacing:.03em;text-shadow:0 2px 6px #000;background:rgba(0,0,0,.45);padding:8px 12px;border-radius:10px;backdrop-filter:blur(6px)}
#damage-bar{position:absolute;left:16px;right:16px;bottom:18px;height:6px;background:rgba(0,0,0,.5);border-radius:4px;overflow:hidden;max-width:280px;margin:0 auto}
#damage-fill{height:100%;width:100%;background:linear-gradient(90deg,#22c55e,#eab308,#ef4444);transform-origin:left;transition:transform .15s}
#toast{position:absolute;top:56px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);padding:8px 16px;border-radius:8px;font-weight:600;opacity:0;transition:opacity .3s;white-space:nowrap}
#toast.show{opacity:1}
#bust-overlay,#start-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(5,8,14,.82);pointer-events:auto;text-align:center;padding:24px;gap:12px}
#bust-overlay.hidden,#start-overlay.hidden{display:none}
#start-overlay h1,#bust-overlay h1{font-size:clamp(36px,8vw,64px);font-weight:900;letter-spacing:.06em;background:linear-gradient(180deg,#ffcc00,#ff6600);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.sub{opacity:.85;font-size:15px}
.tips{list-style:none;opacity:.75;font-size:13px;line-height:1.7;margin:8px 0 16px}
#start-btn,#retry{pointer-events:auto;border:0;padding:14px 36px;border-radius:999px;font-weight:800;font-size:16px;letter-spacing:.08em;cursor:pointer;background:linear-gradient(180deg,#ffcc00,#f59e0b);color:#111;box-shadow:0 8px 24px rgba(245,158,11,.4)}
#start-btn:active,#retry:active{transform:scale(.97)}
#mobile-controls{position:fixed;inset:0;z-index:20;pointer-events:none}
#mobile-controls:not(.hidden){pointer-events:none}
#joy-zone{position:absolute;left:20px;bottom:28px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.25);pointer-events:auto}
#joy-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(255,204,0,.85);box-shadow:0 4px 12px rgba(0,0,0,.4)}
#btn-col{position:absolute;right:16px;bottom:28px;display:flex;gap:10px;pointer-events:auto}
#btn-col button{width:64px;height:64px;border-radius:16px;border:0;font-weight:800;font-size:18px;background:rgba(0,0,0,.55);color:#fff;border:2px solid rgba(255,255,255,.2)}
#btn-hoot{width:72px;background:rgba(245,158,11,.75)!important;color:#111!important}
@media(min-width:900px){#mobile-controls{display:none!important}}
#stats #clock,#stats #wx{opacity:.92}
#empire-bar{position:fixed;left:12px;top:64px;width:min(340px,60vw);background:rgba(10,14,22,.62);backdrop-filter:blur(6px);border:1px solid rgba(255,210,60,.35);border-radius:12px;padding:8px 10px;color:#fff;font:600 13px system-ui,sans-serif;z-index:12;pointer-events:auto}
#empire-bar .er{display:flex;align-items:center;gap:8px;justify-content:space-between}
#empire-bar .er.small{font-size:11px;opacity:.85;margin-top:4px}
#rank{color:#ffd23a;font-size:15px;letter-spacing:.5px}
#inc{color:#7dff9a}
#emp-btn{background:linear-gradient(#ffd23a,#e09a00);border:0;border-radius:8px;padding:5px 9px;font:800 12px system-ui;color:#2a1a00;cursor:pointer}
#goal{height:6px;background:rgba(255,255,255,.15);border-radius:4px;margin-top:6px;overflow:hidden}
#goal-fill{height:100%;background:linear-gradient(90deg,#ffb300,#fff176);transform-origin:left;transform:scaleX(0);transition:transform .3s}
#buy-prompt{position:fixed;left:50%;bottom:22%;transform:translateX(-50%);z-index:14;pointer-events:auto}
#buy-btn{background:linear-gradient(#2fe06a,#139a3e);color:#fff;border:2px solid #fff;border-radius:14px;padding:12px 18px;font:800 15px system-ui;box-shadow:0 6px 24px rgba(0,0,0,.45);cursor:pointer;animation:pulse 1.2s infinite}
#buy-btn.poor{background:linear-gradient(#777,#444)}
@keyframes pulse{50%{transform:scale(1.05)}}
#emp-panel{position:fixed;inset:6vh 50% auto auto;transform:translateX(50%);width:min(640px,94vw);max-height:86vh;overflow:auto;background:rgba(12,16,26,.94);border:1px solid #ffd23a;border-radius:16px;padding:14px 16px;color:#fff;font:14px system-ui,sans-serif;z-index:30;pointer-events:auto}
.emp-head{display:flex;justify-content:space-between;align-items:center}.emp-head h2{margin:0;color:#ffd23a}
#emp-close{background:none;border:0;color:#fff;font-size:22px;cursor:pointer}
#emp-ladder{display:flex;gap:4px;margin:10px 0;flex-wrap:wrap}#emp-ladder span{flex:1;min-width:80px;text-align:center;padding:5px;border-radius:8px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700}
#emp-ladder span.got{background:linear-gradient(#ffd23a,#d18f00);color:#2a1a00}#emp-ladder small{display:block;font-weight:500;opacity:.8}
#emp-sum{opacity:.85;font-size:13px}
.biz{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px;border-bottom:1px solid rgba(255,255,255,.08)}
.biz.own b{color:#ffd23a}.biz em{background:#ffd23a;color:#2a1a00;border-radius:6px;padding:0 5px;font-style:normal;font-size:11px;font-weight:800}
.biz small{display:block;opacity:.7;font-size:11px}
.biz button{white-space:nowrap;background:#1fae4b;color:#fff;border:0;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}
.biz button.poor{background:#555}.biz button:disabled{background:#333;color:#999;cursor:default}
.hint{opacity:.6;font-size:12px}
.hidden{display:none!important}

/* ===== Cel-shaded retro HUD (Press Start 2P, purple panels, cyan/yellow/white) ===== */
@font-face{font-family:'Press Start 2P';src:url(fonts/PressStart2P.woff2) format('woff2');font-display:swap}
:root{--pnl:rgba(36,18,72,.78);--bd:#9b7bff;--cy:#7df0ff;--ye:#ffe27a;--pk:#ff4fa3}
html,body{font-family:'Press Start 2P',monospace;background:#241640;image-rendering:pixelated}
#stats,#empire-bar,#toast,#obj,#speedbox,#street,#emp-panel,#buy-btn,.biz,#emp-btn,#start-btn,#retry{font-family:'Press Start 2P',monospace}
#stats{background:var(--pnl);backdrop-filter:none;border:2px solid var(--bd);border-radius:2px;box-shadow:0 0 0 2px #14082c;font-size:9px;gap:10px;padding:8px 10px;text-shadow:2px 2px 0 #14082c;color:var(--cy);letter-spacing:0}
#stats #cash{color:var(--ye)}#stats #clock,#stats #wx{color:#fff}
.star{background:#3a2a5c;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.star.on{background:var(--ye);box-shadow:none}
#stars{filter:drop-shadow(2px 2px 0 #14082c)}
#empire-bar{background:var(--pnl);backdrop-filter:none;border:2px solid var(--bd);border-radius:2px;font-size:8px;top:62px;box-shadow:0 0 0 2px #14082c}
#empire-bar .er.small{font-size:7px;opacity:1;color:#cfc3ff}
#rank{color:var(--ye);font-size:9px;letter-spacing:0}#inc{color:var(--cy)}
#emp-btn{background:var(--bd);color:#14082c;border-radius:2px;font-size:7px;padding:6px 7px;border:2px solid #14082c}
#goal{border-radius:0;background:#14082c;height:8px;border:1px solid var(--bd)}#goal-fill{background:repeating-linear-gradient(90deg,var(--cy) 0 6px,#4ab8d0 6px 8px)}
#radar{position:fixed;right:14px;top:14px;width:136px;height:136px;border-radius:50%;border:3px solid var(--cy);box-shadow:0 0 0 3px #14082c,0 0 18px rgba(125,240,255,.55) inset,0 0 14px rgba(125,240,255,.4);z-index:11;pointer-events:none;background:#241640}
#street{position:fixed;right:14px;top:158px;width:136px;z-index:11;pointer-events:none;background:var(--pnl);border:2px solid var(--bd);padding:6px;display:flex;flex-direction:column;gap:5px;text-align:center}
#street b{font-size:7px;color:var(--ye);font-weight:400;line-height:1.3}#street span{font-size:6px;color:var(--cy)}
#topbar{padding-right:170px}
#speedbox{position:fixed;right:14px;bottom:16px;z-index:12;pointer-events:none;background:var(--pnl);border:2px solid var(--bd);box-shadow:0 0 0 2px #14082c;padding:8px 12px 6px;min-width:150px;text-align:right}
#speed b{display:block;font-weight:400;font-size:28px;color:var(--ye);text-shadow:3px 3px 0 #14082c;line-height:1.1}#speed i{font-style:normal;font-size:9px;color:var(--cy);display:block;margin-top:4px;border-top:3px solid var(--cy);padding-top:5px}
#obj{position:fixed;left:50%;top:58px;transform:translateX(-50%);z-index:12;pointer-events:none;background:var(--pnl);border:2px solid var(--bd);box-shadow:0 0 0 2px #14082c;padding:7px 12px;font-size:9px;color:#fff;white-space:nowrap}#obj b{color:var(--cy);font-weight:400}
#toast{top:auto;left:14px;bottom:16px;transform:none;max-width:min(520px,60vw);white-space:normal;background:var(--pnl);border:2px solid var(--bd);border-radius:2px;box-shadow:0 0 0 2px #14082c;padding:10px 12px;font-size:9px;line-height:1.6;font-weight:400;color:#fff}
#toast::before{content:'DISPATCH ▸ ';color:var(--pk)}
#damage-bar{bottom:6px;height:8px;border-radius:0;border:1px solid var(--bd);background:#14082c;max-width:260px}
#damage-fill{background:linear-gradient(90deg,var(--pk),var(--ye),var(--cy))}
#bust-overlay,#start-overlay{background:rgba(26,12,56,.82)}
#start-overlay h1,#bust-overlay h1{font-weight:400;background:none;color:var(--ye);-webkit-text-fill-color:var(--ye);text-shadow:4px 4px 0 #6a3cff,8px 8px 0 #14082c;font-size:clamp(26px,6vw,52px);letter-spacing:2px}
.sub{color:var(--cy);font-size:10px;opacity:1}.tips{font-size:8px;line-height:2.2;opacity:1;color:#e6dcff}
#start-btn,#retry{border-radius:2px;background:var(--ye);color:#14082c;font-size:12px;border:3px solid #14082c;box-shadow:5px 5px 0 var(--pk);letter-spacing:0;font-weight:400}
#buy-btn{background:var(--pk);border:3px solid #14082c;border-radius:2px;font-size:9px;box-shadow:4px 4px 0 var(--bd)}
#emp-panel{background:rgba(26,12,56,.96);border:3px solid var(--bd);border-radius:2px;font-size:9px}.emp-head h2{color:var(--ye);font-size:11px;font-weight:400}
.biz{font-size:8px;line-height:1.6}.biz button,#emp-ladder span{border-radius:2px;font-family:'Press Start 2P',monospace;font-size:7px}.biz.own b,#rank{color:var(--ye)}
#joy-zone{border-radius:50%;border:3px solid var(--bd);background:rgba(36,18,72,.5)}#joy-knob{background:var(--cy)}
#btn-col button{border-radius:2px;border:2px solid var(--bd);background:var(--pnl);font-family:'Press Start 2P',monospace;font-size:9px}
@media(max-width:700px){#radar{width:100px;height:100px}#street{top:122px;width:100px}#obj{top:auto;bottom:70px;font-size:7px}#speedbox{bottom:100px;min-width:110px}#speed b{font-size:20px}#toast{bottom:6px;max-width:55vw;font-size:7px}#topbar{padding-right:120px}#stats{flex-wrap:wrap;font-size:7px}}

#fxbtns{position:fixed;right:14px;top:218px;z-index:13;display:flex;gap:6px;width:136px;justify-content:space-between}
#fxbtns button{font-family:'Press Start 2P',monospace;font-size:7px;color:#ffe27a;background:var(--pnl);border:2px solid var(--bd);box-shadow:0 0 0 2px #14082c;padding:7px 6px;cursor:pointer;pointer-events:auto;line-height:1}
#fxbtns #mute-btn{font-size:11px;padding:5px 7px}
#fxbtns button:active{transform:translateY(1px)}
#start-btn:disabled{opacity:.7;cursor:wait}
@media(max-width:700px){#fxbtns{top:176px;width:100px}#fxbtns button{font-size:6px;padding:6px 4px}}
