:root{color:#ded8c1;background:#11130f;font-family:Bahnschrift Condensed,Arial Narrow,sans-serif;font-synthesis:none;--ink: #11130f;--panel: rgba(19, 24, 20, .88);--cream: #ded8c1;--amber: #e8a83e;--cyan: #66bdb2;--red: #c54e3c;--olive: #66705a;touch-action:none}*{box-sizing:border-box}html,body,#game-shell,#game-container{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:var(--ink);overscroll-behavior:none}button{font:inherit}.hidden{display:none!important}#game-shell{position:fixed;inset:0;isolation:isolate;background:#161913}#game-container,#game-container canvas{position:absolute;inset:0;display:block;width:100%;height:100%;outline:none}#game-container canvas{cursor:crosshair}.screen-layer{position:absolute;inset:0;z-index:50;overflow:hidden;background:linear-gradient(100deg,#090c0afa 0 38%,#090c0a9e 68%,#090c0ade)}#menu:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 45%,transparent 0 12%,rgba(232,168,62,.08) 12.4% 12.8%,transparent 13.2%),repeating-linear-gradient(168deg,transparent 0 52px,rgba(222,216,193,.025) 53px 54px)}.menu-rail{position:absolute;left:clamp(20px,5vw,76px);top:0;width:4px;height:100%;background:linear-gradient(var(--red),var(--amber) 35%,transparent 80%)}.menu-copy{position:absolute;left:clamp(42px,8vw,130px);top:50%;width:min(620px,56vw);transform:translateY(-52%)}.eyebrow{margin:0 0 8px;color:var(--amber);font:700 clamp(11px,1vw,15px)/1.2 Consolas,monospace;letter-spacing:.22em}h1,h2,p{margin-top:0}#menu h1{margin:0;font-size:clamp(48px,7.2vw,108px);line-height:.82;letter-spacing:-.04em;text-transform:uppercase;text-shadow:0 6px 0 rgba(0,0,0,.35)}#menu h1 span{display:block;margin:10px 0 0 5px;color:var(--amber);font:800 .26em/1 Consolas,monospace;letter-spacing:.34em}#menu h2{margin:18px 0 16px;color:var(--cyan);font:700 clamp(14px,1.4vw,21px)/1 Consolas,monospace;letter-spacing:.38em}.lede{max-width:570px;color:#ded8c1c2;font-size:clamp(13px,1.2vw,17px);line-height:1.55}#class-select{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:22px 0}.class-card{min-height:76px;padding:10px 11px;color:#ded8c1b8;border:1px solid rgba(222,216,193,.16);border-left:3px solid rgba(222,216,193,.2);background:#1a1f1ab8;text-align:left;cursor:pointer;transition:.15s ease}.class-card b,.class-card span,.class-card small{display:block}.class-card b{font:700 12px Consolas,monospace;letter-spacing:.08em}.class-card span{margin:7px 0 5px;font-size:14px}.class-card small{opacity:.55;font-size:10px}.class-card:hover,.class-card.active{color:var(--cream);border-color:var(--amber);border-left-color:var(--amber);background:#504428a8;transform:translateY(-2px)}.menu-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.primary-action{min-width:190px;padding:13px 18px;color:#181b16;border:0;border-left:5px solid #f7cf77;background:var(--amber);font-weight:800;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 24px #00000047}.primary-action:hover{filter:brightness(1.15);transform:translateY(-1px)}.primary-action span{float:right}.text-action{padding:8px 4px;color:#ded8c1b3;border:0;border-bottom:1px solid rgba(222,216,193,.25);background:none;cursor:pointer}.text-action:hover{color:var(--amber);border-color:var(--amber)}.operation-card{position:absolute;right:clamp(26px,6vw,100px);top:50%;width:min(300px,24vw);padding:22px;border:1px solid rgba(232,168,62,.35);background:#0f1310c2;transform:translateY(-50%) rotate(.5deg)}.operation-card span,.operation-card b,.operation-card small{display:block}.operation-card span{color:var(--amber);font:10px Consolas,monospace;letter-spacing:.2em}.operation-card b{margin:9px 0;font-size:clamp(19px,2vw,30px)}.operation-card small{color:var(--cyan);font:10px Consolas,monospace}.operation-card p{margin:18px 0 0;color:#ded8c18c;font:11px/1.7 Consolas,monospace}.sector-map{position:relative;display:flex;justify-content:space-between;margin:28px 5px}.sector-map:before{content:"";position:absolute;left:10px;right:10px;top:14px;height:2px;background:#ded8c133}.sector-map i{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;color:var(--ink);background:var(--amber);border-radius:50%;font:700 12px Consolas;font-style:normal}#menu footer{position:absolute;left:clamp(42px,8vw,130px);bottom:24px;color:#ded8c147;font:10px Consolas,monospace;letter-spacing:.08em}#hud{position:absolute;inset:0;z-index:20;pointer-events:none;text-shadow:0 2px 2px #000;zoom:var(--hud-scale,1)}#top-strip{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;display:flex;align-items:stretch;height:40px;transform:translate(-50%)}.ticket,#mode-panel{display:flex;align-items:center;gap:10px;padding:7px 14px;background:#0b0e0cc2;border-bottom:2px solid}.ticket{font:11px Consolas,monospace}.ticket strong{font-size:20px}.ticket.allies{border-color:var(--cyan)}.ticket.axis{border-color:var(--red)}#mode-panel{min-width:160px;flex-direction:column;gap:2px;border-color:var(--amber);text-align:center}#mode-panel b{font:10px Consolas,monospace;letter-spacing:.14em}#mode-panel span{font:9px Consolas,monospace;color:var(--amber)}#objective-panel{position:absolute;top:72px;left:50%;width:min(390px,58vw);padding:8px 14px;background:linear-gradient(90deg,transparent,rgba(10,13,11,.72) 15% 85%,transparent);text-align:center;transform:translate(-50%)}#objective-panel span,#objective-panel strong{display:block}#objective-kicker{color:var(--amber);font:8px Consolas;letter-spacing:.22em}#objective-text{margin:3px 0 7px;font-size:14px}.progress-track{height:3px;background:#ffffff26}.progress-track i{display:block;width:0;height:100%;background:var(--amber);transition:width .2s}#compass{position:absolute;top:116px;left:50%;display:flex;align-items:center;gap:8px;color:#ded8c1cc;font:9px Consolas;transform:translate(-50%)}#compass i{width:28px;height:1px;background:#ded8c140}#performance-text{margin-left:5px;color:#ded8c166;font:8px Consolas;white-space:nowrap}#vitals{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:210px;padding:12px;border-left:3px solid var(--cyan);background:linear-gradient(90deg,rgba(9,12,10,.85),transparent)}.vital-line{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:7px;margin:4px 0;font:9px Consolas}.vital-line>div{height:4px;background:#ffffff21}.vital-line i{display:block;width:100%;height:100%;background:var(--red)}.vital-line.armor i{background:var(--cyan)}.vital-line.stamina i{background:var(--amber)}#squad-list{margin-top:10px;font:9px/1.65 Consolas;color:#ded8c1b8}#weapon-panel{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));min-width:225px;padding:13px 15px;border-right:3px solid var(--amber);background:linear-gradient(270deg,rgba(9,12,10,.88),transparent);text-align:right}#weapon-panel small,#weapon-panel strong{display:block}#class-role{color:var(--cyan);font:8px Consolas;letter-spacing:.1em}#weapon-name{margin:5px 0 2px;font-size:18px}#weapon-panel>div{font:12px Consolas}#ammo-mag{font-size:33px;color:var(--cream)}#ammo-reserve{font-style:normal;color:#ded8c199}#gadget-line{margin-top:4px;color:var(--amber);font:9px Consolas}#attrition-line{margin-top:3px;color:#ded8c19e;font:8px Consolas;letter-spacing:.025em}#crosshair{position:absolute;left:50%;top:50%;width:36px;height:36px;opacity:var(--crosshair-opacity,1);filter:drop-shadow(0 1px 1px #000);transform:translate(-50%,-50%) scale(var(--crosshair-scale,1));transition:transform 45ms linear,opacity .12s}#crosshair i{position:absolute;background:var(--crosshair-color,#f0d68a);box-shadow:0 0 0 1px #000000db,0 0 3px #000}#crosshair i:nth-child(1){left:0;top:17px;width:11px;height:2px}#crosshair i:nth-child(2){right:0;top:17px;width:11px;height:2px}#crosshair i:nth-child(3){left:17px;top:0;width:2px;height:11px}#crosshair i:nth-child(4){left:17px;bottom:0;width:2px;height:11px}#crosshair b{position:absolute;left:16px;top:16px;width:4px;height:4px;border:1px solid #111;background:var(--crosshair-color,#f0d68a);box-shadow:0 0 0 1px var(--crosshair-color,#f0d68a)}#hit-marker{position:absolute;left:50%;top:50%;display:none;color:var(--amber);font:25px/1 Consolas;transform:translate(-50%,-50%) rotate(45deg)}#interaction-prompt{position:absolute;left:50%;bottom:20%;padding:7px 12px;color:var(--amber);background:#090c0acc;font:11px Consolas;transform:translate(-50%)}#event-feed{position:absolute;right:22px;top:178px;width:280px;text-align:right;font:10px/1.7 Consolas}#event-feed p{margin:0;color:#ded8c1cc}#event-feed b{color:var(--amber)}#kill-log{position:absolute;right:22px;top:78px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:390px;font:10px Consolas;text-align:right}#kill-log .kill-entry{display:flex;align-items:center;gap:7px;padding:5px 8px;border-right:2px solid var(--red);background:linear-gradient(270deg,#080b09e0,#080b0940);animation:kill-in .16s ease-out}.kill-skulls{color:var(--cream);letter-spacing:-2px}.kill-special{color:var(--amber)}.kill-weapon{color:#ded8c17a}@keyframes kill-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}#world-markers{position:absolute;inset:0;overflow:hidden}.world-marker{position:absolute;display:grid;place-items:center;min-width:22px;min-height:22px;color:var(--cream);border:1px solid currentColor;border-radius:50%;background:#080b09ad;font:9px Consolas;transform:translate(-50%,-50%)}.world-marker.spotted{color:var(--red);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}.world-marker.downed{color:var(--cyan)}.world-marker.supply{color:var(--amber);border-radius:2px}.world-marker.ping{min-width:48px;padding:3px 6px;color:var(--amber);border-radius:2px;animation:ping-pulse 1s steps(2,end) infinite}.world-marker.calling{animation:rescue-pulse .9s ease-in-out infinite}.world-marker.skipping{opacity:.38;transform:translate(-50%,-50%) scale(.72)}@keyframes rescue-pulse{50%{transform:translate(-50%,-50%) scale(1.28);box-shadow:0 0 12px currentColor}}@keyframes ping-pulse{50%{opacity:.55}}#damage-vignette{position:absolute;inset:0;opacity:0;background:radial-gradient(circle,transparent 45%,rgba(140,17,8,.72));transition:opacity .12s}#vehicle-panel{position:absolute;left:50%;bottom:22px;display:grid;gap:3px;padding:10px 18px;background:#090c0ad1;border-bottom:2px solid var(--amber);font:10px Consolas;text-align:center;transform:translate(-50%)}#vehicle-panel b{color:var(--amber)}#help,#settings,#briefing,#pause,#result,#death-screen{display:grid;place-items:center;background:#080b09db;backdrop-filter:blur(5px)}.manual-card,.settings-card,.brief-card,.pause-card,.result-card,.death-card{width:min(760px,90vw);max-height:88dvh;overflow:auto;padding:clamp(24px,4vw,52px);border:1px solid rgba(232,168,62,.55);border-left:5px solid var(--amber);background:#1a201b;box-shadow:0 24px 80px #0000008c}.manual-card h2,.brief-card h2,.pause-card h2,.result-card h2{margin:0 0 24px;font-size:clamp(30px,5vw,64px);line-height:.9}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.manual-grid>div{padding:14px;background:#ffffff09}.manual-grid b{color:var(--cyan)}.manual-grid p,.manual-note,.brief-card p,.result-card p{color:#ded8c1b3;line-height:1.6}.manual-note{border-left:2px solid var(--amber);padding-left:12px}.brief-card{text-align:center}.brief-card>span{color:var(--amber);font:11px Consolas;letter-spacing:.24em}.pause-card,.result-card{width:min(500px,88vw);text-align:center}.pause-card button,.result-card button{display:block;margin:12px auto;min-width:220px}#result-stats{margin:22px 0;color:var(--cyan);font:12px/1.8 Consolas}.settings-card h2{margin:0 0 24px;font-size:clamp(30px,4vw,54px)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-grid label{display:grid;gap:7px;padding:12px;color:#ded8c1cc;background:#ffffff09;font:11px Consolas}.settings-grid input[type=range],.settings-grid select{width:100%;accent-color:var(--amber);color:var(--cream);background:#252b25}.settings-grid output{color:var(--amber)}.settings-grid .check-setting{display:flex;align-items:center;gap:8px}.settings-note{margin:18px 0;color:#ded8c18c;font:10px/1.5 Consolas}.death-card{width:min(460px,88vw);border-left-color:var(--red);text-align:center}.death-card h2{margin:7px 0 12px;font-size:clamp(32px,6vw,60px);line-height:.9}.death-icon{color:var(--red);font:38px/1 Consolas}.death-card p,#nearby-medics{color:#ded8c1a3;font:11px/1.7 Consolas}#nearby-medics{margin:14px 0;color:var(--cyan)}#bleedout-time{display:block;margin:12px;color:var(--cream);font:30px Consolas}#bleedout-actions button{margin:8px auto}#mobile-controls{display:none;position:absolute;inset:0;z-index:35;pointer-events:none}#mobile-controls button,.stick,#look-pad{pointer-events:auto;user-select:none;-webkit-user-select:none}.stick{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:118px;height:118px;border:1px solid rgba(222,216,193,.25);border-radius:50%;background:#090c0a38}.stick i{position:absolute;left:39px;top:39px;width:40px;height:40px;border:2px solid var(--cyan);border-radius:50%;background:#66bdb233}.stick span{position:absolute;left:42px;bottom:-16px;color:#ded8c173;font:8px Consolas;letter-spacing:.15em}#look-pad{position:absolute;right:0;top:24%;width:52%;height:52%}#mobile-controls button{position:absolute;display:grid;place-items:center;width:48px;height:48px;color:var(--cream);border:1px solid rgba(222,216,193,.42);border-radius:50%;background:#0e120f99;font:700 10px Consolas;box-shadow:0 3px 10px #0000004d}#mobile-controls .touch-fire{right:max(24px,env(safe-area-inset-right));bottom:max(30px,env(safe-area-inset-bottom));width:82px;height:82px;color:var(--amber);border-color:var(--amber);font-size:12px}#mobile-controls [data-touch=reload]{right:114px;bottom:24px}#mobile-controls [data-touch=switch]{right:170px;bottom:24px}#mobile-controls [data-touch=gadget]{right:18px;bottom:122px}#mobile-controls [data-touch=interact]{right:70px;bottom:122px}#mobile-controls [data-touch=sprint]{left:142px;bottom:90px}#mobile-controls [data-touch=build]{right:122px;bottom:90px}#boot-status{position:absolute;left:50%;top:50%;z-index:100;padding:10px 14px;color:var(--amber);background:var(--ink);font:11px Consolas;transform:translate(-50%,-50%)}#grain{position:absolute;inset:0;z-index:90;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:soft-light}body.color-deuteranopia{--cyan:#5db6ef;--red:#f0b63f}body.color-protanopia{--cyan:#6ec8d4;--red:#e6b746}body.color-tritanopia{--cyan:#72d1a1;--red:#e45b78}@media(max-width:900px){.operation-card{display:none}.menu-copy{width:auto;right:24px;left:42px}.menu-rail{left:20px}#menu footer{left:42px}#class-select{grid-template-columns:1fr 1fr}.class-card{min-height:62px}.menu-actions{gap:9px}.lede{max-width:620px}#top-strip{top:7px;height:34px}.ticket{padding:5px 8px}.ticket span{display:none}.ticket strong{font-size:16px}#mode-panel{min-width:130px;padding:5px 8px}#objective-panel{top:49px;width:82vw}#compass{top:94px}#vitals{width:165px;padding:8px;top:112px;bottom:auto;left:8px}#weapon-panel{min-width:165px;padding:8px;top:112px;right:8px;bottom:auto}#weapon-name{font-size:14px}#ammo-mag{font-size:26px}#squad-list{display:none}#kill-log{right:9px;top:196px;max-width:260px}.kill-weapon{display:none}}@media(max-width:540px)and (orientation:portrait){#menu h1{font-size:42px}.menu-copy{top:48%;left:30px;right:18px}.menu-rail{left:12px}.lede{font-size:12px}.class-card{min-height:58px;padding:7px}.class-card span{margin:3px 0;font-size:12px}.menu-actions{display:grid;grid-template-columns:1fr 1fr}.primary-action{grid-column:1/-1;width:100%}#menu footer{left:30px;bottom:12px;font-size:8px}.manual-grid,.settings-grid{grid-template-columns:1fr}.manual-card,.settings-card{padding:20px}.manual-card h2,.settings-card h2{font-size:34px}#vitals{transform:scale(.83);transform-origin:left top}#weapon-panel{transform:scale(.83);transform-origin:right top}#objective-text{font-size:11px}#event-feed{display:none}}@media(pointer:coarse){#mobile-controls:not(.hidden){display:block}#crosshair{opacity:calc(var(--crosshair-opacity,1) * .72)}#game-container canvas{cursor:default}}
