*{box-sizing:border-box} :root{color-scheme:dark;--bg:#101713;--ink:#f4f1e6;--muted:#8e9b8d;--orange:#f5a548;--line:#f4f1e61d;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#354335 0,#18241d 44%,#0e1512 85%)}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible{outline:2px solid var(--orange);outline-offset:5px}button:disabled{opacity:.45;cursor:default}button,canvas{-webkit-tap-highlight-color:transparent}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.page-noise{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{position:fixed;inset:0 0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;z-index:4}.brand{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.16em;font-weight:700}.brand svg{width:30px;height:34px;stroke:var(--orange);fill:none;stroke-width:1.6}.brand span{font:10px monospace;color:var(--muted);display:block;margin-top:4px;letter-spacing:.13em}.connection{font:10px monospace;letter-spacing:.1em;color:var(--muted);display:flex;align-items:center;gap:9px}.connection i{width:5px;height:5px;border-radius:50%;background:#acc580;box-shadow:0 0 10px #acc58066}.layout{display:grid;grid-template-columns:1fr min(49.6vh,480px) 1fr;align-items:center;min-height:100dvh;gap:clamp(25px,5vw,90px);max-width:1390px;margin:auto;padding:26px 56px}.left-rail{justify-self:end;width:230px}.eyebrow{font:10px monospace;letter-spacing:.18em;color:var(--orange);margin-bottom:22px;display:flex;align-items:center;gap:9px}.eyebrow:before{content:'';width:25px;height:1px;background:var(--orange)}.left-rail h1{font-size:68px;line-height:1.13;font-weight:900;letter-spacing:-.045em;margin:0 0 23px}.left-rail h1 span{display:block;color:#b8c1ac}.left-rail p{color:#a2ad9a;font-size:12px;line-height:1.9;margin:0;max-width:210px}.operation{margin-top:54px;padding-top:21px;border-top:1px solid var(--line);font:10px monospace;color:#8d9a88;letter-spacing:.08em;display:flex;justify-content:space-between}.operation b{color:var(--ink);font-weight:400}.right-rail{width:220px}.rail-label{font:10px monospace;color:#9da791;letter-spacing:.15em;margin-bottom:23px}.rail-item{display:flex;gap:13px;margin:0 0 24px}.rail-item .num{font:11px monospace;color:var(--orange);padding-top:3px}.rail-item strong{font-size:12px;font-weight:600;display:block;margin-bottom:7px}.rail-item p{font-size:11px;line-height:1.8;color:#8e9a87;margin:0}.keyline{border-top:1px solid var(--line);padding-top:23px;margin-top:31px;display:flex;gap:7px;align-items:center;font-size:10px;color:#96a08e}.key{font:10px monospace;border:1px solid #ffffff28;border-radius:3px;padding:4px 6px;color:#c7d0bd;box-shadow:0 2px 0 #ffffff0a}.best{margin-top:26px;font-size:11px;color:#8b9883}.best b{color:#cfdbc1;font-family:monospace;margin-left:6px}.frame{position:relative;width:100%;aspect-ratio:8/15;max-height:calc(100dvh - 52px);overflow:hidden;background:#44493b;border:1px solid #e4d7af36;border-radius:12px;box-shadow:0 25px 90px #0008,0 0 0 7px #ffffff02;touch-action:none;isolation:isolate}.frame:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 65px #131b1444;pointer-events:none;z-index:1;border-radius:inherit}canvas{position:absolute;width:100%;height:100%;inset:0;display:block;touch-action:none}.hud{position:absolute;top:0;left:0;right:0;padding:22px 20px 50px;background:linear-gradient(#0c1615ec 0%,#15231bc4 66%,transparent);z-index:3;pointer-events:none}.hud-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mission{font:10px monospace;letter-spacing:.14em;color:#b9c8ad}.mission b{display:block;margin-top:6px;font-family:inherit;font-size:13px;letter-spacing:.04em;color:#fff0d6}.hud-actions{display:flex;gap:6px;pointer-events:auto}.icon-button{background:#152119a8;border:1px solid #e5eaca2a;width:33px;height:33px;display:grid;place-items:center;border-radius:5px;transition:background .2s}.icon-button:hover{background:#354330}.progress-track{height:3px;background:#ffffff24;margin-top:17px;overflow:hidden}.progress-track div{height:100%;background:#edb86e;width:0;transition:width .15s}.hud-stats{display:flex;justify-content:space-between;margin-top:9px;font-size:10px;color:#d3dbc5;font-variant-numeric:tabular-nums}.hud-stats b{color:white;font-size:12px;margin-left:4px}.game-bottom{position:absolute;left:0;bottom:0;right:0;background:linear-gradient(transparent,#101b19db 35%,#0e1a18);padding:35px 20px 19px;z-index:3;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.loadout{display:flex;gap:10px;align-items:center}.weapon-mark{width:32px;height:32px;display:grid;place-items:center;background:#f6ac4e19;border:1px solid #e9bc6255;font-size:19px;color:#f8b763}.loadout small{display:block;color:#8d9d89;font:9px monospace;letter-spacing:.13em}.loadout strong{display:block;margin-top:4px;font-size:12px;color:#eceddc}.member-count{font:11px monospace;display:flex;align-items:center;gap:8px;color:#afc7a0}.member-count b{font-size:24px;color:#edf4d9;line-height:1}.member-count span{font-size:9px;color:#9ba98b;display:block}.overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(transparent 23%,#0c1918a8 46%,#0c1716fb 76%);padding:34px 28px 30px}.overlay.hidden,.hidden{display:none!important}.start-panel{width:100%;text-align:left}.sector{font:10px monospace;letter-spacing:.18em;color:#e0c59c;margin-bottom:15px;display:flex;gap:8px;align-items:center}.sector i{display:inline-block;width:6px;height:6px;background:var(--orange)}.start-panel h2{font-size:36px;line-height:1.32;letter-spacing:-.05em;margin:0 0 13px;font-weight:850}.start-panel h2 span{color:#e3b774}.intro{font-size:12px;color:#b2bba6;line-height:1.9;margin:0 0 22px}.difficulty{display:flex;gap:7px;margin-bottom:14px}.difficulty button{font-size:10px;padding:8px 12px;border:1px solid #ffffff22;border-radius:3px;background:transparent;color:#a8b59b}.difficulty button.selected{border-color:#f3b96377;color:#f2cc8e;background:#e4a04b0c}.primary{width:100%;background:var(--orange);border-radius:4px;color:#1e261c;font-size:14px;letter-spacing:.08em;font-weight:800;padding:16px 17px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 5px 24px #eca23c14;transition:background .2s,transform .2s}.primary:hover{background:#ffc475;transform:translateY(-1px)}.primary span{font-size:20px;line-height:1}.start-foot{display:flex;justify-content:space-between;margin-top:14px;font-size:9px;color:#8b9a86}.start-foot b{font-weight:400;color:#c6d6b6}.modal-overlay{background:#0b1419b8;backdrop-filter:blur(8px);align-items:center}.modal-panel{width:100%;border:1px solid #e8e8cf2b;background:#17231ff2;padding:27px;border-radius:7px;box-shadow:0 25px 50px #0004}.modal-panel h2{font-size:27px;margin:0 0 12px}.modal-panel p{font-size:12px;line-height:1.8;color:#a8b59e}.modal-panel .eyebrow{font-size:9px;margin-bottom:13px}.secondary{width:100%;padding:13px;border:1px solid #cbd5bc35;border-radius:4px;background:transparent;margin-top:9px;font-size:12px;color:#bfccb1}.secondary:hover{background:#ffffff08}.switch-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#b4c2a8;padding:18px 0;border-top:1px solid #cbd5bc22;margin-top:17px;gap:10px}.switch-row input{accent-color:#f5a548;width:17px;height:17px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 10px;padding:20px 0;margin:15px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-grid small{display:block;color:#8fa185;font-size:10px}.result-grid b{display:block;font:24px monospace;margin-top:6px;color:#f2e8d1}.result-grid .text-stat{font:12px inherit;padding-top:5px;font-size:12px}.toast{position:absolute;top:24%;left:12px;right:12px;z-index:4;text-align:center;pointer-events:none;transition:opacity .3s,transform .3s;opacity:0;transform:translateY(-6px);text-shadow:0 2px 8px #000}.toast.show{opacity:1;transform:translateY(0)}.toast strong{font-size:21px;color:#ffdc91;font-weight:800;display:block}.toast small{font-size:10px;color:#fff3d6;display:block;margin-top:7px}.toast.warning strong{color:#ffb298}.countdown{position:absolute;inset:0;z-index:4;display:grid;place-items:center;pointer-events:none;background:#121b1422;color:#fff0cc;font:700 86px monospace;text-shadow:0 5px 25px #0007}.drag-hint{position:absolute;bottom:15%;left:0;right:0;text-align:center;z-index:3;color:#f5e4bb;font-size:11px;pointer-events:none;text-shadow:0 2px 8px #000}.drag-hint span{display:block;font-size:25px;letter-spacing:.4em;margin-bottom:7px;color:#f3d79a;animation:guide 2s ease-in-out infinite}@keyframes guide{50%{transform:translateX(12px)}}.boss-hud{position:absolute;top:103px;left:26px;right:26px;z-index:3;pointer-events:none}.boss-hud label{font-size:11px;display:flex;justify-content:space-between;color:#fff1de;font-weight:700;text-shadow:0 1px 5px #000}.boss-hud label b{font:10px monospace;color:#fac6b9}.boss-hud .bar{margin-top:8px;background:#351e1d;height:6px;border:1px solid #ff8a7144}.boss-hud .bar div{height:100%;background:#dc6847;width:100%;transition:width .12s}.page-footer{position:fixed;bottom:23px;left:42px;font:9px monospace;color:#65735f;letter-spacing:.1em}.status-copy{color:#b7c8a6!important}.help-line{margin:16px 0;color:#c1cbb8;font-size:12px;line-height:1.9}.help-line b{color:#f2bb6e}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1100px){.layout{gap:26px;padding:26px}.left-rail{width:180px}.left-rail h1{font-size:54px}.right-rail{width:180px}.topbar{padding:0 26px}.page-footer{left:26px}}@media(max-width:850px){.layout{grid-template-columns:min(52vh,480px);justify-content:center;padding:13px;min-height:100dvh}.left-rail,.right-rail,.topbar,.page-footer{display:none}.frame{max-height:calc(100dvh - 26px)}}@media(max-width:520px){.layout{display:block;padding:0;height:100dvh;min-height:0}.frame{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;aspect-ratio:auto}.hud{padding-top:max(19px,env(safe-area-inset-top));padding-left:20px;padding-right:20px}.game-bottom{padding-bottom:max(18px,env(safe-area-inset-bottom))}.overlay{padding-bottom:max(25px,env(safe-area-inset-bottom));padding-left:28px;padding-right:28px}.start-panel h2{font-size:38px}.modal-panel{max-width:360px}.boss-hud{top:105px}}@media(max-height:700px){.start-panel h2{font-size:30px}.intro{margin-bottom:14px;font-size:11px}.overlay{padding-bottom:20px}.start-foot{margin-top:10px}.sector{margin-bottom:9px}.difficulty{margin-bottom:10px}.primary{padding:13px 16px}.modal-panel{padding:20px}.result-grid{gap:10px;padding:14px 0;margin:10px 0}}
.briefing{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#ffffff08;border:1px solid #bbccb32f;padding:12px;border-radius:4px;margin:0 0 12px}.briefing b{font-size:12px;display:block}.briefing small{display:block;font-size:10px;color:#a9b69d;margin-top:5px}.briefing strong{font-size:10px;color:#f5bd75}.skill-button{pointer-events:auto;border:1px solid #edb66b90;background:#2a3d30ef;border-radius:5px;padding:10px 7px;font-size:10px;min-width:70px;box-shadow:0 0 16px #e2a04c11}.skill-button small{display:block;font:8px monospace;color:#e3c693;margin-top:4px}.skill-button:disabled{opacity:.55}.game-bottom{gap:8px}.member-count{gap:5px}.member-count b{font-size:22px}.weapon-mark{display:none}.loadout{min-width:105px}.loadout small{font-size:8px}.loadout strong{font-size:11px}.catalog{position:absolute;inset:0;z-index:9;background:#101d19f7;backdrop-filter:blur(12px);display:flex;flex-direction:column;padding:24px 18px 18px}.catalog header{display:flex;justify-content:space-between;align-items:center;padding-bottom:19px}.catalog header small{font:9px monospace;letter-spacing:.18em;color:#bd9d6d}.catalog h2{font-size:21px;margin:7px 0 0}.catalog-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.catalog-tabs button{padding:11px 2px;font-size:11px;background:#ffffff08;border:1px solid #ffffff18;border-radius:3px;color:#a8b79f}.catalog-tabs button.selected{color:#f5c582;border-color:#e5aa6088;background:#e5aa6012}.catalog-tabs small{font:9px monospace;opacity:.65}.catalog-note{font-size:10px;color:#8fa286;line-height:1.7;margin:13px 0 12px}.catalog-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px;scrollbar-width:thin;scrollbar-color:#657b57 transparent}.catalog-card{position:relative;min-height:122px;padding:12px 10px;background:linear-gradient(135deg,#28392caa,#192820);border:1px solid #c4d1b725;border-radius:4px;text-align:left;overflow:hidden}.catalog-card.selected{border-color:#f3b96d;background:linear-gradient(135deg,#534b2b,#28342b)}.catalog-card .index{font:9px monospace;letter-spacing:.08em;color:#b6c3a4}.catalog-card h3{font-size:12px;color:#e7eddc;margin:7px 0 6px}.catalog-card p{margin:0;font-size:10px;color:#a6b69c;line-height:1.6}.catalog-card .tag{color:#f0c58a;font:9px monospace;margin-top:9px;display:block}.catalog-card img{height:73px;max-width:90px;object-fit:contain;display:block;margin:2px auto 10px;image-rendering:pixelated}.catalog-card .gun-img{height:40px;margin:3px auto 14px;width:95px;max-width:none}.catalog-card.enemy{cursor:default}.catalog-card .check{position:absolute;top:8px;right:8px;color:#f8bd70;font-size:12px}.catalog footer{padding-top:14px}.catalog footer>span{font-size:10px;color:#aebb9f;display:block;margin-bottom:10px}.catalog .primary{padding:13px 14px;font-size:12px}.start-panel .intro{margin-bottom:15px}.start-panel h2{font-size:33px}.start-foot{font-size:8px}.frame canvas{image-rendering:pixelated}.stars{color:#eec06b!important;letter-spacing:.1em}.modal-panel{max-height:95%;overflow-y:auto}.help-line{font-size:11px;margin:12px 0}@media(max-height:740px){.start-panel h2{font-size:27px}.start-panel .intro{font-size:10px;margin-bottom:10px}.briefing{padding:9px}.sector{margin-bottom:9px}.overlay{padding:20px}.start-foot{margin-top:10px}.catalog{padding:17px 14px}.catalog header{padding-bottom:13px}}
