/* Full-screen free-for-all combat interface. */
.objective-readout{position:absolute;top:93px;left:50%;transform:translateX(-50%);padding:8px 15px;background:#101815c9;border:1px solid #c8b98b55;color:#e5d7ae;font:10px 'IBM Plex Mono',monospace;letter-spacing:.5px;white-space:nowrap;z-index:5;pointer-events:none}
.at-base .objective-readout{display:none}
.at-base .combat-hud,.at-base .combat-telemetry,.at-base .combat-panels{display:none}
.render-3d.in-mission .battle{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden;border:0;background:#111714}
.render-3d.in-mission #field{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden}
.render-3d.in-mission #game{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.render-3d.in-mission .battle-hud3d{z-index:1}
.combat-hud{position:absolute;z-index:4;inset:0;display:block;pointer-events:none;background:linear-gradient(180deg,#08100ee8 0%,#0b12106e 12%,transparent 27%,transparent 70%,#08100e6b 100%);color:#e5e4d3}
.match-brand,.match-clock,.match-score,.armor-readout,#pause{position:absolute;top:18px}
.match-brand{left:23px;display:grid;gap:4px;text-shadow:0 1px 4px #000}
.match-brand .match-scope{font:600 8px 'IBM Plex Mono',monospace;letter-spacing:1.8px;color:#b7bca9}
.match-brand .match-scope i{font-style:normal;color:#df6646;margin:0 6px}
.match-brand>b{font:700 21px/.95 'Barlow Condensed',sans-serif;letter-spacing:1.5px;color:#f0eee0}
.match-brand>b em{font-style:normal;color:#dc6142}
.match-brand>span:last-child{font:8px 'IBM Plex Mono',monospace;letter-spacing:.7px;color:#c1c7b4}
.match-clock{left:50%;transform:translateX(-50%);text-align:center;min-width:152px;padding:7px 16px 8px;background:#121a17c7;border:1px solid #c7ccb125;box-shadow:0 3px 20px #0005}
.match-clock small,.armor-readout small,.match-score small{display:block;font:7px 'IBM Plex Mono',monospace;letter-spacing:1.5px;color:#a5ad9d}
.match-clock strong{display:block;margin:2px 0 5px;font:600 29px/.9 'IBM Plex Mono',monospace;letter-spacing:2px;color:#eee9cf}
.clock-track{height:2px;background:#6d7466}
.clock-track i{display:block;width:100%;height:100%;background:#dc6344;transform-origin:left;transition:transform .2s linear}
.match-score{right:92px;display:flex;gap:17px;align-items:start}
.match-score>div{text-align:right;min-width:40px}
.match-score b{display:block;margin-top:4px;font:600 20px 'IBM Plex Mono',monospace;color:#e9e9d7}
.match-score>div:first-child b{color:#e5ad6e}
.armor-readout{top:86px;left:23px;width:170px;padding:9px 11px;background:#101815bd;border-left:2px solid #a6ae8c}
.armor-readout .health{position:relative;width:100%;height:5px;margin:8px 0 5px;background:#606358}
.armor-readout .health i{display:block;height:100%;max-width:100%;background:linear-gradient(90deg,#a9b689,#e1c276);transition:width .18s}
.armor-readout>b{position:absolute;right:10px;bottom:6px;font:500 10px 'IBM Plex Mono',monospace;color:#e3e4d4}
.system-readout{position:absolute;top:147px;left:23px;width:170px;display:grid;gap:7px;padding:10px 11px;background:#101815d4;border-left:2px solid #8f9c80;font:8px 'IBM Plex Mono',monospace;color:#a7b39f}
.system-readout>span{display:flex;justify-content:space-between;gap:10px}.system-readout b{font:500 8px 'IBM Plex Mono',monospace;color:#d7dfbe}.system-readout .damaged,.system-readout .damaged b{color:#e1ac6a}.system-readout .disabled,.system-readout .disabled b{color:#f18468}
.gunnery-readout{position:absolute;bottom:83px;left:50%;transform:translateX(-50%);display:flex;gap:18px;padding:7px 11px;background:#101815b8;border:1px solid #bec5ab35;white-space:nowrap;font:8px 'IBM Plex Mono',monospace;letter-spacing:.7px;color:#c4cbb9}.gunnery-readout b{color:#eee4bb;font:500 11px 'IBM Plex Mono',monospace;margin-left:5px}
#pause{pointer-events:auto;right:22px;min-width:50px;height:46px;padding:4px 12px;border:1px solid #c4c7b166;background:#111916d9;color:#edead8;font:19px 'IBM Plex Mono',monospace;box-shadow:0 3px 12px #0005}
.combat-telemetry{position:absolute;z-index:4;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:25px;min-width:450px;padding:11px 18px;background:#101815d9;border:1px solid #c4c7b133;box-shadow:0 6px 24px #0007;color:#d2d6c6;backdrop-filter:blur(6px)}
.telemetry-speed,.reload-meter>span,.combat-status{display:grid;gap:5px}
.combat-telemetry small{font:7px 'IBM Plex Mono',monospace;letter-spacing:1.1px;color:#9ba391}
.combat-telemetry b{font:500 12px 'IBM Plex Mono',monospace;color:#e1e2d3}
.combat-telemetry .reload-meter{display:grid;gap:6px;min-width:125px}
.reload-meter>div{width:100%;height:3px;background:#4f5548}
.reload-meter i{display:block;height:100%;background:#d9a267;transition:width .05s linear}
.combat-telemetry .ready{color:#d3dda9}
.combat-status{min-width:170px;padding-left:17px;border-left:1px solid #7c84764d}
.combat-status b{font-size:8px;color:#c4c9b5}
.combat-panels{position:absolute;z-index:4;inset:0;pointer-events:none}
.combat-panel{position:absolute;top:158px;right:22px;width:208px;padding:12px;background:#101714c9;border:1px solid #c4c7b133;box-shadow:0 4px 18px #0005;backdrop-filter:blur(5px)}
.combat-panel>small{display:flex;justify-content:space-between;gap:8px;font:7px 'IBM Plex Mono',monospace;letter-spacing:1px;color:#c4c9b9}
.combat-panel>small b{font-weight:400;color:#8e9a82}
#leaderboard{margin-top:8px}
.rank-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid #d9dfca15;font:8px 'IBM Plex Mono',monospace;color:#c0c5b8}
.rank-row b{font-weight:500;color:#e5e2d3}.rank-row b i{font-style:normal;color:#7e8876;padding:0 3px}
.rank-row.is-player{color:#e7bb7e}.rank-row.is-player b{color:#e7bb7e}
.kill-feed{position:absolute;top:245px;left:23px;display:grid;gap:4px;max-width:250px}
.feed-row{padding:6px 9px;background:#101714b8;border-left:2px solid #a26f5a;font:8px 'IBM Plex Mono',monospace;color:#c7ccbd;text-shadow:0 1px 2px #000}
.feed-row i{font-style:normal;padding:0 5px;color:#a4ad97}
.feed-row.player-kill{border-color:#e2a55d;color:#f0d0a2}
.render-3d.in-mission .coordinates{display:none}
.render-3d.in-mission #notice{z-index:5;top:23%;left:20%;right:20%;font-size:16px;text-shadow:0 2px 8px #000}
.render-3d.in-mission .battle>.status{display:none}
.render-3d.in-mission #overlay{z-index:10;height:100%;overflow:auto;justify-content:safe center;background:#080d0ccd;backdrop-filter:blur(5px)}
.render-3d.in-mission #overlay #menuPanel{max-width:590px;padding:25px;background:linear-gradient(140deg,#202823f5,#101714f5);border:1px solid #a8aa8b50;border-top:2px solid #b47c52}
.render-3d.in-mission #overlay #menuPanel h2{font:700 42px 'Barlow Condensed',sans-serif;letter-spacing:1.2px;color:#e7e5d6}
.render-3d.in-mission #overlay #menuPanel p{font:12px/1.7 Arial,sans-serif;color:#aab1a2}
.render-3d.in-mission .mobile{z-index:6}
.render-3d .view-toggle{top:18px;left:205px;min-height:38px;padding:8px 10px;border-color:#bdc3ad55;background:#121a17c9;color:#d4d8c8}
.render-3d.at-base #viewToggle,.render-3d.in-mission:not(.playing) #viewToggle{display:none}
@media(max-width:760px){
 .render-3d.in-mission .battle{position:fixed;inset:0;width:100%;height:100dvh}
 .match-brand{top:12px;left:12px;gap:3px}.match-brand .match-scope{font-size:6px;letter-spacing:1px}.match-brand>b{font-size:15px;letter-spacing:.6px}.match-brand>span:last-child{font-size:6px}
 .match-clock{top:10px;min-width:103px;padding:6px 9px}.match-clock small{font-size:6px;letter-spacing:.7px}.match-clock strong{font-size:22px;margin:3px 0 4px}
 .match-score{top:67px;right:10px;gap:10px;padding:5px 8px;background:#101815b5}.match-score>div{min-width:31px}.match-score small{font-size:6px;letter-spacing:.4px}.match-score b{font-size:15px;margin-top:2px}
 .armor-readout{top:68px;left:10px;width:132px;padding:7px 8px}.armor-readout small{font-size:6px;letter-spacing:.6px}.armor-readout .health{margin:7px 0 4px;height:4px}.armor-readout>b{right:7px;bottom:4px;font-size:8px}
 #pause{top:10px;right:10px;min-width:38px;height:38px;padding:3px 9px;font-size:15px}
 .render-3d .view-toggle{top:112px;left:10px;min-height:35px;font-size:8px}
 .combat-panel{top:146px;right:9px;width:min(156px,43vw);padding:8px 9px}.combat-panel>small{font-size:6px;letter-spacing:.45px}.rank-row{font-size:7px;padding:4px 0}
 .kill-feed{top:228px;left:9px;max-width:48vw;gap:3px}.feed-row{font-size:7px;padding:5px 6px}
 .system-readout{top:149px;left:10px;width:120px;padding:7px 8px;gap:5px;font-size:6px}.gunnery-readout{bottom:164px;gap:9px;font-size:6px;padding:5px 8px;letter-spacing:.2px}
 .render-3d.in-mission #notice{top:27%;left:28%;right:28%;font-size:12px;letter-spacing:1px}
 .combat-telemetry{left:50%;bottom:105px;min-width:0;width:min(340px,calc(100% - 24px));justify-content:space-between;gap:10px;padding:8px 10px;background:#101815c4}
 .combat-telemetry small{font-size:6px;letter-spacing:.5px}.combat-telemetry b{font-size:9px}.combat-telemetry .reload-meter{min-width:84px;gap:4px}.combat-status{min-width:0;padding-left:9px}.combat-status b{max-width:100px;font-size:6px;line-height:1.35}
 .render-3d.in-mission .mobile{left:10px;right:10px;bottom:12px;align-items:flex-end}
 .render-3d.in-mission .mobile .touch-drive{margin-left:0}.render-3d.in-mission .mobile .touch-actions{margin-right:0}
}
@media(max-width:390px){.combat-status{display:none}.combat-telemetry{width:auto;min-width:0;gap:16px}.match-score{right:7px}.combat-panel{width:145px}}
@media(max-width:760px){.system-readout b{font-size:6px}.gunnery-readout b{font-size:8px}}
@media(max-height:500px) and (orientation:landscape){.combat-panel,.kill-feed{display:none}.system-readout{top:120px;width:130px}.gunnery-readout{bottom:66px}.combat-telemetry{bottom:12px;width:min(400px,45vw);min-width:0;gap:10px}.combat-status{display:none}}
/* Supersede the original tactical HUD grid in the full-screen 3D battle. */
body.render-3d.in-mission:not(.at-base) .battle{display:block}
body.render-3d.in-mission .battle>.combat-hud{display:block;padding:0;min-height:0;background:linear-gradient(180deg,#08100ee8 0%,#0b12106e 12%,transparent 27%,transparent 70%,#08100e6b 100%)}
body.render-3d.in-mission .combat-hud>.match-brand{position:absolute;width:185px}
body.render-3d.in-mission .combat-hud .match-brand>b{position:static;font:700 21px/.95 'Barlow Condensed',sans-serif}
body.render-3d.in-mission .combat-hud>.match-score{display:flex}
body.render-3d.in-mission .combat-hud .system-readout b{font:500 8px 'IBM Plex Mono',monospace}
body.render-3d.in-mission .combat-hud .gunnery-readout b{font:500 11px 'IBM Plex Mono',monospace}
body.render-3d.in-mission .battle>.combat-telemetry{display:flex}
body.render-3d.touch-mode.in-mission.playing .battle>.mobile{position:absolute;inset:auto 10px 12px;display:flex;width:auto;height:auto;min-height:0;margin:0;padding:0;border:0;background:none;pointer-events:none;align-items:flex-end}
body.render-3d.touch-mode.in-mission .mobile .touch-drive,body.render-3d.touch-mode.in-mission .mobile .touch-actions{pointer-events:auto}
@media(max-width:760px){body.render-3d.in-mission .combat-hud>.match-brand{width:120px}body.render-3d.in-mission .combat-hud .match-brand>b{font-size:15px}body.render-3d.in-mission .combat-hud .system-readout b{font-size:6px}body.render-3d.in-mission .combat-hud .gunnery-readout b{font-size:8px}}
