:root{--ink:#04070a;--ink-2:#080d12;--paper:#dce8eb;--muted:#7f969d;--dim:#43535a;--cyan:#78e8ff;--cyan-hard:#21d7ff;--cyan-deep:#0d6d80;--amber:#ffb257;--amber-hard:#ff8a1f;--red:#ff3f45;--green:#8dffb0;--line:#90d1de38;--line-hard:#90d1de73;--font:"Bahnschrift", "DIN Alternate", "Segoe UI", "Microsoft YaHei", sans-serif;--mono:"Cascadia Mono", "Consolas", "SFMono-Regular", monospace;--ease:cubic-bezier(.19, 1, .22, 1)}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#020406;width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font);color:var(--paper);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:default}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}#app{position:fixed;inset:0;overflow:hidden}#game{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.screen-noise,.screen-scanlines{pointer-events:none;z-index:55;position:absolute;inset:0}.screen-noise{opacity:.055;mix-blend-mode:overlay;background-image:repeating-radial-gradient(circle at 17% 32%,#0000 0,#fff6 .7px,#0000 1.1px 4px),repeating-radial-gradient(circle at 83% 71%,#0000 0,#ffffff59 .6px,#0000 1px 5px);background-size:133px 131px,177px 181px;animation:.22s steps(2,end) infinite noiseShift}.screen-scanlines{opacity:.18;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 3px,#0000001f 4px)}@keyframes noiseShift{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-1%,-2%)}to{transform:translate(2%)}}.damage-vignette{pointer-events:none;z-index:56;opacity:0;mix-blend-mode:screen;background:radial-gradient(#0000 30%,#ff161a2e 74%,#ff0a0f9e 100%),linear-gradient(90deg,#ff14192e,#0000 22% 78%,#ff14192e);transition:opacity .18s ease-out;position:absolute;inset:0}.low-health{pointer-events:none;z-index:54;opacity:0;background:radial-gradient(#0000 44%,#6e000047 78%,#200000bd 100%);animation:2.2s ease-in-out infinite lowHealthPulse;position:absolute;inset:0}@keyframes lowHealthPulse{0%,to{opacity:.5}50%{opacity:1}}.fader{z-index:200;pointer-events:none;opacity:1;transition:opacity .9s var(--ease);background:#010203;position:absolute;inset:0}.fader.clear{opacity:0}.boot-panel{z-index:150;transition:opacity .8s var(--ease), visibility .8s;background:radial-gradient(at 50% 60%,#0e252da6,#0000 55%),linear-gradient(#030609,#010203 70%);flex-direction:column;justify-content:center;padding:0 8vw;display:flex;position:absolute;inset:0}.boot-panel.done{opacity:0;visibility:hidden}.boot-grid{opacity:.14;background-image:linear-gradient(#56bed259 1px,#0000 1px),linear-gradient(90deg,#56bed259 1px,#0000 1px);background-size:8vw 8vw;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 46% 55%,#000 10%,#0000 68%);mask-image:radial-gradient(at 46% 55%,#000 10%,#0000 68%)}.boot-grid:after{content:"";background:linear-gradient(110deg,#0000 44%,#78e8ff26 50%,#0000 56%);animation:4s linear infinite bootSweep;position:absolute;inset:0}@keyframes bootSweep{0%{transform:translate(-60%)}to{transform:translate(60%)}}.boot-content{width:min(620px,90vw);position:relative}.boot-kicker{font-family:var(--mono);letter-spacing:.26em;color:var(--cyan);align-items:center;gap:10px;margin-bottom:22px;font-size:10px;display:flex}.pulse-dot{background:var(--cyan-hard);width:6px;height:6px;box-shadow:0 0 12px var(--cyan-hard);animation:1.1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.15}}.boot-logo{letter-spacing:.04em;color:#e7f8fb;font-size:clamp(46px,8vw,92px);font-weight:700;line-height:.82}.boot-logo span{letter-spacing:.58em;color:var(--cyan);margin-top:10px;margin-left:.16em;font-size:.31em;display:block}.boot-loadbar{background:#78e8ff24;height:2px;margin-top:50px;position:relative;overflow:hidden}.boot-loadbar i{background:linear-gradient(90deg, var(--cyan-deep), var(--cyan), #fff);width:0%;height:100%;box-shadow:0 0 18px var(--cyan);transition:width .3s var(--ease);display:block}.boot-meta{font-family:var(--mono);letter-spacing:.15em;color:var(--muted);justify-content:space-between;margin-top:12px;font-size:10px;display:flex}.boot-meta span:last-child{color:var(--cyan)}.boot-detail{font-family:var(--mono);color:#3d555c;letter-spacing:.18em;margin-top:8px;font-size:8px}.boot-footer{font-family:var(--mono);letter-spacing:.16em;color:#354a50;justify-content:space-between;font-size:8px;display:flex;position:absolute;bottom:26px;left:8vw;right:8vw}.menu{z-index:100;cursor:default;background:linear-gradient(90deg,#020507e0 0%,#0205079e 42%,#0205071f 70%,#02050799 100%),linear-gradient(#020406b8,#0000 24% 68%,#010203e0);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) 300px;gap:12px 4vw;padding:30px 4.5vw 24px;display:grid;position:absolute;inset:0}.menu:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 calc(4.5vw - 1px),#78e8ff0f calc(4.5vw - 1px) 4.5vw);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 74%);mask-image:linear-gradient(90deg,#000,#0000 74%)}.menu-top{z-index:2;grid-column:1/-1;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.brand{align-items:center;gap:13px;display:flex}.brand-mark{border:1px solid var(--line-hard);width:30px;height:30px;position:relative;transform:rotate(45deg)}.brand-mark:before,.brand-mark:after{content:"";background:var(--cyan);position:absolute}.brand-mark:before{width:10px;height:1px;box-shadow:0 10px 0 var(--cyan);top:9px;left:9px}.brand-mark:after{width:1px;height:10px;box-shadow:10px 0 0 var(--cyan);top:9px;left:9px}.brand b{letter-spacing:.22em;color:#c7e3e8;font-size:11px;font-weight:600;display:block}.brand small{font-family:var(--mono);letter-spacing:.2em;color:#56707a;margin-top:4px;font-size:7px;display:block}.menu-top-right{text-align:right;font-family:var(--mono);letter-spacing:.14em;color:#5c747c;align-items:center;gap:16px;font-size:8px;display:flex}.tag{color:#ff7d82;letter-spacing:.22em;background:#ff3f450f;border:1px solid #ff3f4566;padding:5px 8px 4px;font-size:8px}.menu-main{z-index:2;align-self:center;max-width:780px;padding-top:1vh;position:relative}.menu-eyebrow{font-family:var(--mono);letter-spacing:.28em;color:var(--cyan);align-items:center;gap:12px;margin-bottom:12px;font-size:9px;display:flex}.menu-eyebrow span{background:var(--cyan);width:40px;height:1px;box-shadow:0 0 10px var(--cyan)}.title-glitch{letter-spacing:-.025em;color:#eaf8fb;text-shadow:0 0 60px #4ecee61f;margin:0;font-size:clamp(66px,10.4vw,164px);font-weight:700;font-stretch:75%;line-height:.76;position:relative}.title-glitch:before,.title-glitch:after{content:attr(data-text);pointer-events:none;width:100%;position:absolute;top:0;left:0;overflow:hidden}.title-glitch:before{color:#2adaff59;clip-path:inset(18% 0 62%);animation:7.2s infinite glitchA;transform:translate(-2px)}.title-glitch:after{color:#ff5c2c42;clip-path:inset(62% 0 9%);animation:6.3s infinite glitchB;transform:translate(2px)}@keyframes glitchA{0%,88%,to{opacity:0;transform:translate(0)}89%{opacity:.8;transform:translate(-5px)}91%{opacity:.4;transform:translate(3px)}93%{opacity:0;transform:translate(0)}}@keyframes glitchB{0%,84%,to{opacity:0;transform:translate(0)}85%{opacity:.7;transform:translate(4px)}87%{opacity:.3;transform:translate(-3px)}89%{opacity:0;transform:translate(0)}}.title-sub{letter-spacing:.42em;color:#9bb3b9;align-items:baseline;gap:16px;margin-top:10px;font-size:clamp(17px,2.1vw,28px);font-weight:300;display:flex}.title-sub em{color:var(--amber);letter-spacing:.45em;text-shadow:0 0 26px #ff8a1f59;font-style:normal;font-weight:600}.title-cn{letter-spacing:1.2em;color:#5c747c;margin:8px 0 0;font-size:11px}.brief{border-left:1px solid #78e8ff52;max-width:560px;margin-top:4.2vh;padding-left:18px;position:relative}.brief:before{content:"";background:var(--cyan);width:3px;height:22px;box-shadow:0 0 12px var(--cyan);position:absolute;top:0;left:-2px}.brief-index{font-family:var(--mono);letter-spacing:.22em;color:var(--cyan);font-size:8px}.brief-index b{color:var(--paper);margin-left:6px}.brief p{color:#9db1b7;letter-spacing:.05em;margin:10px 0 14px;font-size:12px;line-height:1.9}.brief-stats{gap:34px;display:flex}.brief-stats div{flex-direction:column;gap:3px;display:flex}.brief-stats span{font-family:var(--mono);color:#52676e;letter-spacing:.2em;font-size:7px}.brief-stats b{font-family:var(--mono);color:#b9cfd4;letter-spacing:.1em;font-size:9px;font-weight:400}.brief-stats b.warn{color:var(--amber)}.menu-actions{align-items:center;gap:22px;margin-top:4vh;display:flex}.btn-primary{color:#041217;text-align:left;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));min-width:220px;height:58px;transition:filter .2s, transform .2s var(--ease);background:linear-gradient(105deg,#bdeff9,#6cddf5 55%,#29bfe4);border:0;padding:0 26px;position:relative;overflow:hidden;box-shadow:0 0 40px #32cfeb38}.btn-primary:hover{filter:brightness(1.14);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-primary .btn-label{letter-spacing:.16em;font-size:17px;font-weight:700;line-height:1;display:block}.btn-primary .btn-sub{font-family:var(--mono);letter-spacing:.34em;opacity:.6;margin-top:6px;font-size:7px;display:block}.btn-glint{animation:btnGlint 4.5s var(--ease) infinite;background:linear-gradient(110deg,#0000 38%,#fffc 50%,#0000 62%);position:absolute;inset:0;transform:translate(-130%)}@keyframes btnGlint{0%,72%{transform:translate(-130%)}88%,to{transform:translate(130%)}}.btn-primary.compact{min-width:190px;height:50px}.menu-hint{font-family:var(--mono);letter-spacing:.12em;color:#50666e;font-size:8px}.menu-side{z-index:2;border-left:1px solid var(--line);align-self:center;max-width:300px;padding-left:22px;position:relative}.side-label{font-family:var(--mono);letter-spacing:.26em;color:var(--cyan);opacity:.75;font-size:7px}.loadout-card{border:1px solid var(--line);background:linear-gradient(160deg,#0c1a20c7,#04090c99);margin-top:14px;padding:14px;position:relative;overflow:hidden}.loadout-card:after{content:"";border:1px solid #78e8ff1f;width:100px;height:100px;position:absolute;top:-30px;right:-30px;transform:rotate(45deg)}.loadout-weapon svg{fill:#78e8ff14;stroke:#81ddef;stroke-width:1.2px;filter:drop-shadow(0 0 6px #78e8ff40);width:100%;height:76px}.loadout-name{letter-spacing:.12em;color:#c4dce1;margin-top:6px;font-size:11px}.loadout-name b{color:var(--cyan);font-weight:600}.loadout-meta{font-family:var(--mono);color:#647c84;letter-spacing:.08em;justify-content:space-between;margin-top:8px;font-size:7px;display:flex}.side-divider{background:var(--line);height:1px;margin:22px 0}.signal-bars{align-items:flex-end;gap:3px;height:24px;margin-top:12px;display:flex}.signal-bars i{background:linear-gradient(to top, var(--cyan-deep), var(--cyan));opacity:.8;flex:1;animation:2.3s ease-in-out infinite signal}.signal-bars i:first-child{height:22%;animation-delay:.1s}.signal-bars i:nth-child(2){height:38%;animation-delay:.3s}.signal-bars i:nth-child(3){height:31%;animation-delay:.7s}.signal-bars i:nth-child(4){height:61%;animation-delay:.2s}.signal-bars i:nth-child(5){height:54%;animation-delay:.9s}.signal-bars i:nth-child(6){height:78%;animation-delay:.4s}.signal-bars i:nth-child(7){height:70%;animation-delay:.6s}.signal-bars i:nth-child(8){height:94%;animation-delay:.5s}@keyframes signal{0%,to{opacity:.35;transform:scaleY(.72)}50%{opacity:.95;transform:scaleY(1)}}.side-warning{font-family:var(--mono);color:#ff7b80;letter-spacing:.2em;margin-top:8px;font-size:7px}.menu-controls{grid-template-columns:1fr 1fr;gap:8px 14px;display:grid}.menu-controls div{color:#758c93;align-items:center;gap:8px;font-size:9px;display:flex}kbd{min-width:25px;font-family:var(--mono);color:#b8d0d5;text-align:center;background:#0c161bcc;border:1px solid #8bbec952;border-radius:1px;padding:3px 5px;font-size:7px;display:inline-block;box-shadow:inset 0 -1px #0006}.menu-footer{font-family:var(--mono);letter-spacing:.13em;color:#34484e;z-index:2;grid-column:1/-1;justify-content:space-between;font-size:7px;display:flex;position:relative}.fps-inline i{background:var(--green);width:5px;height:5px;box-shadow:0 0 8px var(--green);border-radius:50%;margin-right:5px;animation:2s steps(2,end) infinite blink;display:inline-block}.hud{z-index:60;pointer-events:none;font-family:var(--font);position:absolute;inset:0}.hud:before{content:"";background:radial-gradient(#0000 52%,#00050847 100%);position:absolute;inset:0}.compass{width:380px;height:38px;position:absolute;top:20px;left:50%;overflow:hidden;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}.compass-strip{white-space:nowrap;will-change:transform;height:20px;position:absolute;top:8px;left:0}.compass-tick{background:#c4e8ee5c;width:1px;height:4px;position:absolute;top:12px}.compass-tick.major{background:#c4e8eebf;height:8px}.compass-label{font-family:var(--mono);letter-spacing:.1em;color:#d5f4f9d1;font-size:8px;position:absolute;top:0;transform:translate(-50%)}.compass-label.cardinal{color:var(--cyan);font-size:10px;font-weight:700}.compass-notch{background:var(--cyan);width:1px;height:7px;box-shadow:0 0 8px var(--cyan);position:absolute;top:0;left:50%}.compass-center{background:#fff;width:3px;height:3px;position:absolute;top:5px;left:50%;transform:translate(-50%)rotate(45deg)}.compass-objective{color:var(--amber);text-shadow:0 0 8px var(--amber);font-size:8px;transition:left .15s linear;position:absolute;top:22px;left:50%;transform:translate(-50%)}.objective-panel{border-left:2px solid var(--cyan);filter:drop-shadow(0 2px 10px #000000b3);width:300px;padding-left:14px;position:absolute;top:28px;left:34px}.objective-head{font-family:var(--mono);letter-spacing:.22em;color:#7cbecb;align-items:center;gap:7px;font-size:7px;display:flex}.objective-head i{color:#52676e;margin-left:auto;font-style:normal}.objective-diamond{background:var(--cyan);width:5px;height:5px;box-shadow:0 0 8px var(--cyan);transform:rotate(45deg)}.objective-title{letter-spacing:.1em;color:#e2f4f7;text-shadow:0 0 14px #4dcae233;margin-top:7px;font-size:16px;font-weight:600}.objective-sub{letter-spacing:.05em;color:#839aa1;margin-top:4px;font-size:9px}.objective-progress{background:#78e8ff1f;width:210px;height:2px;margin-top:9px;overflow:hidden}.objective-progress i{background:var(--cyan);width:0%;height:100%;box-shadow:0 0 10px var(--cyan);transition:width .35s var(--ease);display:block}.killfeed{flex-direction:column;align-items:flex-end;gap:5px;display:flex;position:absolute;top:30px;right:34px}.kill-item{font-family:var(--mono);letter-spacing:.1em;color:#b8d6dc;animation:feedIn .28s var(--ease) both;background:linear-gradient(90deg,#0000,#040b0eb3);align-items:center;gap:8px;padding:5px 9px;font-size:8px;display:flex}.kill-item .k-icon{color:var(--amber);font-size:11px}.kill-item em{color:var(--amber);font-style:normal}.kill-item .k-score{color:#61777e}@keyframes feedIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.alert-chip{font-family:var(--mono);letter-spacing:.18em;color:var(--amber);background:#230f048c;border:1px solid #ff8a1f66;padding:7px 15px;font-size:8px;animation:1.2s ease-in-out infinite alertPulse;position:absolute;top:92px;left:50%;transform:translate(-50%)}.alert-chip span{color:#fff;margin-right:6px}@keyframes alertPulse{50%{border-color:#ff8a1fbf;box-shadow:0 0 24px #ff5c2338}}.boss-bar{width:min(620px,52vw);position:absolute;top:74px;left:50%;transform:translate(-50%)}.boss-name{align-items:baseline;gap:12px;margin-bottom:7px;display:flex}.boss-name span{letter-spacing:.32em;color:#ffd6a2;text-shadow:0 0 24px #ff5c2359;font-size:17px;font-weight:700}.boss-name small{font-family:var(--mono);letter-spacing:.22em;color:#b47854;font-size:7px}.boss-track{background:#ff823c1f;border:1px solid #ff823c38;height:5px;position:relative}.boss-track i{background:linear-gradient(90deg,#ff8a1f,#ffd08a);width:100%;height:100%;transition:width .25s ease-out;display:block;box-shadow:0 0 20px #ff8a1f80}.boss-seg{background:#04070acc;width:1px;position:absolute;top:0;bottom:0}.boss-seg:nth-child(2){left:33.3%}.boss-seg:nth-child(3){left:66.6%}.scope-overlay{z-index:4;pointer-events:none;position:absolute;inset:0}.scope-mask{background:radial-gradient(circle,#0000 0 30vmin,#0000001f 30.3vmin,#020506cc 34vmin,#010303 49vmin);position:absolute;inset:0}.scope-ring{border:2px solid #ff7a4c80;border-radius:50%;width:60vmin;height:60vmin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 34px #ff5a2d2e,inset 0 0 70px #000000b8}.scope-h{background:linear-gradient(90deg,#0000,#ff825a8c 18% 82%,#0000);height:1px;position:absolute;top:50%;left:20%;right:20%}.scope-v{background:linear-gradient(#0000,#ff825a8c 18% 82%,#0000);width:1px;position:absolute;top:20%;bottom:20%;left:50%}.scope-dot{background:#ff6a40;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #ff6a40}.scope-mil{background:#ff825a8c;width:7px;height:1px;position:absolute;top:50%;left:50%}.scope-mil.m1{transform:translateY(5vmin)}.scope-mil.m2{transform:translateY(-5vmin)}.scope-mil.m3{transform:translate(5vmin)}.scope-mil.m4{transform:translate(-5vmin)}.crosshair.scoped{opacity:0!important}.crosshair{--gap:7px;width:70px;height:70px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ch{background:#e2f7faeb;transition:opacity .15s;position:absolute;box-shadow:0 0 3px #000c,0 0 6px #78e8ff33}.ch-t{left:50%;top:calc(50% - var(--gap) - 9px);width:1.5px;height:8px;transform:translate(-50%)}.ch-b{left:50%;top:calc(50% + var(--gap));width:1.5px;height:8px;transform:translate(-50%)}.ch-l{top:50%;left:calc(50% - var(--gap) - 9px);width:8px;height:1.5px;transform:translateY(-50%)}.ch-r{top:50%;left:calc(50% + var(--gap));width:8px;height:1.5px;transform:translateY(-50%)}.ch-dot{opacity:.9;background:#fff;border-radius:50%;width:2px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair.ads .ch{opacity:.1}.crosshair.ads .ch-dot{background:var(--amber);width:1.5px;height:1.5px;box-shadow:0 0 5px var(--amber)}.crosshair.melee .ch{opacity:0}.crosshair.melee .ch-dot{background:0 0;border:1px solid #e7f9fcbf;width:8px;height:8px;transform:translate(-50%,-50%)rotate(45deg)}.crosshair.throwable .ch{opacity:.35}.crosshair.throwable .ch-dot{border:1px solid var(--amber);background:0 0;border-radius:50%;width:5px;height:5px}.hitmarker{opacity:0;width:0;height:0;position:absolute;top:50%;left:50%}.hitmarker i{background:#fff;width:8px;height:2px;position:absolute;box-shadow:0 0 8px #fffc}.hitmarker i:first-child{transform:translate(-16px,-10px)rotate(45deg)}.hitmarker i:nth-child(2){transform:translate(8px,-10px)rotate(-45deg)}.hitmarker i:nth-child(3){transform:translate(-16px,8px)rotate(-45deg)}.hitmarker i:nth-child(4){transform:translate(8px,8px)rotate(45deg)}.hitmarker.show{animation:.18s ease-out hitmark}.hitmarker.head i{background:var(--amber);box-shadow:0 0 10px var(--amber);width:10px}@keyframes hitmark{0%{opacity:1;transform:scale(.7)}60%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.25)}}.headshot-mark{font-family:var(--mono);letter-spacing:.28em;color:var(--amber);opacity:0;font-size:6px;position:absolute;top:48px;left:50%;transform:translate(-50%)}.headshot-mark.show{animation:1s ease-out headshot}@keyframes headshot{0%{opacity:0;transform:translate(-50%,4px)}15%{opacity:1;transform:translate(-50%)}70%{opacity:1}to{opacity:0}}.damage-dirs{width:1px;height:1px;position:absolute;top:50%;left:50%}.dmg-dir{transform-origin:55px 55px;filter:drop-shadow(0 0 5px #ff1e1ecc);border-top:2px solid #ff3a3ee6;border-radius:50%;width:110px;height:110px;animation:1.1s ease-out forwards dmgDir;position:absolute;top:-55px;left:-55px}@keyframes dmgDir{0%{opacity:1;transform:rotate(var(--rot)) scale(1.1)}to{opacity:0;transform:rotate(var(--rot)) scale(.72)}}.pickup-toast{font-family:var(--mono);letter-spacing:.18em;color:var(--pickup-color);text-shadow:0 0 14px color-mix(in srgb, var(--pickup-color) 65%, transparent);border-left:1px solid var(--pickup-color);white-space:nowrap;background:linear-gradient(90deg,#030c0e99,#0000);padding:5px 12px;font-size:10px;animation:1.6s ease-out both pickupToast;position:absolute;bottom:25%;left:50%;transform:translate(-50%)}.pickup-toast span{margin-right:5px;font-size:14px}@keyframes pickupToast{0%{opacity:0;transform:translate(-50%,8px)}15%{opacity:1;transform:translate(-50%)}72%{opacity:1}to{opacity:0;transform:translate(-50%,-12px)}}.dmg-numbers{position:absolute;inset:0}.dmg-number{font-family:var(--mono);color:#fff;text-shadow:0 0 8px #ffb05acc;font-size:13px;animation:.75s ease-out forwards dmgFloat;position:absolute}.dmg-number.head{color:var(--amber);font-size:17px}@keyframes dmgFloat{0%{opacity:1;transform:translate(-50%)scale(.8)}15%{transform:translate(-50%,-4px)scale(1.1)}to{opacity:0;transform:translate(-50%,-34px)scale(.9)}}.vitals{width:300px;position:absolute;bottom:30px;left:34px}.vital-label{font-family:var(--mono);letter-spacing:.2em;color:#6e858c;justify-content:space-between;margin-bottom:8px;font-size:7px;display:flex}.vital-label b{color:var(--cyan);font-weight:400}.bar-row{align-items:center;gap:8px;margin-top:5px;display:flex}.bar-icon{opacity:.75;width:10px;height:10px}.shield-icon{background:linear-gradient(135deg, transparent 20%, var(--cyan) 21% 79%, transparent 80%);clip-path:polygon(50% 0,100% 18%,90% 76%,50% 100%,10% 76%,0 18%)}.health-icon{background:var(--paper);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.bar{background:#82b8c41f;border:1px solid #85c2ce29;flex:1;height:6px;position:relative;overflow:hidden}.bar i{width:100%;height:100%;transition:width .18s ease-out;display:block}.shield-fill{background:linear-gradient(90deg, #167c93, var(--cyan));box-shadow:0 0 10px #78e8ff8c}.health-fill{background:linear-gradient(90deg,#b4d8dd,#f4ffff);box-shadow:0 0 9px #e4faff66}.bar.low .health-fill{background:linear-gradient(90deg,#9c171b,#ff5358);box-shadow:0 0 10px #ff32378c}.bar-ticks{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#04080acc calc(10% - 1px) 10%);position:absolute;inset:0}.bar-row>b{font-family:var(--mono);text-align:right;color:#bfdce1;width:26px;font-size:10px;font-weight:400}.status-row{font-family:var(--mono);letter-spacing:.14em;color:#51676e;justify-content:space-between;margin-top:9px;font-size:6px;display:flex}#shieldStatus.dead{color:#8b474b}.weapon-panel{text-align:right;width:326px;position:absolute;bottom:30px;right:34px}.weapon-rail{justify-content:flex-end;gap:3px;margin-bottom:9px;display:flex}.weapon-slot{text-align:left;opacity:.55;width:50px;height:43px;transition:.18s var(--ease);background:#03090c80;border:1px solid #82bec92b;padding:5px 5px 4px;position:relative;overflow:hidden}.weapon-slot b{font-family:var(--mono);color:#587077;font-size:7px;font-weight:400;line-height:1;display:block}.weapon-slot span{font-family:var(--mono);letter-spacing:.01em;color:#a3c0c6;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:7px;display:block;overflow:hidden}.weapon-slot em{font-style:normal;font-family:var(--mono);color:var(--amber);font-size:6px;position:absolute;bottom:2px;right:3px}.weapon-slot.active{opacity:1;background:linear-gradient(160deg,#319bb23d,#040c10b8);border-color:#78e8ffb3;box-shadow:inset 0 0 16px #3fcfeb1a,0 0 12px #3fcfeb0f}.weapon-slot.active:after{content:"";background:var(--cyan);width:2px;box-shadow:0 0 8px var(--cyan);position:absolute;top:0;bottom:0;left:0}.weapon-slot.throwable.active{border-color:#ff8c3cbf}.weapon-slot.throwable.active:after{background:var(--amber);box-shadow:0 0 8px var(--amber)}.weapon-slot.melee.active{border-color:#e6f0f599}.weapon-slot.melee.active:after{background:#e8f4f6;box-shadow:0 0 8px #dff8ff}.weapon-top{font-family:var(--mono);letter-spacing:.16em;color:#6c858c;border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:7px;font-size:7px;display:flex}.weapon-panel.kind-melee .ammo b,.weapon-panel.kind-throwable .ammo b{font-size:44px}.weapon-panel.kind-melee .ammo-meta{opacity:.35}#fireMode{color:var(--amber)}.ammo-row{justify-content:flex-end;align-items:flex-end;gap:14px;margin-top:5px;display:flex}.ammo{justify-content:flex-end;align-items:baseline;display:flex}.ammo b{color:#f0fbfd;letter-spacing:-.04em;text-shadow:0 0 22px #78e8ff24;font-variant-numeric:tabular-nums;font-size:52px;font-weight:600;line-height:.9}.ammo.low b{color:#ff9e57}.ammo span{font-family:var(--mono);color:#60767d;margin-left:5px;font-size:10px}.ammo-meta{text-align:right;padding-bottom:5px}.ammo-meta>span{font-family:var(--mono);letter-spacing:.12em;color:#5a7078;font-size:7px}.ammo-pips{justify-content:flex-end;gap:2px;margin-top:5px;display:flex}.ammo-pips i{background:#78e8ff8c;width:3px;height:7px}.ammo-pips i.empty{background:#78e8ff1a}.reload-bar{background:#78e8ff1f;height:2px;margin-top:8px;display:none;position:relative}.reload-bar.show{display:block}.reload-bar i{background:var(--amber);width:0;height:100%;box-shadow:0 0 8px var(--amber);display:block}.reload-bar span{font-family:var(--mono);letter-spacing:.22em;color:var(--amber);font-size:6px;position:absolute;top:5px;right:0}.interact-prompt{border:1px solid var(--line-hard);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040a0db8;align-items:center;gap:13px;padding:11px 17px;display:flex;position:absolute;bottom:19%;left:50%;transform:translate(-50%)}.interact-prompt:before{content:"";background:var(--cyan);width:2px;box-shadow:0 0 10px var(--cyan);position:absolute;top:0;bottom:0;left:0}.interact-key{width:34px;height:34px;font-family:var(--mono);color:var(--cyan);background:#78e8ff0f;border:1px solid #78e8ff80;place-items:center;font-size:13px;display:grid}.interact-text b{letter-spacing:.12em;color:#e4f7fa;font-size:12px;display:block}.interact-text span{letter-spacing:.08em;color:#7b9198;margin-top:3px;font-size:8px;display:block}.interact-ring{width:0;height:0;overflow:visible;transform:rotate(-90deg)}.interact-ring circle{fill:none;stroke:#78e8ff29;stroke-width:2px}.interact-ring circle:last-child{stroke:var(--cyan);stroke-dasharray:132;stroke-dashoffset:132px;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--cyan))}.interact-prompt.holding .interact-ring{width:38px;height:38px}.subtitle{text-align:center;width:min(660px,66vw);position:absolute;bottom:11.5%;left:50%;transform:translate(-50%)}.subtitle-speaker{font-family:var(--mono);letter-spacing:.3em;color:var(--cyan);margin-bottom:6px;font-size:7px}.subtitle-text{letter-spacing:.07em;color:#e4f2f4;text-shadow:0 1px 8px #000,0 0 18px #000000e6;background:#03070961;min-height:2.2em;padding:5px 14px;font-size:13px;line-height:1.65;display:inline-block}.subtitle[data-kind=echo] .subtitle-speaker{color:#ff6c5a;text-shadow:0 0 12px #ff483280}.subtitle[data-kind=echo] .subtitle-text{color:#ffd8cf;border-left:1px solid #ff5c4080}.subtitle[data-kind=log] .subtitle-speaker{color:var(--amber)}.subtitle[data-kind=radio] .subtitle-speaker{color:#b9a8ff}.subtitle.glitch .subtitle-text{animation:2.8s steps(2,end) both subtitleGlitch}@keyframes subtitleGlitch{0%,92%{filter:none;transform:translate(0)}93%{filter:hue-rotate(25deg);transform:translate(-2px)}95%{transform:translate(2px)}97%{filter:none;transform:translate(-1px)}to{transform:translate(0)}}.intel-counter{font-family:var(--mono);color:#526d75;border-bottom:1px solid #78dcf029;align-items:baseline;gap:6px;padding-bottom:5px;display:flex;position:absolute;top:34px;right:34px}.intel-counter span{letter-spacing:.24em;font-size:6px}.intel-counter b{color:var(--cyan);letter-spacing:.08em;font-size:13px;font-weight:400}.intel-counter i{color:#48636b;font-size:7px;font-style:normal}.intel-counter.complete b{color:var(--amber);text-shadow:0 0 14px #ffb45080}.chapter-card{z-index:3;pointer-events:none;text-align:center;opacity:0;transition:opacity .7s var(--ease);background:radial-gradient(#0004069e 0%,#0004066b 36%,#0004061f 62%,#0000 80%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chapter-card.show{opacity:1}.hud:has(#chapterCard:not(.hidden)) .tutorial{opacity:0}.chapter-rule{background:linear-gradient(90deg,#0000,#78e1f599,#0000);width:min(460px,50vw);height:1px;margin:18px 0;box-shadow:0 0 18px #64dcf533}.chapter-rule.bottom{margin-top:24px}.chapter-kicker{font-family:var(--mono);letter-spacing:.38em;color:var(--cyan);font-size:8px}.chapter-title{font-family:var(--mono);letter-spacing:.3em;color:#edfaff;text-shadow:0 0 28px #78e1f540;margin-top:12px;font-size:clamp(20px,2.6vw,34px)}.chapter-sector{font-family:var(--mono);letter-spacing:.25em;color:#69878f;margin-top:8px;font-size:7px}.chapter-quote{letter-spacing:.06em;color:#c6d9dd;text-shadow:0 1px 8px #000000e6;background:#02070961;border-left:1px solid #6ee1f559;border-right:1px solid #6ee1f559;width:min(620px,64vw);margin-top:16px;padding:8px 16px;font-size:11px;line-height:1.9}@keyframes chapterIn{0%{opacity:0;filter:blur(8px);transform:scale(1.02)}10%,76%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(3px);transform:scale(.995)}}.log-panel{background:linear-gradient(135deg,#040d10e6,#020709c7);border-left:2px solid #ffae5cb3;width:min(370px,34vw);padding:15px 17px 12px;position:absolute;bottom:128px;left:34px;box-shadow:0 20px 50px #0006}.log-panel.show{animation:logIn .45s var(--ease) both}.log-panel-head{font-family:var(--mono);letter-spacing:.22em;color:var(--amber);justify-content:space-between;font-size:6px;display:flex}.log-panel-head b{color:#7e999f;font-weight:400}.log-panel-title{font-family:var(--mono);letter-spacing:.06em;color:#e8f8fb;margin-top:10px;font-size:11px}.log-panel-author{font-family:var(--mono);letter-spacing:.1em;color:#617b82;margin-top:5px;font-size:6px}.log-panel p{letter-spacing:.04em;color:#a9c0c5;margin:12px 0 10px;font-size:10px;line-height:1.85}.log-panel-foot{font-family:var(--mono);letter-spacing:.16em;color:#40575e;border-top:1px solid #78c8d71f;padding-top:8px;font-size:6px}@keyframes logIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.banner{text-align:center;min-width:340px;position:absolute;top:28%;left:50%;transform:translate(-50%)}.banner-kicker{font-family:var(--mono);letter-spacing:.46em;color:var(--amber);font-size:8px}.banner-title{letter-spacing:.22em;color:#eefcff;text-shadow:0 0 40px #64d9f04d;margin-top:6px;font-size:clamp(26px,3.4vw,46px);font-weight:700}.banner-line{background:linear-gradient(90deg, transparent, var(--cyan), transparent);height:1px;box-shadow:0 0 12px var(--cyan);margin-top:13px}.banner.show{animation:bannerIn 3s var(--ease) both}@keyframes bannerIn{0%{opacity:0;filter:blur(5px);transform:translate(-50%,8px)}12%,70%{opacity:1;filter:blur();transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.tutorial{text-align:center;font-family:var(--mono);transition:opacity .5s;position:absolute;bottom:29%;left:50%;transform:translate(-50%)}.tutorial-row{color:#82979d;justify-content:center;align-items:center;gap:7px;margin-bottom:6px;font-size:8px;display:flex}.tutorial-row kbd{min-width:auto;padding:3px 6px}.tutorial-tip{letter-spacing:.2em;color:var(--amber);opacity:.85;margin-top:5px;font-size:7px}.hud-corner{border-style:solid;border-color:#89cdd947;width:18px;height:18px;position:absolute}.hud-corner-tl{border-width:1px 0 0 1px;top:18px;left:18px}.hud-corner-tr{border-width:1px 1px 0 0;top:18px;right:18px}.hud-corner-bl{border-width:0 0 1px 1px;bottom:18px;left:18px}.hud-corner-br{border-width:0 1px 1px 0;bottom:18px;right:18px}.hud-sig{font-family:var(--mono);letter-spacing:.24em;color:#3f555c;font-size:6px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hud-sig span{color:#566e76;margin-left:8px}.hud-perf{font-family:var(--mono);letter-spacing:.12em;color:#35474c;font-size:6px;position:absolute;bottom:14px;right:34px}.hud-perf span{color:#5b747b}.hud.damage-flash .damage-vignette{opacity:1}.modal{z-index:120;-webkit-backdrop-filter:blur(11px)saturate(.7);backdrop-filter:blur(11px)saturate(.7);background:#010406a8;place-items:center;display:grid;position:absolute;inset:0}.modal:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#00000021 4px);position:absolute;inset:0}.modal-card{background:linear-gradient(150deg,#0b161bf5,#04090cfa);border:1px solid #82cddb40;width:min(560px,90vw);padding:40px 44px 34px;position:relative;box-shadow:0 40px 100px #000000a6,inset 0 1px #b4f0fa14}.modal-card:before,.modal-card:after{content:"";border-color:var(--cyan);opacity:.6;border-style:solid;width:34px;height:34px;position:absolute}.modal-card:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.modal-card:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.modal-kicker{font-family:var(--mono);letter-spacing:.28em;color:var(--cyan);margin-bottom:12px;font-size:8px}.modal h2{letter-spacing:.12em;color:#edf9fb;margin:0;font-size:36px;font-weight:600}.modal-desc{color:#8da3aa;letter-spacing:.04em;margin:12px 0 26px;font-size:11px;line-height:1.8}.settings{background:#050b0e80;border:1px solid #82bec91f;flex-direction:column;gap:15px;padding:18px;display:flex}.settings label{font-family:var(--mono);letter-spacing:.1em;color:#8ca3aa;grid-template-columns:100px 1fr 36px;align-items:center;gap:12px;font-size:8px;display:grid}.settings label b{text-align:right;color:var(--cyan);font-size:8px;font-weight:400}input[type=range]{-webkit-appearance:none;background:#78e8ff2e;outline:none;height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--cyan);cursor:ew-resize;width:9px;height:16px;box-shadow:0 0 10px #78e8ff8c}select{color:#c9e7eb;font-family:var(--mono);background:#0a151a;border:1px solid #82bec947;outline:none;padding:5px 7px;font-size:8px}.modal-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.btn-ghost{color:#94abb1;height:44px;font-family:var(--mono);letter-spacing:.14em;background:0 0;border:1px solid #82bec942;padding:0 18px;font-size:8px;transition:all .2s}.btn-ghost:hover{border-color:var(--cyan);color:#d9f8fd;background:#78e8ff0d}.end-card{width:min(620px,92vw)}.inter-card{width:min(660px,92vw)}.inter-route{border:1px solid var(--line);background:linear-gradient(110deg,#0a181da6,#03080ab3);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:22px;padding:16px 18px;display:grid}.inter-route div{flex-direction:column;gap:5px;display:flex}.inter-route div:last-child{text-align:right}.inter-route span{font-family:var(--mono);letter-spacing:.18em;color:#587079;font-size:7px}.inter-route b{font-family:var(--mono);letter-spacing:.08em;color:#cfe9ed;font-size:11px;font-weight:400}.inter-route i{color:var(--cyan);opacity:.7;font-size:20px;font-style:normal}.inter-card .end-stats{margin:18px 0 4px}.inter-quote{font-family:var(--mono);letter-spacing:.05em;color:#ffc2b5;border-left:1px solid #ff6e508c;margin-top:16px;padding-left:13px;font-size:9px;line-height:1.8}.end-intel{font-family:var(--mono);letter-spacing:.14em;color:#637d84;background:#050c0f66;border:1px solid #78c8d721;margin-top:15px;padding:8px 12px;font-size:7px}.end-intel b{color:var(--amber);font-weight:400}.archive-card{width:min(880px,94vw)}.archive-head{border-bottom:1px solid #78c8d729;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:16px;display:flex}.archive-head h2{font-size:30px}.archive-count{font-family:var(--mono);letter-spacing:.16em;color:var(--amber);font-size:7px}.archive-body{grid-template-columns:.9fr 1.1fr;gap:18px;min-height:280px;max-height:48vh;margin-top:18px;display:grid}.archive-list{flex-direction:column;gap:5px;padding-right:4px;display:flex;overflow-y:auto}.archive-item{text-align:left;color:#9eb7bc;background:#040b0e80;border:1px solid #78becd1f;grid-template-rows:auto auto;grid-template-columns:24px 1fr;gap:3px 8px;padding:10px 11px;transition:all .18s;display:grid}.archive-item b{font-family:var(--mono);color:#4d6a72;grid-row:1/span 2;align-self:center;font-size:9px;font-weight:400}.archive-item span{letter-spacing:.03em;color:#c9e0e4;font-size:10px}.archive-item small{font-family:var(--mono);letter-spacing:.08em;color:#577078;font-size:6px}.archive-item:hover,.archive-item.active{background:#1e55602e;border-color:#6ee1f573}.archive-item.active b{color:var(--cyan)}.archive-detail{background:linear-gradient(150deg,#0a171b99,#03080ab3);border:1px solid #78c8d724;padding:20px 22px;overflow-y:auto}.archive-detail-kicker{font-family:var(--mono);letter-spacing:.18em;color:var(--cyan);font-size:6px}.archive-detail h3{letter-spacing:.05em;color:#eefafb;margin:10px 0 6px;font-size:20px;font-weight:500}.archive-author{font-family:var(--mono);letter-spacing:.1em;color:var(--amber);font-size:7px}.archive-detail p{letter-spacing:.03em;color:#a4bac0;margin:18px 0;font-size:11px;line-height:1.95}.archive-footer{font-family:var(--mono);letter-spacing:.14em;color:#3f575e;border-top:1px solid #78c8d71f;padding-top:10px;font-size:6px}.archive-empty{font-family:var(--mono);letter-spacing:.08em;color:#5b737a;padding:20px;font-size:8px;line-height:1.8}.choice-card{width:min(760px,94vw)}.choice-intel{font-family:var(--mono);letter-spacing:.14em;color:var(--amber);margin:0 0 16px;font-size:7px}.choice-options{flex-direction:column;gap:8px;display:flex}.choice-option{text-align:left;transition:.2s var(--ease);background:#050c0f9e;border:1px solid #78becd29;grid-template-rows:auto auto;grid-template-columns:34px 1fr auto;gap:4px 12px;padding:14px 16px;display:grid;position:relative}.choice-option b{font-family:var(--mono);color:#4f6b73;grid-row:1/span 2;align-self:center;font-size:13px;font-weight:400}.choice-option strong{letter-spacing:.06em;color:#dff3f6;font-size:13px;font-weight:500}.choice-option span{color:#7f999f;grid-column:2/span 2;font-size:9px;line-height:1.6}.choice-option small{font-family:var(--mono);letter-spacing:.12em;color:#547078;grid-area:1/3;font-size:6px}.choice-option:hover{border-color:var(--cyan);background:#19505c3d}.choice-option.secret{border-color:#ffaf5a33}.choice-option.secret b,.choice-option.secret small{color:var(--amber)}.choice-option.secret:hover{border-color:var(--amber);background:#6441142e}.choice-option.locked{opacity:.38;cursor:not-allowed}.choice-foot{font-family:var(--mono);letter-spacing:.16em;color:#4d636a;text-align:right;margin-top:16px;font-size:6px}.choice-modal .modal-card{border-color:#ff825533}.end-status{font-family:var(--mono);letter-spacing:.42em;color:var(--green);margin-bottom:10px;font-size:9px}.end-status.failed{color:var(--red)}.end-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:24px 0 4px;display:grid}.end-stats div{border-right:1px solid var(--line);text-align:center;padding:18px 12px}.end-stats div:last-child{border-right:0}.end-stats span{font-family:var(--mono);letter-spacing:.2em;color:#5b737a;font-size:7px;display:block}.end-stats b{color:#e8f8fa;margin-top:8px;font-size:28px;font-weight:500;display:block}.end-stats div:last-child b{color:var(--amber);text-shadow:0 0 18px #ffb25766}#end.fail .end-stats div:last-child b{color:var(--red)}.error{color:#ffb3b3}.cursor-dot{display:none}@media (width<=1180px){.menu-side{display:none}.menu{grid-template-columns:1fr}.menu-main{max-width:700px}.menu-footer span:last-child{display:none}}@media (height<=760px){.menu{padding-top:20px}.brief{margin-top:3vh}.brief p{margin:7px 0 10px;line-height:1.65}.menu-actions{margin-top:3vh}.menu-controls,.menu-side .side-divider:nth-of-type(2),.title-cn{display:none}}@media (width<=820px){.menu{padding:22px 6vw}.menu-top-right span:last-child{display:none}.brief-stats{gap:18px}.menu-actions{flex-direction:column;align-items:flex-start;gap:12px}.objective-panel{width:230px;top:20px;left:20px}.vitals{width:230px;left:20px}.weapon-panel{width:300px;right:20px}.weapon-slot{width:46px}.weapon-slot b,.weapon-slot span{font-size:6px}.ammo b{font-size:40px}.compass{width:280px}.boss-bar{width:80vw}.intel-counter{top:20px;right:20px}.log-panel{width:min(320px,72vw);bottom:112px;left:20px}.chapter-quote{width:82vw}.archive-body{grid-template-columns:1fr;max-height:54vh}.archive-list{max-height:160px}.choice-option{grid-template-columns:26px 1fr}.choice-option small{grid-area:3/2}.choice-option span{grid-column:2}}.touch-only{display:none!important}.touch-device .touch-only:not(.hidden){display:inline-block!important}.touch-device{touch-action:none;-webkit-tap-highlight-color:transparent}.touch-device .screen-noise{opacity:.035}.touch-device .menu-hint,.menu-touch-hint{display:none}.touch-device .menu-touch-hint{max-width:270px;font-family:var(--mono);letter-spacing:.06em;color:#6e8b92;margin-top:8px;font-size:7px;line-height:1.7;display:block}.touch-device .menu-controls{display:none!important}.touch-device .menu-side{display:none}.touch-device .menu{padding:14px 5vw max(14px, env(safe-area-inset-bottom));grid-template-columns:1fr}.touch-device .menu-main{width:100%;max-width:720px;margin:0 auto}.touch-device .menu-title{font-size:clamp(44px,12vw,104px)}.touch-device .title-cn{display:none}.touch-device .brief{margin-top:4vh}.touch-device .brief p{margin:7px 0 10px;font-size:10px;line-height:1.7}.touch-device .menu-actions{margin-top:3vh}.touch-device .menu-footer{font-size:6px}.touch-device .btn-primary{height:48px}.touch-ui{z-index:64;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.touch-look{pointer-events:auto;touch-action:none;position:absolute;inset:0}.touch-move-zone{left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));z-index:3;pointer-events:auto;touch-action:none;justify-content:center;align-items:center;width:156px;height:156px;display:flex;position:absolute}.touch-stick-base{background:radial-gradient(circle,#0e2d3452,#030a0c8f);border:1px solid #78e1f552;border-radius:50%;width:124px;height:124px;position:relative;box-shadow:inset 0 0 28px #35c4dc14,0 0 22px #00000059}.touch-stick-ring{border:1px dashed #78e1f530;border-radius:50%;position:absolute;inset:17px}.touch-stick-knob{will-change:transform;background:radial-gradient(circle at 35% 30%,#6eebff7a,#082027d1);border:1px solid #b4f5ffa3;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%;box-shadow:0 0 20px #49ddff40}.touch-zone-label{font-family:var(--mono);letter-spacing:.24em;color:#52747d;font-size:6px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.touch-pause{right:max(12px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));z-index:5;color:#9dd9e2;width:42px;height:42px;font-family:var(--mono);pointer-events:auto;touch-action:none;background:#040e119e;border:1px solid #8ce1f047;border-radius:50%;font-size:14px;position:absolute}.touch-actions{pointer-events:none;position:absolute;inset:0}.touch-btn{z-index:4;color:#c8eef3;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 35% 30%,#0d2a32b3,#030a0db8);border:1px solid #8ce1f047;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;box-shadow:0 8px 22px #00000038,inset 0 1px #aaf0fa14}.touch-btn b{font-family:var(--mono);font-size:13px;font-weight:400;line-height:1}.touch-btn span{font-family:var(--mono);letter-spacing:.08em;color:#5e828a;margin-top:4px;font-size:6px}.touch-btn:active,.touch-btn.active{background:radial-gradient(circle at 35% 30%,#258291bf,#05191fdb);border-color:#82f5ffcc;box-shadow:0 0 26px #3cdcf538,inset 0 0 18px #5ae6fa1a}.touch-fire{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));background:radial-gradient(circle at 35% 30%,#5c2414c2,#120806d1);border-color:#ff82487a;width:84px;height:84px}.touch-fire b{letter-spacing:.08em;color:#ffd1b2;font-size:15px}.touch-fire span{color:#c07758}.touch-aim{right:max(24px, env(safe-area-inset-right));bottom:max(112px, calc(env(safe-area-inset-bottom) + 112px));width:62px;height:62px}.touch-aim.active{border-color:var(--cyan)}.touch-reload{right:max(112px, calc(env(safe-area-inset-right) + 112px));bottom:max(24px, env(safe-area-inset-bottom));width:48px;height:48px}.touch-jump{right:max(112px, calc(env(safe-area-inset-right) + 112px));bottom:max(82px, calc(env(safe-area-inset-bottom) + 82px));width:48px;height:48px}.touch-crouch{right:max(112px, calc(env(safe-area-inset-right) + 112px));bottom:max(140px, calc(env(safe-area-inset-bottom) + 140px));width:44px;height:44px}.touch-crouch.active{border-color:var(--amber);color:#ffe2bd}.touch-interact{right:max(24px, env(safe-area-inset-right));bottom:max(184px, calc(env(safe-area-inset-bottom) + 184px));border-color:#ffb25761;width:48px;height:48px}.touch-interact.available{border-color:var(--amber);box-shadow:0 0 22px #ffb25740}.touch-interact.available b{color:var(--amber)}.touch-weapons{left:50%;bottom:max(10px, env(safe-area-inset-bottom));z-index:5;pointer-events:auto;touch-action:none;gap:4px;display:flex;position:absolute;transform:translate(-50%)}.touch-weapons button{color:#86a2aa;min-width:39px;height:34px;font-family:var(--mono);letter-spacing:.02em;pointer-events:auto;touch-action:none;background:#030a0d99;border:1px solid #82c8d633;padding:0 5px;font-size:6px}.touch-weapons button b{color:#4d686f;font-size:6px;font-weight:400;display:block}.touch-weapons button.active{border-color:var(--cyan);color:#e7fbff;background:#1f64736b}.touch-weapons button.active b{color:var(--cyan)}.touch-hint{left:max(18px, env(safe-area-inset-left));bottom:max(215px, calc(env(safe-area-inset-bottom) + 215px));z-index:5;width:212px;font-family:var(--mono);letter-spacing:.06em;color:#9bc1c8;opacity:0;pointer-events:none;background:#02080a8c;border-left:1px solid #78c8d759;padding:7px 10px;font-size:7px;line-height:1.6;transition:opacity .5s;position:absolute}.touch-hint.show{opacity:1}.touch-device .objective-panel{left:max(12px, env(safe-area-inset-left));top:max(12px, env(safe-area-inset-top));width:206px}.touch-device .objective-title{font-size:13px}.touch-device .objective-sub{font-size:7px}.touch-device .objective-head{font-size:6px}.touch-device .vitals{left:max(12px, env(safe-area-inset-left));width:190px;top:82px;bottom:auto}.touch-device .vital-label{font-size:6px}.touch-device .bar-row{gap:6px}.touch-device .compass{width:210px;top:4px}.touch-device .compass-strip{opacity:.8}.touch-device .intel-counter{right:60px;top:max(14px, env(safe-area-inset-top))}.touch-device .weapon-panel{right:max(10px, env(safe-area-inset-right));top:calc(max(12px, env(safe-area-inset-top)) + 38px);width:205px;bottom:auto}.touch-device .weapon-rail{display:none}.touch-device .weapon-top{font-size:7px}.touch-device .ammo b{font-size:38px}.touch-device .ammo-row{align-items:flex-end}.touch-device .ammo-meta{display:none}.touch-device .reload-bar{bottom:-4px}.touch-device .killfeed{top:158px;left:max(12px, env(safe-area-inset-left));width:220px}.touch-device .boss-bar{width:min(58vw,520px);top:64px}.touch-device .boss-name{font-size:8px}.touch-device .subtitle{bottom:max(48px, calc(env(safe-area-inset-bottom) + 48px));width:min(58vw,560px)}.touch-device .subtitle-text{min-height:2em;padding:4px 10px;font-size:11px}.touch-device .subtitle-speaker{margin-bottom:3px;font-size:6px}.touch-device .interact-prompt{bottom:max(124px, calc(env(safe-area-inset-bottom) + 124px));transform:translate(-50%)scale(.86)}.touch-device .log-panel{left:max(12px, env(safe-area-inset-left));width:min(280px,40vw);padding:10px 12px 8px;top:154px;bottom:auto}.touch-device .log-panel p{margin:7px 0;font-size:9px;line-height:1.65}.touch-device .log-panel-title{font-size:9px}.touch-device .tutorial{display:none!important}.touch-device .hud-sig,.touch-device .hud-perf,.touch-device .hud-corner{display:none}.touch-device .chapter-card{padding:0 6vw}.touch-device .chapter-title{font-size:clamp(18px,5vw,30px)}.touch-device .chapter-quote{width:86vw;padding:6px 12px;font-size:10px}.touch-device .banner{top:22%}.touch-device .banner-title{font-size:clamp(20px,5vw,34px)}.touch-device .damage-dirs{inset:0}.touch-device .hitmarker{transform:scale(.85)}.touch-device .modal{padding:14px;overflow-y:auto}.touch-device .modal-card{max-height:calc(100dvh - 28px);padding:24px 26px 20px;overflow-y:auto}.touch-device .modal h2{font-size:27px}.touch-device .modal-desc{font-size:10px;line-height:1.65}.touch-device .settings{gap:10px;padding:12px}.touch-device .settings label{grid-template-columns:80px 1fr 30px;gap:8px;font-size:7px}.touch-device .modal-actions{gap:8px;margin-top:18px}.touch-device .btn-primary,.touch-device .btn-ghost{height:40px}.touch-device .archive-body{grid-template-columns:1fr;min-height:0;max-height:none}.touch-device .archive-list{max-height:150px}.touch-device .archive-detail{padding:14px 15px}.touch-device .archive-detail h3{font-size:17px}.touch-device .archive-detail p{margin:10px 0;font-size:10px;line-height:1.7}.touch-device .choice-option{padding:10px 12px}.touch-device .choice-option strong{font-size:12px}.touch-device .choice-option span{font-size:8px}.touch-device .end-stats{margin-top:15px}.touch-device .end-stats b{font-size:23px}.touch-device .end-stats span{font-size:6px}.touch-device .inter-route{margin-top:12px;padding:10px 11px}.touch-device .inter-route b{font-size:9px}.touch-device .inter-quote{font-size:8px}.touch-device .fader{z-index:200}.rotate-hint{z-index:230;text-align:center;color:#dff7fb;touch-action:none;background:radial-gradient(#0a1a20,#020608 70%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rotate-icon{border:1px solid #78e6fa8c;border-radius:5px;width:74px;height:44px;margin-bottom:24px;animation:2.4s ease-in-out infinite rotateNudge;position:relative}.rotate-icon:before{content:"";border:1px solid #78e6fa2e;position:absolute;inset:7px 12px}.rotate-icon i{background:var(--cyan);width:8px;height:8px;box-shadow:0 0 14px var(--cyan);border-radius:50%;margin-top:-4px;position:absolute;top:50%;right:8px}.rotate-kicker{font-family:var(--mono);letter-spacing:.3em;color:var(--cyan);font-size:7px}.rotate-hint h2{letter-spacing:.12em;margin:12px 0 8px;font-size:26px}.rotate-hint p{color:#7e9ba2;letter-spacing:.05em;margin:0;font-size:10px}.rotate-quit{margin-top:22px}@keyframes rotateNudge{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}@media (width>=900px) and (pointer:coarse){.touch-move-zone{width:184px;height:184px}.touch-stick-base{width:148px;height:148px}.touch-stick-knob{width:64px;height:64px;margin:-32px 0 0 -32px}.touch-fire{width:98px;height:98px}.touch-aim{width:72px;height:72px;bottom:126px}.touch-reload,.touch-jump{width:54px;height:54px}.touch-crouch,.touch-interact{width:50px;height:50px}.touch-weapons button{min-width:46px;height:38px;font-size:7px}.touch-device .objective-panel{width:240px}.touch-device .vitals{width:220px;top:92px}.touch-device .weapon-panel{width:240px}.touch-device .subtitle{width:min(54vw,680px)}}@media (height<=430px){.touch-hint{display:none}.touch-device .vitals{width:170px;top:74px}.touch-device .objective-panel{width:190px}.touch-device .weapon-panel{width:185px}.touch-device .weapon-panel .ammo b{font-size:32px}.touch-device .interact-prompt{bottom:118px}}.touch-device .modal,.touch-device .modal-card,.touch-device .archive-body,.touch-device .archive-list,.touch-device .archive-detail{touch-action:pan-y;-webkit-overflow-scrolling:touch}.touch-device .menu{align-content:start;overflow-y:auto}.touch-device input[type=range]{height:3px}.touch-device input[type=range]::-webkit-slider-thumb{width:16px;height:22px}@media (orientation:portrait) and (pointer:coarse){.touch-device .title-glitch{font-size:clamp(42px,15vw,78px)}.touch-device .title-sub{letter-spacing:.26em;gap:10px;font-size:14px}.touch-device .title-sub em{letter-spacing:.28em}.touch-device .menu-main{padding-top:0}.touch-device .brief{margin-top:3vh}.touch-device .menu-actions{margin-top:2.5vh}}.touch-device .hud:has(#chapterCard:not(.hidden))~#touchUI{opacity:0;pointer-events:none}.touch-device .hud:has(#chapterCard:not(.hidden))~#touchUI *{pointer-events:none!important}.touch-ui{transition:opacity .25s}.touch-btn.disabled{opacity:.38}.touch-device .menu{touch-action:pan-y}.lang-btn{color:#9db6bc;font-family:var(--mono);letter-spacing:.1em;background:#030a0d59;border:1px solid #82cddb40;padding:5px 8px;font-size:7px;transition:all .2s}.lang-btn:hover{border-color:var(--cyan);color:#e6fbff}@media (width<=820px){.lang-btn{padding:4px 6px;font-size:6px}}.lang-en .title-cn{display:none}@media (width<=900px){.touch-device .menu-top-right .tag{display:none}}
