#command-deck{background:#050b15;isolation:isolate}
#command-deck::before{display:none}
.bridge-environment{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:#030b19 url('bridge-hologram-interior-v3.png') center top/cover no-repeat}
.bridge-scene{position:absolute;left:50%;top:7%;height:100%;width:max(100%,calc(max(100dvh,740px) * .833333));transform:translateX(-50%);overflow:hidden;background:#030b19}
.bridge-interior{position:absolute;inset:0;width:100%;height:100%;display:block}
.bridge-crew-observer{position:absolute;z-index:3;left:20%;bottom:35%;height:37%;aspect-ratio:724/2172;pointer-events:none;filter:drop-shadow(0 7px 7px #000b) drop-shadow(0 0 7px #60caff44);opacity:.96}
.bridge-crew-observer .crew-pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transition:opacity .5s ease}
.bridge-crew-observer .crew-pose.active{opacity:1}
.bridge-crew-observer{transform:none!important}
.bridge-crew-observer i{position:absolute;left:16%;right:8%;bottom:-1%;height:3%;border-radius:50%;background:#6dcfff;filter:blur(8px);opacity:.3}
#command-deck .bridge-operation-source{display:none!important}
.bridge-holo-volume{position:absolute;left:50.7%;top:49.5%;width:38%;aspect-ratio:1/.62;transform:translate(-50%,-100%);perspective:700px;isolation:isolate}
.holo-floor-light{position:absolute;left:-3%;bottom:-5%;width:106%;height:25%;border-radius:50%;border:1px solid #b4faff;box-shadow:0 0 10px #21baff,inset 0 0 18px #2cafff;background:radial-gradient(ellipse,#b6faff80,#39cfff22 55%,transparent 70%)}
.holo-projection-beam{position:absolute;inset:6% -1% 6%;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);background:linear-gradient(0deg,#81efff38,#36cfff0a 75%,transparent),repeating-linear-gradient(90deg,transparent 0 27px,#7cefff14 28px,transparent 29px);filter:blur(1px)}
.holo-map-plane{position:absolute;left:0;bottom:-45%;width:100%;aspect-ratio:1;transform:rotateX(64deg) rotateZ(-12deg);border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 50%,#1b70a62b 0 10%,#071c33a8 58%,#04182bde 100%);border:2px solid #a9f6ff;box-shadow:0 0 14px #34bfff88,inset 0 0 20px #3dcfff66,0 5px 0 #078acf44,0 9px 0 #28d4ff22;animation:holo-plane-drift 18s ease-in-out infinite alternate}
.holo-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 23px,#80eeff21 24px,transparent 25px),repeating-linear-gradient(90deg,transparent 0 23px,#80eeff21 24px,transparent 25px);box-shadow:inset 0 0 25px #0ca6fc55}
.holo-gate-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#7ce8ff8c;stroke-width:.45;filter:drop-shadow(0 0 1.2px #9ceeff)}
.holo-gate-route ellipse{stroke-dasharray:1.2 1.4}
.holo-gate-route line{stroke:#d9faff;stroke-width:.65;stroke-dasharray:1 1.2;filter:drop-shadow(0 0 2px #6fddff)}
.holo-gate-route.all-cleared line{display:none}
.holo-gate-nodes{position:absolute;inset:0}
.holo-gate-node{position:absolute;width:8px;height:8px;margin:-4px;border:1px solid #92eaff;border-radius:50%;background:#123e61;box-shadow:0 0 4px #3dbeff}
.holo-gate-node.completed{background:#63d7f0;box-shadow:0 0 6px #6cdeff}
.holo-gate-node.current{z-index:2;width:13px;height:13px;margin:-6.5px;border:2px solid #fff;background:#ddfbff;box-shadow:0 0 6px #fff,0 0 15px #52cfff;animation:holo-current-gate 1.8s ease-in-out infinite}
.holo-route-center{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border:1px solid #dcfaff;border-radius:50%;background:#83dbff;box-shadow:0 0 9px #a8efff}
.holo-region-object{position:absolute;left:33%;top:2%;width:34%;aspect-ratio:1;display:grid;place-items:center;animation:holo-float 5s ease-in-out infinite alternate}
.holo-region-object::before{content:"";position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle,#40bfff29,transparent 65%);filter:blur(10px)}
.holo-region-image{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 9px #46c8ff88)}
.bridge-scene[data-region="oort"] .holo-region-object{left:27%;top:-2%;width:46%}
.bridge-scene[data-region="titan"] .holo-region-object{left:29%;width:42%}
.holo-satellite{position:absolute;width:7%;aspect-ratio:1;object-fit:contain;display:block}
.satellite-near{left:19%;top:53%;opacity:.6;animation:holo-float 6s ease-in-out -2s infinite alternate}
.holo-scan-line{position:absolute;left:25%;top:82%;width:50%;height:1px;background:linear-gradient(90deg,transparent,#92edff88,transparent);animation:holo-scan 5s ease-in-out infinite}
.bridge-vignette{position:absolute;inset:0;background:linear-gradient(#02071355,transparent 23%,transparent 85%,#02061344);box-shadow:inset 0 0 30px #0004}
.bridge-map-label{position:absolute;left:50.7%;top:60%;transform:translateX(-50%);width:max-content;max-width:80%;text-align:center;color:#cdf8ff;text-shadow:0 0 7px #40cfff,0 2px 4px #000;padding:3px 10px;border-top:1px solid #7fe9ff66;background:linear-gradient(90deg,transparent,#061626a0,transparent)}
.bridge-map-label small{display:block;font:7px/1.5 var(--font-body);letter-spacing:.17em;color:#9ceaff}.bridge-map-label b{display:block;font-size:11px;line-height:1.6}.bridge-map-label span{font-size:8px;letter-spacing:.13em;color:#ffeab0}
.bridge-window-flashes{position:absolute;inset:0}
.bridge-window-flashes i{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 5px 2px #ceefff,0 0 15px 4px #42aaff;opacity:0;animation:bridge-window-flash var(--period) ease-out var(--delay) infinite}
.bridge-window-flashes i::before,.bridge-window-flashes i::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#e7f9ff,transparent);width:26px;height:1px}
.bridge-window-flashes i::after{width:1px;height:18px;background:linear-gradient(transparent,#e7f9ff,transparent)}
#command-deck .deck-caption{display:none}
/* Sortie, ladder and mission use their original lobby styles. */
@keyframes bridge-window-flash{0%,5%,100%{opacity:0;transform:scale(.35)}1.8%{opacity:.95;transform:scale(1)}3%{opacity:.25;transform:scale(.65)}}
@keyframes holo-plane-drift{to{transform:rotateX(64deg) rotateZ(-5deg)}}
@keyframes holo-float{to{transform:translateY(-5px)}}
@keyframes holo-scan{0%,100%{opacity:0;transform:translateY(0)}30%{opacity:.65}80%{opacity:0;transform:translateY(35px)}}
@keyframes holo-current-gate{50%{transform:scale(1.3);box-shadow:0 0 8px #fff,0 0 21px #5ce1ff}}
@media(prefers-reduced-motion:reduce){.bridge-window-flashes{display:none}.bridge-holo-volume *{animation:none!important}}
@media(max-aspect-ratio:3/2){.bridge-crew-observer{left:27%;bottom:35%;height:37%}}
@media(prefers-reduced-motion:reduce){.bridge-crew-observer,.bridge-crew-observer .crew-pose{transition:none!important}}
