/* CrossFeed is the flight deck itself: one adaptive, opaque instrument panel. */
#project-crossfeed .project-visual{inset:0;height:100%}
#project-crossfeed .visual-object{transform:none!important;width:100%;height:100%}
.crossfeed-scene{position:relative;width:100%;height:100%;box-sizing:border-box;padding:5vh 5% 9vh;color:#d8e5e8;font-family:var(--mono,monospace);--cf-roll:-1.8deg;--cf-pitch:0px;--cf-sweep:-38deg;--cf-workload:26%;isolation:isolate}
.cf-deck{width:100%;height:100%;max-width:1480px;margin:auto;display:grid;grid-template-rows:42px minmax(0,1fr) 78px 30px;padding:0 14px;background:#111b24;border:1px solid #30414e;border-radius:15px;box-shadow:0 30px 80px #0006,inset 0 1px 0 #ffffff05;overflow:hidden;box-sizing:border-box}
.cf-deck-top{display:flex;align-items:center;gap:16px;border-bottom:1px solid #2a3b48;font-size:8px;line-height:1.5;letter-spacing:.06em;color:#819eae}
.cf-deck-brand{font-size:19px;font-weight:700;letter-spacing:-.06em;color:#c4dbe2;display:flex;align-items:center;gap:14px}
.cf-deck-brand>span{font-size:8px;letter-spacing:.12em;font-weight:400;color:#91adba}
.cf-deck-note{margin-left:auto;font:8px/1.5 Inter,Arial,sans-serif;color:#75929e;letter-spacing:0}
.cf-workload{width:145px;flex:0 0 auto;color:#91cdb6;--cf-load-color:#91cdb6}
.cf-workload-heading{display:flex;justify-content:space-between;gap:10px;font-size:8px;line-height:1.5;letter-spacing:.08em;margin-bottom:5px}
.cf-workload-label{font:inherit;color:var(--cf-load-color)}
.cf-workload-track{height:4px;display:block;overflow:hidden;border-radius:1px;background:#263e49;position:relative}
.cf-workload-track:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),#111b24 calc(10% - 2px) 10%)}
.cf-workload-track i{display:block;height:100%;width:var(--cf-workload);background:var(--cf-load-color);transition:background .7s}
[data-load=rising] .cf-workload{--cf-load-color:#d3bf7b}[data-load=high] .cf-workload{--cf-load-color:#efad70}
.cf-deck-bottom i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#91d3b7}
/* Explicit rectangles let each instrument travel and resize without remounting
   controls. The PFD keeps the same rectangle in every adaptive state. */
.cf-instruments{position:relative;display:block;min-height:0;margin-top:14px;--cf-gap:12px;--cf-half-gap:6px;--cf-alert-height:80px}
.cf-instruments>.cf-instrument{position:absolute;transition:left 1.05s cubic-bezier(.22,.72,.12,1),right 1.05s cubic-bezier(.22,.72,.12,1),top 1.05s cubic-bezier(.22,.72,.12,1),bottom 1.05s cubic-bezier(.22,.72,.12,1),border-color .8s,box-shadow .8s,background .8s}
.cf-pfd{left:0;right:calc(70% + var(--cf-half-gap));top:0;bottom:0;z-index:5}
.cf-navigation{left:calc(30% + var(--cf-half-gap));right:calc(32% + var(--cf-half-gap));top:0;bottom:calc(var(--cf-alert-height) + var(--cf-gap));z-index:3}
.cf-weather{left:calc(68% + var(--cf-half-gap));right:0;top:0;bottom:0;z-index:2}
.cf-alarms{left:calc(30% + var(--cf-half-gap));right:calc(32% + var(--cf-half-gap));top:calc(100% - var(--cf-alert-height));bottom:0;z-index:4}
[data-layout=weather] .cf-navigation,[data-layout=weather] .cf-alarms{right:calc(45% + var(--cf-half-gap))}
[data-layout=weather] .cf-weather{left:calc(55% + var(--cf-half-gap))}
[data-layout=focused] .cf-alarms{left:calc(30% + var(--cf-half-gap));right:0;top:0;bottom:calc(76% + var(--cf-half-gap))}
[data-layout=focused] .cf-navigation{left:calc(30% + var(--cf-half-gap));right:calc(18% + var(--cf-half-gap));top:calc(24% + var(--cf-half-gap));bottom:0}
[data-layout=focused] .cf-weather{left:calc(82% + var(--cf-half-gap));right:0;top:calc(24% + var(--cf-half-gap));bottom:0}
[data-layout=focused] .cf-weather-controls{flex-direction:column}
[data-layout=focused] .cf-navigation{border-color:#8ba9ca;box-shadow:0 0 0 1px #7da1bd22}
[data-layout=focused] .cf-engine-status,[data-layout=focused] .cf-nav-footer>span:last-child{opacity:0}
.cf-engine-status,.cf-nav-footer>span:last-child{transition:opacity .65s}
[data-layout=focused] .cf-weather .cf-panel-heading small{display:none}
[data-layout=focused] .cf-weather-display{opacity:.65!important}
[data-active=false] .cf-instruments>.cf-instrument{transition:none}
.cf-instrument{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #344b5d;border-radius:5px;background:#091722;box-sizing:border-box;transition:border-color .8s,box-shadow .8s,background .8s}
.cf-panel-heading{height:30px;padding:0 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #263d4d;background:#0d1d29;font-size:8px;line-height:1.5;letter-spacing:.06em;color:#9bbac9;box-sizing:border-box}
.cf-panel-heading small{font-size:6px;color:#608798;white-space:nowrap;letter-spacing:.035em}
.cf-pfd{grid-area:pfd;display:flex;flex-direction:column}
.cf-navigation{grid-area:nav;display:flex;flex-direction:column}
.cf-weather{grid-area:weather;display:flex;flex-direction:column}
#project-crossfeed .cf-instrument svg{display:block;width:100%;height:100%;min-height:0;max-width:none;margin:0;transform:none;opacity:1}
#project-crossfeed .cf-pfd-display{flex:1;object-fit:contain;padding:6px 7px 5px;box-sizing:border-box}
.cf-horizon-art{transform:translateY(var(--cf-pitch)) rotate(var(--cf-roll));transform-origin:150px 168px}
#project-crossfeed .cf-nav-display{flex:1;min-height:0;background:radial-gradient(ellipse at 40% 60%,#172e3a,#0a1925)}
.cf-nav-route{transition:opacity .8s}.cf-route-alternate{opacity:0;transition:opacity .8s}
.cf-nav-footer{height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;font-size:7px;color:#88aebb;background:#0c1c28;border-top:1px solid #243d4c;white-space:nowrap}
.cf-weather-display{flex:1;min-height:0;background:radial-gradient(ellipse at 50% 65%,#102834,#081721)}
.cf-radar-sweep{transform:rotate(var(--cf-sweep));transform-origin:150px 263px}
.cf-weather-turb{display:none}
[data-weather=turbulence] .cf-weather-precip{display:none}
[data-weather=turbulence] .cf-weather-turb{display:block}
.cf-weather-controls{display:flex;gap:5px;padding:10px;justify-content:center;border-top:1px solid #263d4d;background:#0b1924}
.cf-weather-controls button{min-height:32px;flex:1;padding:7px 8px;border:1px solid #355164;border-radius:3px;background:#112534;color:#86a9bb;font:8px/1.4 var(--mono,monospace);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.cf-weather-controls button[aria-pressed=true]{background:#21433e;border-color:#537e6c;color:#c8ead7}
.cf-weather-controls button:hover{border-color:#86b8cb}
.cf-weather-controls button:focus-visible,.cf-ack:focus-visible{outline:2px solid #b3d5ec;outline-offset:2px}
.cf-alarms{grid-area:alarms;display:flex;align-items:center;gap:12px;padding:12px 14px;background:#0c1d27}
.cf-alarm-light{width:7px;height:7px;border:1px solid #80b3a0;border-radius:50%;flex-shrink:0;background:#70b69a;box-shadow:0 0 13px #70b69a22}
.cf-alarm-copy{min-width:0;flex:1}
.cf-alarm-level{display:block;font-size:6px;letter-spacing:.09em;color:#6e958f;margin-bottom:5px}
.cf-alarm-title{display:block;font:400 clamp(11px,1.1vw,15px)/1.4 Inter,Arial,sans-serif;letter-spacing:0;color:#bed3d4}
.cf-alarm-detail{display:block;font-size:7px;line-height:1.4;color:#6e919d;margin-top:5px}
.cf-ack{min-width:46px;min-height:33px;padding:7px 9px;border:1px solid #4e6a74;border-radius:3px;background:#182c37;color:#a5c0c8;font:8px var(--mono,monospace);cursor:pointer;flex-shrink:0}
.cf-ack:disabled{opacity:.45;cursor:default}
[data-alert=pending] .cf-alarms{border-color:#b69455;background:#282319}
[data-alert=pending] .cf-alarm-light{background:#e5bc6b;border-color:#e5bc6b;box-shadow:0 0 18px #d7aa6245;animation:cf-advisory-pulse 1.7s ease-in-out infinite;animation-play-state:paused}
[data-active=true][data-alert=pending] .cf-alarm-light{animation-play-state:running}
[data-alert=pending] .cf-alarm-level,[data-alert=pending] .cf-alarm-title{color:#efd29c}
[data-alert=pending] .cf-alarm-detail{color:#b8a481}
[data-alert=pending] .cf-ack{border-color:#c3a15e;color:#f2d9a3;background:#4b3b24}
[data-alert=acknowledged] .cf-alarms{border-color:#638e7d;background:#102a27}
[data-alert=acknowledged] .cf-alarm-title{color:#b5ddca}
[data-priority=weather] .cf-weather{border-color:#8bb6a1;box-shadow:0 0 0 1px #7aac9125}
[data-priority=weather] .cf-weather-priority{color:#abd7b9}
[data-priority=navigation] .cf-navigation{border-color:#8ba9ca;box-shadow:0 0 0 1px #7da1bd22}
[data-priority=navigation] .cf-nav-mode{color:#acd5d2}
[data-layout=focused] .cf-route-alternate{opacity:1}
[data-layout=focused] .cf-nav-route{opacity:.25}
.cf-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr 1.15fr;gap:18px;align-items:center;border-bottom:1px solid #2a3b48;padding:10px 5px;min-width:0}
.cf-mode-bank{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-width:135px}
.cf-mode-bank>span{display:block;padding:7px 9px;border:1px solid #314755;border-radius:3px;background:#15232d;font-size:8px;text-align:center;color:#7d9aa9;box-shadow:inset 0 -2px #071019}
.cf-mode-bank>span.cf-mode-on{color:#a7d6bd;border-color:#567c68;background:#21392f}
.cf-control-readout{display:grid;grid-template-columns:1fr 25px;gap:4px 8px;align-items:center;min-width:0}
.cf-control-readout>span{font-size:6px;color:#6c8c9d;letter-spacing:.08em;grid-column:1}
.cf-control-readout>b{font-size:16px;line-height:1.3;font-weight:400;letter-spacing:.02em;color:#d0e3dc;grid-column:1;white-space:nowrap}
.cf-control-readout small{font-size:6px;margin-left:5px;color:#6c909b}
.cf-control-readout>i{grid-column:2;grid-row:1/3;display:block;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#536371,#293b4a 55%,#101c27 58%);border:1px solid #607380;box-shadow:1px 2px 4px #0007;position:relative}
.cf-control-readout>i:after{content:'';position:absolute;left:11px;top:3px;height:6px;width:2px;background:#b8c6cd;transform:rotate(18deg);transform-origin:1px 9px}
.cf-engine-status{border-left:1px solid #2e414c;padding-left:20px;font-size:7px;color:#739a9a;line-height:1.9}
.cf-engine-status>span{display:block}.cf-engine-status b{font-size:11px;font-weight:400;color:#a7cfc0;margin-left:9px}
.cf-engine-status small{font-size:5px;color:#557c85}
.cf-deck-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:6px;letter-spacing:.06em;color:#5b7c8c}
.cf-priority-status{color:#94b8bd}.cf-deck-bottom i{margin:0 7px;width:3px;height:3px;vertical-align:middle}
.project-preview-card#project-crossfeed[data-story-id] .project-stage-frame{height:650px}
.project-preview-card#project-crossfeed[data-story-id] .project-visual{inset:0;height:100%}
.project-preview-card#project-crossfeed .crossfeed-scene{padding:20px 3% 40px}
@keyframes cf-advisory-pulse{50%{opacity:.35}}
@media(max-width:1000px){
 .crossfeed-scene{padding-left:4%;padding-right:4%}.cf-deck{padding:0 10px;grid-template-rows:38px minmax(0,1fr) 70px 27px}
 .cf-instruments{--cf-gap:8px;--cf-half-gap:4px;--cf-alert-height:83px;margin-top:10px}.cf-panel-heading{font-size:7px;padding:0 9px}.cf-panel-heading small{font-size:5px}
 .cf-weather-controls{gap:4px;padding:7px}.cf-weather-controls button{font-size:7px;padding:7px 4px}.cf-controls{gap:12px}.cf-control-readout>b{font-size:13px}.cf-control-readout{grid-template-columns:1fr 20px}.cf-control-readout>i{width:20px;height:20px}.cf-control-readout>i:after{left:9px}
 .cf-alarms{padding:10px;gap:8px}.cf-alarm-title{font-size:11px}.cf-alarm-detail{font-size:6px}.cf-nav-footer{font-size:6px;padding:0 8px}.cf-engine-status{padding-left:12px}.cf-engine-status b{font-size:9px;margin-left:5px}
}
@media(max-width:600px){
 .crossfeed-scene{padding:5vh 4% 10vh}.cf-deck{grid-template-rows:36px minmax(0,1fr) 62px 26px;padding:0 8px;border-radius:10px}
 .cf-deck-top{gap:8px}.cf-deck-brand{font-size:15px;gap:8px}.cf-deck-brand>span{font-size:5px;letter-spacing:.05em}.cf-deck-note{font-size:5px;max-width:57px;line-height:1.5}.cf-workload{width:83px}.cf-workload-heading{font-size:6px;gap:5px;margin-bottom:4px}.cf-workload-track{height:3px}
 .cf-instruments{--cf-gap:7px;--cf-half-gap:3.5px;--cf-weather-strip:clamp(42px,12%,70px);margin-top:8px}
 .cf-pfd{left:0;right:calc(50% + var(--cf-half-gap));top:0;bottom:calc(50% + var(--cf-half-gap))}
 .cf-navigation,[data-layout=weather] .cf-navigation{left:calc(50% + var(--cf-half-gap));right:0;top:0;bottom:calc(50% + var(--cf-half-gap))}
 .cf-weather,[data-layout=weather] .cf-weather{left:0;right:calc(30% + var(--cf-half-gap));top:calc(50% + var(--cf-half-gap));bottom:0}
 .cf-alarms,[data-layout=weather] .cf-alarms{left:calc(70% + var(--cf-half-gap));right:0;top:calc(50% + var(--cf-half-gap));bottom:0}
 [data-layout=focused] .cf-alarms{left:calc(50% + var(--cf-half-gap));right:0;top:0;bottom:calc(50% + var(--cf-half-gap))}
 [data-layout=focused] .cf-navigation{left:0;right:0;top:calc(50% + var(--cf-half-gap));bottom:calc(var(--cf-weather-strip) + var(--cf-gap))}
 [data-layout=focused] .cf-weather{left:0;right:0;top:calc(100% - var(--cf-weather-strip));bottom:0;display:grid;grid-template-columns:57px minmax(0,1fr)}
 [data-layout=focused] .cf-weather-display{display:none!important}
 [data-layout=focused] .cf-weather .cf-panel-heading{height:100%;border-bottom:0;padding:0 7px}
 [data-layout=focused] .cf-weather-controls{flex-direction:row;align-items:center;border-top:0;border-left:1px solid #263d4d;padding:5px}
 [data-layout=focused] .cf-weather-controls button{flex:1}
 .cf-panel-heading{height:25px;padding:0 7px;font-size:6px}.cf-panel-heading small{font-size:4px;letter-spacing:0}.cf-pfd .cf-panel-heading small{display:none}
 #project-crossfeed .cf-pfd-display{padding:0 2px}.cf-nav-footer{font-size:5px;padding:0 6px;height:20px;gap:4px}.cf-nav-footer>span:last-child{display:none}
 .cf-weather-controls{padding:5px;gap:4px}.cf-weather-controls button{font-size:6px;min-height:28px;padding:6px 3px}
 .cf-alarms{display:grid;grid-template-rows:7px minmax(0,1fr) 32px;align-items:center;padding:12px 9px;gap:10px}.cf-alarm-copy{align-self:center}.cf-alarm-level{font-size:5px;margin-bottom:8px;line-height:1.5}.cf-alarm-title{font-size:11px;line-height:1.45}[data-layout=focused] .cf-alarm-title{font-size:14px}.cf-alarm-detail{display:none}.cf-ack{font-size:8px;min-height:32px;min-width:43px;width:100%}
 .cf-controls{grid-template-columns:.85fr 1fr .95fr 1.25fr;gap:9px;padding:8px 0}.cf-mode-bank{gap:4px}.cf-mode-bank>span{font-size:5px;padding:5px 3px}.cf-control-readout{grid-template-columns:1fr;gap:4px}.cf-control-readout>span{font-size:5px}.cf-control-readout>b{font-size:12px}.cf-control-readout small{font-size:4px;margin-left:3px}.cf-control-readout>i,.cf-engine-status{display:none}
 .cf-deck-bottom{font-size:5px;letter-spacing:0;gap:5px}.cf-deck-bottom>span:last-child{font-size:4px}
 .project-preview-card#project-crossfeed[data-story-id] .project-stage-frame{height:740px}
 .project-preview-card#project-crossfeed .crossfeed-scene{padding:16px 4% 54px}
}
@media(prefers-reduced-motion:reduce){.crossfeed-scene *{animation:none!important;transition:none!important}}
.motion-off .crossfeed-scene *{animation:none!important;transition:none!important}
