:root{--bg: #171a12;--panel: #20241a;--panel2: #262b1f;--line: #3a4030;--ink: #cfc9a4;--dim: #8a8a6e;--player: #6fa3c7;--player-dim: #3d637f;--enemy: #c05b33;--enemy-dim: #7a3a22;--ok: #8aa86a;--warn: #d0a848;--bad: #c0533f;--money: #c9b458}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;-webkit-font-smoothing:antialiased;overflow:hidden}*{box-sizing:border-box}.strike-air{stroke-dasharray:8 6;animation:dash 1.6s linear forwards}.strike-rocket{stroke-dasharray:2 5;animation:dash 1.2s linear forwards}.strike-ground{stroke-dasharray:3 4;animation:dash 1.6s linear forwards}.hit-pulse{animation:pulse 1.6s ease-out forwards;transform-origin:center;transform-box:fill-box}@keyframes dash{0%{opacity:1;stroke-dashoffset:60}to{opacity:0;stroke-dashoffset:0}}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}@keyframes reachpulse{0%,to{opacity:.25}50%{opacity:.6}}.reach{animation:reachpulse 1.6s ease-in-out infinite}.fx-label{animation:fxlabel 2.3s ease-out forwards}@keyframes fxlabel{0%{opacity:0;transform:translateY(6px)}12%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.banner{animation:bannerIn .3s ease-out}@media (prefers-reduced-motion: reduce){.strike-air,.strike-rocket,.strike-ground,.hit-pulse,.reach,.fx-label,.banner{animation:none;opacity:.6}}button{font-family:inherit}button:focus-visible{outline:2px solid var(--warn);outline-offset:1px}.cityg{cursor:pointer}.cityg:hover circle.body{stroke-width:3}.btn{background:var(--panel2);border:1px solid var(--line);color:var(--ink);font-family:inherit;font-size:11px;padding:5px 8px;cursor:pointer;border-radius:2px;letter-spacing:.02em}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-accent{background:var(--player-dim);border-color:var(--player);font-weight:700;padding:7px 14px;color:var(--ink)}.btn-ok{border-color:var(--ok);color:var(--ok)}.btn-warn{border-color:var(--warn)}.btn-money{border-color:var(--money)}
