@import "https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@500;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;background:#000;width:100%;height:100%;font-family:Inter,system-ui,sans-serif;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#mission{text-shadow:0 2px 4px #000c;text-align:center;max-width:80vw;font:700 18px Inter;position:absolute;top:24px;left:50%;transform:translate(-50%)}#prompt{background:#000a;border-radius:6px;padding:8px 14px;font:700 16px Inter;display:none;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}#speed{text-shadow:0 2px 6px #000;font:400 44px Anton;display:none;position:absolute;bottom:28px;right:28px}#speed small{margin-left:4px;font-size:18px}#fps{opacity:.7;font:500 12px monospace;position:absolute;top:8px;right:10px}#minimap{background:#333;border:4px solid #111;border-radius:50%;width:220px;height:220px;position:absolute;bottom:24px;left:24px;box-shadow:0 4px 16px #000a}#toast{letter-spacing:2px;color:#ffd23f;text-shadow:0 4px #000,0 0 30px #000;opacity:0;text-align:center;font:400 64px Anton;transition:opacity .4s;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}#toast.show{opacity:1}#toast small{color:#fff;letter-spacing:0;font:700 20px Inter;display:block}#start{background:radial-gradient(circle at 50% 40%,#0000 0,#000c 70%);place-items:center;display:grid;position:fixed;inset:0}#start.hidden{display:none}.card{text-align:center;background:#0d0d0f;border:2px solid #ffd23f;border-radius:14px;width:min(1080px,94vw);max-height:94vh;padding:30px 40px 34px;overflow-y:auto}.card h1{letter-spacing:3px;color:#ffd23f;font:400 64px/1 Anton}.card .sub{opacity:.7;margin:6px 0 16px}#loading{opacity:.8;margin:14px 0}#play{letter-spacing:2px;color:#111;cursor:pointer;background:#ffd23f;border:0;border-radius:6px;margin:6px 0 20px;padding:10px 46px;font:400 30px Anton}#play:hover{background:#fff}.keys{text-align:left;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;display:grid}.keys section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:14px 16px 12px}.keys h2{letter-spacing:2px;color:#ffd23f;margin:0 0 10px;font:400 20px Anton}.keys ul{gap:9px;list-style:none;display:grid}.keys li{color:#f2f2f2;grid-template-columns:150px 1fr;align-items:center;gap:10px;font:600 16px Inter;display:grid}.keys .k{align-items:center;gap:4px;display:flex}.keys .k small{color:#ffd23f;white-space:nowrap;margin-left:4px;font:700 12px Inter}.keys kbd{color:#111;text-align:center;background:#fff;border-radius:6px;min-width:30px;padding:3px 8px;font:800 13px Inter;box-shadow:0 3px #777}.keys .mouse{width:22px;height:30px}@media (width<=900px){.keys{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.keys{grid-template-columns:1fr}.card{padding:22px 16px}.card h1{font-size:44px}}#clock{text-shadow:0 2px 6px #000;letter-spacing:1px;font:400 30px Anton;position:absolute;top:22px;right:28px}#fps{top:auto;bottom:6px;right:10px}#hit{pointer-events:none;z-index:3;opacity:0;background:radial-gradient(#f000 35%,#c8000073 75%,#8c0000cc 100%);transition:opacity .6s ease-out;position:fixed;inset:0}#hit.show{opacity:1;transition:opacity 50ms}@keyframes hurtbar{0%{transform:translate(0)}20%{transform:translate(-7px)}45%{transform:translate(7px)}70%{transform:translate(-4px)}to{transform:translate(0)}}@keyframes hurtfill{0%,35%{filter:brightness(3)saturate(0)}to{filter:none}}.hp.hurt b{border-color:#ff5a5a;animation:.4s ease-out hurtbar;box-shadow:0 0 18px #ff2a2a,0 2px 6px #0008}.hp.hurt i{animation:.5s ease-out hurtfill}#party{flex-direction:column;gap:7px;display:flex;position:absolute;top:22px;left:24px}.hp{align-items:center;gap:10px;display:flex}.hp span{letter-spacing:1px;text-align:right;text-shadow:0 2px 4px #000,0 0 8px #000;color:#dfe6ee;width:76px;font:400 17px Anton}.hp b{background:#000a;border:2px solid #111;border-radius:8px;width:240px;height:16px;display:block;overflow:hidden;box-shadow:0 2px 6px #0008}.hp i{background:linear-gradient(90deg,#3aa0ff,#8ecbff);width:100%;height:100%;transition:width .2s;display:block}.hp.me span{color:#ffd23f;font-size:24px}.hp.me b{border-radius:10px;width:320px;height:26px}.hp.me i{background:linear-gradient(90deg,#2ecc71,#7bed9f)}.hp.low i{background:linear-gradient(90deg,#c0392b,#ff6b6b)}#boss{text-align:center;width:min(420px,70vw);display:none;position:absolute;top:64px;left:50%;transform:translate(-50%)}#boss span{letter-spacing:2px;color:#ff4d4d;text-shadow:0 2px 4px #000;font:400 22px Anton}#boss b{background:#000b;border:2px solid #111;border-radius:6px;height:12px;margin-top:4px;display:block;overflow:hidden}#boss i{background:linear-gradient(90deg,#c0392b,#ff6b6b);width:100%;height:100%;transition:width .2s;display:block}#street{letter-spacing:1px;color:#fff;text-shadow:0 2px 4px #000,0 0 10px #000;white-space:nowrap;font:400 22px Anton;position:absolute;bottom:254px;left:134px;transform:translate(-50%)}#streethint{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:none;position:absolute;bottom:292px;left:134px;transform:translate(-50%)}#streethint.show{animation:.9s ease-in-out infinite hintbob;display:flex}#streethint span{white-space:nowrap;background:#000b;border-radius:8px;padding:4px 10px;font:700 14px Inter}#streethint b{color:#ffd23f;background:#000a;border:4px solid #ffd23f;border-radius:50%;place-items:center;width:64px;height:64px;font:400 40px Anton;display:grid;box-shadow:0 0 20px #ffd23f88}@keyframes hintbob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,10px)}}#command{background:#000b;border:2px solid #222;border-radius:10px;align-items:center;gap:8px;width:max-content;margin-top:14px;padding:6px 10px;display:none;box-shadow:0 4px 16px #000a}#command.show{display:flex}#command span{letter-spacing:2px;color:#ffd23f;margin-right:4px;font:400 17px Anton}#command b{letter-spacing:1px;color:#8f949a;background:#26282c;border-radius:8px;padding:6px 14px;font:700 15px Inter;transition:background .15s,color .15s}#command b.on{color:#111;background:#ffd23f;box-shadow:0 0 14px #ffd23f88}#gameover{text-align:center;opacity:0;pointer-events:none;z-index:6;background:radial-gradient(circle,#300a 0,#000d 75%);place-content:center;transition:opacity .8s;display:grid;position:fixed;inset:0}#gameover.show{opacity:1}#gameover h2{color:#e62a2a;letter-spacing:4px;text-shadow:0 6px #000;font:400 110px Anton}#gameover p{margin:8px 0 18px;font:700 22px Inter}#gameover small{opacity:.8;font:600 16px Inter}.bubble{transform-origin:50% 100%;color:#111;white-space:nowrap;pointer-events:none;z-index:2;background:#fff;border-radius:12px;padding:6px 11px;font:700 15px Inter,sans-serif;position:absolute;top:0;left:0;box-shadow:0 3px 10px #0007}.bubble:after{content:"";border:7px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}#intro{text-align:center;pointer-events:none;opacity:0;z-index:4;place-content:center;transition:opacity .8s;display:grid;position:fixed;inset:0}#intro.show{opacity:1}#intro h1{letter-spacing:6px;color:#ffd23f;text-shadow:0 6px #000,0 0 40px #000;font:400 92px/1 Anton}#intro p{text-shadow:0 2px 6px #000;letter-spacing:3px;margin-top:10px;font:700 22px Inter}#flash{opacity:0;pointer-events:none;z-index:3;background:#e8f0ff;position:fixed;inset:0}#cross{pointer-events:none;width:22px;height:22px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#cross:before,#cross:after{content:"";background:#fff;position:absolute;box-shadow:0 0 2px #000,0 0 4px #000}#cross:before{clip-path:polygon(0 0,100% 0,100% 35%,0 35%,0 65%,100% 65%,100% 100%,0 100%);width:2px;height:22px;top:0;left:10px}#cross:after{clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,65% 0,100% 0,100% 100%,65% 100%);width:22px;height:2px;top:10px;left:0}#cross i{background:#ff3b30;border-radius:50%;width:4px;height:4px;position:absolute;top:9px;left:9px;box-shadow:0 0 3px #000}#cross.aim{width:16px;height:16px}#cross.aim:before{height:16px;left:7px}#cross.aim:after{width:16px;top:7px}#cross.aim i{top:6px;left:6px}#ammo{color:#f4f4f4;text-shadow:0 2px 6px #000;align-items:center;gap:10px;display:none;position:absolute;bottom:30px;right:28px}#ammo svg{filter:drop-shadow(0 2px 3px #000);width:64px;height:32px}#ammo b{font:400 44px Anton}#ammo.low b{color:#ff4d3d}#win{text-align:center;opacity:0;pointer-events:none;z-index:7;background:radial-gradient(circle,#0a2a12cc 0,#000e 75%);place-content:center;justify-items:center;transition:opacity .8s;display:grid;position:fixed;inset:0}#win.show{opacity:1;pointer-events:auto}#win span{letter-spacing:6px;color:#9be7a8;font:800 18px Inter}#win h2{color:#ffd23f;letter-spacing:4px;text-shadow:0 6px #000;margin:4px 0;font:400 104px Anton}#win p{margin:4px 0 22px;font:700 22px Inter}#win button{letter-spacing:2px;color:#111;cursor:pointer;background:#ffd23f;border:0;border-radius:8px;padding:12px 34px;font:400 26px Anton}#win button:hover{background:#fff}#win small{opacity:.7;margin-top:10px;font:600 14px Inter}#missions{z-index:6;background:#0008;place-content:center;display:none;position:fixed;inset:0}#missions.show{display:grid}#missions .panel{background:#111c;border:2px solid #ffd23f55;border-radius:12px;width:min(640px,92vw);max-height:86vh;padding:22px 26px;overflow:auto;box-shadow:0 10px 40px #000a}#missions h3{letter-spacing:2px;color:#ffd23f;margin:0 0 10px;font:400 40px Anton}#missions h4{letter-spacing:3px;color:#9aa4ad;margin:16px 0 6px;font:800 13px Inter}#missions .m{border-radius:8px;grid-template-columns:28px 1fr;gap:2px 10px;margin:4px 0;padding:9px 10px;display:grid}#missions .m i{text-align:center;grid-row:span 2;align-self:center;font-size:18px;font-style:normal}#missions .m b{color:#fff;font:700 17px Inter}#missions .m span{color:#c8ced3;font:500 14px Inter}#missions .m.cur{background:#ffd23f22;border-left:3px solid #ffd23f}#missions .m.done b{color:#7bd88f;-webkit-text-decoration:line-through #7bd88f88;text-decoration:line-through #7bd88f88}#missions .m.lock{opacity:.45}#missions .m.bonus.cur{background:#ff2d5522;border-left-color:#ff2d55}#missions small{opacity:.6;margin-top:14px;font:600 13px Inter;display:block}#jhint{background:#000a;border-radius:8px;align-items:center;gap:8px;width:fit-content;max-width:340px;margin-top:8px;padding:6px 10px;display:flex}#jhint b{color:#111;background:#ffd23f;border-radius:4px;padding:0 7px;font:400 18px Anton}#jhint span{letter-spacing:2px;color:#ffd23f;font:800 13px Inter}#jhint em{color:#e7e7e7;opacity:.85;font:600 12px Inter}#controls{pointer-events:none;background:#000a;border-radius:10px;gap:5px;padding:9px 12px;display:grid;position:absolute;bottom:24px;left:258px}#controls div{color:#fff;text-shadow:0 1px 3px #000;align-items:center;gap:8px;font:700 13px Inter;display:flex}#controls kbd{color:#111;text-align:center;min-width:26px;text-shadow:none;background:#ffffffe6;border-radius:5px;padding:2px 7px;font:800 11px Inter;box-shadow:0 2px #0008}#controls svg{filter:drop-shadow(0 1px 2px #000);width:22px;height:30px;margin:0 2px}#wanted{display:none;position:absolute;top:62px;right:26px}#wanted.on{display:block}#wanted svg{fill:#fff;stroke:#000;stroke-width:1.6px;filter:drop-shadow(0 2px 4px #000);width:38px;height:38px}#wanted.new svg,#wanted.chase svg{animation:.45s steps(2,start) infinite wantedblink}@keyframes wantedblink{to{opacity:.15}}#toast kbd{color:#111;min-width:1.1em;text-shadow:none;background:#ffd23f;border-radius:10px;margin-left:.12em;padding:0 .18em;line-height:1.15;display:inline-block;box-shadow:0 5px #000,0 0 24px #ffd23f99}#toast .t2{color:#fff;letter-spacing:1px;margin-top:6px;font-size:40px;display:block}#jhint.blink{transform-origin:0;animation:.55s ease-in-out 3 jblink}@keyframes jblink{50%{transform:scale(1.18);box-shadow:0 0 0 3px #ffd23f,0 0 28px #ffd23fcc}}@media (height<=780px){.card{padding:18px 28px 22px}.card h1{font-size:44px}.card .sub{margin-bottom:10px}#play{margin:2px 0 12px;padding:6px 40px}.keys{gap:10px}.keys section{padding:10px 14px}.keys ul{gap:6px}.keys h2{margin-bottom:6px}}.playrow{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin:6px 0 18px;display:flex}.playrow #play{margin:0}.vol{color:#fff;cursor:pointer;background:#ffd23f1a;border:2px solid #ffd23f88;border-radius:12px;align-items:center;gap:16px;padding:12px 20px;font:700 19px Inter;display:inline-flex}.vol input{accent-color:#ffd23f;cursor:pointer;width:240px;height:22px}.vol b{color:#ffd23f;text-align:right;min-width:54px;font:800 20px Inter}@media (height<=780px){.playrow{margin:2px 0 12px}}.playrow .side{letter-spacing:1px;color:#ffd23f;cursor:pointer;background:#ffd23f22;border:2px solid #ffd23f;border-radius:8px;padding:12px 18px;font:400 20px Anton}.playrow .side:hover{background:#ffd23f44}
