/* One fixed system header, one interaction viewport, one navigation footer. */
@media(min-width:1101px){.command-grid{grid-template-columns:200px minmax(0,1fr) 320px}.lower-grid{grid-template-columns:minmax(0,1fr) 320px}}
@media(min-width:901px) and (max-width:1100px){.command-grid{grid-template-columns:160px minmax(0,1fr) 280px}.lower-grid{grid-template-columns:minmax(0,1fr) 280px}}
@media(min-width:901px){.contact-panel[data-mode=combat],.contact-panel[data-mode=debrief]{position:relative;height:calc(100% + 148px);z-index:3}body:has(.contact-panel[data-mode=combat]) .log-panel,body:has(.contact-panel[data-mode=debrief]) .log-panel{visibility:hidden}}
@media(min-width:901px) and (max-height:700px){.contact-panel[data-mode=combat],.contact-panel[data-mode=debrief]{height:calc(100% + 145px)}}
.contact-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.contact-panel .system-location{flex:none;padding:9px 12px;border-bottom:1px solid #627385;background:#233241}
.contact-panel .system-location .eyebrow{display:none}
.contact-panel .system-location h2{font-size:18px;margin:4px 0;line-height:1.2}
.contact-panel .system-location p{font-size:11px;line-height:1.4;margin:2px 0}
#system-resources{display:none}
#contact-workspace{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#60798b #101a25;background:#111e2a}
#contact-workspace>section:not(#combat-contact){padding:14px}
#contact-workspace h2{font-size:19px;color:#f4cf8b;line-height:1.3;margin:8px 0 12px}
#contact-workspace p{font:13px/1.6 'Segoe UI',sans-serif;color:#d6e0e6;margin:9px 0 14px}
#contact-workspace .eyebrow{display:block;font:10px/1.4 Consolas,monospace;color:#b9d9dc;letter-spacing:.6px}
#contact-workspace button{font-size:12px;padding:8px 10px;line-height:1.35}
#story-event{background:transparent;border:0}
#story-series{color:#d4bd8c!important}
#story-choices{gap:9px}
#story-choices button{background:#26384a;border-color:#617b8c}
#story-choices button:hover{border-color:#e0a64a;background:#34475a}
#story-choices small{font-size:11px;margin-top:5px}
.flow-secondary{display:block;width:100%;margin-top:12px;background:transparent;border-color:#42596b;color:#bbcedb}
.scanner-contact{padding:9px;margin:8px 0;border:1px solid #465d70;background:#1b2c3b;box-shadow:inset 3px 0 #628f99}
.scanner-contact.threat{border-color:#ad675b;box-shadow:inset 3px 0 #ee9783;background:#332b30}
.scanner-contact.resolved{opacity:.65}
.scanner-contact strong{display:block;font-size:14px;color:#f4d49d;margin:4px 0}
#contact-workspace .scanner-contact p{font-size:11px;line-height:1.4;margin:4px 0 7px}
#contact-workspace .scanner-contact button{padding:5px 8px}
#contact-workspace #scanner-contacts{padding:10px 12px}
#scanner-contacts h2{font-size:17px;margin:5px 0}
#contact-workspace #contacts-guidance{font-size:11px;line-height:1.4;margin:6px 0 10px}
.scanner-contact>div{display:flex;gap:8px}.scanner-contact>div button:first-child{flex:1}
.contact-navigation{flex:none;padding:8px 12px;background:#22313f;border-top:1px solid #53697b}
.contact-navigation>button{width:100%;margin:0;padding:8px;font-size:12px}
.contact-navigation #jump-readiness{font:11px/1.45 'Segoe UI',sans-serif;margin:0 0 7px;color:#f1b39d}
.contact-navigation .jump-drive{padding:0;margin:0 0 8px;border:0;background:none}
.contact-navigation .jump-drive small{font-size:11px;line-height:1.4}
.contact-navigation .jump-drive .meter{margin:5px 0;height:5px}
.contact-navigation:has(>button:not([hidden])){display:block}
.contact-panel[data-mode=story] .contact-navigation,.contact-panel[data-mode=result] .contact-navigation,.contact-panel[data-mode=debrief] .contact-navigation,.contact-panel[data-mode=scan] .contact-navigation,.contact-panel[data-mode=transit] .contact-navigation,.contact-panel[data-mode=ended] .contact-navigation{display:none}
.contact-panel #content-status{padding:0;font-size:11px}
#combat-contact .panel-heading{padding:6px 12px;background:#3c2b30;min-height:28px}
#combat-contact .panel-heading h2{font:11px Consolas,monospace;margin:0;color:#ffd4bd}
#combat-contact .contact-visual{display:block;height:82px;position:relative}
#combat-contact #enemy{display:block;height:80px;width:100%}
#combat-contact #enemy-type{font-size:9px;bottom:5px}
#combat-contact #contact-details{padding:6px 12px}
#combat-contact .enemy-name{font-size:15px;margin:0 0 6px}
#combat-contact .target-buttons button{padding:4px 2px;font-size:11px;line-height:1.2}
#combat-contact .weapon-card{margin:3px 12px 8px;padding:7px}
#combat-contact .weapon-card .eyebrow{display:block}
#combat-contact .weapon-name{font-size:12px}
#combat-contact .weapon-actions{display:flex;gap:8px}
#combat-contact .weapon-actions button{flex:1;padding:7px;font-size:12px}
@media(min-width:901px) and (max-height:700px){#combat-contact .contact-visual{height:50px}#combat-contact #enemy{height:48px}.contact-panel .system-location{padding:4px 12px}.contact-panel .system-location h2{margin:2px 0;font-size:16px}.contact-panel .system-location p{margin:0}#combat-contact .panel-heading{min-height:22px;padding:4px 12px}.contact-navigation .jump-drive small{font-size:10px}.contact-navigation .jump-drive{margin-bottom:5px}#combat-contact .weapon-card{margin-bottom:3px}#combat-contact .weapon-card .eyebrow{display:none}#combat-contact .weapon-name{margin:0 0 4px}#combat-contact .weapon-actions{margin-top:5px}}
.contact-panel[data-mode=debrief] .weapon-card,.contact-panel[data-mode=debrief] .target-buttons,.contact-panel[data-mode=debrief] .enemy-hull,.contact-panel[data-mode=debrief] .enemy-meter{display:none}
#battle-debrief{padding:0 12px 14px}#battle-debrief button{display:block;width:100%;margin-top:9px}
#site-contact>#explore,#contact-result>button{width:100%}
.scan-field{position:relative;isolation:isolate;margin:16px 0;border:1px solid #557e85;background:#0c1d27;overflow:hidden;text-align:left;padding:12px;min-width:0}
.scan-grid{position:absolute;inset:0;z-index:-2;background:linear-gradient(#81cdbc0c 1px,transparent 1px),linear-gradient(90deg,#81cdbc0c 1px,transparent 1px);background-size:20px 20px}
.scan-beam{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 0%,#8de1c008 65%,#8de1c038 98%,#c5ffeb 100%);border-right:2px solid #c5ffeb;transform:translateX(-100%);animation:scanner-sweep-across 1.8s linear both}
.scan-readout{display:flex;justify-content:space-between;gap:8px;color:#90c9bb;font:10px/1.4 Consolas,monospace;letter-spacing:1px;margin-bottom:12px}
.scan-readout span:last-child{color:#edcb83}
.scan-lanes{display:grid;gap:7px}
.scan-lanes>div{display:grid;grid-template-columns:20px minmax(0,1fr) 36px;align-items:center;gap:6px;min-height:26px;color:#a9bdc8;animation:scanner-row .28s ease-out both;animation-delay:calc(var(--stage)*.36s)}
.scan-lanes span{font:10px Consolas,monospace;color:#7b9da9}
.scan-lanes strong{font:12px/1.4 "Segoe UI",sans-serif}
.scan-lanes>div:first-child,.scan-lanes>div:first-child span{color:#fa8776}
.scan-lanes>div:first-child i{background:repeating-linear-gradient(90deg,#fa8776 0 4px,transparent 4px 7px)}
.scan-lanes i{height:9px;background:repeating-linear-gradient(90deg,#8de1c0 0 4px,transparent 4px 7px);transform-origin:left;animation:scanner-fill .35s linear both;animation-delay:calc(var(--stage)*.36s + .15s)}
#scanner-sweep{text-align:center}.scan-progress{height:3px;background:#304755;margin:18px 0}.scan-progress i{display:block;width:100%;height:100%;background:#a3d9c3;transform-origin:left;animation:scanner-fill 1.8s linear}
@keyframes scanner-sweep-across{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes scanner-row{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes scanner-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.reduced-motion .scan-beam{display:none}.reduced-motion .scan-lanes>div,.reduced-motion .scan-lanes i,.reduced-motion .scan-progress i{animation:none}
@media(prefers-reduced-motion:reduce){.scan-beam{display:none}.scan-lanes>div,.scan-lanes i,.scan-progress i{animation:none}}
@media(max-width:900px){.contact-panel{display:flex;max-height:660px;min-height:420px;grid-column:1/-1}.contact-panel .system-location{display:block}.contact-panel #contact-workspace{min-height:260px}.contact-panel .weapon-card,.contact-panel .contact-visual,.contact-panel #contact-details{grid-area:auto}.contact-panel #combat-contact .contact-visual{display:block}}

#anomaly-dialog{max-width:660px;border-color:#b3a0ce}.anomaly-recovery{padding:12px 16px;border-left:3px solid #bba2dc;background:#242c3b}.anomaly-recovery h3{color:#d9c4f2;margin:0}.scanner-contact:has([data-contact="anomaly"]){border-color:#a78bbd;background:#262b3b}.scan-lanes>div:last-child{color:#d5c1ec}

.scan-beam,.scan-progress i{animation-duration:2.2s}.scan-lanes{gap:5px}.scan-lanes>div{min-height:24px}
.simulation-held #scanner-sweep *{animation-play-state:paused!important}
