:root{font-family:Arial,Helvetica,sans-serif;color:#faf9ee;background:#c7cbb9;font-synthesis:none;--panel:rgba(31,43,35,.91);--muted:#b3bdad;--lime:#d3e5a1;--line:rgba(229,235,210,.17)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:5px}#world,#world>canvas{position:fixed;inset:0;width:100%;height:100%;display:block}#world{cursor:grab}#world.dragging{cursor:grabbing}.location-panel{position:absolute;top:32px;left:38px;pointer-events:none;text-shadow:0 2px 20px #17231970}.wordmark{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:700;letter-spacing:2px}.brand-mark{font-family:Georgia,serif;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e1e8ce75;border-radius:50%;font-size:30px;font-style:italic;letter-spacing:-3px;padding-right:4px}.wordmark .brand-mark{background:#29392b40}.divider{margin:0 15px;opacity:.4}.muted{opacity:.65;font-weight:400;letter-spacing:1.5px}.location{margin-top:42px}.eyebrow{font-size:12px;letter-spacing:1.9px;font-weight:600}.location .eyebrow{font-size:12px}.small-dot{display:inline-block;width:3px;height:3px;background:#d6dec8;border-radius:50%;vertical-align:middle;margin:0 9px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-3.5px;font-size:76px;line-height:1;margin:13px 0 15px}h1 span{color:#d3e5a1}#coordinates{font-size:12px;letter-spacing:2px;opacity:.75}.controls-panel{position:absolute;right:30px;top:30px;width:300px;padding:23px 22px 14px;border:1px solid #b1c6a62b;border-radius:10px;background:var(--panel);backdrop-filter:blur(20px);box-shadow:0 12px 60px #19231820}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.panel-heading .eyebrow{color:#becbb1}#clock-label{font-size:12px;letter-spacing:1px;color:#d3dda8}.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px;background:#12231960;border:1px solid #c5d2bb13;border-radius:7px}.levels button{border:0;color:#aebaab;background:none;border-radius:5px;padding:9px 1px;font-size:12px;transition:background .25s,color .25s}.levels button>span{display:block;font-size:20px;line-height:1.1;margin-bottom:7px}.levels button.active{background:#d3e5a1;color:#293823;box-shadow:0 2px 5px #0001}.levels button:hover:not(.active){background:#ffffff0c;color:white}.setting{margin-top:25px}.setting label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#d3dccb}output{font-family:Georgia,serif;font-size:24px;color:#f5f4e6}output small{font-family:Arial,sans-serif;font-size:12px;margin-left:4px;color:#b6c5ac}input[type=range]{width:100%;height:3px;border-radius:2px;appearance:none;background:linear-gradient(to right,var(--lime) 30%,#5b6755 30%);margin:19px 0 12px;display:block;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:#e7edd7;border:2px solid #2e3c2c;box-shadow:0 0 0 1px #bccc9b}input[type=range]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:#e7edd7;border:1px solid #2e3c2c}.range-labels{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.4px;color:#9fac96}.range-labels span:nth-child(2){font-size:12px;letter-spacing:1.1px;color:#87977c}.zoom-setting{margin-top:21px}.panel-footer{margin-top:22px;padding-top:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.panel-footer button{background:none;border:0;color:#c1cdb6;font-size:16px;padding:0 2px}.panel-footer button span{font-size:12px;margin-left:5px;vertical-align:2px}.bottom-bar{position:absolute;left:38px;bottom:43px;display:flex;flex-direction:column;gap:20px}.explore-caption{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:1.6px;text-shadow:0 1px 8px #0006}.live-dot{width:5px;height:5px;background:#dfedbb;border-radius:50%;box-shadow:0 0 8px #e3f4b033}.caption-divider{height:10px;width:1px;background:#ffffff40;margin:0 3px}#fps{font-size:12px;font-weight:400;opacity:.75}.help{display:flex;align-items:center;gap:21px;border:1px solid #d9e3c92b;border-radius:6px;background:#26312580;backdrop-filter:blur(12px);padding:13px 15px;font-size:12px;color:#d9e0cd}.help span{white-space:nowrap}.help b{font-size:12px;letter-spacing:.4px;color:#eff4df;margin-right:5px;font-weight:500}.help button{padding:0;border:0;background:transparent;color:#d8e2c8;font-size:15px}.map-panel{position:absolute;right:30px;bottom:38px;width:192px;padding:13px;background:var(--panel);border:1px solid #b1c6a62b;border-radius:9px;backdrop-filter:blur(20px)}.map-heading{display:flex;justify-content:space-between;align-items:center}.map-heading .eyebrow{font-size:12px;letter-spacing:1px}.north{font-size:12px;color:#dfebc2}#minimap{width:164px;height:164px;margin:10px 0 3px;border-radius:4px;display:block}.map-footer{display:flex;justify-content:space-between;color:#a6b49b;font-size:12px}.scale-bar{border-top:1px solid #c8d6ae;padding-top:3px;margin-top:1px;width:25px;text-align:center}.scene-credit{position:absolute;bottom:12px;right:32px;font-size:12px;letter-spacing:.2px;opacity:.65;text-shadow:0 1px 3px #000}.scene-credit a{color:inherit;text-decoration:none}.crosshair{position:absolute;left:50%;top:50%;width:24px;height:24px;pointer-events:none;opacity:.35}.crosshair i{position:absolute;width:5px;height:5px;border-color:#f4f5df;border-style:solid}.crosshair i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.crosshair i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.crosshair i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}.crosshair i:nth-child(4){left:0;bottom:0;border-width:0 0 1px 1px}#loading{position:fixed;inset:0;background:#253127;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s;gap:24px}#loading>.brand-mark{width:58px;height:58px;font-size:44px;color:#d3e5a1;border-color:#d3e5a160}#loading>span:nth-child(2){font-size:12px;letter-spacing:3px;color:#c9d6b7}.load-track{width:180px;height:1px;background:#dde8cb22;overflow:hidden}.load-track i{display:block;width:65%;height:1px;background:#d3e5a1;animation:load 1.5s ease-in-out infinite}@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(180%)}}#load-status{font-size:12px;color:#9aab90;margin:0}#notice{position:absolute;left:50%;bottom:80px;transform:translateX(-50%);padding:10px 20px;border-radius:30px;background:#223126e6;color:#e6ecd9;font-size:12px;opacity:0;transition:opacity .3s;pointer-events:none}#notice.show{opacity:1}dialog{background:#29362c;color:#e5ecda;border:1px solid #a7bc9833;max-width:480px;border-radius:12px;padding:38px;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#14201870;backdrop-filter:blur(6px)}dialog h2{font:38px/1.12 Georgia,serif;letter-spacing:-1px;font-weight:400}dialog p{font-size:12px;line-height:1.7;color:#becbb4}dialog a{color:#d3e5a1}#close-info{position:absolute;right:15px;top:10px;background:none;color:#cdddbb;border:0;font-size:25px}body.thermal .live-dot{background:#d2e9fa}body.ui-hidden .location-panel,body.ui-hidden .controls-panel,body.ui-hidden .bottom-bar,body.ui-hidden .map-panel,body.ui-hidden .crosshair,body.ui-hidden .scene-credit{visibility:hidden}
@media(max-width:800px){.location-panel{left:20px;top:20px}.wordmark .muted,.divider{display:none}.location{margin-top:25px}h1{font-size:52px}.controls-panel{width:242px;right:16px;top:20px;padding:17px 15px 12px}.levels button{font-size:12px}.bottom-bar{left:20px;bottom:32px}.help{gap:12px;padding:11px}.help span:nth-child(4){display:none}.map-panel{right:16px;bottom:32px;width:143px;padding:10px}#minimap{width:121px;height:121px}.map-heading .eyebrow{font-size:12px}.map-footer{font-size:12px}.scene-credit{font-size:12px;right:16px}.map-footer .scale-bar{display:none}}
@media(max-width:540px){.controls-panel{width:212px}.wordmark>span:last-child{display:none}h1{font-size:40px;letter-spacing:-2px}.location .eyebrow{font-size:12px}#coordinates{font-size:12px;letter-spacing:1px}.help{gap:10px;font-size:12px}.help b{font-size:12px}.help span:nth-child(2){display:none}.map-panel{width:120px}#minimap{width:98px;height:98px}.map-heading .eyebrow{font-size:12px}.north{font-size:12px}.setting{margin-top:18px}.range-labels{font-size:12px}.range-labels span:nth-child(2){font-size:12px}}
.controls-panel{max-height:calc(100vh - 300px);overflow:auto;scrollbar-width:thin;scrollbar-color:#6b7b5c transparent}.flight-settings{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.flight-heading{display:flex;align-items:center;justify-content:space-between}.flight-heading .eyebrow{font-size:12px;letter-spacing:1.3px;color:#becbb1}.flight-heading button{border:1px solid #c5d2bb28;border-radius:12px;background:#ffffff08;color:#d7e5c2;padding:4px 8px;font-size:12px}.flight-heading button span{font-size:12px;margin-left:3px}.knob-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px}.dial-control{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;cursor:ns-resize;touch-action:none;user-select:none}.dial-control>span:first-child{font-size:12px;color:#c4d1b8;white-space:nowrap}.dial-control>input[type=range]{position:absolute;left:0;top:20px;width:100%;height:50px;opacity:0;pointer-events:none;margin:0}.knob-face{display:block;position:relative;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#5b6750,#35432e 68%);border:1px solid #91a57b66;box-shadow:0 3px 7px #10190c88,inset 0 1px 1px #d7e5c133;--angle:0deg}.knob-face::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid #80926640;border-bottom-color:transparent;transform:rotate(0deg)}.knob-face i{position:absolute;left:22px;top:5px;width:2px;height:12px;background:#dfedb9;border-radius:2px;transform-origin:1px 18px;transform:rotate(var(--angle));box-shadow:0 0 6px #d3e5a122}.dial-control:has(input:focus-visible) .knob-face{outline:2px solid var(--lime);outline-offset:5px}.dial-control output{font-family:Georgia,serif;font-size:18px;line-height:1}.dial-control output small{font-size:12px;margin-left:1px}.flight-hint{font-size:12px;color:#9aab8d;line-height:1.5;text-align:center;margin:14px 0 0}.flight-heading button[aria-pressed=false]{color:#aebaab}.map-panel{pointer-events:none}.panel-footer{margin-top:17px}
@media(max-width:800px){.controls-panel{max-height:calc(100vh - 235px)}.knob-row{gap:5px}.dial-control>span:first-child{font-size:12px}.knob-face{width:42px;height:42px}.knob-face i{left:19px;top:4px;transform-origin:1px 16px}.dial-control output{font-size:16px}.flight-hint{font-size:12px}}
@media(max-height:700px){.controls-panel{max-height:calc(100vh - 60px)}.map-panel{display:none}}

.extra-settings{border-top:1px solid var(--line);margin-top:17px;padding-top:14px;font-size:12px}.extra-settings summary{cursor:pointer;color:#dce5d0;font-size:12px;list-style:none;display:flex;justify-content:space-between}.extra-settings summary::before{content:'+';margin-right:7px}.extra-settings[open] summary::before{content:'−'}.extra-settings summary span{margin-left:auto;font-size:12px;color:#9eaf90;letter-spacing:1px}.extra-settings label{display:block;margin-top:15px;color:#c3d0b6;font-size:12px}.extra-settings output{float:right;font-size:13px}.extra-settings input[type=range]{margin:12px 0 2px}.extra-settings select{max-width:160px;float:right;background:#354532;color:#e3ecd6;border:1px solid #7e916155;border-radius:3px;font-size:12px;padding:3px}.button-row{display:flex;gap:7px;margin-top:14px}.button-row button{flex:1;border:1px solid #bbcca433;border-radius:4px;background:#d3e5a10b;color:#d8e5c8;font-size:12px;padding:8px 4px}.extra-settings input[type=color]{float:right;width:45px;height:20px;border:0;padding:0;background:none}#save-status{font-size:12px;line-height:1.4;color:#99ad8c;margin:17px 0 0}#thermal-hud{display:none;position:fixed;inset:0;pointer-events:none;color:#fff;font:12px/1.4 monospace;text-shadow:0 1px 2px #0008}body.thermal #thermal-hud{display:block}body.thermal .crosshair{display:none}.sensor-top{position:absolute;left:50%;top:28px;transform:translateX(-50%);letter-spacing:3px}.sensor-reticle{position:absolute;left:50%;top:50%;width:220px;height:220px;transform:translate(-50%,-50%);opacity:.75}.sensor-reticle::before,.sensor-reticle::after{content:'';position:absolute;background:#fff}.sensor-reticle::before{left:0;top:50%;width:100%;height:1px}.sensor-reticle::after{top:0;left:50%;height:100%;width:1px}.sensor-reticle i{position:absolute;inset:40px;border:1px solid #fff4;border-radius:50%}.sensor-reticle b{position:absolute;inset:97px;border:1px solid #fff;background:#0005}.sensor-scale{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:2px}.sensor-scale span{display:inline-block;width:120px;height:5px;background:linear-gradient(to right,#111,#fff);margin:0 10px;vertical-align:middle}#world{cursor:crosshair}body.ui-hidden #thermal-hud{visibility:hidden}

body.aim-mode #world,body.aim-mode #world>canvas{cursor:none}body.aim-mode .controls-panel{pointer-events:none;opacity:.76}#input-mode{color:var(--lime);font-size:12px}body.aim-mode #input-mode{color:white}

.crosshair{transform:translate(-50%,-50%)}
:root{--combat-ink:#f3f4e9;--combat-accent:#d5eab3}.combat-enabled .crosshair,.combat-enabled .sensor-reticle{display:none}.checkbox-label{display:flex!important;align-items:center;gap:8px}.checkbox-label input{accent-color:var(--lime)}#combat-hud{pointer-events:none;color:var(--combat-ink);font:12px/1.3 Arial,sans-serif}.objective-strip{position:fixed;top:24px;left:50%;transform:translateX(-50%);width:min(480px,36vw);background:#17251ee6;border:1px solid #d6e3c733;border-radius:8px;padding:13px 16px;box-shadow:0 8px 35px #0002;backdrop-filter:blur(12px)}.objective-title{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:1px}.objective-title b{color:#a6bba7;font-size:12px;font-weight:400;margin-left:8px}.objective-title button{pointer-events:auto;margin-left:auto;background:none;border:1px solid #ccddbd3b;color:#e1ecd4;border-radius:3px;font-size:12px;padding:4px 7px}.objective-title button:disabled{opacity:.3;cursor:default}.rescue-signal{width:6px;height:6px;background:#badfd2;border-radius:50%;box-shadow:0 0 12px #a9d8c766}.objective-health{height:3px;background:#68735e55;margin:11px 0 7px;overflow:hidden}.objective-health i{display:block;width:100%;height:100%;background:#cde8b2;transition:width .18s}.objective-meta{display:flex;justify-content:space-between;gap:7px;font-size:12px;letter-spacing:.8px;color:#b7c6ae}#target-world-label{position:fixed;transform:translate(-50%,-100%);font:12px/1.5 monospace;color:#c6ece5;letter-spacing:1px;text-shadow:0 1px 3px #000,0 0 12px #000;background:#142a2477;padding:3px 7px;border-top:1px solid #c6ece566;white-space:nowrap}#target-world-label span{font-size:12px;opacity:.65;margin-left:5px}#weapon-reticle{position:fixed;left:50%;top:50%;width:140px;height:140px;transform:translate(-50%,-50%);color:#f6f6e9;opacity:.65;filter:drop-shadow(0 1px 1px #0008)}body.aim-mode #weapon-reticle{opacity:.95}#weapon-reticle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1}.reticle-ring{stroke-dasharray:2 13;opacity:.6}.reticle-brackets{stroke-width:1.5}.reticle-axis{opacity:.5}.reticle-dot{fill:currentColor;stroke:none}.impact-marker{opacity:0;stroke:#f9c080;stroke-width:2}#weapon-reticle.hit .impact-marker{opacity:1}#weapon-reticle.confirmed .impact-marker{opacity:1;stroke:white;stroke-width:2.5}#reticle-range{position:absolute;top:112px;left:50%;transform:translateX(-50%);font:12px monospace;letter-spacing:2px;white-space:nowrap}#hit-caption{position:absolute;top:16px;left:110px;font:12px monospace;letter-spacing:1px;color:#f9c080}.weapon-strip{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);display:flex;align-items:center;gap:19px;background:#15231dcf;border:1px solid #cddbc92c;border-radius:7px;padding:11px 15px;backdrop-filter:blur(12px)}.weapon-strip>div{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1px;white-space:nowrap}.weapon-strip b{display:block;font-size:12px;color:#a8bba3;font-weight:400;letter-spacing:.8px;margin-top:4px}.weapon-key{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d5e7ca77;border-radius:50%;font:12px monospace;--ready:1}#missile-ring{background:conic-gradient(#d5eab333 calc(var(--ready)*360deg),transparent 0deg)}.weapon-divider{height:27px;width:1px;background:#d3e3c42d}.wind-readout{color:#cbdcbd;font:12px monospace!important}.wind-readout>span:first-child{display:block;font-size:19px}#combat-toast{position:fixed;left:50%;bottom:185px;transform:translate(-50%,8px);font:12px monospace;letter-spacing:2px;color:#f5edce;text-shadow:0 1px 4px #000;opacity:0;transition:opacity .16s,transform .16s}#combat-toast.show{opacity:1;transform:translate(-50%,0)}#muzzle-flash{position:fixed;left:calc(50% - 70px);bottom:0;width:140px;height:150px;opacity:0;background:radial-gradient(ellipse at bottom,#ffdcb033,transparent 65%);pointer-events:none}#muzzle-flash.flash{animation:muzzle .09s ease-out}@keyframes muzzle{0%{opacity:.7}100%{opacity:0}}
#mission-overlay{position:fixed;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;background:#07110ed1;backdrop-filter:blur(9px);padding:30px;color:#f0f3e6}#mission-overlay[hidden]{display:none}#mission-overlay.briefing{pointer-events:none;background:none;backdrop-filter:none;justify-content:center;align-items:center;padding:24px;z-index:5}.mission-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#304236ed,#192b23f5);border:1px solid #c3d5b63b;border-radius:12px;box-shadow:0 20px 80px #0004;padding:36px;pointer-events:auto}.briefing-card{max-width:370px;padding:27px 29px}.mission-kicker{font-size:12px;letter-spacing:2.2px;color:#b5c8aa}.mission-card h2{font:48px/.98 Georgia,serif;letter-spacing:-1.7px;font-weight:400;margin:22px 0 17px}.mission-card h2 em{font-weight:400;color:#d4e5ac}.mission-card p{font-size:12px;line-height:1.65;color:#bdcbb7;max-width:380px}.briefing-controls{display:grid;grid-template-columns:1fr 1fr;gap:13px 7px;margin:22px 0;font-size:12px;color:#b5c6ac}.briefing-controls b{display:block;font:12px monospace;color:#e9efda;margin-bottom:4px}.briefing-controls span:last-child b{display:inline}.mission-primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:#d3e5ad;color:#243324;border:0;border-radius:5px;padding:14px 16px;font-size:12px;font-weight:700;letter-spacing:1.4px}.mission-primary span{font-size:17px;font-weight:400}.mission-card small{display:block;font-size:12px;line-height:1.6;color:#8fa586;letter-spacing:1px;margin-top:15px}.result-card{width:min(760px,92vw);padding:35px 44px 28px}.result-glow{position:absolute;width:650px;height:550px;right:-300px;top:-300px;border-radius:50%;background:radial-gradient(ellipse,#d8d99126,transparent 60%);pointer-events:none}.result-header{display:flex;align-items:center;gap:30px}.result-header h2{font-size:55px;line-height:1;letter-spacing:-2px;margin:22px 0 15px}.result-header p{font-size:12px;margin:0}.rank-emblem{flex:0 0 100px;height:115px;display:flex;align-items:center;justify-content:center;font:64px Georgia,serif;color:#e6e8b6;border:1px solid #d5dfab8c;background:radial-gradient(ellipse,#e0dc9e18,transparent 70%);clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%);text-shadow:0 0 26px #e5d99148}.total-score{display:grid;grid-template-columns:1fr auto;align-items:end;border-top:1px solid #d6e2c32a;border-bottom:1px solid #d6e2c32a;margin:28px 0 20px;padding:18px 0;gap:4px}.total-score>span:first-child{font-size:12px;letter-spacing:2px;color:#a0b391;grid-column:1}.total-score strong{font:59px/.95 Georgia,serif;letter-spacing:-2px;grid-column:1}.credits-earned{font:14px monospace;color:#dbe7b9;grid-column:2;grid-row:1/3;text-align:right}.credits-earned small{font-size:12px;letter-spacing:.3px;margin-top:8px;color:#93a783}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.result-stats b{display:block;font:22px Georgia,serif;color:#e9efde}.result-stats span{font-size:12px;letter-spacing:1px;display:block;color:#9db08e;margin-top:7px}.score-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin:24px 0;color:#b5c7aa;font-size:12px}.score-breakdown>span{display:flex;justify-content:space-between;border-bottom:1px solid #d7e4c216;padding-bottom:8px}.score-breakdown b{font:12px monospace;color:#e0ebd1;font-weight:400}.result-actions{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}.result-actions>button:not(.mission-primary){background:#d4e5b008;border:1px solid #d4e5b033;color:#c4d7b6;border-radius:5px;font-size:12px;letter-spacing:.7px}.result-card>small{text-align:right}.victory .result-card{animation:result-reveal .55s cubic-bezier(.2,.8,.2,1)}@keyframes result-reveal{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation-duration:.001ms!important;transition-duration:.001ms!important}body.ui-hidden #combat-hud{visibility:hidden}
@media(max-width:1100px){.objective-strip{left:42%;width:32vw}.objective-title b{display:none}.objective-meta{flex-wrap:wrap;font-size:12px}.weapon-strip{bottom:90px;left:45%;gap:12px}.briefing-card{max-width:310px}#mission-overlay.briefing{padding:20px}.mission-card h2{font-size:40px}}@media(max-height:760px){.briefing-card p,.briefing-card .briefing-controls{display:none}.briefing-card h2{font-size:34px;margin:15px 0}.briefing-card{padding:20px}.result-card{padding:24px 32px}.result-header h2{font-size:42px}.total-score{margin:18px 0;padding:12px 0}.total-score strong{font-size:48px}.result-card .score-breakdown{margin:18px 0}.weapon-strip{bottom:84px}}@media(max-width:700px){.objective-strip{left:20px;transform:none;top:180px;width:200px}.weapon-strip{left:20px;transform:none;bottom:95px;padding:9px;gap:9px}.weapon-strip .wind-readout{display:none}.result-card{padding:24px}.result-header{gap:18px}.rank-emblem{flex-basis:60px;height:80px;font-size:45px}.result-header h2{font-size:37px}.result-stats{gap:8px}.result-stats b{font-size:18px}.result-stats span{font-size:12px}.credits-earned{font-size:12px}.score-breakdown{gap:10px}.briefing-card{max-width:275px}.mission-primary{font-size:12px}}

/* Anchor the complete Fieldnotes briefing to the viewport, at every width. */
#mission-overlay.briefing .briefing-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(370px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;margin:0}
#mission-pause-control{position:fixed;inset:0;z-index:11;display:grid;place-items:center;padding:20px;pointer-events:none;color:#f0f3e6;font-family:Arial,sans-serif}
#mission-pause-control[hidden],body.aim-mode #mission-pause-control.running{display:none}
#mission-pause-control.paused{background:#07110eb8;backdrop-filter:blur(9px);pointer-events:auto}
.pause-card{width:min(480px,100%);padding:38px 32px;background:linear-gradient(135deg,#304236f5,#192b23fc);border:1px solid #c3d5b659;border-radius:16px;box-shadow:0 22px 100px #0006;text-align:center;pointer-events:auto}
#pause-kicker{display:block;font-size:13px;font-weight:700;letter-spacing:3px;color:#c2d2b5;margin-bottom:24px}
#mission-pause{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:112px;padding:22px 14px;border:2px solid #e7f1c7;border-radius:9px;background:#d3e5ad;color:#1f3022;font:800 clamp(34px,5vw,56px)/1 Arial,sans-serif;letter-spacing:2px;cursor:pointer;box-shadow:0 5px 28px #d3e5ad22}
#mission-pause:hover{background:#e7f1c7}#mission-pause:focus-visible{outline:3px solid white;outline-offset:6px}#mission-pause-icon{font-size:.7em;letter-spacing:0}
#mission-pause-hint{margin:24px 0 0;font-size:12px;line-height:1.6;letter-spacing:1.5px;color:#b5c6a9}
#mission-pause-control.running .pause-card{width:min(380px,100%);padding:24px}#mission-pause-control.running #pause-kicker{font-size:12px;margin-bottom:16px}#mission-pause-control.running #mission-pause{min-height:90px;font-size:38px}#mission-pause-control.running #mission-pause-hint{margin-top:16px}
@media(max-width:540px){.pause-card{padding:30px 20px}#mission-pause{gap:12px;min-height:100px;font-size:38px}#pause-kicker{font-size:12px}}

/* Running control stays out of the sightline; paused dialog remains centered. */
#mission-pause-control.running{display:block;inset:auto auto 130px 38px;width:210px;padding:0;pointer-events:none}
#mission-pause-control.running .pause-card{width:100%;padding:14px;border-radius:9px;box-shadow:0 8px 28px #0003}
#mission-pause-control.running #pause-kicker{font-size:12px;margin-bottom:9px;letter-spacing:1.6px}
#mission-pause-control.running #mission-pause{min-height:48px;font-size:22px;padding:10px;gap:12px;border-width:1px}
#mission-pause-control.running #mission-pause-hint{margin-top:9px;font-size:12px;letter-spacing:.6px}
body.aim-mode #mission-pause-control.running{display:block;opacity:.65;pointer-events:none}body.aim-mode #mission-pause-control.running .pause-card{pointer-events:none}
#target-world-label{left:0;top:0;will-change:transform;transition:none}
@media(max-width:700px){#mission-pause-control.running{left:20px;bottom:150px;width:170px}}
/* Campaign briefings, radio and the Sentinel contact radar. */
#mission-overlay.briefing .briefing-card.campaign-briefing{width:min(640px,calc(100vw - 40px));padding:30px 34px}.campaign-briefing h2{font-size:46px;margin:18px 0}.campaign-briefing>p{max-width:none;line-height:1.65}.campaign-briefing .briefing-controls{grid-template-columns:repeat(3,1fr);margin:18px 0;gap:14px}.briefing-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:17px}.briefing-tags span{padding:4px 6px;border:1px solid #d5e7bc33;border-radius:3px;font:12px monospace;letter-spacing:.6px;color:#c0d2b8}.campaign-briefing .funding-story{font-size:12px;color:#a8bfa6;border-left:2px solid #b5d29d66;padding-left:12px}.briefing-loadout{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;font-size:12px;color:#d0dcc6}.briefing-loadout>span{padding:10px;background:#d3e5b008;border:1px solid #d3e5b01c;border-radius:3px}.briefing-loadout small{font-size:12px;margin:0 0 5px;letter-spacing:1px}.briefing-loadout b{color:#e1ecbc;font-family:monospace;margin-left:5px}.briefing-links{display:flex;justify-content:space-between;margin-top:16px;font-size:12px;letter-spacing:1px;color:#b6cca6}.briefing-links a{color:inherit;text-decoration:none}.result-actions:has(#mission-next){grid-template-columns:1.4fr 1fr 1fr}.result-actions:has(#mission-next) #mission-observe{grid-column:1/-1;padding:9px}.support-weapon{max-width:180px}.weapon-strip{max-width:calc(100vw - 50px)}.weapon-strip>div>span:last-child{max-width:190px;overflow:hidden;text-overflow:ellipsis}.support-weapon b{white-space:nowrap}.tactical-radar.map-panel{display:block;width:250px;right:28px;bottom:30px;padding:14px;background:#10251fe8;border:1px solid #99c3b647;border-radius:11px;pointer-events:auto;z-index:4;box-shadow:0 12px 35px #0004}.tactical-radar .map-heading{margin-bottom:10px}.tactical-radar .eyebrow{font-size:12px;letter-spacing:1px}#threat-radar{width:100%;height:auto;display:block;border-radius:50%;cursor:crosshair}.radar-readout{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font:12px monospace;color:#d5e6c0}.radar-readout b{color:#ff9e83;font-size:12px;font-weight:400}.radar-hint{font-size:12px;letter-spacing:1.2px;color:#92b39d;margin-top:9px;text-align:center}#radar-offline{position:absolute;inset:30px 10px 45px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#162920df;font:13px monospace;letter-spacing:2px;color:#c6b597;border-radius:50%}#radar-offline[hidden]{display:none}#radar-offline small{font:12px Arial;letter-spacing:1px;margin-top:9px}.offline #threat-radar{opacity:.3}#radar-selected{position:fixed;left:0;top:0;pointer-events:none;z-index:3;color:#ffb394;will-change:transform}#radar-selected[hidden]{display:none}#radar-selected i{display:block;width:38px;height:38px;border:1px solid #ffab88;border-radius:4px;box-shadow:0 0 15px #ff9b4722}#radar-selected span{display:block;font:12px monospace;text-align:center;margin-top:5px;letter-spacing:1px}#radio-transmission{position:fixed;left:38px;bottom:290px;z-index:6;width:285px;background:#10241fe8;border:1px solid #a5ccb044;border-left:3px solid #9fd8bc;border-radius:7px;padding:14px 16px;box-shadow:0 10px 28px #0004;backdrop-filter:blur(8px);color:#d2e5d5;pointer-events:none}#radio-transmission[hidden]{display:none}.radio-top{display:flex;align-items:center;gap:9px;font:12px monospace;letter-spacing:1px}.radio-led{width:5px;height:5px;border-radius:50%;background:#a3e1bd;box-shadow:0 0 8px #a3e1bd99}.radio-wave{margin-left:auto;color:#a3e1bd;animation:radio-wave .7s alternate infinite}@keyframes radio-wave{from{opacity:.3}to{opacity:1}}#radio-caption{font:12px/1.65 Arial;margin:11px 0 0;color:#d1decb}#support-marker{position:fixed;left:0;top:0;pointer-events:none;z-index:3;color:#f0b584;will-change:transform}#support-marker[hidden]{display:none}#support-marker i{display:block;width:100px;height:100px;border:1px dashed #ffc286aa;border-radius:50%;box-shadow:0 0 22px #ffa34822}#support-marker span{display:block;text-align:center;font:12px monospace;margin-top:8px;letter-spacing:1px}.campaign-mode .controls-panel{max-height:calc(100vh - 430px)}.campaign-mode .weapon-strip{bottom:65px}.campaign-mode .bottom-bar .help{font-size:12px}.campaign-mode .location h1{font-size:clamp(44px,5vw,80px)}
@media(max-height:760px){#mission-overlay.briefing .campaign-briefing{padding:23px 28px}.campaign-briefing>p{display:block}.campaign-briefing .briefing-controls{display:grid;margin:14px 0;gap:10px}.campaign-briefing .funding-story{display:none}.campaign-briefing h2{font-size:34px;margin:14px 0}.briefing-loadout{margin:13px 0}.tactical-radar.map-panel{width:190px;right:18px;bottom:20px}.campaign-mode .controls-panel{max-height:calc(100vh - 300px)}#radio-transmission{bottom:235px;width:255px}}
@media(max-width:700px){#mission-overlay.briefing .briefing-card.campaign-briefing{padding:24px}.campaign-briefing h2{font-size:34px}.campaign-briefing .briefing-controls{grid-template-columns:repeat(2,1fr)}.briefing-loadout{font-size:12px}.tactical-radar.map-panel{display:block;width:170px;bottom:25px;right:14px;padding:10px}#radio-transmission{left:20px;bottom:275px;width:210px}.campaign-mode .weapon-strip{left:20px;transform:none;bottom:88px;max-width:calc(100vw - 210px);flex-wrap:wrap;padding:9px;gap:9px}.campaign-mode .weapon-strip .wind-readout{display:none}}
#unit-wallet{margin-left:auto;font:12px monospace;color:#d7e9b0;white-space:nowrap}
/* Comfortable briefing type at desktop and laptop sizes. */
#mission-overlay.briefing .briefing-card.campaign-briefing{width:min(800px,calc(100vw - 40px));padding:34px 40px;scrollbar-width:thin}
.campaign-briefing .mission-kicker{font-size:12px;letter-spacing:1.8px}
.campaign-briefing h2{font-size:58px;margin:20px 0}
.campaign-briefing>p{font-size:16px;line-height:1.65;color:#d8e3d0;display:block}
.campaign-briefing .funding-story{font-size:14px;line-height:1.65;display:block}
.campaign-briefing .briefing-tags span{font-size:12px;padding:5px 8px}
.campaign-briefing .briefing-controls{font-size:14px;line-height:1.5;gap:16px 20px}
.campaign-briefing .briefing-controls b{font-size:12px;margin-bottom:5px}
.campaign-briefing .briefing-loadout{font-size:13px;line-height:1.5}
.campaign-briefing .briefing-loadout small{font-size:12px;margin-bottom:6px}
.campaign-briefing .briefing-links{font-size:12px;letter-spacing:1px;gap:20px}
.campaign-briefing .mission-primary{font-size:13px;min-height:58px}
.briefing-audio{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0;padding:13px 0;border-top:1px solid #d4e5b026;border-bottom:1px solid #d4e5b026}
.briefing-audio button{background:#d4e5b00b;border:1px solid #d4e5b055;border-radius:5px;padding:11px 14px;color:#e2edcb;font:13px Arial;cursor:pointer;min-height:42px}
.briefing-audio button:hover,.briefing-audio button:focus-visible{background:#d4e5b022;border-color:#d4e5b0}
.briefing-audio button[aria-pressed=true]{background:#d4e5b01d;border-color:#c1d6a3}
#briefing-audio-status{font-size:12px;line-height:1.5;color:#acbf9e;flex:1;min-width:160px}
@media(max-height:850px){#mission-overlay.briefing .briefing-card.campaign-briefing{padding:25px 32px}.campaign-briefing h2{font-size:48px;margin:15px 0}.campaign-briefing>p{font-size:15px}.campaign-briefing .funding-story{font-size:13px}.briefing-audio{margin:14px 0}}
@media(max-width:700px){#mission-overlay.briefing .briefing-card.campaign-briefing{padding:24px}.campaign-briefing h2{font-size:42px}.campaign-briefing .briefing-controls{grid-template-columns:repeat(2,1fr);font-size:13px}.campaign-briefing .briefing-loadout{grid-template-columns:1fr;font-size:13px}.campaign-briefing .briefing-links{font-size:12px;gap:10px}}
#aim-contact-hint{position:fixed;left:50%;top:50%;width:0;height:0;z-index:5;pointer-events:none}
#aim-contact-hint[hidden],.contact-direction[hidden]{display:none}
.contact-direction{position:absolute;left:0;top:0;width:20px;height:23px;transform-origin:center;filter:drop-shadow(0 1px 3px #000e);will-change:transform}
.contact-direction svg{display:block;width:100%;height:100%;overflow:visible}.contact-direction path{fill:currentColor;stroke:#102219;stroke-width:1.4;stroke-linejoin:round}
.contact-direction[data-threat=far]{color:#80ee9e}.contact-direction[data-threat=near]{color:#ffda63}.contact-direction[data-threat=danger]{color:#ff6759;filter:drop-shadow(0 0 5px #ff472c88) drop-shadow(0 1px 2px #000)}
.contact-direction .contact-track{display:none}
.contact-direction[data-mode=track]{width:var(--track-size);height:var(--track-size);filter:drop-shadow(0 1px 2px #000d)}
.contact-direction[data-mode=track] .bearing-arrow{display:none}.contact-direction[data-mode=track] .contact-track{display:block;animation:contact-acquire .2s ease-out}
.contact-track path{fill:none;stroke:currentColor;stroke-width:1.4}.contact-track .track-corners{stroke-width:2}.contact-track .track-diamond{opacity:.2;stroke-width:.8}.contact-track .track-crown{stroke-width:1.5}.contact-track circle{fill:currentColor}
.contact-direction[data-mode=track][data-threat=danger] .track-corners{animation:contact-danger 1.4s ease-in-out infinite}
@keyframes contact-acquire{from{opacity:0;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}
@keyframes contact-danger{50%{opacity:.55}}
body.ui-hidden #aim-contact-hint{visibility:hidden}
/* A clear centre point with restrained sensor instrumentation around it. */
#weapon-reticle{opacity:.82;color:#e5f0d8;--reticle-bloom:1;--secondary-charge:100;filter:drop-shadow(0 1px 2px #00190fe0)}
#weapon-reticle .reticle-core{transform-origin:70px 70px;transform:scale(var(--reticle-bloom))}
#weapon-reticle .reticle-brackets{stroke-width:1.6;stroke-linejoin:round}
.reticle-sweep{stroke-width:.8;opacity:.65}.reticle-notches{opacity:.5;stroke-width:.8}.reticle-inner{stroke-width:1.1;opacity:.8}.reticle-ladder{opacity:.6}
.reticle-charge{stroke:#c6e2a8;stroke-width:1.8;stroke-dasharray:var(--secondary-charge) 100;transform:rotate(-90deg);transform-origin:70px 70px;opacity:.3}
.reticle-diamond{stroke-width:.8;opacity:.85}#weapon-reticle .reticle-axis{stroke-width:.8;opacity:.65}
#weapon-reticle.contact-ready{color:#a8f5c5}#weapon-reticle.contact-ready .reticle-inner{stroke-width:1.8;opacity:1}
#reticle-range{top:139px;font:12px monospace;letter-spacing:1.6px;background:#10251c80;border:1px solid #cce5b72c;padding:3px 7px;border-radius:3px}
#hit-caption{top:45px;left:147px;font:12px monospace;white-space:nowrap;color:#ffd09b}
#weapon-reticle.confirmed .reticle-core{color:#fff4ce}
.controls-panel.player-optics{width:230px;padding:18px 20px;max-height:none;overflow:visible}
.player-optics>[hidden]{display:none!important}.player-optics .setting{margin-top:17px}.player-optics .setting label{font-size:12px}.player-optics .setting output{font-size:22px}.player-optics .range-labels{font-size:12px}.player-optics-heading{display:block;font-size:12px;letter-spacing:2px;color:#c9dbb7}
@media(max-width:700px){.controls-panel.player-optics{width:190px;padding:14px;top:18px;right:14px}.player-optics .setting output{font-size:18px}}
.briefing-audio{margin-bottom:0;padding-bottom:0;border-bottom:0}.briefing-audio button{font-size:13px}#briefing-audio-status{font-size:12px}

/* Dashed brackets distinguish sensor-only contacts behind terrain, roofs or foliage. */
.contact-direction[data-mode=track][data-occluded=true] .track-corners{stroke-dasharray:4 3;opacity:.8}
.contact-direction[data-mode=track][data-occluded=true] .track-diamond{opacity:.65;stroke-dasharray:2 3}
.contact-direction[data-mode=track][data-occluded=true] circle{fill:none;stroke:currentColor;stroke-width:1.2}

/* A static regional map hands off to the already-rendered village. */
#deployment-map{position:fixed;inset:0;z-index:30;overflow:hidden;background:#091d20;color:#e4ecd6;pointer-events:auto;font-family:Arial,sans-serif;opacity:1;transition:opacity .48s ease}
#deployment-map[hidden]{display:none}#deployment-map.revealing{opacity:0}
.deployment-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 50%,#173c3d88,transparent 65%);pointer-events:none}
.deployment-top{position:absolute;inset:38px 4vw auto;display:flex;justify-content:space-between;z-index:2;font:600 12px/1.5 monospace;letter-spacing:2px;color:#a9c1ae}.deployment-top i{font-style:normal;color:#d3e5ad;margin:0 10px}
.deployment-atlas{position:absolute;right:5vw;top:50%;width:min(73vh,78vw);aspect-ratio:5/6;transform:translateY(-50%);mask-image:radial-gradient(ellipse at center,#000 56%,#000a 76%,transparent 100%)}
.deployment-geography{width:100%;height:100%;position:relative;will-change:transform}.deployment-geography>img{display:block;width:100%;height:100%}
.deployment-pin{position:absolute;width:0;height:0;color:#e4f6b9;filter:drop-shadow(0 2px 4px #071b17)}.deployment-pin>i{display:block;position:absolute;width:12px;height:12px;left:-6px;top:-6px;border-radius:50%;background:#e0f5ae;box-shadow:0 0 0 6px #d7f4ad25,0 0 26px #c0ec9a}
.deployment-pin>i:before,.deployment-pin>i:after{content:'';position:absolute;inset:-11px;border:1px solid #daf5ae;border-radius:50%}.deployment-pin>i:after{inset:-18px;opacity:.35}
.deployment-pin>span{position:absolute;left:29px;top:-25px;white-space:nowrap;font:600 21px/1.3 Arial,sans-serif;background:#112b27e6;border:1px solid #c8e3a55e;border-radius:4px;padding:10px 14px;box-shadow:0 8px 30px #0003}.deployment-pin small{display:block;font:12px/1.5 monospace;letter-spacing:1px;color:#b6c8a7;margin-top:5px}
.deployment-title{position:absolute;z-index:2;left:7vw;top:42%;width:min(400px,40vw);pointer-events:none}.deployment-title>span{font:12px/1.5 monospace;letter-spacing:3px;color:#a9bd9f}.deployment-title h2{font:clamp(40px,5vw,76px)/1.04 Georgia,serif;letter-spacing:-2px;margin:20px 0 14px;overflow-wrap:anywhere}.deployment-title em{color:#d5e5a8;font-style:normal}.deployment-title p{font-size:18px;margin:0 0 25px;color:#b9c8b3}.deployment-title code{font:12px/1.5 monospace;color:#859f92;letter-spacing:1px}
.deployment-compass{position:absolute;right:5vw;top:100px;text-align:center;font:12px/1.7 monospace;color:#b8cba8}.deployment-bottom{position:absolute;bottom:35px;left:7vw;right:5vw;z-index:2;display:flex;gap:26px;align-items:center;font:12px/1.5 monospace;letter-spacing:1.6px;color:#b9cba6}.deployment-bottom>div{height:2px;flex:1;background:#bdd6ac22;overflow:hidden}.deployment-bottom i{display:block;width:100%;height:100%;background:#cddd9e;transform-origin:left;animation:deployment-progress 3.05s linear}.deployment-bottom small{font-size:12px;color:#62867b}
#deployment-map.zooming .deployment-title,#deployment-map.zooming .deployment-pin>span{opacity:0;transition:opacity .3s}#deployment-map.zooming .deployment-atlas{mask-image:none}#deployment-map.zooming .deployment-pin>i{opacity:0;transition:opacity .4s}
body.deploying #combat-hud,body.deploying .controls-panel,body.deploying .map-panel,body.deploying .location-panel,body.deploying .bottom-bar,body.deploying #target-world-label,body.deploying #aim-contact-hint,body.deploying #radar-selected{visibility:hidden}
@keyframes deployment-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:750px){.deployment-top{inset:25px 6vw auto;font-size:12px;letter-spacing:1px}.deployment-atlas{right:4vw;width:92vw;top:48%}.deployment-title{top:auto;bottom:105px;left:6vw;width:88vw}.deployment-title h2{font-size:36px;margin:10px 0}.deployment-title>span{font-size:12px}.deployment-title p{font-size:14px;margin-bottom:10px}.deployment-title code{font-size:12px}.deployment-bottom{left:6vw;right:6vw;bottom:28px;font-size:12px}.deployment-bottom small{display:none}.deployment-pin>span{font-size:15px;left:22px;padding:7px}.deployment-pin small{font-size:12px}.deployment-compass{top:70px}}
.deployment-pin.right-edge>span{left:auto;right:29px;text-align:right}

#mission-hangar-options[hidden]{display:none}
#mission-hangar-options{margin-top:26px;padding-top:24px;border-top:1px solid #c3d5b62b}
#mission-abort{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:60px;padding:15px 12px;border:1px solid #dcc28b88;border-radius:7px;background:#dcc28b10;color:#ebd3a1;font:700 clamp(14px,2vw,18px)/1.3 Arial,sans-serif;letter-spacing:1px;cursor:pointer}
#mission-abort:hover{background:#dcc28b25;border-color:#ebd3a1}#mission-abort:focus-visible{outline:2px solid #ebd3a1;outline-offset:4px}#mission-abort span{font-size:22px;font-weight:400}
#mission-hangar-options p{margin:13px 0 0;font:12px/1.6 Arial,sans-serif;color:#b5c6a9;letter-spacing:0}
#mission-abort:disabled,#mission-pause:disabled{cursor:wait;opacity:.55}

.result-actions{grid-template-columns:1fr}.result-actions .mission-primary{justify-content:center;min-height:60px;font-size:14px}
.campaign-briefing .briefing-hangar{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid #d4e5b066;border-radius:5px;background:#d4e5b00d;font-size:12px;color:#e0ebc6}.campaign-briefing .briefing-hangar:hover{background:#d4e5b025}

/* Read the briefing over the regional map; the same marker follows the insertion zoom. */
#deployment-map.overview{z-index:6;pointer-events:none}.deployment-atlas{right:-8vw;width:min(84vh,84vw)}
#deployment-map.overview .deployment-title,#deployment-map.overview .deployment-bottom>div,#deployment-map.overview .deployment-compass{display:none}
body.briefing-map #mission-overlay.briefing{background:linear-gradient(90deg,#06171133,transparent 60%);backdrop-filter:none}
body.briefing-map #combat-hud,body.briefing-map .controls-panel,body.briefing-map .map-panel,body.briefing-map .location-panel,body.briefing-map .bottom-bar,body.briefing-map #target-world-label,body.briefing-map #aim-contact-hint,body.briefing-map #radar-selected{visibility:hidden}
.deployment-labels{position:absolute;inset:0;pointer-events:none}.deployment-place{position:absolute;white-space:nowrap;text-shadow:0 1px 4px #071913;pointer-events:none}.deployment-place[hidden]{display:none}.deployment-place.country{font-family:Arial,sans-serif;font-weight:600;letter-spacing:3px;transform:translate(-50%,-50%)}
.deployment-place.city{font:12px/1.2 Arial,sans-serif;letter-spacing:.65px;text-transform:uppercase;color:#c0d3bd;transform:translate(var(--label-dx),var(--label-dy))}.deployment-place.city:before{content:'';position:absolute;width:4px;height:4px;left:calc(-1 * var(--label-dx) - 2px);top:calc(-1 * var(--label-dy) + 2px);border-radius:50%;background:#b7ccad}.deployment-place.city.align-left{transform:translate(calc(-100% + var(--label-dx)),var(--label-dy))}.deployment-place.city.align-left:before{left:calc(100% - var(--label-dx) - 2px)}
#deployment-map.zooming .deployment-pin>i,#deployment-map.zooming .deployment-pin>span{opacity:1;transition:none}
.deployment-pin{z-index:3;will-change:transform}.deployment-bottom i{animation-duration:4.9s}
@media(max-width:750px){.deployment-atlas{right:4vw;width:92vw}.deployment-place.city{font-size:12px;letter-spacing:.25px}.deployment-pin>span,.deployment-pin.right-edge>span{left:0;right:auto;top:30px;transform:translateX(-50%);font-size:15px;text-align:center}.deployment-pin small{font-size:12px}#deployment-map.overview .deployment-pin{opacity:.8}}

#deployment-map.overview{z-index:4}body.briefing-map #mission-overlay.briefing{z-index:9}.deployment-geography{will-change:auto}.deployment-geography>svg{display:block;width:100%;height:100%}
.deployment-geography>svg{overflow:visible}.deployment-bottom i{animation:none}

#mission-ammo-check[hidden]{display:none}#mission-ammo-check{padding:14px;margin:0 0 14px;border:1px solid #d9b77966;border-radius:6px;background:#d9b7790c}#mission-ammo-message{font:13px/1.5 Arial,sans-serif;margin:0 0 12px;color:#e0d2ad}
#mission-refill{width:100%;min-height:46px;border:1px solid #dfc38d;background:#dfc38d1c;color:#f0dfb7;border-radius:5px;font:700 13px/1.4 Arial,sans-serif;letter-spacing:1px;cursor:pointer}#mission-refill:hover{background:#dfc38d33}#mission-refill:disabled{cursor:wait;opacity:.65}#mission-refill-note{margin:9px 0 0;font:12px/1.45 Arial,sans-serif;letter-spacing:0;color:#b7c6a8}
.campaign-briefing .briefing-loadout .ammo-minimum{font:12px/1.4 Arial,sans-serif;margin:7px 0 0;letter-spacing:0;color:#9eb398}.briefing-loadout .ammo-low{border-color:#d9b77988;background:#d9b7790b}.briefing-loadout .ammo-low b{color:#efc381}.mission-primary:disabled{cursor:not-allowed;background:#87937a;color:#243324;opacity:.65}

/* During briefing, the map occupies only the open area to the right of the modal. */
#deployment-map.overview{left:var(--briefing-map-left,60vw);right:0;border-left:1px solid #9bb6a329;background:#0b2427}
#deployment-map.overview .deployment-atlas{left:0;right:0;width:100%;height:auto;top:50%;aspect-ratio:5/6;transform:translateY(-50%);mask-image:none}
#deployment-map.overview .deployment-top{display:none}#deployment-map.overview .deployment-bottom{left:12px;right:12px;bottom:22px;display:block;font-size:12px;letter-spacing:1px}#deployment-map.overview .deployment-bottom small{display:block;margin-top:8px;font-size:12px;letter-spacing:.7px}
#deployment-map.overview .deployment-pin>span{font-size:14px;padding:8px 10px;max-width:180px}#deployment-map.overview .deployment-pin small{font-size:12px;letter-spacing:.4px}#deployment-map.overview .deployment-place.city{font-size:12px;letter-spacing:.2px}
#deployment-map.overview .deployment-pin>span{top:24px}

body.briefing-map{background:#091d20!important}body.briefing-map #world,body.briefing-map .scene-credit{visibility:hidden}

/* Earlier warnings remain bright against roofs, terrain and thermal palettes. */
.contact-direction{width:22px;height:26px;filter:drop-shadow(0 0 2px #03100e) drop-shadow(0 1px 3px #000)}
.contact-direction[data-threat=near]{color:#ffdc59;filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 5px #d9992470)}
.contact-direction[data-threat=danger]{color:#ff5545;animation:threat-alarm-glow 1.25s ease-in-out infinite}
.contact-direction .arrow-spine{fill:none;stroke:#fff9da;stroke-width:1.3;opacity:.8}
.contact-direction[data-mode=track][data-threat=danger] .track-corners{animation:none;stroke-width:2.7}
.contact-direction[data-mode=track][data-occluded=true] .track-corners{opacity:1;stroke-dasharray:4 2}
.contact-direction[data-mode=track]{background:radial-gradient(ellipse,#05151026,transparent 75%)}
.nearby-contact .track-diamond{display:none}.nearby-contact .track-corners{stroke-width:1.8}
.contact-direction[data-kind=vehicle]{width:32px;height:36px}
.contact-direction .alarm-rim,.contact-direction .alarm-mark{fill:none;stroke:#fff5d1;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.contact-direction .alarm-dot{fill:#fff5d1;stroke:none}
.contact-direction .alarm-rim{stroke:currentColor;stroke-width:1.5}.contact-direction .truck-symbol{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.contact-direction[data-kind=vehicle][data-mode=track]{width:calc(var(--track-size)*1.28);height:var(--track-size);background:radial-gradient(ellipse,#091c1980,transparent 74%)}
.contact-direction .vehicle-track circle{fill:currentColor}.contact-direction .vehicle-track .alarm-mark{stroke:currentColor;stroke-width:2}.contact-direction .vehicle-track .alarm-dot{fill:currentColor}
@keyframes threat-alarm-glow{0%,100%{filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 3px #ff442a77)}50%{filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 8px #ff442acc)}}
.rescue-bearing{position:fixed;left:50%;top:50%;z-index:7;width:36px;height:40px;margin:0;padding:0;border:0;background:transparent;color:#75f5ed;cursor:pointer;filter:drop-shadow(0 1px 3px #00100f);will-change:transform}
.rescue-bearing[hidden]{display:none}.rescue-bearing .rescue-pointer{display:block;width:36px;height:40px;overflow:visible}.rescue-chevron{fill:#79efe6;stroke:#072924;stroke-width:2;stroke-linejoin:round}.rescue-core{fill:none;stroke:#083c32;stroke-width:2.5;stroke-linecap:round}
.rescue-bearing>span{position:absolute;top:43px;left:50%;transform:translateX(-50%);display:block;white-space:nowrap;padding:5px 8px;border:1px solid #70eee466;border-radius:4px;background:#092824ec;color:#a9fff3;font:700 12px/1.4 Arial,sans-serif;letter-spacing:1.5px}.rescue-bearing b{display:block;font:12px/1.4 monospace;letter-spacing:.7px;color:#c3efe7}
.rescue-bearing[data-bottom=true]>span{top:auto;bottom:43px}.rescue-bearing:focus-visible{outline:2px solid #b6fff5;outline-offset:5px;border-radius:6px}
body.aim-mode .rescue-bearing{pointer-events:none}body.ui-hidden .rescue-bearing,body.briefing-map .rescue-bearing,body.deploying .rescue-bearing{visibility:hidden}
.rescue-track{display:none}.rescue-bearing[data-mode=track]{width:var(--rescue-size);height:calc(var(--rescue-size)*.8)}.rescue-bearing[data-mode=track] .rescue-pointer{display:none}.rescue-bearing[data-mode=track] .rescue-track{display:block;width:100%;height:100%;fill:none;stroke:#91fff0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;background:radial-gradient(ellipse,#06282322,transparent 70%)}.rescue-bearing[data-mode=track] .rescue-track-cross{stroke-width:1.3;opacity:.8}.rescue-bearing[data-mode=track]>span{top:calc(var(--rescue-size)*.8 + 4px);bottom:auto;font-size:12px;background:#082b26eb}
.deployment-place.country.geographic-country{position:static;transform:none;text-shadow:none;paint-order:stroke;stroke:#102c23e6;stroke-linejoin:round}
.deployment-place.city,#deployment-map.overview .deployment-place.city{font-size:12px;letter-spacing:.4px;color:#d1e1d0}
.deployment-place.city.major,#deployment-map.overview .deployment-place.city.major{font-size:16px;letter-spacing:.65px;font-weight:800;color:#efffe4;text-shadow:0 2px 3px #071c19,0 0 12px #cde7b777}
.deployment-place.city.major:before{width:6px;height:6px;background:#f4ffd8;box-shadow:0 0 9px #d9fdb499}
.deployment-place.city[data-name=Metula]:after{content:'';position:absolute;left:calc(-1 * var(--label-dx));top:calc(-1 * var(--label-dy) + 2px);width:19px;height:1px;background:#c7ddbb99;transform:rotate(35deg);transform-origin:left}
.deployment-place.river{font:italic 12px/1.2 Arial,sans-serif;letter-spacing:.3px;color:#a8e5ff;text-shadow:0 1px 3px #102830,0 0 6px #103c4c;transform:translate(var(--label-dx),var(--label-dy))}
.deployment-place.river.align-left{transform:translate(calc(-100% + var(--label-dx)),var(--label-dy))}
.deployment-legend{position:absolute;left:16px;bottom:72px;display:flex;flex-wrap:wrap;gap:10px 16px;font:12px/1.5 Arial,sans-serif;letter-spacing:.6px;color:#d5dec7;pointer-events:none}
.deployment-legend span:before{content:'';display:inline-block;width:18px;border-top:2px solid #92dfff;vertical-align:middle;margin-right:6px}.deployment-legend .yellow-key:before{border-color:#f4d45a;border-top-style:dashed}
#deployment-map.overview .deployment-legend{bottom:76px;font-size:12px;gap:7px}

/* The camera sheet is removed from playable operations; internal bindings remain available to authoring. */
.controls-panel[hidden]{display:none!important}
.radar-readout{flex-wrap:wrap;gap:6px}.briefing-loadout>span{min-width:0;overflow-wrap:anywhere}.briefing-tags{row-gap:8px}
