/* Fleet command front end: native controls, local fonts, click-only briefing. */
[hidden]{display:none!important}
body.frontend-home .masthead,body.frontend-home .sound-access,body.frontend-home #online-status{display:none!important}
#home-screen{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#030c14;color:#e5f3f8;max-width:none;padding:0}
.main-menu-space,.main-menu-shade,.main-menu-scene{position:absolute;inset:0;z-index:-1;pointer-events:none}
.main-menu-space{inset:-4%;background:linear-gradient(90deg,#030b14aa,#020b1440),url('./assets/backgrounds/classic-hd.webp') center/cover;transform:translate(var(--menu-space-x,0px),var(--menu-space-y,0px))}
.main-menu-scene{left:24%;top:-4%;bottom:-4%;opacity:.96;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 96%,transparent)}
.menu-cinematic-content{animation:menu-scene-reveal .55s ease-out both}
@keyframes menu-scene-reveal{from{opacity:0}to{opacity:1}}
.main-menu-scene svg{width:100%;height:100%;border:0;background:transparent!important;pointer-events:none}
.main-menu-scene .bf-bg,.main-menu-scene .bf-stars,.main-menu-scene .bf-grid,.main-menu-scene .bf-group-label,.main-menu-scene .bf-ship-base,.main-menu-scene .bf-heading,.main-menu-scene .bf-commander-star,.main-menu-scene .bf-commander-halo,.main-menu-scene .bf-label{display:none}
.main-menu-shade{background:linear-gradient(90deg,#030c14 0%,#030c14f5 23%,#030c14b8 40%,#030c1428 64%,#030c1408),linear-gradient(0deg,#030c14 0%,transparent 20%)}
.main-menu-content{width:min(580px,48%);padding:clamp(32px,6vh,80px) 0 92px clamp(24px,5vw,100px)}
.main-menu-brand{position:relative;padding-left:20px;margin-bottom:32px;border-left:2px solid #65cfff;box-shadow:-8px 0 18px -12px #78ddff}
.main-menu-brand h1{font-family:Orbitron,'GFACommand',sans-serif;font-size:clamp(27px,3vw,48px);font-weight:500;letter-spacing:.055em;line-height:1.2;margin:9px 0;color:#e2f5ff;text-shadow:0 0 20px #5dbefb33}
.main-menu-brand h1 span{letter-spacing:.2em;color:#79d2ff}.main-menu-brand .eyebrow{font-size:11px;letter-spacing:.2em}.menu-tagline{color:#8daab9;font-size:14px;margin:12px 0 0}
.main-menu-modes{display:flex;flex-direction:column;gap:10px}.main-menu-mode{width:100%;display:grid;grid-template-columns:27px 1fr 12px;align-items:center;gap:12px;text-align:left;padding:17px 17px 17px 12px;background:linear-gradient(100deg,#102b38cc,#0a19247a);border:1px solid #285061;border-left:2px solid #397b8b;border-radius:0 12px 0 0;transition:background .18s,border-color .18s}
.main-menu-mode strong{font-family:Rajdhani,sans-serif;font-size:20px;font-weight:600;letter-spacing:.025em}.main-menu-mode small{display:block;color:#95b2c0;font:13px/1.35 Rajdhani,sans-serif;margin-top:3px}.menu-mode-number{font:11px Orbitron,sans-serif;color:#6190a7}.menu-mode-chevron{font:26px Rajdhani,sans-serif;color:#65d9ed}
.main-menu-mode.is-previewed,.main-menu-mode:hover,.main-menu-mode:focus-visible{background:linear-gradient(100deg,#173f50e6,#10273699);border-color:#67d6f0;box-shadow:inset 3px 0 #78d5f0,0 0 22px #28798a16}
.main-menu-utilities{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.main-menu-utilities button{font-size:12px;background:#07172399;border-color:#244855;padding:9px 12px}.main-menu-resume{margin-top:16px;width:100%;display:flex;justify-content:space-between;background:#18374788;border-color:#477d91}.main-menu-save-note{color:#8faebf;font-size:12px}.main-menu-scene-caption{position:absolute;bottom:96px;right:5%;display:grid;grid-template-columns:8px 1fr;align-items:center;column-gap:10px;font:13px Rajdhani,sans-serif;color:#bddfee;letter-spacing:.08em}.main-menu-scene-caption small{grid-column:2;font-size:10px;margin-top:7px;color:#658a9e}.menu-live-dot{width:4px;height:4px;border-radius:50%;background:#7de9f8;box-shadow:0 0 7px #6ce9ff}
.main-menu-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:20px 5%;border-top:1px solid #20415288;background:transparent;color:#60849a;font:11px Rajdhani,sans-serif;letter-spacing:.12em}.main-menu-footer a{color:#a5c5d7;text-decoration:none}
#mission-screen{max-width:1800px;padding:24px 28px}.mission-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.mission-header h1{font:500 clamp(24px,2.5vw,34px) Orbitron,Rajdhani,sans-serif;margin:8px 0}.mission-header p{color:#94b4c6}.mission-header .eyebrow{color:#65d9ed}
.mission-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}.mission-controls{padding:22px;background:linear-gradient(135deg,#102530ee,#081621ee);border:1px solid #244855;border-top-color:#4e9daf;display:flex;flex-direction:column;gap:16px}.mission-controls label,.menu-view-options label{display:flex;flex-direction:column;gap:7px;color:#b9d0dc;font-size:13px;font-weight:600}.mission-controls select,.mission-controls input{width:100%;font-size:14px;border-radius:2px;padding:10px;background:#091623;border-color:#315365;color:#e5f3f8}.mission-controls select[size]{height:137px;padding:5px}.mission-controls select[size] option{padding:6px}.mission-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mission-controls .mission-check{flex-direction:row;align-items:center;font-weight:400}.mission-check input{width:auto}.mission-callout,.mission-controls small{font-size:12px;color:#94b4c6;line-height:1.5;margin:0}.mission-advanced summary,.mission-diagram summary{cursor:pointer;color:#9fcbde;font-size:13px;letter-spacing:.03em}.mission-advanced label{margin:15px 0}.mission-online{border-top:1px solid #244855;padding-top:15px;display:flex;flex-direction:column;gap:14px}.mission-online h2{font:600 16px Rajdhani,sans-serif;margin:0}.mission-error{color:#ffb5ad;font-size:13px;white-space:pre-line}.mission-continue{margin-top:5px;padding:13px}.mission-preview{min-width:0;border:1px solid #244855;background:#07131d}.mission-preview-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #244855;gap:14px}.mission-preview-heading h2{font:500 18px Orbitron,Rajdhani,sans-serif;margin:6px 0 0}.mission-preview-heading .eyebrow{font-size:10px}.mission-preview-heading button{font-size:12px;padding:7px 10px}.mission-map{aspect-ratio:1.5;min-height:280px;max-height:70vh;overflow:hidden}.mission-map svg{width:100%;height:100%;display:block;border:0}.mission-preview-note{padding:12px 18px;margin:0;color:#a1bbcc;font-size:12px;border-top:1px solid #244855}.mission-legend{display:flex;flex-wrap:wrap;gap:15px;padding:0 18px 14px;color:#6f94ab;font-size:11px}.mission-team-a{color:#79d2ff}.mission-team-b{color:#f19387}.mission-diagram{border-top:1px solid #244855;padding:15px 18px}.mission-diagram .fb-scenario-preview{border:0;margin:16px 0 0;padding:0}.mission-diagram .fb-scenario-content{grid-template-columns:1fr 1fr}.menu-view-options{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:25px 0}.menu-view-options label:has(input){flex-direction:row;align-items:center;gap:10px}.menu-view-options input{accent-color:#65d9ed}.mission-lock-summary{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:16px 20px;margin:16px 0;border:1px solid #315365;background:#102b3880}.mission-lock-summary p{margin:0;flex:1;color:#aac4d2}
.mission-map svg,.main-menu-scene svg{min-height:0}
/* Anchor the scene and its shade to the fixed menu, not a growing percentage
   of an ultrawide monitor. The original ship aspect ratios remain untouched. */
.main-menu-footer{align-items:center;flex-wrap:wrap;gap:12px 20px}
.main-menu-footer .music-credit{color:#c4dce9;font-size:12px;letter-spacing:.03em}
@media(min-width:1500px){.main-menu-content{width:600px}.main-menu-scene{left:420px}.main-menu-shade{background:linear-gradient(90deg,#030c14 0,#030c14f5 420px,#030c14b8 600px,#030c1428 860px,#030c1408 1100px),linear-gradient(0deg,#030c14 0%,transparent 20%)}}
@media(max-width:950px){.main-menu-content{width:57%;padding-left:24px}.main-menu-mode{padding:14px 12px;gap:9px}.main-menu-mode strong{font-size:18px}.main-menu-scene{left:25%;opacity:.6}.main-menu-shade{background:linear-gradient(90deg,#030c14f5,#030c14bc 46%,#030c1450)}.mission-layout{grid-template-columns:290px minmax(0,1fr);gap:14px}#mission-screen{padding:20px 16px}.mission-controls{padding:16px}.mission-preview-heading{flex-wrap:wrap}.mission-map{min-height:270px}.mission-diagram .fb-scenario-content{grid-template-columns:1fr}}
@media(max-width:650px){.main-menu-content{width:auto;max-width:520px;padding:35px 20px 106px}.main-menu-brand{margin-bottom:24px}.main-menu-brand h1{font-size:29px}.main-menu-scene{left:0;opacity:.25;top:0;bottom:0;mask-image:none}.main-menu-shade{background:linear-gradient(90deg,#030c14dd,#030c1499)}.main-menu-scene-caption{display:none}.main-menu-mode small{font-size:12px}.main-menu-footer{padding:18px 20px;letter-spacing:0;gap:15px}.mission-header{align-items:start;gap:12px}.mission-header h1{font-size:21px}.mission-header p{font-size:12px}.mission-header button{font-size:12px;white-space:nowrap;padding:9px}.mission-layout{display:flex;flex-direction:column}.mission-controls,.mission-preview{width:100%;box-sizing:border-box}.mission-preview{order:-1}.mission-map{min-height:220px;max-height:45vh}.mission-preview-heading{padding:12px}.mission-preview-heading h2{font-size:15px}.menu-view-options{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.main-menu-mode{transition:none}.menu-cinematic-content{animation:none}}
@media(max-width:650px){.main-menu-content{padding-bottom:155px}.main-menu-footer .music-credit img{width:36px;height:36px}.main-menu-footer{gap:10px 15px}.main-menu-footer>span{margin-left:auto}}

/* Only the central Heavy Cruiser carries a command marker in this calm scene. */
#menu-scene[data-menu-scene="campaign-intro"] .bf-commander-star{display:block;fill:#d4f1ff;stroke:#79d2ff;stroke-width:.014;filter:drop-shadow(0 0 .07px #79d2ff)}
.campaign-briefing{width:min(1440px,96vw);max-width:96vw;max-height:96svh;padding:0;overflow:auto;border:1px solid #47859c;border-top:2px solid #79d2ff;background:#050d16;color:#d8edf6;box-shadow:0 0 60px #000a}
.campaign-briefing::backdrop{background:#02070eeb;backdrop-filter:blur(8px)}
.briefing-header,.briefing-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;background:linear-gradient(110deg,#112936d9,#09141f)}
.briefing-header .eyebrow{font-size:10px;letter-spacing:.18em;color:#79d2ff;margin:0 0 8px}
.briefing-header h2{font:500 20px Orbitron,Rajdhani,sans-serif;letter-spacing:.045em;margin:0;color:#e1f3ff}
.briefing-header button,.briefing-footer button{font-size:13px;border-color:#3b6f86;background:#0c2230;white-space:nowrap}
.briefing-screen{background:#000;line-height:0}
.briefing-screen video{display:block;width:100%;max-height:calc(96svh - 178px);aspect-ratio:16/9;object-fit:contain;background:#000}
.briefing-footer{padding-top:12px;padding-bottom:12px;border-top:1px solid #274654;font:14px Rajdhani,sans-serif;color:#9bbdce}
.briefing-transcript{padding:10px 22px 14px;border-top:1px solid #203b49;color:#97b7c8;font-size:13px;line-height:1.5}
.briefing-transcript summary{cursor:pointer;color:#7ecce8}.briefing-transcript p{max-width:90ch}
@media(max-width:650px){.campaign-briefing{width:100vw;max-width:100vw;max-height:100svh}.briefing-header,.briefing-footer{padding:12px;gap:12px;flex-wrap:wrap}.briefing-header h2{font-size:17px}.briefing-header button{font-size:12px;margin-left:auto}.briefing-footer{font-size:13px}.briefing-transcript{padding:10px 12px}.briefing-screen video{max-height:calc(100svh - 230px)}}
/* Six modes still fit laptop-height displays without losing the brand/footer. */
@media(min-width:951px) and (max-height:900px){.main-menu-content{padding-top:22px;padding-bottom:84px}.main-menu-brand{margin-bottom:18px}.main-menu-brand h1{font-size:30px;margin:7px 0}.main-menu-brand .eyebrow{margin:0}.menu-tagline{margin-top:8px;font-size:13px}.main-menu-modes{gap:7px}.main-menu-mode{padding:9px 12px;gap:10px}.main-menu-mode strong{font-size:18px}.main-menu-mode small{font-size:12px;margin-top:2px}.main-menu-utilities{margin-top:14px;gap:6px}.main-menu-utilities button{padding:7px 10px}.main-menu-footer{padding-top:12px;padding-bottom:12px}}
.main-menu-save-note:empty{display:none}
.briefing-actions{display:flex;flex-wrap:wrap;gap:8px}.briefing-actions [data-briefing-deploy]{border-color:#78cde8;color:#cef4ff}
.tactical-power-on{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,#21729bbf,#073351ef 58%,#020d1aff);pointer-events:auto;animation:tactical-screen-boot 1.1s ease-out both}
.tactical-power-on span{font:500 clamp(10px,1.2vw,14px) Orbitron,Rajdhani,sans-serif;letter-spacing:.24em;color:#a2e6ff;text-shadow:0 0 20px #61caff}
.tactical-power-on::after{content:'';position:absolute;inset:50% 0 auto;height:2px;background:#7bdeff88;box-shadow:0 0 40px 12px #48b6eb33;animation:tactical-boot-scan 1.1s ease-out both}
@keyframes tactical-screen-boot{0%,12%{opacity:1}38%{opacity:.48}50%{opacity:.75}78%{opacity:.18}100%{opacity:0}}
@keyframes tactical-boot-scan{0%{transform:scaleX(.1);opacity:0}18%{transform:scaleX(1);opacity:1}100%{transform:translateY(40vh);opacity:0}}
.tactical-power-on.is-reduced{animation:tactical-boot-fade .28s ease-out both}.tactical-power-on.is-reduced::after{display:none}
@keyframes tactical-boot-fade{from{opacity:.65}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.tactical-power-on{animation:tactical-boot-fade .28s ease-out both}.tactical-power-on::after{display:none}}
@media(min-width:951px) and (max-height:900px){.main-menu-mode strong{display:block;line-height:1.15}}
