@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/golos-text-cyrillic-ext-wght-normal-hICkpzq7.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/golos-text-cyrillic-wght-normal-mKek_fSS.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/golos-text-latin-ext-wght-normal-B-I5lbAQ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/golos-text-latin-wght-normal-BS5oQT7X.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Golos Text Variable,Arial,sans-serif;color:#edf0dd;background:#223329;font-synthesis:none;--ink: #edf0dd;--muted: #a6b3a0;--gold: #e3b366;--dark: #1d3028;--panel: #1d3028e0;--line: #8ca08040;--orange: #cb7946;--red: #d8553f}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#223329;touch-action:none;user-select:none;-webkit-user-select:none}button,select,input{font:inherit;color:inherit}#view{position:fixed;inset:0;width:100%;height:100%;display:block}#vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 160px 40px #d8553f;opacity:0;transition:opacity .35s}#vignette.on{opacity:.85;transition:none}#hud{position:fixed;inset:0;pointer-events:none}.status{position:absolute;left:max(16px,env(safe-area-inset-left));top:16px;width:min(300px,45vw);display:grid;gap:8px}.hp{position:relative;height:22px;border-radius:6px;background:#0f1a15b0;border:1px solid var(--line);overflow:hidden}.hp i{position:absolute;inset:0 auto 0 0;width:100%;background:linear-gradient(90deg,#b8472f,#e38a4a);transition:width .15s}.hp span{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:700;text-shadow:0 1px 2px #0008}.line{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;text-shadow:0 1px 3px #000a}.line span{font-size:26px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums}#metrics{position:absolute;right:max(16px,env(safe-area-inset-right));top:16px;display:grid;gap:3px;justify-items:end;font-size:12px;font-variant-numeric:tabular-nums}#metrics div{padding:3px 8px;border-radius:5px;background:#0f1a15b0}#metrics b{color:var(--gold);font-weight:600}#metrics .bad b{color:#ff8a70}#crosshair{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border:2px solid #f5f1dcd0;border-radius:50%;box-shadow:0 0 0 1px #0006;transition:border-color .08s,transform .08s}#crosshair i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#f5f1dc}#crosshair.lock{border-color:var(--red);transform:scale(.8)}#crosshair.lock i{background:var(--red)}#crosshair.fire{transform:scale(.7)}#banner{position:absolute;left:50%;top:22%;transform:translate(-50%);max-width:min(640px,calc(100vw - 32px));text-align:center;font-size:clamp(22px,4vw,40px);font-weight:800;text-shadow:0 2px 10px #000c;opacity:0;transition:opacity .3s}#banner.on{opacity:1}#banner small{display:block;font-size:.45em;font-weight:500;color:var(--ink);margin-top:6px}.dock{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:var(--panel);border:1px solid var(--line);pointer-events:auto;width:max-content;max-width:calc(100vw - 32px);flex-wrap:wrap;justify-content:center}#weapons{display:flex;gap:6px}#weapons button,.dock .ghost{border:1px solid var(--line);background:#ffffff0d;border-radius:8px;padding:8px 12px;cursor:pointer;min-height:40px}#weapons button kbd{font:inherit;font-size:11px;color:var(--muted);margin-right:6px}#weapons button.on{background:var(--gold);color:#1d2a22;border-color:var(--gold);font-weight:700}#weapons button.on kbd{color:#1d2a22a0}.dock .icon{width:40px;padding:0;font-size:18px}.trigger{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.meter{position:relative;width:110px;height:10px;border-radius:5px;background:#0f1a15;overflow:hidden}.meter i{position:absolute;inset:0 auto 0 0;width:0;background:var(--muted)}.meter.down i{background:var(--red)}.meter em{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);opacity:.7}.meter em+em{opacity:.35}.trigger b{width:34px;color:var(--ink);font-variant-numeric:tabular-nums}#pipWrap{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:84px;display:grid;gap:4px;justify-items:end}#pipWrap[hidden]{display:none}#pip,#cropView{border-radius:8px;border:1px solid var(--line);background:#0f1a15}#pip{width:min(320px,38vw)}#cropView{width:min(160px,20vw)}#start{position:fixed;inset:0;display:grid;place-items:center start;padding:16px clamp(16px,6vw,80px);background:linear-gradient(90deg,#16231ce6,#16231cb0 38%,#16231c10 70%);overflow-y:auto}#start[hidden]{display:none}.card{width:min(560px,100%);padding:28px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.kicker{margin:0;color:var(--gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase}h1{margin:6px 0 12px;font-size:clamp(36px,6.4vw,60px);line-height:.98;letter-spacing:-.01em}.lead{margin:0 0 14px;color:var(--ink);line-height:1.45}.tips{margin:0 0 18px;padding-left:20px;color:var(--muted);line-height:1.6}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button{flex:1 1 180px;min-height:48px;border-radius:10px;border:1px solid var(--line);background:#ffffff10;cursor:pointer;font-weight:600}.actions .primary{background:var(--gold);border-color:var(--gold);color:#1d2a22}.actions button:disabled{opacity:.5;cursor:progress}.status-line{min-height:1.4em;margin:12px 0 0;color:var(--gold)}.keys{margin:10px 0 0;font-size:12px;color:var(--muted);line-height:1.6}.field{display:grid;gap:6px;margin-bottom:14px;font-size:14px;color:var(--muted)}.field output{color:var(--ink);float:right}.field select{min-height:40px;border-radius:8px;border:1px solid var(--line);background:#0f1a15;padding:0 10px}.field input[type=range]{width:100%;accent-color:var(--gold)}.check{display:flex;gap:8px;align-items:center;margin-bottom:10px;font-size:14px}.check input{accent-color:var(--gold);width:18px;height:18px}dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);border-radius:14px;border:1px solid var(--line);background:#1d3028;color:var(--ink);padding:22px}dialog::backdrop{background:#0008}dialog h2{margin:0 0 16px}.note{font-size:12px;color:var(--muted)}@media(max-width:640px){.card{padding:20px}.trigger span{display:none}}.card .lead{font-size:19px;font-weight:600;color:#fff4dc}.arms{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:8px;color:var(--muted);font-size:14px;line-height:1.5}.arms b{color:var(--gold)}.tips-wrap{margin:0 0 16px;color:var(--muted);font-size:14px}.tips-wrap summary{cursor:pointer;margin-bottom:8px}.status .place{margin:0 0 6px;font-weight:700;font-size:15px;color:#fff4dc;text-shadow:0 1px 3px #0009}#caption{position:fixed;left:50%;bottom:9vh;transform:translate(-50%,12px);width:min(760px,calc(100vw - 32px));padding:16px 22px;border-radius:14px;background:#16231cd8;border:1px solid #e3b36655;color:#fff4dc;font-size:clamp(22px,3vw,32px);font-weight:700;text-align:center;opacity:0;pointer-events:none;transition:opacity .5s,transform .5s}#caption.on{opacity:1;transform:translate(-50%)}#caption small{display:block;margin-top:6px;font-size:15px;font-weight:500;line-height:1.45;color:var(--muted)}#citymap{position:fixed;inset:0;background:#070d1a;overflow:hidden}#citymap[hidden]{display:none}#mapCanvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}.map-head{position:absolute;left:20px;top:16px;max-width:min(520px,calc(100vw - 40px));padding:14px 18px;border-radius:14px;background:#0b1528cc;border:1px solid #ffffff1a;backdrop-filter:blur(8px);box-shadow:0 10px 40px #0008;color:#e8eefc;pointer-events:none}.map-head .kicker{color:#ffc15a}.map-head h2{margin:4px 0 6px;font-size:clamp(22px,3vw,30px)}.map-head p{margin:0;font-size:14px;color:#a9b7d6}.map-legend{position:absolute;left:20px;bottom:18px;display:flex;gap:16px;padding:8px 14px;border-radius:10px;background:#0b1528cc;border:1px solid #ffffff14;color:#c9d4ee;font-size:13px;pointer-events:none}.map-legend span:before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:50%;vertical-align:-1px}.map-legend .taken:before{background:#ffb83d;box-shadow:0 0 10px #ffb83d}.map-legend .freed:before{background:#4dff8e;box-shadow:0 0 10px #4dff8e}.map-pin{position:absolute;left:0;top:0;display:grid;justify-items:center;gap:1px;padding:6px 12px 7px;border-radius:10px;background:#0a1426d9;border:1px solid #ffb83d66;color:#f4f7ff;white-space:nowrap;cursor:pointer;pointer-events:auto;box-shadow:0 0 18px #ffb83d33;transition:border-color .2s,box-shadow .2s}.map-pin b{font-size:14px}.map-pin span{font-size:11px;color:#ffc86a}.map-pin.freed{border-color:#4dff8e66;box-shadow:0 0 18px #4dff8e33}.map-pin.freed span{color:#7dffab}.map-pin.hot{border-color:#fff;box-shadow:0 0 26px #ffd58a88}#mapCard{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:min(380px,calc(100vw - 40px));padding:20px 22px;border-radius:16px;background:#0b1528eb;border:1px solid #ffffff1f;backdrop-filter:blur(10px);box-shadow:0 16px 50px #000a;color:#eef3ff}#mapCard[hidden]{display:none}#mapCard h3{margin:4px 0 2px;font-size:26px}#mapCard .sub{margin:0 0 10px;color:#ffc15a;font-weight:600}#mapCard .text{margin:0 0 16px;line-height:1.5;color:#b7c3dd}#mapCard .state{margin:0;display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}#mapCard .state.taken{background:#ffb83d26;color:#ffc86a}#mapCard .state.freed{background:#4dff8e22;color:#7dffab}#mapCard .actions button{color:#e8eefc;border-color:#ffffff30;background:#ffffff0f}#mapCard .actions .primary{background:#ffb83d;border-color:#ffb83d;color:#1d1a12}@media(max-width:700px){#mapCard{inset:auto 12px 12px;width:auto;transform:none}.map-legend{display:none}.map-pin{padding:4px 8px}.map-pin b{font-size:12px}}
