@import url('./rift-font.css');
@font-face{font-family:RiftMono;font-weight:400 900;src:url('./fonts/BarlowCondensed-SemiBold.ttf') format('truetype')} /* the old Bahnschrift alias now points at the game font */
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#0f1417;color:#eee9db;font-family:Bahnschrift,"Segoe UI",sans-serif}
button,input,select{font:inherit}
button{cursor:pointer;color:inherit;background:linear-gradient(180deg,#1f2a2e 0%,#161f22 100%);border:1px solid #576864;padding:12px 18px;font-size:12px;font-weight:700;letter-spacing:.12em;transition:all .16s cubic-bezier(.16,1,.3,1);position:relative}
button:hover{background:linear-gradient(180deg,#2c3b40 0%,#1e2a2e 100%);border-color:#98afa6;transform:translateY(-1px)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #efbd7b;outline-offset:3px}
button:disabled{opacity:.4;cursor:default;transform:none}
.primary{background:linear-gradient(135deg,#f5c986 0%,#d99c4e 100%);color:#0f1718;border:1px solid #ffe0a8;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 0 24px rgba(239,189,123,.28),inset 0 1px 0 rgba(255,255,255,.45);text-shadow:0 1px 0 rgba(255,255,255,.25)}
.primary:hover{background:linear-gradient(135deg,#ffdfa8 0%,#e8af61 100%);box-shadow:0 0 32px rgba(239,189,123,.48)}
button span{font-size:18px}
[hidden]{display:none!important}
#game{width:100%;height:100%;display:block}

/* AAA Warzone Overlay & Lobby Shell */
.overlay{position:fixed;inset:0;z-index:20;background:radial-gradient(circle at 78% 28%,rgba(32,48,52,.42) 0%,rgba(12,18,20,.94) 68%),linear-gradient(90deg,#0b1113f8 0%,#111a1df2 58%,#131e21bb 100%);backdrop-filter:blur(7px);overflow-y:auto}
.menu-shell{min-height:calc(100% - 44px);display:grid;grid-template-columns:1fr 340px;padding:2.4vh 4.5vw 16px;gap:2.8vw;max-width:1760px;margin:auto;align-items:start}
.masthead{display:flex;align-items:center;gap:14px;letter-spacing:.14em;font-size:9px;color:#c4c8bb;margin-bottom:1.5vh;padding-bottom:10px;border-bottom:1px solid rgba(130,155,145,.22)}
.masthead .sigil{font-size:32px;color:#efbd7b;text-shadow:0 0 14px rgba(239,189,123,.5)}
.masthead b{font-size:8.5px;color:#7da096}
.masthead>small{margin-left:auto;color:#9eb5ae;font-size:9px;background:rgba(24,38,42,.8);padding:4px 9px;border:1px solid rgba(120,150,140,.3)}

.menu-hero-row{display:flex;align-items:center;gap:28px;margin-bottom:1.4vh;flex-wrap:wrap}
.eyebrow{display:block;color:#efbd7b;font-size:10px;letter-spacing:.24em;font-weight:800;text-transform:uppercase}
h1{font-size:clamp(64px,7.5vw,112px);letter-spacing:-.07em;line-height:.86;font-weight:950;margin:4px 0;font-stretch:condensed;transform:skewX(-5deg);text-shadow:0 8px 28px rgba(0,0,0,.65),3px 4px 0 rgba(239,189,123,.14)}
h1>span:not(.title-dot){color:#b9c7bd}
.title-dot{color:#efbd7b}
.menu-title-meta{border-left:2px solid rgba(239,189,123,.4);padding-left:20px;max-width:560px}
.tagline{font-size:clamp(16px,1.7vw,24px);font-weight:800;line-height:1.08;letter-spacing:.08em;margin:0 0 6px;color:#f3ebd9}
.intro-copy{margin:0;color:#9cb2aa;font-size:12px;line-height:1.5}

/* Section Headers */
.wz-section-label{display:flex;justify-content:space-between;align-items:center;margin:12px 0 8px;padding-bottom:4px;border-bottom:1px solid rgba(120,148,138,.25);font-size:10px;letter-spacing:.18em;font-weight:800;color:#d8c39e}
.wz-section-label small{color:#7f9890;font-size:9px;font-weight:600}
.wz-prop-link{color:#efbd7b;text-decoration:none;font-size:9.5px;background:rgba(239,189,123,.1);border:1px solid rgba(239,189,123,.4);padding:3px 9px;border-radius:2px;transition:all .15s}
.wz-prop-link:hover{background:rgba(239,189,123,.25);color:#fff}

/* Playlist Mode Cards */
.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px}
.wz-mode-card{text-align:left;padding:12px 14px;background:linear-gradient(160deg,rgba(24,35,39,.92) 0%,rgba(15,22,25,.96) 100%);border:1px solid rgba(105,126,118,.45);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);display:flex;flex-direction:column;gap:4px}
.wz-mode-top{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px}
.wz-mode-badge{font-size:8.5px;letter-spacing:.14em;padding:2px 6px;background:rgba(255,255,255,.06);color:#9eb5ae;border-radius:2px}
.wz-mode-count{font-size:8.5px;color:#efbd7b;letter-spacing:.08em}
.wz-mode-card strong{font-size:14px;letter-spacing:.1em;color:#f5f2e8;display:block}
.wz-mode-card small{display:block;font-size:10px;font-weight:400;color:#8fa49c;letter-spacing:.01em;line-height:1.35}
.mode-picker [aria-pressed=true]{border-color:#efbd7b;background:linear-gradient(160deg,rgba(68,56,34,.88) 0%,rgba(25,31,29,.95) 100%);box-shadow:inset 0 0 22px rgba(239,189,123,.18),0 6px 20px rgba(0,0,0,.45)}
.mode-picker [aria-pressed=true] .wz-mode-badge{background:#efbd7b;color:#11191a;font-weight:800}

/* Arena Map Selector Cards */
.map-picker-panel{margin:8px 0 12px}
.wz-arena-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wz-arena-card{text-align:left;padding:10px 14px;background:#152024;border:1px solid #485b56;display:flex;flex-direction:column;gap:3px}
.wz-arena-card.active{border-color:#efbd7b;background:linear-gradient(135deg,#352e20,#182225);box-shadow:inset 0 0 0 1px #efbd7b}
.wz-arena-code{font-size:8.5px;color:#efbd7b;letter-spacing:.15em}
.wz-arena-card strong{font-size:13px;letter-spacing:.08em}
.wz-arena-card small{font-size:10px;color:#93a8a0;font-weight:400;letter-spacing:0}

/* Warzone Class Loadout Rack */
.wz-class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
.wz-class-card{text-align:left;padding:12px;background:linear-gradient(180deg,rgba(22,32,37,.95) 0%,rgba(13,19,22,.98) 100%);border:1px solid rgba(100,122,126,.42);border-top:3px solid var(--cls-accent,#efbd7b);display:flex;flex-direction:column;gap:9px;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);transition:all .18s cubic-bezier(.16,1,.3,1)}
.wz-class-card:hover{border-color:var(--cls-accent);background:linear-gradient(180deg,rgba(30,44,50,.98) 0%,rgba(16,24,28,.98) 100%);transform:translateY(-2px)}
.wz-class-card.active{border-color:var(--cls-accent);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--cls-accent) 24%,#182428),#10181b 78%);box-shadow:0 8px 26px rgba(0,0,0,.55),inset 0 0 18px color-mix(in srgb,var(--cls-accent) 18%,transparent)}
.wz-class-header{display:flex;justify-content:space-between;align-items:center;gap:4px}
.wz-class-role{font-size:8px;letter-spacing:.14em;color:#a9bdb6;font-weight:800}
.wz-class-key{font-size:8px;letter-spacing:.08em;padding:2px 5px;background:rgba(0,0,0,.45);border:1px solid color-mix(in srgb,var(--cls-accent) 60%,transparent);color:var(--cls-accent);border-radius:2px}
.wz-class-emblem{display:flex;align-items:center;gap:10px}
.wz-class-emblem svg{width:42px;height:42px;flex-shrink:0;color:var(--cls-accent);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--cls-accent) 40%,transparent))}
.wz-class-title-wrap strong{display:block;font-size:15px;letter-spacing:.1em;color:#fff}
.wz-class-title-wrap small{display:block;font-size:9.5px;color:#99ada6;font-weight:400;letter-spacing:0;margin-top:2px;line-height:1.25}

.wz-class-bars{display:grid;gap:4px;background:rgba(0,0,0,.28);padding:7px 8px;border:1px solid rgba(255,255,255,.05)}
.wz-class-bars>div{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:6px;font-size:8px;letter-spacing:.1em;color:#95a8a2}
.wz-class-bars i{display:block;height:4px;background:#223034;position:relative;overflow:hidden;border-radius:1px}
.wz-class-bars i::after{content:'';position:absolute;inset:0;width:var(--val,75%);background:linear-gradient(90deg,var(--cls-accent),#fff8)}

.wz-class-perks{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}
.wz-class-perks span{font-size:8px;letter-spacing:.06em;padding:3px 5px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#d7e2de;border-radius:2px}
.wz-class-card.active .wz-class-perks span{border-color:color-mix(in srgb,var(--cls-accent) 50%,transparent);background:color-mix(in srgb,var(--cls-accent) 14%,#0d1518)}

/* Warzone Equipped Loadout Strip */
.wz-loadout-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}
.wz-slot-box{background:linear-gradient(145deg,#141f23,#0e1619);border:1px solid #384946;padding:9px 12px;display:flex;flex-direction:column;gap:5px;position:relative}
.wz-slot-tag{font-size:8px;letter-spacing:.16em;color:#8aa199;font-weight:800;text-transform:uppercase}
.wz-slot-body{display:flex;align-items:center;gap:10px}
.wz-slot-body img{width:46px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 6px #000)}
.wz-slot-body strong{display:block;font-size:11.5px;letter-spacing:.08em;color:#f3eee2}
.wz-slot-body small{display:block;font-size:9.5px;color:#8fa69e;letter-spacing:0;margin-top:1px}
.wz-plate-preview{display:flex;gap:3px}
.wz-plate-preview i{width:11px;height:20px;background:linear-gradient(180deg,#60a5fa,#2563eb);border:1px solid #93c5fd;clip-path:polygon(20% 0,80% 0,100% 25%,100% 100%,0 100%,0 25%)}
.wz-ability-glyph{width:34px;height:34px;display:grid;place-items:center;font-size:18px;background:rgba(239,189,123,.14);border:1px solid #efbd7b;color:#efbd7b;border-radius:4px;flex-shrink:0}
.wz-armory-override{cursor:pointer;border-color:rgba(245,208,97,.45);background:linear-gradient(145deg,#232116,#12181a)}
.wz-armory-override:hover{border-color:#f5d061;background:linear-gradient(145deg,#2e2a1a,#161e20)}
.wz-armory-override input{width:18px;height:18px;accent-color:#efbd7b;margin:0;flex-shrink:0;cursor:pointer}
.wz-armory-override strong{color:#f5d061}

/* Menu Action Buttons */
.menu-actions{display:flex;gap:12px;margin:14px 0 10px;flex-wrap:wrap}
.menu-actions>button{min-width:220px;padding:13px 20px}
.wz-hq-btn{background:linear-gradient(135deg,#1d3038 0%,#132026 100%);border-color:#568296;color:#d9f2ff;display:flex;justify-content:space-between;align-items:center;gap:18px}
.wz-hq-btn:hover{border-color:#7dd3fc;background:linear-gradient(135deg,#253e48 0%,#182930 100%)}
.menu-bottom{display:flex;flex-wrap:wrap;gap:8px}
.menu-bottom button{border:1px solid rgba(110,132,124,.3);background:rgba(18,28,31,.75);padding:7px 13px;font-size:9.5px;color:#c6cbbb}
.menu-bottom button:hover{border-color:#efbd7b;color:#fff}
.build-tag{margin-top:10px;font-size:8px;letter-spacing:.13em;color:#788c85}

/* Right Dossier Sidebar */
.menu-side{align-self:stretch;display:flex;flex-direction:column}
.wz-dossier-card{background:linear-gradient(180deg,rgba(19,29,33,.94) 0%,rgba(11,17,20,.97) 100%);border:1px solid rgba(108,132,124,.4);padding:18px 20px;display:flex;flex-direction:column;gap:12px;height:100%;box-shadow:0 16px 40px rgba(0,0,0,.5)}
.wz-dossier-head{display:flex;justify-content:space-between;align-items:center}
.wz-squad-pill{font-size:8.5px;font-weight:800;letter-spacing:.1em;color:#4ade80;background:rgba(22,101,52,.35);border:1px solid rgba(74,222,128,.45);padding:3px 7px;border-radius:2px}
.wz-dossier-identity{display:flex;align-items:center;gap:12px;background:rgba(0,0,0,.3);padding:10px;border:1px solid rgba(255,255,255,.07)}
.wz-dossier-avatar{width:54px;height:54px;border-radius:4px;border:2px solid #efbd7b;background:#070c0e;object-fit:cover}
.wz-dossier-identity strong{display:block;font-size:16px;letter-spacing:.1em;color:#fff}
.wz-dossier-identity span{display:block;font-size:10px;color:#efbd7b;letter-spacing:.08em;margin-top:2px}
.wz-dossier-identity small{display:block;font-size:9px;color:#8fa8a0;margin-top:3px;letter-spacing:.08em}

.wz-squad-roster{display:grid;gap:6px}
.wz-roster-row{display:flex;align-items:center;gap:8px;font-size:10px;padding:6px 8px;background:rgba(255,255,255,.03);border-left:2px solid #39e75f}
.wz-roster-row b{letter-spacing:.07em;color:#e2ece8}
.wz-roster-row span{margin-left:auto;font-size:8px;color:#4ade80;letter-spacing:.1em}
.dot-you,.dot-ally{width:7px;height:7px;border-radius:50%;display:inline-block}
.dot-you{background:#ff6c6c;box-shadow:0 0 6px #ff6c6c}
.dot-ally{background:#39e75f;box-shadow:0 0 6px #39e75f}

.episode-number{font-size:74px;font-weight:900;letter-spacing:-.08em;line-height:.95;color:rgba(169,185,166,.16);margin-top:auto}
.episode-number span{display:block;font-size:22px;letter-spacing:.1em;color:#ddc5a0;line-height:1.1;margin-top:4px}
.side-rule{height:1px;background:rgba(130,155,140,.24);margin:2px 0}
.menu-side p{font-size:12px;line-height:1.75;letter-spacing:.14em;margin:0;color:#c9d6d0}
.side-coordinate{display:block;font-size:8.5px;color:#7f948b;letter-spacing:.12em}
.menu-footer{height:42px;border-top:1px solid rgba(107,129,115,.28);display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw;font-size:9px;letter-spacing:.12em;color:#b0b9a8;background:#091014eb}

.screen-grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.04;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,#000 3px,#000 4px)}
#loading{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;letter-spacing:.3em;font-size:20px;background:#0d1517}
#loading span{font-size:11px;color:#9caa9d;letter-spacing:.1em}

/* AAA Warzone In-Game HUD */
#hud{position:fixed;inset:0;pointer-events:none;z-index:10}
.hud-top{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 28px;background:linear-gradient(180deg,rgba(10,16,18,.82) 0%,transparent 100%);gap:20px}
.hud-compass-card{background:rgba(13,22,26,.78);border-left:3px solid #efbd7b;padding:8px 14px;backdrop-filter:blur(4px)}
.hud-top h2{font-size:16px;letter-spacing:.14em;margin:4px 0 0;color:#f5f1e6}
.hud-objective{font-size:11px;letter-spacing:.15em;color:#f5d29c;padding:9px 16px;background:rgba(14,23,27,.78);border:1px solid rgba(239,189,123,.35);border-radius:2px;font-weight:700}
.hud-top button{pointer-events:auto;padding:8px 14px;font-size:9px;background:rgba(18,29,33,.85);border:1px solid rgba(140,165,155,.4)}
.match-status{font-size:15px;font-weight:800;color:#f3d299;padding:9px 16px;background:rgba(16,26,30,.85);border:1px solid rgba(239,189,123,.42);font-variant-numeric:tabular-nums;letter-spacing:.08em}

.hud-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 28px 22px;background:linear-gradient(transparent,rgba(8,13,15,.92));text-shadow:0 2px 4px #000}
.wz-vitals-cluster{display:flex;align-items:flex-end;gap:16px;background:linear-gradient(135deg,rgba(14,23,27,.88),rgba(9,15,18,.94));border:1px solid rgba(110,138,148,.35);border-left:3px solid #efbd7b;padding:12px 18px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.hud-bottom small{display:block;letter-spacing:.16em;font-size:8.5px;color:#9eb5ae;font-weight:700}
.hud-bottom strong{font-size:40px;line-height:1.05;font-variant-numeric:tabular-nums}
.health-block{min-width:105px}
.armor-block{min-width:95px}
.armor-block strong{color:#7dd3fc;font-size:36px}
.meter{height:5px;background:rgba(60,75,70,.5);margin-top:5px;border-radius:1px;overflow:hidden}
.meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#efbd7b,#fff2d6);transition:width .12s}
.armor-block .meter i{background:linear-gradient(90deg,#38bdf8,#bae6fd)}

#plate-hud{min-width:140px;margin-left:4px;color:#bae6fd;border-left:1px solid rgba(125,211,252,.25);padding-left:14px}
#plate-hud small{font-size:8.5px;letter-spacing:.14em;color:#7dd3fc}
#plate-hud span{font-size:10px;letter-spacing:.08em}
#plate-slots{display:flex;gap:6px;margin:6px 0}
#plate-slots i{width:28px;height:22px;border:1px solid #60a5fa;clip-path:polygon(20% 0,80% 0,100% 25%,100% 100%,0 100%,0 25%);background:linear-gradient(to top,#38bdf8 var(--fill),#172530 var(--fill));box-shadow:0 0 8px rgba(56,189,248,.2)}
#plate-progress{display:block;width:100%;height:5px;margin-top:6px;accent-color:#38bdf8}
#plate-progress[hidden]{display:none}

.inventory{flex:1;max-width:460px;text-align:center;background:rgba(13,21,25,.82);border:1px solid rgba(110,132,126,.32);padding:10px 16px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%,0 10px)}
.inventory>span{font-size:13px;letter-spacing:.2em;font-weight:800;color:#f7ebd2;display:block}
.inventory>small{display:block;margin-top:8px;font-size:8.5px;color:#95ada4}
#weapon-slots{display:flex;justify-content:center;gap:6px;margin-top:8px;flex-wrap:wrap}
#weapon-slots span{font-size:10px;font-weight:800;border:1px solid rgba(130,150,140,.45);background:rgba(20,31,35,.85);padding:5px 9px;color:#9fb2a8;min-width:28px;border-radius:2px}
#weapon-slots span.active{background:linear-gradient(135deg,#efbd7b,#d49546);color:#0f1718;border-color:#ffe4b5;box-shadow:0 0 12px rgba(239,189,123,.45)}
#weapon-slots span.locked{opacity:.24}

.wz-ammo-cluster{display:flex;align-items:flex-end;gap:16px;background:linear-gradient(225deg,rgba(14,23,27,.88),rgba(9,15,18,.94));border:1px solid rgba(110,138,148,.35);border-right:3px solid #efbd7b;padding:12px 18px;clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px)}
.ammo-block{text-align:right;min-width:95px}
.ammo-block strong{color:#f5ca86}
.seal-block{font-size:32px;color:#6c776e;text-align:center}
.seal-block.acquired{color:#ffce82;text-shadow:0 0 14px #ffce82}
.seal-block small{font-size:8px}

#crosshair{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%)}
#crosshair i{position:absolute;background:rgba(232,233,214,.72);box-shadow:0 0 2px #0008}
#crosshair i:nth-child(1){left:10px;top:0;width:2px;height:6px}
#crosshair i:nth-child(2){left:10px;bottom:0;width:2px;height:6px}
#crosshair i:nth-child(3){top:10px;left:0;height:2px;width:6px}
#crosshair i:nth-child(4){top:10px;right:0;height:2px;width:6px}
#hitmarker{position:absolute;left:50%;top:50%;width:32px;height:32px;transform:translate(-50%,-50%);pointer-events:none}
#kill-xp{position:absolute;left:calc(50% + 44px);top:calc(50% - 13px);z-index:30;pointer-events:none;color:#ffd15a;font:800 15px Consolas,monospace;letter-spacing:.04em;white-space:nowrap;text-shadow:0 2px 3px #000,0 0 12px #000}
#kill-xp.pop{animation:kill-xp-pop 1.8s ease-out both}
@keyframes kill-xp-pop{0%{opacity:0;transform:translateY(8px) scale(.9)}12%,70%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px)}}
#hitmarker i{position:absolute;width:9px;height:2px;background:#ffca81;box-shadow:0 0 4px #ffca81;border-radius:1px}
#hitmarker i:nth-child(1){top:4px;left:4px;transform:rotate(45deg)}
#hitmarker i:nth-child(2){top:4px;right:4px;transform:rotate(-45deg)}
#hitmarker i:nth-child(3){bottom:4px;left:4px;transform:rotate(-45deg)}
#hitmarker i:nth-child(4){bottom:4px;right:4px;transform:rotate(45deg)}
#hitmarker.crit i{background:#ff2b38;box-shadow:0 0 8px #ff2b38;width:12px;height:3px}
#interact{position:absolute;top:62%;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.14em;color:#fff0c5;background:rgba(12,20,24,.82);padding:5px 12px;border-radius:3px}
#interact:empty{display:none}
#message{position:absolute;top:18%;left:50%;transform:translateX(-50%);font-weight:800;text-align:center;letter-spacing:.16em;font-size:14px;text-shadow:0 2px 6px #000;width:90%;color:#ffe4b5}
#damage-vignette{position:absolute;inset:0;box-shadow:inset 0 0 130px #d13429;opacity:0;pointer-events:none}
#save-toast{position:absolute;bottom:125px;right:32px;font-size:9px;color:#bcc4ae;letter-spacing:.1em}

.result-card{max-width:680px;margin:12vh auto;padding:42px;background:linear-gradient(160deg,#162326f5,#0e1719f8);border:1px solid #71857288;box-shadow:0 30px 90px #000c}
.result-card h2{font-size:48px;line-height:1.08;margin:16px 0;letter-spacing:-.03em}
.result-card>p{font-size:14px;line-height:1.7;color:#bbc9bc}
.result-card button{margin-top:12px;min-width:200px;margin-right:8px}
.result-stats{display:flex;gap:30px;flex-wrap:wrap;margin:25px 0;padding:18px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}
.result-stats strong{display:block;font-size:35px;color:#efbd7b}
.result-stats small{display:block;font-size:9px;letter-spacing:.12em;color:#a7b7aa}

dialog{width:min(680px,94vw);max-height:90vh;overflow:auto;background:#131e21;color:#e8e8d8;border:1px solid #6b8078;padding:32px;box-shadow:0 30px 90px #000d}
dialog::backdrop{background:#060c0ecc;backdrop-filter:blur(5px)}
dialog h2{font-size:38px;margin:12px 0 20px}
dialog label{display:block;font-size:11px;letter-spacing:.08em;margin:14px 0}
dialog input[type=range],dialog select{width:100%;margin-top:8px;accent-color:#e9b878}
dialog select{padding:11px;background:#1c2a2e;color:#e9e8d8;border:1px solid #52665e}
.check{display:flex;align-items:center;gap:12px}
dialog p{font-size:12px;line-height:1.7;color:#b5c2b4}
.close{float:right;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);font-size:10px;padding:6px 12px}
.control-list{display:grid;grid-template-columns:130px 1fr;gap:14px;font-size:12px}
.control-list b{color:#efbd7b}
.control-list span{color:#c3cdbf}
output{float:right;color:#e3bf88}
noscript{position:fixed;z-index:100;top:20px;left:20px;background:#222;padding:30px}

#radar{position:absolute;right:24px;top:76px;border:2px solid rgba(191,199,162,.5);border-radius:50%;width:162px;height:162px;box-shadow:0 8px 28px rgba(0,0,0,.65)}
#map-attribution{position:fixed;bottom:3px;left:12px;z-index:4;font:9px sans-serif;color:#d8e1df;background:#142026b8;padding:3px 7px;pointer-events:auto}
#map-attribution a{color:inherit}
#city-map{width:min(900px,95vw)}
#city-map-canvas{width:100%;height:auto;border:1px solid #63797b}
#city-map h2{margin:12px 0}

#battle-radio{position:absolute;left:28px;bottom:132px;width:350px;max-width:40vw;background:linear-gradient(90deg,#0e1c24e6,#0e1c2477);border-left:3px solid #efbd7b;padding:10px 12px;pointer-events:auto;font:11px/1.45 monospace;color:#e2e9e7}
#battle-radio header{letter-spacing:2px;color:#dbc69a;font-size:11px;margin-bottom:8px;display:flex;justify-content:space-between}
#battle-radio header small{font-size:8px;color:#a8bec8}
#radio-lines{list-style:none;padding:0;margin:0;max-height:175px;overflow-y:auto;scrollbar-width:thin}
#radio-lines li{margin:0 0 5px;text-shadow:0 1px 2px #000}
#radio-lines time{color:#91a1a8;font-size:9px;margin-right:6px}
#radio-lines b{color:#d7c397;margin-right:5px}
#radio-lines .squad b{color:#85c9db}
#radio-lines .nearby b{color:#d49c82}
#radio-form{display:flex;gap:5px;margin-top:8px}
#radio-input{width:100%;min-width:0;background:#10202a;color:white;border:1px solid #70838c;padding:8px;font:11px monospace}
#radio-form button{font:9px monospace;padding:5px}
#medical-status{position:absolute;left:28px;bottom:104px;color:#f5c281;max-width:420px;font:bold 11px monospace;letter-spacing:1px;text-shadow:0 1px 3px #000}

#scope-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.scope-lens{position:relative;width:min(86vh,82vw);aspect-ratio:1;border-radius:50%;border:5px solid #101619;box-shadow:0 0 0 100vmax #000b,inset 0 0 24px 5px #0004}
.scope-lens i,.scope-lens b{position:absolute;background:rgba(8,12,13,.48);display:block;left:50%;top:50%;transform:translate(-50%,-50%)}
.scope-lens i{width:100%;height:1px}
.scope-lens b{height:100%;width:1px}
.scope-lens:after{content:'';position:absolute;left:calc(50% - 1px);top:calc(50% - 1px);width:2px;height:2px;background:rgba(230,83,53,.58);border-radius:50%}
#scope-label{position:absolute;bottom:15%;left:0;right:0;text-align:center;font:11px monospace;color:#182224;text-shadow:0 0 3px #fff8}

/* Performance Profiler HUD */
#performance{position:absolute;left:28px;top:92px;background:#0d181bf0;border:1px solid #4a615e;padding:12px 14px;border-radius:4px;font:11px monospace;color:#d5e0dc;box-shadow:0 8px 24px #000c;pointer-events:none;z-index:15;min-width:240px;backdrop-filter:blur(6px)}
.perf-section-rule{height:1px;background:rgba(74,97,94,0.45);margin:4px 0}
.perf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;border-bottom:1px solid #334845;padding-bottom:5px}
.perf-title{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#efbd7b}
.perf-badge{font-size:8px;padding:2px 5px;border-radius:2px;background:#065f46;color:#a7f3d0;font-weight:700}
.perf-stat-main{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}
.perf-stat-main strong{font-size:26px;line-height:1;font-weight:900;color:#34d399}
.perf-stat-main small{font-size:10px;color:#94a3b8}
.perf-stat-main small span{color:#64748b;font-size:9px}
.perf-stat-row{display:flex;justify-content:space-between;gap:8px;font-size:9.5px;line-height:1.5;color:#9baaa6}
.perf-stat-row b{color:#f1f5f9;font-weight:700}
#perf-sparkline{display:block;width:100%;height:28px;margin-top:8px;border:1px solid #233838;background:#091214;border-radius:2px}

/* Weapon Wheel Overlay */
#weapon-wheel{position:fixed;inset:0;z-index:25;display:grid;place-items:center;pointer-events:auto}
.wheel-backdrop{position:absolute;inset:0;background:rgba(8,14,16,.68);backdrop-filter:blur(4px)}
.wheel-container{position:relative;width:460px;height:460px;display:grid;place-items:center}
#wheel-canvas{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(0,0,0,.8))}
.wheel-center-info{position:relative;z-index:2;width:174px;height:174px;border-radius:50%;background:#111b1de8;border:2px solid #efbd7b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;box-shadow:inset 0 0 20px rgba(0,0,0,.8),0 0 15px rgba(239,189,123,.25)}
.wheel-key-badge{font:bold 9px monospace;letter-spacing:1px;color:#efbd7b;background:#382d1c;padding:2px 6px;border-radius:2px;margin-bottom:4px}
.wheel-weapon-title{font:bold 14px Bahnschrift,sans-serif;letter-spacing:1px;color:#fff;text-transform:uppercase}
.wheel-weapon-role{font:10px sans-serif;color:#94a8a6;margin:4px 0 6px;line-height:1.2}
.wheel-weapon-ammo{font:bold 10px monospace;color:#fcd34d;background:#1a2b2e;padding:3px 8px;border-radius:2px}

/* Options & Hardware Card */
.options-panel{display:grid;gap:14px}
.hardware-card{background:#111d20;border:1px solid #3c5450;border-radius:4px;padding:14px;margin-bottom:6px}
.hardware-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.hardware-card h3{margin:0;font-size:12px;letter-spacing:1.5px;color:#efbd7b}
.hardware-badge{font-size:9px;font-weight:700;padding:3px 7px;border-radius:2px;background:#0369a1;color:#e0f2fe}
.hardware-specs{font:10.5px monospace;color:#9cb1ac;line-height:1.6;margin-bottom:12px}
.hardware-specs b{color:#f8fafc}
.auto-detect-btn{width:100%;background:#efbd7b;color:#101a18;border:none;padding:10px;font-weight:800;letter-spacing:1.2px;border-radius:2px;cursor:pointer}
.auto-detect-btn:hover{background:#fed7aa}
.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.opt-section-title{font-size:10px;letter-spacing:2px;color:#9cb5ad;text-transform:uppercase;border-bottom:1px solid #334844;padding-bottom:4px;margin-top:8px}

/* Tactical Elimination Feed & Jump Banner */
.kill-feed{position:absolute;top:358px;right:24px;display:flex;flex-direction:column;gap:6px;pointer-events:none;z-index:15;max-width:340px}
.kill-feed-item{display:flex;align-items:center;gap:7px;background:rgba(16,25,29,.88);border:1px solid rgba(255,255,255,.15);padding:4px 9px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.06em;color:#e6edf3;backdrop-filter:blur(4px);animation:feedSlideIn .25s cubic-bezier(.16,1,.3,1)}
.kill-feed-item.self-kill{border-color:#38bdf8;background:rgba(14,45,62,.92);box-shadow:0 0 12px rgba(56,189,248,.3)}
.kill-feed-item img{width:22px;height:22px;border-radius:3px;border:1px solid rgba(255,255,255,.25);background:#070c0e}
.kill-feed-item i{font-style:normal;color:#ef4444;font-size:12px;margin:0 2px}
@keyframes feedSlideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

.jump-toast{position:absolute;top:26%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:rgba(12,20,24,.92);border:1px solid #10b981;box-shadow:0 0 20px rgba(16,185,129,.35);padding:8px 18px;border-radius:6px;font-size:12px;font-weight:800;letter-spacing:.12em;color:#a7f3d0;z-index:20;pointer-events:none;transition:opacity .4s}
.jump-toast img{width:28px;height:28px;border-radius:4px;border:1px solid #10b981}

.sc-avatar-thumb{width:22px;height:22px;border-radius:3px;vertical-align:middle;margin:0 6px;border:1px solid rgba(255,255,255,.25);background:#070c0e}
.radio-avatar{width:18px;height:18px;border-radius:2px;vertical-align:middle;margin-right:6px;border:1px solid rgba(255,255,255,.2)}
.winner-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:16px auto}
.winner-avatar-img{width:72px;height:72px;border-radius:8px;border:2px solid #efbd7b;box-shadow:0 0 24px rgba(239,189,123,.45);background:#070c0e}

#raid-status{position:absolute;right:24px;top:246px;width:336px;max-width:42vw;padding:10px 14px;background:rgba(12,23,29,0.88);border:1px solid rgba(109,229,165,0.28);border-left:3px solid #6de5a5;font:11px/1.45 Bahnschrift,"Segoe UI",sans-serif;letter-spacing:.04em;pointer-events:none;box-shadow:0 10px 28px rgba(0,0,0,0.65);backdrop-filter:blur(4px)}.extract-timers-hud{margin-top:8px;padding-top:7px;border-top:1px solid rgba(148,163,184,0.22);display:grid;gap:4px}.extract-timers-head{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;letter-spacing:.12em;color:#efbd7b;margin-bottom:2px}.extract-timers-head span:last-child{color:#7dd3fc}.extract-timer-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:4px 6px;background:rgba(7,14,18,0.72);border:1px solid rgba(100,116,139,0.26);border-left:2px solid #6de5a5;border-radius:2px;font-size:10px;font-variant-numeric:tabular-nums}.extract-timer-row.is-inject{border-left-color:#38bdf8}.extract-timer-row.is-active{border-color:#fbbf24;border-left-width:3px;border-left-color:#fbbf24;background:rgba(45,34,12,0.78)}.extract-timer-row.is-urgent{border-left-color:#f87171;background:rgba(48,14,18,0.72)}.extract-kind-pill{font-size:7.5px;font-weight:900;letter-spacing:.08em;padding:1px 4px;border-radius:2px;background:rgba(109,229,165,0.16);color:#6de5a5;border:1px solid rgba(109,229,165,0.4)}.extract-timer-row.is-inject .extract-kind-pill{background:rgba(56,189,248,0.16);color:#38bdf8;border:1px solid rgba(56,189,248,0.4)}.extract-name-block{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extract-name-block b{color:#f1f5f9;font-size:9.5px;letter-spacing:.05em}.extract-name-block small{display:inline!important;color:#94a3b8;font-size:8.5px;margin-left:5px}.extract-circle-clock{text-align:right;font-family:Consolas,monospace;font-size:9.5px;font-weight:800;padding:1px 5px;border-radius:2px;background:rgba(16,185,129,0.15);color:#6de5a5;border:1px solid rgba(16,185,129,0.35);white-space:nowrap}.extract-circle-clock.warn{background:rgba(245,158,11,0.18);color:#fbbf24;border-color:rgba(245,158,11,0.45)}.extract-circle-clock.danger{background:rgba(239,68,68,0.22);color:#fca5a5;border-color:rgba(239,68,68,0.55)}
#raid-status strong,#raid-status span,#raid-status small{display:block}
#raid-status strong{color:#e9cc92}
#raid-exfil{color:#91e9ba}
#raid-action{color:#c4d1d5}

/* Tactical Scoreboard Overlay (`) */
.tactical-scoreboard-overlay{position:fixed;inset:0;z-index:35;background:rgba(6,11,14,.82);backdrop-filter:blur(6px);display:grid;place-items:center;padding:3vh 4vw}
.sc-shell{width:min(1160px,94vw);max-height:86vh;background:linear-gradient(180deg,#131f24,#0d161a);border:1px solid #496069;box-shadow:0 28px 80px #000d;padding:24px 28px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.sc-header h2{margin:4px 0 0;font-size:26px;letter-spacing:.1em}
.sc-header small{font-size:11px;color:#8aa4b0;font-weight:400}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;overflow:auto;padding-right:4px}
.sc-team-column{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.07);padding:14px}
.sc-team-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;margin-bottom:10px}
.sc-team-head h3{margin:0;font-size:15px;letter-spacing:.14em}
.sc-team-head span{font-size:10px;color:#9eb3bc;letter-spacing:.08em}
.sc-table-rows{display:grid;gap:4px;max-height:56vh;overflow-y:auto}
.sc-row{display:grid;grid-template-columns:12px 34px 1fr 60px 80px;align-items:center;gap:6px;padding:6px 10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);font-size:11px}
.sc-row.is-self{border-color:#efbd7b;background:rgba(239,189,123,.14)}
.sc-row.kia{opacity:.42}
.sc-status-dot{width:8px;height:8px;border-radius:50%;background:#34d399}
.sc-status-dot.dead{background:#ef4444}
.sc-kills,.sc-pts{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.sc-pts{color:#efbd7b}
.sc-hover-card{position:fixed;z-index:45;background:#101b20;border:1px solid #efbd7b;padding:12px;display:flex;gap:12px;align-items:center;box-shadow:0 12px 32px #000c;pointer-events:none}
.sc-hover-card img{width:56px;height:56px;border:1px solid #efbd7b;background:#060a0c}
.sc-hover-meta h4{margin:0 0 4px;font-size:13px;color:#fff}
.sc-hover-meta p{margin:0;font-size:10px;color:#a7bcc4;line-height:1.4}

/* Kill-Cam Dossier Card & Bullet Tracer Visualizer */
.kill-cam-card-overlay{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);z-index:22;pointer-events:none;max-height:88vh;overflow-y:auto}
.kill-card-shell{width:min(640px,94vw);background:linear-gradient(135deg,rgba(26,14,16,.97),rgba(12,18,22,.98));border:1px solid #ef4444;border-left:4px solid #ef4444;padding:16px 20px;box-shadow:0 20px 60px rgba(0,0,0,.95);pointer-events:auto;border-radius:4px}
.kill-replay-section{background:rgba(7,11,15,0.92);border:1px solid #1e293b;border-left:3px solid #fbbf24;padding:10px;margin:8px 0;border-radius:3px;}
.kill-replay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px;flex-wrap:wrap;}
.kill-replay-code{font-family:monospace;font-size:11px;font-weight:700;color:#fbbf24;background:#111922;padding:2px 8px;border:1px solid rgba(251,191,36,0.4);border-radius:2px;}
.kill-replay-actions{display:flex;gap:8px;margin-top:8px;}
.kill-btn-copy{flex:1;padding:7px 12px;background:#1c1608;color:#fbbf24;border:1px solid #fbbf24;font-size:10px;font-weight:800;letter-spacing:0.05em;cursor:pointer;border-radius:2px;transition:background .15s;}
.kill-btn-copy:hover:not(:disabled){background:#29200b;color:#fde047;}
.kill-btn-download{flex:1;padding:7px 12px;background:#172530;color:#38bdf8;border:1px solid #38bdf8;font-size:10px;font-weight:800;letter-spacing:0.05em;cursor:pointer;border-radius:2px;transition:background .15s;}
.kill-btn-download:hover:not(:disabled){background:#1e3a4e;color:#7dd3fc;}
.kill-btn-copy:disabled,.kill-btn-download:disabled{opacity:0.4;cursor:not-allowed;}
.kill-tracer-radar-wrap{position:relative;width:100%;height:100px;background:rgba(5,9,12,0.92);border:1px solid rgba(239,68,68,0.35);margin:10px 0 6px;border-radius:3px;overflow:hidden;}
.kill-tracer-radar-wrap canvas{width:100%;height:100%;display:block;}
.kill-signature-badge{display:flex;justify-content:space-between;align-items:center;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.35);padding:4px 8px;border-radius:2px;font-family:monospace;font-size:9px;color:#fca5a5;margin-top:6px;}

.kill-card-header h3{margin:2px 0 10px;font-size:18px;letter-spacing:.14em;color:#fca5a5}
.kill-card-body{display:flex;gap:16px;align-items:center}
.kill-avatar-img{width:68px;height:68px;border:2px solid #ef4444;border-radius:4px;background:#070b0d}
.kill-glitch-badge{font:bold 8px monospace;color:#fca5a5;text-align:center;margin-top:4px}
.kill-callsign{margin:0 0 6px;font-size:22px;letter-spacing:.1em;color:#fff}
.kill-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.kill-team-tag,.kill-rarity-tag{font-size:9px;font-weight:800;letter-spacing:.1em;padding:3px 7px;border-radius:2px;background:rgba(255,255,255,.08)}
.kill-stats{margin:0;font-size:11px;color:#cbd5e1}
.kill-card-footer{margin-top:10px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1);font-size:9px;letter-spacing:.14em;color:#94a3b8}

@media(max-width:1150px){
 .menu-shell{grid-template-columns:1fr;padding:2.5vh 4vw}
 .menu-side{display:none}
 .wz-class-grid{grid-template-columns:repeat(2,1fr)}
 .wz-loadout-strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:750px){
 .mode-picker,.wz-class-grid,.wz-loadout-strip,.options-grid,.sc-grid{grid-template-columns:1fr}
 .hud-bottom{padding:12px;gap:10px;flex-wrap:wrap}
 .hud-bottom strong{font-size:28px}
 .hud-objective{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.screen-grain{display:none}}

.scope-lens.holding-breath{border-color:#38bdf8;box-shadow:0 0 0 100vmax #000b,inset 0 0 28px 6px #0005}
.scope-lens.exhausted{border-color:#ef4444;box-shadow:0 0 0 100vmax #000b,inset 0 0 32px 8px #450a0a66}
#scope-overlay .breath-prompt{position:absolute;bottom:8%;left:0;right:0;text-align:center;font:700 12px Bahnschrift,sans-serif;letter-spacing:1.5px;color:#cbd5e1;text-shadow:0 0 8px #000}
#scope-overlay .breath-prompt.holding{color:#38bdf8;text-shadow:0 0 10px #0284c7}
#scope-overlay .breath-prompt.gasped{color:#ef4444;text-shadow:0 0 10px #b91c1c}

/* Hide ugly browser scrollbars across all game UI while preserving smooth scrolling */
* { scrollbar-width: none !important; }
*::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }

#loading{z-index:100000;text-align:center;padding:24px;gap:16px}
#loading strong{font-size:20px;letter-spacing:.25em}
#loading progress{appearance:none;width:min(420px,78vw);height:10px;border:1px solid #607566;background:#14201d;border-radius:2px;overflow:hidden;accent-color:#cfaa68}
#loading progress::-webkit-progress-bar{background:#14201d}
#loading progress::-webkit-progress-value{background:linear-gradient(90deg,#8d9b75,#e0b675)}
#loading progress::-moz-progress-bar{background:#cfaa68}
#loading output{font-size:12px;color:#d9c399;letter-spacing:.1em}
#loading-controls button{margin:8px;padding:10px 16px;background:#202c28;color:#e4d7ba;border:1px solid #65745d;cursor:pointer}

/* Confirmed damage feedback: white flesh, blue armour, gold headshots, red kills. */
#hitmarker i,#hitmarker.crit i{background:var(--hit-color,#fff);box-shadow:0 0 4px #000,0 0 7px var(--hit-color,#fff)}
#hitmarker .hit-value{position:absolute;left:40px;top:2px;font:bold 20px Consolas,monospace;color:var(--hit-color,#fff);text-shadow:1px 2px 2px #000}
#hitmarker[data-kind="break"]:after{content:'ARMOUR BROKEN';position:absolute;left:50%;top:40px;transform:translateX(-50%);white-space:nowrap;font:bold 11px Consolas,monospace;color:#5be4ff;text-shadow:1px 2px #000}
#hitmarker[data-kind="kill"]:after{content:'ELIMINATED';position:absolute;left:50%;top:40px;transform:translateX(-50%);font:bold 12px Consolas,monospace;color:#ff5964;text-shadow:1px 2px #000}
#hitmarker[data-kind="headshot"]:after{content:'HEADSHOT';position:absolute;left:50%;top:40px;transform:translateX(-50%);white-space:nowrap;font:bold 12px Consolas,monospace;color:#ffe16b;text-shadow:1px 2px #000}
#hitmarker[data-kind="armour"]:after{content:'ARMOUR';position:absolute;left:50%;top:40px;transform:translateX(-50%);white-space:nowrap;font:bold 11px Consolas,monospace;color:#7acfff;text-shadow:1px 2px #000}
#hitmarker[data-kind="bullseye"]:after{content:'BULLSEYE';position:absolute;left:50%;top:40px;transform:translateX(-50%);white-space:nowrap;font:bold 12px Consolas,monospace;color:#ffe16b;text-shadow:1px 2px #000}
#hitmarker[data-kind="target"]:after{content:'TARGET HIT';position:absolute;left:50%;top:40px;transform:translateX(-50%);white-space:nowrap;font:bold 11px Consolas,monospace;color:#ffffff;text-shadow:1px 2px #000}

/* Player graphics and key assignment options. */
.graphics-help{font-size:12px;color:#bdcbc7;line-height:1.5}.key-bindings-dialog{width:min(680px,94vw);max-height:88vh;overflow:auto}.key-binding-list{display:grid;gap:6px;margin:16px 0}.key-binding-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,230px);gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid #344444}.key-binding-row button{min-height:36px;white-space:normal}.key-bindings-dialog [data-key-status]{min-height:3em;color:#c9d8d2;line-height:1.45}
/* Tactical information is laid out once, not stacked by unrelated fixed offsets. */
#hud-tactical-right{position:absolute;top:76px;right:20px;width:300px;max-height:calc(100vh - 226px);display:flex;flex-direction:column;gap:10px;pointer-events:none}
#hud-tactical-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex:none}
#hud-tactical-right #radar{position:static!important;flex:0 0 140px;width:140px;height:140px;margin:0}
#hud-buy-slot{min-width:0;flex:1}
#hud-buy-slot #wz-buy-hud-pill{position:static!important;width:100%;max-width:none!important;min-width:0!important;padding:8px!important;text-align:left!important;white-space:normal;font-size:10px!important;pointer-events:auto}
#hud-tactical-right #raid-status{position:static!important;width:100%;max-width:none!important;padding:9px 11px;min-height:0}
#hud-tactical-right #raid-action{font-size:9px;color:#b5c7bf;margin-top:5px;line-height:1.5}
#hud-tactical-right #extract-timers-hud{max-height:clamp(92px,calc(100vh - 470px),290px);overflow:auto;pointer-events:auto;overscroll-behavior:contain;padding-right:3px}
#hud-mission-left{position:absolute;top:100px;left:24px;width:min(300px,29vw);max-height:calc(100vh - 440px);overflow:auto;pointer-events:auto;overscroll-behavior:contain}
#hud-mission-left #hud-quest-log{position:static!important;width:100%;max-width:none!important;pointer-events:none}
#hud .kill-feed{top:78px;right:auto;left:50%;transform:translateX(-50%);max-width:280px;width:max-content;max-height:140px;overflow:auto}
#hud .kill-feed-item{font-size:9px;padding:3px 7px}
#hud .kill-feed-item img{width:17px;height:17px}
@media(max-width:1000px){#hud-tactical-right{width:250px;right:14px}#hud-tactical-right #radar{flex-basis:118px;width:118px;height:118px}#hud-mission-left{left:14px;width:240px;max-height:210px}#hud .kill-feed{top:auto;bottom:145px;max-height:84px;left:50%}}
@media(max-width:620px){#hud-tactical-right{width:calc(50vw - 18px);right:10px;top:76px}#hud-tactical-top{flex-direction:column;align-items:stretch}#hud-tactical-right #radar{width:100px;height:100px;flex-basis:100px;align-self:flex-end}#hud-buy-slot{width:100%}#hud-mission-left{width:calc(50vw - 18px);left:10px;top:100px;max-height:210px}#hud-tactical-right #raid-status{font-size:9px;padding:7px}#hud-tactical-right #extract-timers-hud{max-height:130px}.extract-timers-head{font-size:7px}.extract-timer-row{gap:3px;padding:3px}.extract-name-block b{font-size:8px}.extract-name-block small{font-size:7px}.extract-circle-clock{font-size:8px}#hud .kill-feed{bottom:155px;max-width:calc(100vw - 30px)}}
.major-order-banner{background:#102027;border:1px solid #ae9254;padding:16px;margin:12px 0}.major-order-banner header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.major-order-banner h3{margin:0;color:#f1ce76}.major-order-banner p{color:#c7d5ce;font-size:13px}.major-order-objectives{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.major-order-objectives strong,.major-order-objectives small,.major-order-objectives progress{display:block;width:100%;font-size:11px}.major-order-hud,.quest-hud-card{padding:10px 12px;background:rgba(12,23,29,.9);border-left:3px solid #e9c967;color:#dce5df;margin-bottom:8px;font:11px/1.4 'Segoe UI',sans-serif}.major-order-hud header{display:flex;justify-content:space-between;color:#f4ce70;font-size:10px}.major-order-hud>div{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.major-order-hud small{color:#a5bdad;font-size:10px}.quest-hud-card{border-color:#60b7cd}.quest-hud-card h3{font-size:10px;color:#77cce0;margin:0 0 8px}.quest-hud-row{margin-bottom:7px}.quest-hud-row>b{font-size:10px;display:block}.quest-hud-row small{display:block;color:#9eb1ba;font-size:9px}.quest-hud-row strong{float:right;color:#e9c967}
#major-order-alert{position:fixed;top:90px;left:50%;transform:translateX(-50%);width:min(560px,90vw);padding:18px 24px;background:#10221ff5;border:1px solid #d7b96a;border-top:4px solid #e4bc5d;color:#e8efdf;z-index:99999;box-shadow:0 12px 50px #0008;text-align:left;pointer-events:auto}#major-order-alert small{font:10px monospace;color:#e4bc5d;letter-spacing:.15em}#major-order-alert h2{font-size:20px;margin:8px 0}#major-order-alert p{font-size:13px;line-height:1.5}#major-order-alert button{float:right;padding:4px 8px;font-size:9px;background:transparent;color:#bdcdbf;border:1px solid #65806d}#major-order-alert>strong{font:13px monospace;color:#e4bc5d}
@media(max-width:1000px){#hud .kill-feed{left:auto;right:14px;transform:none;max-width:calc(50vw - 20px);bottom:145px}#hud-tactical-right #extract-timers-hud{max-height:clamp(92px,calc(100vh - 570px),290px)}}
@media(max-width:620px){#hud-tactical-right #extract-timers-hud{max-height:110px}#hud .kill-feed{right:10px;bottom:145px}.major-order-hud,.quest-hud-card{padding:7px;font-size:9px}.major-order-hud header,.quest-hud-card h3{font-size:8px}.quest-hud-row>b{font-size:8px}}
.hideout-room-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:20px 0}.hideout-room-directory article{background:#13211f;border:1px solid #536054;overflow:hidden}.hideout-room-directory img{width:100%;height:145px;object-fit:cover}.hideout-room-directory article>div{padding:14px}.hideout-room-directory h3{font-size:13px;color:#dfc69a;margin:0 0 8px}.hideout-room-directory em{font-size:12px;color:#b9c7b5}.hideout-room-directory p{font-size:12px;line-height:1.5;color:#b6c4bc}.hideout-roam-hint{position:absolute;left:16px;right:16px;bottom:20px;padding:12px 18px;background:#0a171bea;color:#e5d6b4;font:12px/1.6 monospace;pointer-events:none;z-index:40;max-width:820px}

#hub .hideout-roam-hint{left:16px;right:16px;transform:none;white-space:normal;width:auto;max-width:820px}

#hub.hideout-walking .online-lobby,#hub.hideout-walking .hub-armoury{display:none}


/* Heat-Seeking Anti-Air Overlay */
#heat-seeker-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 120;
}
.hs-reticle-box {
  position: relative;
  width: 280px;
  height: 200px;
  border: 2px solid #ef4444;
  box-shadow: 0 0 15px rgba(239, 68, 68, 0.45), inset 0 0 15px rgba(239, 68, 68, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.hs-reticle-box.tracking {
  border-color: #f59e0b;
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.65), inset 0 0 20px rgba(245, 158, 11, 0.25);
}
.hs-reticle-box.locked {
  border-color: #22c55e;
  box-shadow: 0 0 25px rgba(34, 197, 94, 0.8), inset 0 0 25px rgba(34, 197, 94, 0.35);
  animation: hs-lock-pulse 0.25s infinite alternate;
}
@keyframes hs-lock-pulse {
  from { transform: scale(1); }
  to { transform: scale(1.03); }
}
.hs-corner {
  position: absolute;
  width: 16px;
  height: 16px;
  border-color: inherit;
}
.hs-corner.top-left { top: -4px; left: -4px; border-top: 3px solid; border-left: 3px solid; }
.hs-corner.top-right { top: -4px; right: -4px; border-top: 3px solid; border-right: 3px solid; }
.hs-corner.bottom-left { bottom: -4px; left: -4px; border-bottom: 3px solid; border-left: 3px solid; }
.hs-corner.bottom-right { bottom: -4px; right: -4px; border-bottom: 3px solid; border-right: 3px solid; }
.hs-crosshair-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%);
  border: 1px dashed rgba(239, 68, 68, 0.7);
  border-radius: 50%;
}
.hs-status-panel {
  position: absolute;
  bottom: -48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-family: monospace;
  text-shadow: 0 1px 3px #000;
}
.hs-target-name {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ef4444;
}
.hs-lock-meter {
  width: 200px;
  height: 6px;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid #ef4444;
  border-radius: 2px;
  overflow: hidden;
}
.hs-lock-fill {
  width: 0%;
  height: 100%;
  background: #ef4444;
  transition: width 0.08s linear;
}
.hs-lock-timer {
  font-size: 10px;
  color: #fff;
  font-weight: 600;
}

.wz-vitals-stack{display:flex;flex-direction:column;gap:8px;min-width:230px;max-width:min(390px,46vw)}
.squad-vitals{display:grid;gap:7px;width:min(280px,100%)}
.squad-vital-row{padding:6px 9px;background:#0b131bce;border-left:3px solid #62d49a;text-shadow:0 1px 2px #000;font:11px "Segoe UI",sans-serif;}
.squad-vital-name{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;}
.squad-vital-name b{color:#c1f2e0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.squad-vital-name span{font-size:9px;color:#b7c4cf;}
.squad-vital-identity{display:flex;align-items:center;gap:6px;min-width:0}
.squad-vital-identity b{min-width:0}
.squad-vital-name .squad-driver-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;color:#f3d299;filter:drop-shadow(0 1px 2px #000)}
.squad-driver-icon svg{display:block;width:18px;height:18px}
.squad-meter{height:5px;background:#52606b85;margin-top:3px;overflow:hidden;}
.squad-meter i{display:block;height:100%;transition:width .12s linear;}
.squad-meter.armour i{background:#38a6ff;}.squad-meter.health i{background:#e5efdc;}
.squad-vital-values{display:flex;justify-content:space-between;font-size:9px;color:#d0d9de;margin-top:3px;}
.squad-vital-row.is-downed{border-color:#f59e0b}.squad-vital-row.is-downed .health i{background:#f59e0b}
.squad-vital-row.is-dead{opacity:.55;border-color:#9b6161}
@media(max-height:600px){.squad-vital-row{padding:3px 7px}.squad-vital-values{display:none}}

/* Heading tape shares the field HUD's charcoal, faded gold and sage palette. */
.hud-top{display:grid;grid-template-columns:minmax(170px,260px) minmax(0,1fr) minmax(170px,260px);gap:6px 20px;padding:12px 24px;align-items:start}
.hud-top .hud-compass-card{grid-column:1;grid-row:1 / span 2;min-width:0}
.hud-top .hud-compass-card h2{font-size:13px}
.hud-top #pause-button{grid-column:3;grid-row:1;justify-self:end}
.hud-top #match-status{grid-column:2;grid-row:2;justify-self:center;max-width:100%;padding:5px 10px;font-size:11px;text-align:center}
.hud-top #objective{grid-column:2;grid-row:3;justify-self:center;max-width:100%;padding:5px 9px;font-size:9px;line-height:1.4;text-align:center}
.hud-top #auto-sim-btn{grid-column:2;grid-row:4;justify-self:center}
#hud-compass{grid-column:2;grid-row:1;position:relative;justify-self:center;width:100%;max-width:680px;height:68px;overflow:hidden;pointer-events:none;text-shadow:0 2px 3px #000,0 0 7px #000}
.compass-window{position:absolute;inset:0 0 auto;height:38px;overflow:hidden;background:linear-gradient(90deg,transparent,rgba(10,20,24,.68) 20%,rgba(10,20,24,.68) 80%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);border-bottom:1px solid rgba(158,181,174,.22)}
.compass-track{position:absolute;left:50%;top:0;width:3888px;height:38px;will-change:transform}
.compass-tick{position:absolute;top:6px;width:32px;margin-left:-16px;height:29px;padding-top:12px;text-align:center;white-space:nowrap;color:#b3c3ba;font:600 10px/12px Consolas,monospace}
.compass-tick:before{content:'';position:absolute;top:0;left:50%;width:1px;height:5px;background:#9eb5ae99}
.compass-tick.is-major:before{height:9px;background:#d6dcd0}
.compass-tick.is-cardinal{padding-top:11px;color:#f5d29c;font:800 13px/14px Bahnschrift,'Segoe UI',sans-serif}
.compass-tick.is-cardinal:before{height:10px;background:#efbd7b}
.compass-cursor{position:absolute;top:0;left:50%;width:10px;height:6px;transform:translateX(-50%);background:#efbd7b;clip-path:polygon(0 0,100% 0,50% 100%)}
.compass-bearing{position:absolute;top:38px;left:50%;transform:translateX(-50%);padding:1px 7px;color:#ffe4b5;background:#101a1ed9;border:1px solid #efbd7b66;font:800 11px/14px Consolas,monospace;letter-spacing:.06em}
.compass-location{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#c0c9b9;font:700 8px/10px Bahnschrift,'Segoe UI',sans-serif;letter-spacing:.16em}
#hud .kill-feed{top:160px}
@media(max-width:1000px){.hud-top{grid-template-columns:170px minmax(0,1fr) 170px;padding:10px 14px;column-gap:12px}.hud-top .hud-compass-card{padding:7px 9px}.hud-top .hud-compass-card h2{font-size:11px}.hud-top .hud-compass-card .eyebrow{font-size:8px}#hud .kill-feed{top:auto}}
@media(max-width:700px){.hud-top{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:8px 10px}#hud-compass{grid-column:1 / -1;grid-row:1;max-width:540px}.hud-top .hud-compass-card{grid-column:1;grid-row:2}.hud-top #pause-button{grid-column:2;grid-row:2}.hud-top #match-status{grid-column:1 / -1;grid-row:3;font-size:9px}.hud-top #objective{display:none}.hud-top #auto-sim-btn{grid-column:1 / -1;grid-row:4}#hud-tactical-right{top:164px}#hud-mission-left{top:164px}}

/* Tactical Warzone-Style Kill Card Banner */
.kill-card-banner {
  position: absolute;
  bottom: 125px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 55;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.kill-card-banner[hidden] {
  display: none !important;
}
.kill-card-banner.fade-out {
  opacity: 0;
  transform: translateX(-50%) translateY(-12px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.kill-card-banner .kc-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, rgba(8, 14, 18, 0.96) 0%, rgba(16, 26, 32, 0.94) 100%);
  border: 1px solid rgba(245, 158, 11, 0.45);
  border-left: 4px solid #f59e0b;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.75), 0 0 16px rgba(245, 158, 11, 0.2);
  border-radius: 4px;
  padding: 8px 16px;
  backdrop-filter: blur(8px);
  min-width: 320px;
  max-width: 440px;
  animation: kcSlideIn 0.32s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes kcSlideIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.kill-card-banner .kc-avatar-wrap {
  position: relative;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
}
.kill-card-banner .kc-avatar {
  width: 100%;
  height: 100%;
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  object-fit: cover;
  background: #070c0e;
}
.kill-card-banner .kc-skull-badge {
  position: absolute;
  bottom: -4px;
  right: -4px;
  font-size: 11px;
  background: #dc2626;
  border: 1px solid #fca5a5;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.7);
}
.kill-card-banner .kc-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex-grow: 1;
  overflow: hidden;
}
.kill-card-banner .kc-topline {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.kill-card-banner .kc-badge-elim {
  color: #ef4444;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  background: rgba(239, 68, 68, 0.18);
  border: 1px solid rgba(239, 68, 68, 0.5);
  padding: 1px 6px;
  border-radius: 2px;
}
.kill-card-banner .kc-victim-name {
  color: #f1f5f9;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}
.kill-card-banner .kc-streak {
  margin-left: auto;
  color: #fbbf24;
  font-size: 11px;
  font-family: Consolas, monospace;
  letter-spacing: 0.08em;
  font-weight: 700;
}
.kill-card-banner .kc-subline {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10.5px;
  color: #94a3b8;
  font-family: Consolas, monospace;
}
.kill-card-banner .kc-weapon-info {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #cbd5e1;
  font-weight: 600;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kill-card-banner .kc-gun-icon {
  font-style: normal;
  font-size: 11px;
}
.kill-card-banner .kc-dist {
  color: #64748b;
  font-size: 10px;
}
.kill-card-banner .kc-badge-headshot {
  color: #fbbf24;
  font-weight: 800;
  text-shadow: 0 0 6px rgba(251, 191, 36, 0.6);
  font-size: 10px;
}
.kill-card-banner .kc-badge-melee {
  color: #38bdf8;
  font-weight: 800;
  font-size: 10px;
}
.kill-card-banner .kc-xp {
  margin-left: auto;
  color: #4ade80;
  font-weight: 800;
  font-size: 11px;
  text-shadow: 0 0 6px rgba(74, 222, 128, 0.4);
}
@media(max-width:700px){
  .kill-card-banner {
    bottom: 110px;
    width: calc(100vw - 24px);
  }
  .kill-card-banner .kc-inner {
    min-width: 0;
    width: 100%;
    padding: 6px 10px;
  }
  .kill-card-banner .kc-victim-name {
    max-width: 120px;
  }
}
#environment-clock{position:absolute;right:18px;top:128px;z-index:4;padding:6px 9px;background:#071017d9;border:1px solid #53736d;color:#d8ece4;font:700 11px Bahnschrift,Arial,sans-serif;letter-spacing:1px;pointer-events:none}

.compass-squad-marks{position:absolute;inset:0;pointer-events:none}.compass-squad-arrow{position:absolute;top:24px;transform:translateX(-50%);font:bold 17px/18px sans-serif;filter:drop-shadow(0 1px 2px #000);text-shadow:0 0 3px #000}

/* Flow-based status widgets share their existing HUD regions. */
#hud-tactical-right #environment-clock{position:static;align-self:flex-end;flex:none;max-width:100%;box-sizing:border-box;margin:0;white-space:normal}
#hud-admin-status{margin-top:8px;padding:6px 8px;border:1px solid #10b981;background:#060c12d1;color:#34d399;font:700 10px/1.4 Bahnschrift,monospace;letter-spacing:.02em;overflow-wrap:anywhere}
#hud-buy-slot #wz-buy-hud-pill{box-sizing:border-box;overflow-wrap:anywhere}
#hud-tactical-top{min-width:0}
#hud-tactical-right #extract-timers-hud{min-height:0}


/* Cinematic vignette: CSS only (no GPU pass). Clear centre keeps the aim point untouched. */
.cinematic-vignette{position:fixed;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse 78% 72% at 50% 47%,transparent 58%,rgba(14,7,4,.18) 78%,rgba(10,5,3,.46) 100%)}
/* MAJOR ORDERS faction race (user 2026-11-09): Europastan red vs the Americas blue, per objective */
.major-order-objectives .mo-faction{font-weight:600;letter-spacing:.06em;margin-top:4px}
.major-order-objectives .mo-red{color:#e0796a}.major-order-objectives .mo-blue{color:#7aa6d6}
.major-order-objectives progress.mo-red{accent-color:#b5462a}.major-order-objectives progress.mo-blue{accent-color:#2f5d7c}
.major-order-banner .mo-winner{color:#f1ce76;font-weight:700;letter-spacing:.12em}
/* major order popup: the faction race + the winner (user 2026-11-10: mail + popup, no voice for now) */
#major-order-alert .mo-alert-race{color:#efe6d2;font-weight:600;letter-spacing:.04em}
#major-order-alert .mo-alert-list{margin:6px 0 10px;padding-left:18px;font-size:13px;line-height:1.6}
#major-order-alert .mo-alert-list b{color:#e4bc5d}
#major-order-alert .mo-alert-winner{font-size:15px;font-weight:700;letter-spacing:.1em}
#major-order-alert .mo-red{color:#e0796a}#major-order-alert .mo-blue{color:#7aa6d6}
