#flightViewLaunch { display:block; width:100%; margin:8px 0 12px; border:2px solid #087f8b; border-radius:12px; padding:14px 16px; background:#087f8b; color:#fff; box-shadow:0 4px 0 #065e68,0 7px 16px #102c4033; font:800 14px system-ui; letter-spacing:.5px; cursor:pointer; }
#phoneFlightCard #flightViewLaunch { background:var(--ui-accent, #087f8b) !important; color:#fff !important; border-color:var(--ui-accent, #087f8b) !important; font:600 12px system-ui !important; }
#flightViewLaunch .flightViewWindowIcon { display:inline-block; width:20px; height:24px; margin-right:6px; vertical-align:middle; }
#flightViewLaunch:hover { filter:brightness(1.1); }
#flightViewLaunch:active { filter:brightness(.95); box-shadow:0 2px 0 #065e68; }
#flightViewLaunch:focus-visible { outline:3px solid #087e8b; outline-offset:3px; }
#flightViewLaunch.flight-view-demo { position:fixed; bottom:74px; left:50%; transform:translateX(-50%); z-index:12000; width:auto; }
#flightViewLaunch[hidden] { display:none; }
#spaceModeButton { flex-shrink:0; min-height:42px; padding:0 14px; border:1px solid #8570b9; border-radius:10px; background:#38285f; color:#f4efff; font:600 12px system-ui; cursor:pointer; }
#spaceModeButton:hover { background:#58368c; }
#spaceModeButton:focus-visible { outline:2px solid #a88ade; outline-offset:3px; }
@media(max-width:700px) { #spaceModeButton { min-height:38px; padding:0 8px; font-size:11px; } }
#flightView { width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#081724; color:#fff; font:14px system-ui; }
#flightView::backdrop { background:#081724; }
#flightViewScene { position:absolute; inset:0; touch-action:none; cursor:grab; }
#flightViewScene:active { cursor:grabbing; }
#flightViewScene:focus-visible { outline:2px solid #79dfff; outline-offset:-3px; }
.flightViewBar { position:absolute; left:16px; right:16px; top:max(16px, env(safe-area-inset-top)); display:flex; align-items:center; justify-content:space-between; gap:12px; pointer-events:none; }
.flightViewBar > * { pointer-events:auto; }
#flightView button { background:#142b3de8; color:#fff; border:1px solid #b6ddef66; border-radius:12px; padding:11px 14px; font:inherit; cursor:pointer; }
#flightViewTitle { background:#142b3de8; padding:12px 16px; border-radius:12px; }
.flightViewBottom { position:absolute; bottom:max(38px, env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(90%, 680px); text-align:center; pointer-events:none; }
.flightViewBottom button { pointer-events:auto; }
#flightViewStatus, .flightViewHelp { background:#142b3ddd; border-radius:10px; padding:8px 12px; margin:8px 0; }
.flightViewHelp { font-size:12px; color:#d2e4ed; }
.flightViewControls { display:flex; justify-content:center; gap:6px; margin-bottom:8px; }
#flightView .flightViewControls button { padding:7px 12px; font-size:12px; }
.flightViewInstruments { display:grid; grid-template-columns:1fr 1fr 1.5fr 1fr; padding:18px 8px; border:1px solid #8ec9d52e; border-top:2px solid #42c6bc; border-radius:20px; background:linear-gradient(135deg,#142c3bfa,#081823fa); box-shadow:0 12px 32px #0005,inset 0 1px 0 #ffffff08; }
.flightViewInstruments > div { min-width:0; padding:0 10px; border-right:1px solid #b6ddef1a; }
.flightViewInstruments > div:last-child { border:0; }
.flightViewInstruments span { display:block; color:#8ea9b7; font-size:9px; font-weight:600; letter-spacing:1.6px; margin-bottom:8px; }
.flightViewInstruments strong { display:block; color:#f0f8fc; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.3px; overflow-wrap:anywhere; }
#flightViewRoute { color:#7de1d6; }
#flightViewStatus:empty { display:none; }
.flightViewPlanets { position:absolute; inset:0; pointer-events:none; }
#flightView .flightViewPlanetMarker { position:absolute; transform:translate(-50%,-50%); pointer-events:auto; border:1px solid #a6eaff55; background:#061724ad; color:#c6f3ff; padding:6px 10px; font:12px system-ui; white-space:nowrap; }
.flightViewTopActions { pointer-events:auto; position:relative; display:flex; align-items:flex-start; gap:8px; flex-shrink:0; align-self:flex-start; }
.flightViewPlanetList { position:relative; margin:0; padding:0; background:linear-gradient(120deg,#102a38cc,#07121dcc); border:1px solid #8bdbe066; border-radius:4px 14px; box-shadow:inset 2px 0 #88efff; font-size:12px; }
.flightViewPlanetList summary { display:flex; align-items:center; gap:8px; min-height:42px; padding:0 12px; box-sizing:border-box; cursor:pointer; color:#b8f4ff; list-style:none; font:600 12px system-ui; letter-spacing:.4px; }
.flightViewPlanetList summary::-webkit-details-marker { display:none; }
.flightViewPlanetList summary:focus-visible { outline:2px solid #88efff; outline-offset:3px; }
.flightViewPlanetList summary > span:first-child { font-size:20px; }
.flightViewPlanetList[open] .planetChevron { transform:rotate(180deg); }
.flightViewPlanetMenu { position:absolute; right:0; top:calc(100% + 10px); width:min(310px,calc(100vw - 32px)); box-sizing:border-box; padding:12px; border:1px solid #8bdbe066; border-radius:4px 14px; z-index:3; background:#071823f5; }
.flightViewPlanetMenu p { margin:0 0 10px; color:#acc9d7; }
.flightViewPlanetItems { display:grid; gap:5px; max-height:40dvh; overflow:auto; }
#flightView .flightViewPlanetList button { padding:8px; font-size:11px; text-align:left; }
.flightViewPlanetCard { position:absolute; right:0; top:calc(100% + 12px); width:min(320px,calc(100vw - 32px)); box-sizing:border-box; max-height:calc(100dvh - 190px); overflow:auto; padding:16px; background:#071823f2; border:1px solid #8bdbe077; border-radius:4px 18px; box-shadow:0 8px 24px #0005; font:13px/1.5 system-ui; }
.flightViewPlanetCard figure { margin:12px 0; }
.flightViewPlanetCard img { display:block; width:100%; height:150px; object-fit:contain; background:#02080c; border-radius:10px; }
.flightViewPlanetCard img[hidden] { display:none; }
.flightViewPlanetCard figcaption { margin-top:4px; font-size:9px; color:#86a8b7; }
@media(max-width:600px) { .flightViewBar { flex-wrap:wrap; align-items:flex-start; } .flightViewTopActions { margin-left:auto; } .flightViewPlanetCard { max-height:calc(100dvh - 260px); } }
.flightViewPlanetCard h3 { margin:0 40px 8px 0; color:#a5edf5; }
.flightViewPlanetCard > button { float:right; }
.flightViewPlanetCard small,.flightViewPlanetCard a { display:block; margin-top:10px; color:#acc9d7; font-size:11px; }
.flightViewIdentity { display:flex; align-items:center; gap:10px; background:#142b3de8; padding:8px 12px; border-radius:12px; }
.flightViewIdentity #flightViewTitle { background:none; padding:0; }
.flightViewIdentity:has(.flightViewObjectInfo:not([hidden])) { flex-wrap:wrap; max-width:min(380px,60vw); }
.flightViewObjectInfo { flex-basis:100%; margin:2px 0 0; font:12px/1.5 system-ui; letter-spacing:0; color:#c5d9e3; }
#flightViewAirlineLogo { width:36px; height:36px; object-fit:contain; padding:3px; background:#fff; border-radius:8px; }
.flightViewBeacon { position:absolute; inset:0; pointer-events:none; opacity:0; background:radial-gradient(ellipse at 0% 75%, #ff28184d, transparent 55%),radial-gradient(ellipse at 100% 25%, #ff281833, transparent 50%); }
#flightView[open][data-target-kind="aircraft"] .flightViewBeacon { animation:flightViewBeaconPulse 1.8s ease-out infinite; }
@keyframes flightViewBeaconPulse { 0%, 18%, 100% { opacity:0; } 5% { opacity:.65; } }
@media(prefers-reduced-motion:reduce) { #flightView .flightViewBeacon { animation:none; } }
@media(max-width:480px) { .flightViewInstruments strong { font-size:13px; } .flightViewInstruments span { font-size:8px; letter-spacing:.5px; } .flightViewInstruments > div { padding:0 4px; } }
@media(max-width:600px) { .flightViewBar { left:8px; right:8px; font-size:12px; } #flightViewTitle { padding:10px; } #flightViewLaunch { bottom:82px; } }

/* Shared slim instrument dock; the selected target supplies the visual identity. */
#flightView { --journey-accent:#c3e7f5; }
.flightViewBottom { width:min(calc(100% - 24px),780px); }
.flightViewDock { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #d5e8f14d; border-radius:32px; background:linear-gradient(110deg,#14232fb3,#08121ba3); box-shadow:0 6px 24px #0004; }
.flightViewDock .flightViewInstruments { flex:1; padding:4px 0; border:0; border-radius:0; background:none; box-shadow:none; }
.flightViewDock .flightViewInstruments span { font-size:8px; margin-bottom:4px; letter-spacing:1.2px; }
.flightViewDock .flightViewInstruments strong { font:600 16px/1.3 'Consolas',monospace; }
.flightViewDock #flightViewRoute { color:var(--journey-accent); }
.flightViewDock .flightViewControls { margin:0; gap:4px; }
#flightView .flightViewDock .flightViewControls > button { width:38px; height:38px; padding:0; border:1px solid #d5e8f130; border-radius:50%; background:#c4dce612; font-size:0; }
#flightView .flightViewDock .flightViewControls > button:hover { background:#c4dce630; }
#flightView .flightViewDock .flightViewControls > button:focus-visible { outline:2px solid var(--journey-accent); outline-offset:3px; }
#flightViewReset::before { content:'↑'; font:22px system-ui; }
.flightViewSound::before { content:'♫'; font:20px system-ui; }
.flightViewSound[aria-label="Ortam sesini aç"]::before { content:'♪'; opacity:.45; }
.flightViewModeMark { position:relative; flex:0 0 38px; height:38px; border:1px solid #d5e8f14d; border-radius:50%; color:var(--journey-accent); background:linear-gradient(transparent 48%,#c3e7f530 49%,#c3e7f530 51%,transparent 52%); }
.flightViewModeMark::before { content:''; position:absolute; left:6px; right:6px; top:17px; height:5px; border-bottom:2px solid currentColor; }
.flightViewModeMark i { position:absolute; width:4px; height:4px; background:currentColor; border-radius:50%; left:16px; top:15px; }
.flightViewIdentity { background:#102331b3; border:1px solid #d5e8f133; border-radius:24px; }
#flightView[data-target-kind="satellite"] { --journey-accent:#88efff; }
#flightView[data-target-kind="satellite"] .flightViewDock { border-radius:4px 18px; border-color:#88efff88; background:linear-gradient(110deg,#081721b8,#030d17a3); box-shadow:inset 3px 0 #88efff,inset -3px 0 #88efff,0 6px 24px #0004; }
#flightView[data-target-kind="satellite"] .flightViewIdentity { border-radius:4px 16px; border-color:#88efff55; font-family:Consolas,monospace; letter-spacing:1px; }
#flightView[data-target-kind="satellite"] .flightViewIdentity::before { content:'◎'; font-size:28px; color:var(--journey-accent); }
#flightView[data-target-kind="satellite"] .flightViewModeMark { background:none; border-color:#88efff88; }
#flightView[data-target-kind="satellite"] .flightViewModeMark::before { top:10px; left:-5px; right:-5px; height:14px; border:1px solid currentColor; border-radius:50%; transform:rotate(-35deg); }
#flightView[data-target-kind="satellite"] .flightViewModeMark i { left:2px; top:23px; }
#flightView[data-target-kind="satellite"] .flightViewDock .flightViewControls > button { border-radius:8px; }
@media(max-width:600px) {
  .flightViewDock { padding:7px; gap:3px; border-radius:18px; }
  .flightViewModeMark { display:none; }
  .flightViewDock .flightViewInstruments > div { padding:0 4px; }
  .flightViewDock .flightViewInstruments strong { font-size:12px; }
  .flightViewDock .flightViewInstruments span { font-size:7px; letter-spacing:.4px; }
  #flightView .flightViewDock .flightViewControls > button { width:32px; height:40px; }
}
@media(max-width:700px) {
  #phoneTopBar #spaceModeButton { position:fixed; top:calc(66px + env(safe-area-inset-top)); right:70px; height:44px; min-height:44px; padding:0 16px; border-radius:14px; font-size:12px; box-shadow:0 4px 14px #160c3533; }
}
@media(max-width:600px) {
  .flightViewBar { top:max(8px,env(safe-area-inset-top)); gap:8px; }
  .flightViewBar .flightViewIdentity { width:100%; max-width:none; box-sizing:border-box; }
  #flightView[data-free-space="true"] .flightViewObjectInfo { display:none; }
  .flightViewTopActions { width:100%; margin:0; }
  .flightViewTopActions > #flightViewClose, .flightViewTopActions > .flightViewPlanetList { flex:1; }
  #flightView .flightViewTopActions > #flightViewClose, .flightViewPlanetList summary { min-height:44px; box-sizing:border-box; }
  .flightViewPlanetList summary { justify-content:center; }
  .flightViewPlanetMenu, .flightViewPlanetCard { width:calc(100vw - 16px); }
  .flightViewPlanetMenu { max-height:calc(100dvh - 280px); overflow:auto; }
  .flightViewPlanetCard { max-height:calc(100dvh - 280px); }
  .flightViewDock { flex-wrap:wrap; padding:8px 10px; gap:8px; }
  .flightViewDock .flightViewInstruments { flex:1 0 100%; }
  .flightViewDock .flightViewControls { width:100%; justify-content:flex-end; }
  #flightView .flightViewDock .flightViewControls > button { width:44px; height:44px; }
  .flightViewDock .flightViewInstruments strong { white-space:nowrap; }
}

@media(max-width:700px) {
  .flightViewDock { position:relative; flex-wrap:wrap; }
  .flightViewDock .flightViewInstruments { flex:1 0 100%; }
  .flightViewDock .flightViewControls { width:100%; align-items:center; gap:6px; }
  .flightViewDock .flightViewTopActions { position:static; flex:1; width:auto; min-width:0; margin:0; gap:6px; align-self:auto; pointer-events:auto; }
  .flightViewDock .flightViewPlanetList { position:static; flex:1; min-width:0; border-radius:8px; }
  #flightView .flightViewDock #flightViewClose { flex:1; min-height:44px; padding:0 8px; font:600 11px system-ui; border-radius:8px; white-space:nowrap; }
  .flightViewDock .flightViewPlanetList summary { min-height:42px; padding:0 7px; gap:4px; font-size:11px; letter-spacing:0; justify-content:center; }
  .flightViewDock .flightViewPlanetList summary > span:first-child { font-size:16px; }
  .flightViewDock .planetChevron { display:none; }
  .flightViewDock .flightViewPlanetMenu, .flightViewDock .flightViewPlanetCard { top:auto; bottom:calc(100% + 10px); right:0; width:100%; max-height:calc(100dvh - 230px); pointer-events:auto; text-align:left; }
  .flightViewDock .flightViewPlanetItems { max-height:calc(100dvh - 300px); }
  #flightView .flightViewDock .flightViewControls > button { flex-shrink:0; width:44px; height:44px; }
}

/* Shared flight and orbital glass deck. */
.journeyIdentity,.journeyCompass,.journeyReturn { display:none; }
#flightView[data-target-kind] .flightViewBar { display:none; }
#flightView[data-target-kind] .flightViewBottom { width:min(calc(100% - 48px),1280px); bottom:max(32px,env(safe-area-inset-bottom)); }
#flightView[data-target-kind] .flightViewDock {
  position:relative; z-index:1; gap:0; padding:21px 24px; border-radius:22px;
  border:1px solid #d2e7f5a6; background:linear-gradient(115deg,#253e52e6,#0c2032ed);
  box-shadow:0 14px 38px #0004,inset 0 1px 1px #ffffff26;
}
#flightView[data-target-kind] .flightViewModeMark { display:none; }
#flightView[data-target-kind] .journeyIdentity { display:flex; align-items:center; gap:14px; flex:0 1 240px; min-width:0; text-align:left; padding-right:22px; }
.journeyIdentity img,.journeyAirlineFallback { flex-shrink:0; width:48px; height:48px; object-fit:contain; border-radius:50%; }
.journeyAirlineFallback { padding:8px; box-sizing:border-box; border:1px solid #c5deea70; color:#80dbf4; }
.journeyIdentity div { min-width:0; }
.journeyIdentity strong { display:block; font:600 23px/1.3 system-ui; color:#f5f9fc; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.journeyIdentity span { display:block; font:400 14px/1.5 system-ui; color:#bdcbd7; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#flightView[data-target-kind] .flightViewInstruments { display:grid; grid-template-columns:1.5fr 1fr 1.2fr 1fr; align-items:center; padding:0; min-width:0; }
#flightView[data-target-kind] .flightViewInstruments > div { padding:0 20px; border:0; border-left:1px solid #c6dbe14d; }
#flightView[data-target-kind] .flightViewInstruments > div:nth-child(3) { grid-column:1; grid-row:1; }
#flightView[data-target-kind] .flightViewInstruments > div:nth-child(1) { grid-column:2; grid-row:1; }
#flightView[data-target-kind] .flightViewInstruments > div:nth-child(2) { grid-column:3; grid-row:1; }
#flightView[data-target-kind] .flightViewInstruments > div:nth-child(4) { grid-column:4; grid-row:1; }
#flightView[data-target-kind] .flightViewInstruments span { font:400 13px/1.2 system-ui; letter-spacing:.4px; color:#bdcbd7; margin-bottom:6px; }
#flightView[data-target-kind] .flightViewInstruments strong { font:500 clamp(19px,2.2vw,30px)/1.2 system-ui; font-variant-numeric:tabular-nums; letter-spacing:-.7px; white-space:nowrap; color:#7cddf6; }
#flightView[data-target-kind] .flightViewInstruments > div:nth-child(3) span { display:none; }
#flightView[data-target-kind] #flightViewRoute { color:#f5f9fc; font-size:clamp(17px,2vw,26px); letter-spacing:.5px; }
#flightView[data-target-kind] .flightViewControls { padding-left:20px; border-left:1px solid #c6dbe14d; gap:14px; }
#flightView[data-target-kind] .flightViewControls #flightViewReset,
#flightView[data-target-kind] .flightViewTopActions { display:none; }
#flightView[data-target-kind] .flightViewDock .flightViewControls > button { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; border:1px solid #c5deea99; background:transparent; padding:0; }
#flightView[data-target-kind] .flightViewControls > button svg { width:23px; height:23px; }
#flightView[data-target-kind] .flightViewSound::before { content:''; width:24px; height:24px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h4l5-4v14l-5-4H3z'/%3E%3Cpath d='M15 8q4 4 0 8m3-11q7 7 0 14' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat; }
#flightView[data-target-kind] .journeyCompass { display:block; position:absolute; left:50%; bottom:calc(100% - 1px); transform:translateX(-50%); width:280px; height:95px; padding:0; border:0; border-radius:0; background:none; color:#fff; pointer-events:auto; }
.journeyCompass svg { display:block; width:100%; height:100%; }
#flightView[data-target-kind] .journeyCompass:focus-visible { outline:2px solid #7cddf6; outline-offset:3px; }
#flightView[data-target-kind] #flightViewStatus { position:absolute; bottom:calc(100% + 100px); left:50%; transform:translateX(-50%); white-space:nowrap; font-size:11px; }
@media(max-width:1100px) and (min-width:901px) {
  #flightView[data-target-kind] .flightViewDock { padding:18px 14px; }
  #flightView[data-target-kind] .journeyIdentity { flex-basis:170px; gap:9px; padding-right:12px; }
  .journeyIdentity strong { font-size:18px; }.journeyIdentity span { font-size:12px; }
  .journeyIdentity img,.journeyAirlineFallback { width:38px; height:38px; }
  #flightView[data-target-kind] .flightViewInstruments > div { padding:0 10px; }
  #flightView[data-target-kind] .flightViewControls { gap:8px; padding-left:12px; }
  #flightView[data-target-kind] .flightViewDock .flightViewControls > button { width:44px; height:44px; }
}
@media(max-width:900px) {
  #flightView[data-target-kind] .flightViewBottom { width:calc(100% - 20px); bottom:max(28px,env(safe-area-inset-bottom)); }
  #flightView[data-target-kind] .flightViewDock { display:grid; grid-template-columns:1fr auto; gap:14px 8px; padding:14px; border-radius:18px; }
  #flightView[data-target-kind] .journeyIdentity { padding:0; gap:10px; }
  .journeyIdentity img,.journeyAirlineFallback { width:36px; height:36px; }
  .journeyIdentity strong { font-size:17px; }.journeyIdentity span { font-size:11px; }
  #flightView[data-target-kind] .flightViewInstruments { grid-column:1/-1; grid-row:2; grid-template-columns:1.4fr .7fr 1fr .85fr; border-top:1px solid #c6dbe132; padding-top:13px; }
  #flightView[data-target-kind] .flightViewInstruments > div { padding:0 7px; }
  #flightView[data-target-kind] .flightViewInstruments > div:nth-child(3) { border:0; padding-left:0; }
  #flightView[data-target-kind] .flightViewInstruments strong { font-size:17px; letter-spacing:-.5px; }
  #flightView[data-target-kind] #flightViewRoute { font-size:15px; letter-spacing:0; }
  #flightView[data-target-kind] .flightViewInstruments span { font-size:10px; }
  #flightView[data-target-kind] .flightViewControls { grid-column:2; grid-row:1; width:auto; gap:8px; border:0; padding:0; }
  #flightView[data-target-kind] .flightViewDock .flightViewControls > button { width:44px; height:44px; }
  #flightView[data-target-kind] .journeyCompass { width:220px; height:75px; }
}
@media(max-width:380px) {
  #flightView[data-target-kind] .flightViewInstruments strong { font-size:14px; }
  #flightView[data-target-kind] #flightViewRoute { font-size:12px; }
}

#flightView[data-target-kind] .flightViewInstruments small { font-size:.6em; color:#e5eff5; font-weight:400; letter-spacing:0; }

#flightView[data-target-kind] #flightViewRoute { display:flex; align-items:center; justify-content:center; gap:14px; }
#flightViewRoute b { font:inherit; }
#flightViewRoute svg { width:26px; height:26px; flex-shrink:0; color:#70dff7; transform:rotate(90deg); }
.journeyIdentity img { background:#fff; border:1px solid #e0edf6; box-sizing:border-box; padding:2px; }
@media(max-width:900px) {
 #flightView[data-target-kind] #flightViewRoute { gap:5px; }
 #flightViewRoute svg { width:18px; height:18px; }
}

.flightViewMapLoading { position:absolute; inset:0; z-index:2; display:grid; place-items:center; pointer-events:none; background:#102332; color:#c4e5ef; font:500 14px system-ui; letter-spacing:.4px; }
#flightView .flightViewBar, #flightView .flightViewBottom { z-index:3; }

/* Orbital mode shares the flight palette, with a compact mission-console layout. */
#flightView[data-target-kind="satellite"] .flightViewDock { border-radius:18px; border-color:#d2e7f5a6; background:linear-gradient(115deg,#253e52e6,#0c2032ed); box-shadow:0 14px 38px #0004,inset 0 1px 1px #ffffff26; flex-wrap:wrap; row-gap:16px; }
#flightView[data-target-kind="satellite"] .journeyCompass,
#flightView[data-target-kind="satellite"] .journeyReturn { display:none; }
#flightView[data-target-kind="satellite"] .journeyIdentity { flex-basis:280px; }
.journeyIdentity[data-space="true"] img { width:96px; height:36px; padding:0; border:0; border-radius:0; background:transparent; filter:invert(1); }
#flightView[data-target-kind="satellite"] .flightViewInstruments { flex:1; grid-template-columns:1fr 1fr 1fr 1fr; }
#flightView[data-target-kind="satellite"] .flightViewInstruments > div:nth-child(3) span { display:block; }
#flightView[data-target-kind="satellite"] .flightViewControls { width:100%; justify-content:flex-end; border-left:0; padding:12px 0 0; border-top:1px solid #c6dbe132; }
#flightView[data-target-kind="satellite"] .flightViewTopActions { display:flex; position:static; align-self:center; gap:10px; }
#flightView[data-target-kind="satellite"] .flightViewControls #flightViewReset { display:grid; }
#flightView[data-target-kind="satellite"] .flightViewPlanetList { border-radius:10px; background:#d7edf508; border-color:#d7edf54d; box-shadow:none; }
#flightView[data-target-kind="satellite"] .flightViewPlanetMenu,
#flightView[data-target-kind="satellite"] .flightViewPlanetCard { top:auto; bottom:calc(100% + 12px); right:0; max-height:calc(100dvh - 240px); overflow:auto; }
#flightView[data-target-kind="satellite"] .flightViewPlanetList summary { min-height:44px; box-sizing:border-box; }
#flightView[data-target-kind="satellite"] #flightViewClose { min-height:44px; border-radius:10px; background:#d7edf508; }
#flightView[data-target-kind="satellite"] #flightViewStatus { bottom:calc(100% + 10px); }
@media(max-width:900px) {
 #flightView[data-target-kind="satellite"] .flightViewDock { grid-template-columns:1fr; }
 #flightView[data-target-kind="satellite"] .journeyIdentity { grid-column:1; }
 #flightView[data-target-kind="satellite"] .flightViewControls { grid-row:3; grid-column:1; justify-content:space-between; gap:6px; }
 #flightView[data-target-kind="satellite"] .flightViewTopActions { flex:1; gap:6px; }
 #flightView[data-target-kind="satellite"] .flightViewPlanetList { flex:1; }
 #flightView[data-target-kind="satellite"] .flightViewPlanetMenu,
 #flightView[data-target-kind="satellite"] .flightViewPlanetCard { width:100%; }
 #flightView[data-target-kind="satellite"] .flightViewInstruments > div { grid-row:1; }
}


/* Compact deck, with fixed-size centered controls. */
#flightView[data-target-kind] .flightViewDock { padding:12px 16px; border-radius:16px; background:linear-gradient(115deg,#253e52c9,#0c2032d6); }
#flightView[data-target-kind] .flightViewDock .flightViewControls > button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; font-size:0; line-height:0; }
#flightView[data-target-kind] .flightViewControls > button::before { flex:none; margin:0; }
#flightView[data-target-kind] .journeyIdentity { gap:10px; padding-right:12px; }
#flightView[data-target-kind] .journeyIdentity strong { font-size:17px; }
#flightView[data-target-kind] .journeyIdentity span { font-size:11px; }
#flightView[data-target-kind] .journeyIdentity img { width:54px; height:54px; border-radius:50%; }
#flightView[data-target-kind] .journeyIdentity[data-space="true"] img { padding:6px; border:1px solid #b7d9ec70; background:#e8f3fa; filter:none; }
#flightView[data-target-kind] .flightViewInstruments > div { padding:0 12px; }
#flightView[data-target-kind] .flightViewInstruments strong { font-size:22px; }
#flightView[data-target-kind] .flightViewInstruments span { font-size:10px; margin-bottom:4px; }
#flightView[data-target-kind="satellite"] .flightViewDock { row-gap:8px; }
#flightView[data-target-kind="satellite"] .journeyIdentity { flex-basis:240px; }
#flightView[data-target-kind="satellite"] .flightViewControls { padding-top:7px; gap:8px; }
@media(min-width:1200px) {
 #flightView[data-target-kind="satellite"] .flightViewDock { flex-wrap:nowrap; }
 #flightView[data-target-kind="satellite"] .journeyIdentity { flex-basis:205px; }
 #flightView[data-target-kind="satellite"] .flightViewControls { width:auto; padding:0 0 0 12px; border-top:0; border-left:1px solid #c6dbe132; }
 #flightView[data-target-kind="satellite"] .flightViewInstruments > div { padding:0 10px; }
}
@media(max-width:900px) {
 #flightView[data-target-kind] .flightViewDock { padding:10px; gap:8px; }
 #flightView[data-target-kind] .flightViewInstruments { padding-top:8px; }
 #flightView[data-target-kind] .flightViewInstruments strong { font-size:16px; }
 #flightView[data-target-kind] .flightViewInstruments > div { padding:0 5px; }
 #flightView[data-target-kind] .journeyIdentity img { width:46px; height:46px; }
}

#flightView[data-target-kind="satellite"] .flightViewDock .flightViewControls > .journeyReturn { display:none; }


/* Slim flight deck keeps the controls large enough for touch. */
#flightView[data-target-kind="aircraft"] .flightViewBottom { width:min(calc(100% - 32px),1180px); }
#flightView[data-target-kind="aircraft"] .flightViewDock { padding:8px 12px; }
#flightView[data-target-kind="aircraft"] .journeyIdentity img,
#flightView[data-target-kind="aircraft"] .journeyAirlineFallback { width:44px; height:44px; }
#flightView[data-target-kind="aircraft"] .flightViewInstruments span { margin-bottom:2px; }
@media(max-width:900px) {
 #flightView[data-target-kind="aircraft"] .flightViewBottom { width:calc(100% - 20px); }
 #flightView[data-target-kind="aircraft"] .flightViewDock { padding:6px 8px; gap:5px 8px; }
 #flightView[data-target-kind="aircraft"] .flightViewInstruments { padding-top:5px; }
}

/* The cockpit is a fixed forward view; all instrumentation remains live HTML. */
.cockpitFrame,.cockpitInstruments { display:none; }
.cockpitToolbar { position:absolute; top:max(14px,env(safe-area-inset-top)); left:24px; right:24px; z-index:5; display:flex; justify-content:space-between; align-items:center; pointer-events:none; }
.cockpitToolbar[hidden] { display:none; }
.cockpitToolbar > span { font:600 21px system-ui; text-shadow:0 1px 8px #000; }
.cockpitToolbar small { font:500 10px system-ui; letter-spacing:2px; margin-left:12px; }
.cockpitToolbar > div { display:flex; gap:8px; pointer-events:auto; }
#flightView .cockpitToolbar button { padding:10px 14px; min-height:44px; background:#122938ce; border:1px solid #b1d9ed66; border-radius:9px; color:#eefaff; font:500 12px system-ui; cursor:pointer; }
#flightView[data-cockpit="true"] { --cockpit-height:clamp(160px,23vh,260px); }
#flightView[data-cockpit="true"] #flightViewScene { cursor:default; }
#flightView[data-cockpit="true"] .cockpitFrame { display:block; position:absolute; inset:0; background:url('/assets/cockpit-airbus.png') center/100% 100% no-repeat; pointer-events:none; z-index:2; }
#flightView[data-cockpit="true"] .cockpitInstruments { display:block; position:absolute; bottom:2%; left:5%; right:5%; height:var(--cockpit-height); z-index:4; pointer-events:none; }
.cockpitPfd,.cockpitNavigation { position:absolute; top:0; bottom:0; width:24%; border:5px solid #151a1d; border-radius:9px; background:#050e14; box-shadow:0 0 0 1px #56616a,0 4px 8px #000,inset 0 0 10px #000; overflow:hidden; }
.cockpitPfd { left:0; }
.cockpitPfd canvas { width:100%; height:100%; object-fit:contain; }
.cockpitNavigation { right:0; pointer-events:auto; }
.cockpitMap { position:absolute; inset:0; background:#071018; }
.cockpitMapHeading { position:absolute; top:0; left:0; right:0; text-align:center; padding:6px 0; background:#06121ce6; font:10px monospace; letter-spacing:1px; color:#94dfd9; pointer-events:none; }
.cockpitMapError { position:absolute; bottom:30px; left:8px; color:#ffcb7e; font-size:11px; }
.cockpitMapError[hidden] { display:none; }
.cockpitPlane { width:28px; height:28px; color:#82e5f8; filter:drop-shadow(0 0 3px #081820); }
.cockpitPlane svg { width:100%; height:100%; }
.cockpitMap .maplibregl-ctrl-attrib { font-size:9px; line-height:14px; background:#0d1a25c9; color:#b5c3ca; }
.cockpitMap .maplibregl-ctrl-attrib a { color:#b5c3ca; }
#flightView[data-cockpit="true"] .flightViewBottom { left:50%; width:43%; bottom:2%; height:var(--cockpit-height); }
#flightView[data-cockpit="true"] .flightViewDock { height:100%; box-sizing:border-box; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; padding:10px 12px; gap:8px; border:4px solid #171e23; border-radius:8px; background:linear-gradient(140deg,#101f2c,#030e18); box-shadow:0 0 0 1px #4a5964,inset 0 0 16px #000; }
#flightView[data-cockpit="true"] .journeyCompass { display:none; }
#flightView[data-cockpit="true"] .journeyIdentity { grid-column:1; padding:0; }
#flightView[data-cockpit="true"] .journeyIdentity img { width:38px; height:38px; }
#flightView[data-cockpit="true"] .flightViewControls { grid-row:1; grid-column:2; padding:0; border:0; }
#flightView[data-cockpit="true"] .journeyReturn { display:none; }
#flightView[data-cockpit="true"] .flightViewInstruments { grid-row:2; grid-column:1/-1; border-top:1px solid #a9d4e122; padding-top:8px; grid-template-columns:1.2fr .8fr 1.1fr .8fr; }
#flightView[data-cockpit="true"] .flightViewInstruments > div { padding:0 6px; }
#flightView[data-cockpit="true"] .flightViewInstruments strong,#flightView[data-cockpit="true"] #flightViewRoute { font-size:clamp(12px,1.3vw,23px); }
#flightView[data-cockpit="true"] #flightViewStatus { bottom:calc(100% + 10px); background:#0b1a25b3; border-radius:4px; padding:3px 6px; }
@media(max-width:900px) {
 .cockpitToolbar { left:12px; right:12px; top:max(8px,env(safe-area-inset-top)); }
 .cockpitToolbar > span { font-size:15px; }.cockpitToolbar small { display:none; }
 #flightView[data-cockpit="true"] { --cockpit-height:130px; }
 #flightView[data-cockpit="true"] .cockpitInstruments { left:2%; right:2%; }
 #flightView[data-cockpit="true"] .flightViewBottom { width:45%; }
 #flightView[data-cockpit="true"] .flightViewDock { padding:5px; gap:2px; }
 #flightView[data-cockpit="true"] .journeyIdentity strong { font-size:12px; }
 #flightView[data-cockpit="true"] .journeyIdentity span { font-size:9px; }
 #flightView[data-cockpit="true"] .journeyIdentity img { width:28px; height:28px; }
 #flightView[data-cockpit="true"] .flightViewInstruments span { font-size:8px; }
 #flightView[data-cockpit="true"] .flightViewInstruments > div { padding:0 3px; }
 #flightView[data-cockpit="true"] .flightViewInstruments strong,#flightView[data-cockpit="true"] #flightViewRoute { font-size:12px; }
 #flightView[data-cockpit="true"] #flightViewRoute svg { display:none; }
}
@media(max-width:600px) and (orientation:portrait) {
 #flightView[data-cockpit="true"] .cockpitInstruments { bottom:135px; height:140px; left:4%; right:4%; }
 .cockpitPfd,.cockpitNavigation { width:46%; }
 #flightView[data-cockpit="true"] .flightViewBottom { width:92%; height:115px; bottom:max(14px,env(safe-area-inset-bottom)); }
 #flightView[data-cockpit="true"] .cockpitFrame { background-size:170% 100%; background-position:45% center; }
}


#flightView[data-cockpit-family="boeing"] .cockpitFrame { background-image:url('/assets/cockpit-boeing.png'); }
#flightView .cockpitToggle[hidden] { display:none; }
@media(min-width:901px) {
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] { --cockpit-height:20vh; }
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] .cockpitInstruments { left:0; right:0; bottom:3%; }
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] .cockpitPfd { left:32%; width:15%; }
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] .cockpitNavigation { right:2%; width:16%; }
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] .flightViewBottom { left:64%; width:30%; bottom:3%; }
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] .flightViewDock { border-color:#423c2d; }
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] .flightViewInstruments strong,
 #flightView[data-cockpit="true"][data-cockpit-family="boeing"] #flightViewRoute { font-size:clamp(11px,1.1vw,20px); }
}
