:root{font-family:Inter,"Arial",sans-serif;color:#f2efd8;background:#141a15;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #c2bd9255;background:#18221dcf;border-radius:3px;min-height:42px;padding:10px 17px;touch-action:none}button:hover{background:#405447}button:active{transform:translateY(1px);background:#b6c799;color:#17221b}button:focus-visible{outline:2px solid #d9ebba}button:disabled{opacity:.5;cursor:default}#world{position:absolute;inset:0;width:100%;height:100%;outline:none}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 35%,#0a140d38 75%,#050c0880);box-shadow:inset 0 0 90px #09100d55}#damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px 35px #cb391b;opacity:0;transition:opacity .07s}header{position:absolute;top:max(22px,env(safe-area-inset-top));left:28px;right:28px;display:flex;align-items:flex-start;gap:30px;pointer-events:none;text-shadow:0 2px 7px #050b06}header button{pointer-events:auto;margin-left:auto;font-size:11px}#brand{display:flex;align-items:center;gap:10px}#brand>b{font-size:35px;border:1px solid #d4d8b278;width:46px;height:46px;text-align:center}#brand strong{font-size:14px;letter-spacing:3px;text-transform:uppercase}#brand small{display:block;font-size:9px;letter-spacing:2px;color:#ccd4b1;margin-top:5px}#mission{max-width:380px;padding-top:4px}#mission strong{font-size:13px;font-weight:500;display:block;letter-spacing:.4px;margin-top:8px}#remaining{display:block;font-size:11px;color:#b9c6a8;margin-top:6px}#sectors{display:flex;gap:5px}#sectors i{width:72px;height:3px;background:#73837055}#sectors i.current{background:#d0ce8e}#sectors i.done{background:#73d9ac}#squad{position:absolute;top:100px;left:28px;display:flex;gap:6px}#squad span{font-size:10px;padding:5px 9px;background:#17271caa;border-left:2px solid #bcb977}#crosshair,#hitmark{position:absolute;width:20px;height:20px;pointer-events:none;left:50%;top:46%;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px #000)}#crosshair{background:radial-gradient(circle,#fff6ba 0 1px,transparent 2px)}#crosshair i{position:absolute;background:#eaf3d4}#crosshair i:nth-child(1),#crosshair i:nth-child(2){width:1px;height:5px;left:9px}#crosshair i:nth-child(2){bottom:0}#crosshair i:nth-child(3),#crosshair i:nth-child(4){height:1px;width:5px;top:9px}#crosshair i:nth-child(4){right:0}#hitmark{font-size:38px;line-height:20px;text-align:center;color:#ffe0a2;opacity:0}#hint{position:absolute;left:50%;bottom:128px;transform:translateX(-50%);font-size:12px;text-align:center;color:#e5e8ca;text-shadow:0 2px 5px #000;max-width:480px;transition:opacity .4s;pointer-events:none}#toast{position:absolute;top:28%;left:50%;transform:translateX(-50%);font-size:18px;letter-spacing:3px;color:#c9ffde;text-shadow:0 0 20px #68ca9f;opacity:0;pointer-events:none}footer{position:absolute;left:28px;right:28px;bottom:52px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}#health-card{width:232px}#health-card>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1px}#hp{font-size:20px;font-weight:500}#health-track{height:4px;margin-top:7px;background:#07110d88}#health-track i{display:block;height:100%;background:#bec9a1;transition:width .15s}#role-row{display:flex;align-items:center;gap:10px;margin-top:10px}#role{font-size:11px;min-height:30px;padding:6px 10px;pointer-events:auto}#ability-state{font-size:10px;color:#d1d8b9}#ammo-card{text-align:right;text-shadow:0 2px 6px #000}#ammo{font-size:48px;font-weight:300;font-variant-numeric:tabular-nums}#ammo-max{font-size:16px;opacity:.55;margin-left:9px}#reload-state{display:block;height:18px;font-size:10px;letter-spacing:1px}#desktop-hints{position:absolute;bottom:18px;left:28px;right:28px;text-align:center;font-size:10px;color:#c0c7ad;letter-spacing:.1px;text-shadow:0 1px 4px #000}#equipment{position:absolute;right:28px;bottom:147px;display:flex;gap:6px}#equipment button{font-size:10px;min-height:33px;padding:7px 11px}#journal{position:absolute;right:28px;top:90px;color:#bbd2ac;font-size:9px;letter-spacing:1px}.stick{display:none}#upgrade-panel{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(640px,94vw);padding:24px;background:linear-gradient(120deg,#1d3025f5,#101c15f5);border:1px solid #aed4a678;box-shadow:0 15px 70px #030b09aa;text-align:center;z-index:8}#upgrade-kicker{font-size:10px;letter-spacing:3px;color:#92cd9d}h2{font-size:24px;margin:9px 0}#upgrade-panel p{font-size:11px;color:#acbba1}#upgrade-options{display:flex;gap:9px;margin-top:20px}#upgrade-options button{flex:1;text-align:left;padding:18px 13px;background:#52664422}#upgrade-options b{display:block;font-size:14px;margin-bottom:9px;color:#e1e5bd}#upgrade-options span{font-size:11px;line-height:1.6;color:#adbea6}#role-panel{position:absolute;left:28px;bottom:144px;background:#15271ff5;border:1px solid #829a7388;padding:18px;z-index:10;width:310px}#role-panel h3{font-size:15px;margin:0 0 12px}#role-options{display:grid;gap:8px}#role-options button{text-align:left;font-size:13px}#role-options small{display:block;font-size:10px;color:#b9c8a8;margin-top:6px}#result{position:absolute;inset:0;background:#07140dde;display:grid;place-items:center;z-index:20;backdrop-filter:blur(6px)}#result article{width:min(500px,90vw);text-align:center;border-top:1px solid #a0bc85;padding:36px 14px}#result-kicker{letter-spacing:5px;font-size:11px;color:#abb989}#result h1{font-size:42px;font-weight:400;margin:20px 0 12px}#result p{font-size:13px;color:#b9c7b0}#result-stats{display:flex;justify-content:center;gap:30px;margin:30px 0}#result-stats span{font-size:10px;line-height:1.8;color:#b2c3a3}#result-stats strong{display:block;font-size:27px;color:#edf1d4;font-weight:400}#retry{background:#c6d7ad;color:#112116;padding:14px 50px;border:0;margin-bottom:24px}#result-tip{display:block;font-size:10px;color:#8b9d85;line-height:1.7}#connection{position:absolute;z-index:30;inset:30% 20% auto;padding:20px;background:#13251dee;text-align:center}#connection span{display:block;margin-bottom:15px}[hidden]{display:none!important}
@media(max-width:650px){header{top:max(14px,env(safe-area-inset-top));left:16px;right:16px;gap:12px;flex-wrap:wrap}#brand>b{width:34px;height:34px;font-size:25px}#brand strong{font-size:11px;letter-spacing:2px}#brand small{font-size:7px;letter-spacing:1px}#mission{order:3;width:100%;max-width:none;margin-top:0}#mission strong{font-size:11px}#sectors i{width:43px}header button{font-size:9px;padding:8px 10px;min-height:32px}#squad{top:146px;left:16px;max-width:90%;flex-wrap:wrap}#squad span{font-size:8px;padding:4px 6px}#remaining{font-size:9px}#journal{top:auto;bottom:8px;right:16px;font-size:8px}footer{left:16px;right:16px;bottom:202px}#health-card{width:150px}#ammo{font-size:32px}#ammo-max{font-size:12px}#hp{font-size:16px}#health-label{font-size:9px}#role{font-size:9px;min-height:25px}#ability-state{font-size:8px}#hint{bottom:291px;font-size:10px;width:82%;max-width:320px}#equipment{bottom:150px;left:16px;right:16px;justify-content:center;gap:7px}#equipment button{font-size:10px;padding:9px 13px;min-height:36px}#desktop-hints{display:none}.touch .stick{display:block;position:absolute;bottom:25px;width:110px;height:110px;border:1px solid #d2debb55;border-radius:50%;background:#18332735;touch-action:none}.touch #move-stick{left:23px}.touch #aim-stick{right:23px}.stick i{position:absolute;width:40px;height:40px;left:34px;top:34px;background:#d0dbaf38;border:1px solid #d4e5b080;border-radius:50%;pointer-events:none}.stick span{position:absolute;width:100%;text-align:center;bottom:12px;font-size:9px;letter-spacing:1px;pointer-events:none}#upgrade-panel{top:40%;padding:17px}h2{font-size:21px}#upgrade-options{gap:7px;flex-direction:column;margin-top:13px}#upgrade-options button{padding:12px 15px}#upgrade-options b{font-size:12px;margin-bottom:4px}#upgrade-options span{font-size:10px}#role-panel{left:16px;bottom:255px;max-width:85vw}#result h1{font-size:32px}#toast{font-size:13px;width:90%;text-align:center;top:28%}#connection{inset:30% 8% auto}}
