/* AIRIS: Aerial Intelligence for Reconstruction and Avian Surveillance — UAV Photogrammetry & 3D Reconstruction Command Center (SIH Problem Statement 26158) */
:root {
  --cyan-accent: #00e5ff;
  --emerald: #10b981;
  --amber-gold: #f59e0b;
  --purple-accent: #a855f7;
  --hud-bg: #070c14;
  --hud-panel: #0b121e;
  --hud-elevated: #111a2a;
  --hud-border: #1d2c40;
  --hud-border-bright: #27405e;
  --hud-text: #e6eff8;
  --hud-muted: #7b94ad;
}

.flight-studio {
  --accent: #00e5ff;
  --gold: #f59e0b;
  --border: #1d2c40;
  --muted: #7b94ad;
  background: var(--hud-bg);
  color: var(--hud-text);
}

/* TOP MISSION TELEMETRY BAR */
.flight-studio .topbar {
  height: 64px;
  min-height: 64px;
  padding: 0 20px;
  background: #09101c;
  border-bottom: 1px solid #1a283c;
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 10;
}

.sih-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 700;
  font-family: monospace;
  letter-spacing: .08em;
  color: #00e5ff;
  background: rgba(0, 229, 255, 0.08);
  border: 1px solid rgba(0, 229, 255, 0.28);
  border-radius: 4px;
  white-space: nowrap;
}

.mission-telemetry-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 auto 0 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.mission-telemetry-bar::-webkit-scrollbar { display: none; }

.telemetry-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  background: #0b1321;
  border: 1px solid #1b2a3d;
  border-radius: 4px;
  font-size: 11px;
  white-space: nowrap;
}
.telemetry-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  letter-spacing: .06em;
  color: #64819d;
  font-weight: 600;
}
.telemetry-item strong {
  color: #e2edf7;
  font-family: monospace;
  font-size: 11px;
}
.status-pip {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.status-pip.green { background: #10b981; box-shadow: 0 0 6px #10b981aa; }
.status-pip.cyan { background: #00e5ff; box-shadow: 0 0 6px #00e5ffaa; }
.status-pip.amber { background: #f59e0b; box-shadow: 0 0 6px #f59e0baa; }

.flight-studio .brand-caption, .flight-studio .brand-divider { display: inline-block; }
.flight-studio .brand-caption { color: #6d88a2; font-size: 10px; letter-spacing: .1em; }
.flight-studio .main-nav { margin-left: auto; gap: 8px; }
.flight-studio .main-nav button, .flight-studio .main-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 5px;
  font-size: 13px;
  color: #92a9c1;
  border: 1px solid transparent;
}
.flight-studio .main-nav button .icon { width: 14px; height: 14px; }
.flight-studio .main-nav button:hover { background: #121c2d; color: #fff; }
.flight-studio .main-nav button.active {
  background: #11253a;
  border-color: rgba(0, 229, 255, 0.4);
  color: #00e5ff;
}
.flight-studio .top-actions { margin-left: 8px; }
.flight-studio .button {
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 500;
}
.flight-studio .button.accent {
  background: #00e5ff;
  color: #04121a;
  border: 1px solid #4beeff;
  box-shadow: 0 2px 10px rgba(0, 229, 255, 0.25);
  font-weight: 600;
}
.flight-studio .button.accent:hover { filter: brightness(1.12); }
.flight-studio .button.quiet {
  background: #0e1726;
  border-color: #213248;
  color: #b0c4d9;
}
.flight-studio .button.quiet:hover {
  background: #142135;
  color: #fff;
  border-color: #314a6b;
}

/* PIPELINE FLOWBAR */
.pipeline-flowbar {
  height: 38px;
  min-height: 38px;
  background: #070d17;
  border-bottom: 1px solid #182638;
  display: flex;
  align-items: center;
  padding: 0 20px;
  overflow-x: auto;
  scrollbar-width: none;
  z-index: 9;
}
.pipeline-flowbar::-webkit-scrollbar { display: none; }
.flow-track {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.flow-step {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  color: #7b94ad;
  background: #0b1320;
  border: 1px solid #162436;
  white-space: nowrap;
  cursor: default;
  transition: all .15s;
}
.flow-step:hover {
  border-color: #253d5c;
  background: #101c2e;
  color: #d8e5f2;
}
.flow-step .step-num {
  font-family: monospace;
  font-weight: 700;
  font-size: 10px;
  color: #00e5ff;
}
.flow-step .step-check .icon {
  width: 12px;
  height: 12px;
  color: #10b981;
}
.flow-arrow {
  color: #26384d;
  font-size: 10px;
}

/* WORKSPACE LAYOUT & COMPACT LEFT SIDEBAR */
.flight-studio .workspace {
  grid-template-columns: 260px minmax(0, 1fr);
  position: relative;
  background: #060a10;
}
.flight-studio .sidebar {
  background: #0a111c;
  border-right: 1px solid #1a273a;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #20334a transparent;
}
.command-rail {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  padding: 10px 12px;
  border-bottom: 1px solid #172436;
  background: #080e18;
}
.rail-btn {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border-radius: 5px;
  background: transparent;
  border: 1px solid transparent;
  color: #8da4bc;
  font-size: 12px;
  font-weight: 500;
  text-align: left;
  transition: all .14s;
  cursor: pointer;
}
.rail-btn .icon {
  width: 15px;
  height: 15px;
  color: #55728d;
}
.rail-btn:hover {
  background: #111c2c;
  border-color: #22374e;
  color: #00e5ff;
}
.rail-btn:hover .icon { color: #00e5ff; }
.rail-btn.active {
  background: #102337;
  border-color: rgba(0, 229, 255, 0.4);
  color: #00e5ff;
}
.rail-btn.active .icon { color: #00e5ff; }

.flight-studio .side-intro {
  padding: 16px 18px 12px;
  border-bottom: 1px solid #162436;
}
.flight-studio .side-intro h1 {
  font-size: 18px;
  line-height: 1.3;
  margin: 6px 0 4px;
  color: #edf4fc;
}
.flight-studio .side-intro p {
  font-size: 12px;
  color: #7d96af;
  margin: 0 0 8px;
}
.flight-studio .scene-meta {
  font-size: 11px;
  padding: 8px 0 0;
  border-top: 1px solid #152233;
  color: #6d88a1;
}

.flight-studio .side-section {
  padding: 14px 16px 0;
}
.flight-studio .side-section h2 {
  font-size: 11px;
  letter-spacing: .08em;
  color: #64819d;
  margin-bottom: 8px;
  font-weight: 600;
}
.flight-studio .mode-buttons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
.flight-studio .mode-buttons button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: #0e1725;
  border: 1px solid #1c2b3e;
  border-radius: 6px;
  color: #9ab2c9;
  min-height: 40px;
  cursor: pointer;
  text-align: left;
}
.flight-studio .mode-buttons button:hover {
  background: #132133;
  border-color: #2b4361;
}
.flight-studio .mode-buttons button.active {
  background: #11283e;
  border-color: rgba(0, 229, 255, 0.5);
  color: #00e5ff;
}
.mode-number {
  font-family: monospace;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  background: #070d16;
  border: 1px solid #1c2b3d;
  color: #00e5ff;
}

#geometry-settings {
  margin: 12px 14px;
  border: 1px solid #1c2c40;
  border-radius: 6px;
  background: #0b1320;
}
#geometry-settings summary {
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #b0c7de;
  cursor: pointer;
  background: #0e1726;
  border-radius: 5px;
}
#geometry-settings .side-section {
  padding: 12px 14px 10px;
}
.switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 0;
  font-size: 12px;
  color: #9cb1c7;
}
.switch-row input[type=checkbox] {
  appearance: none;
  width: 32px;
  height: 18px;
  border-radius: 9px;
  background: #1a2839;
  position: relative;
  cursor: pointer;
  outline: none;
  transition: background .18s;
}
.switch-row input[type=checkbox]:after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #7690a8;
  transition: transform .18s, background .18s;
}
.switch-row input[type=checkbox]:checked {
  background: #008899;
}
.switch-row input[type=checkbox]:checked:after {
  transform: translateX(14px);
  background: #00e5ff;
}
#buildings-toggle:checked { background: #008899; }
#terrain-toggle:checked { background: #0c694a; }
#terrain-toggle:checked:after { background: #10b981; }
#vegetation-toggle:checked { background: #825e11; }
#vegetation-toggle:checked:after { background: #f59e0b; }

.view-presets {
  display: flex;
  gap: 3px;
  background: #080e17;
  padding: 3px;
  border-radius: 5px;
  border: 1px solid #1a283c;
}
.view-presets button {
  flex: 1;
  padding: 5px 4px;
  background: transparent;
  border: 0;
  border-radius: 4px;
  font-size: 11px;
  color: #7f99b3;
  cursor: pointer;
}
.view-presets button.active {
  background: #14273c;
  color: #00e5ff;
  font-weight: 600;
}

/* MEASURE BUTTON & RESULTS */
.measure-button {
  width: 100%;
  padding: 8px 10px;
  background: #111d2e;
  border: 1px solid #243850;
  border-radius: 5px;
  color: #9cb5cd;
  font-size: 12px;
}
.measure-button.active {
  background: #2b2312;
  border-color: #f59e0b;
  color: #f59e0b;
}
.measurement-empty {
  font-size: 12px;
  color: #7b94ad;
  padding: 6px 0;
}

/* SCENE STAGE (VISUAL CENTERPIECE) */
.flight-studio .scene-stage {
  background: #05090f;
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
}
.flight-studio .stage-top {
  background: #09111c;
  min-height: 48px;
  height: 48px;
  padding: 0 16px;
  border-bottom: 1px solid #172538;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.stage-pipeline-summary {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  color: #7892ab;
}
.stage-pipeline-summary b { color: #00e5ff; font-weight: 600; }
.flight-studio .stage-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.flight-studio .stage-actions .button {
  padding: 5px 10px;
  min-height: 30px;
  font-size: 11px;
}
.flight-studio .stage-actions .icon-button {
  width: 30px;
  height: 30px;
  background: #0c1421;
  border: 1px solid #1c2b3d;
  color: #90a7be;
}
.flight-studio .stage-actions .icon-button:hover {
  background: #142438;
  color: #fff;
  border-color: #2b4566;
}

/* RESULT CONTEXT */
.result-context {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 18px;
  border-bottom: 1px solid #162436;
  background: #080f1a;
  min-height: 40px;
}
.result-context .status-chip {
  font-size: 11px;
  color: #00e5ff;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.result-context .status-chip i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00e5ff;
  box-shadow: 0 0 6px #00e5ff;
}
.result-context p {
  margin: 0;
  font-size: 12px;
  color: #889fb5;
}

/* 3D VIEWPORT & HUD */
#viewport {
  position: relative;
  flex: 1;
  min-height: 320px;
  background: #05080e;
  overflow: hidden;
}
#scene {
  width: 100%;
  height: 100%;
  display: block;
}
.viewport-overlay {
  position: absolute;
  top: 14px;
  left: 16px;
  right: 16px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
.view-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  letter-spacing: .08em;
  color: #00e5ff;
  background: rgba(8, 15, 26, 0.85);
  border: 1px solid #1f334a;
  padding: 4px 8px;
  border-radius: 4px;
}
.view-tag i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #00e5ff;
}
.quality-tag {
  font-size: 10px;
  color: #10b981;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  padding: 4px 8px;
  border-radius: 4px;
}

.orbit-hint {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(8, 15, 26, 0.85);
  border: 1px solid #1d2e42;
  border-radius: 16px;
  font-size: 11px;
  color: #7994ae;
  pointer-events: none;
}
.viewport-bottom {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  pointer-events: none;
}
.viewport-bottom .mono {
  font-size: 11px;
  color: #5d7c99;
  background: rgba(8, 15, 26, 0.85);
  border: 1px solid #172638;
  padding: 4px 8px;
  border-radius: 4px;
}
.scale-bar {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  background: rgba(8, 15, 26, 0.85);
  border: 1px solid #172638;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 10px;
  color: #7c98b2;
}

/* SYNCHRONIZED FLOATING HUD CARDS */
.viewport-hud-card {
  position: absolute;
  background: rgba(7, 13, 23, 0.94);
  border: 1px solid #1f3248;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.65);
  z-index: 5;
  backdrop-filter: blur(10px);
  overflow: hidden;
  transition: all .2s;
}
#hud-video-card {
  bottom: 50px;
  left: 16px;
  width: 270px;
}
#hud-map-card {
  top: 50px;
  right: 16px;
  width: 240px;
}
.hud-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 10px;
  background: #0b1422;
  border-bottom: 1px solid #19273a;
  font-size: 10px;
  color: #8cb2d0;
  font-weight: 600;
}
.hud-card-title {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.hud-card-title .icon {
  width: 12px;
  height: 12px;
  color: #00e5ff;
}
.icon-btn-micro {
  background: none;
  border: 0;
  color: #607c96;
  padding: 2px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.icon-btn-micro:hover { color: #fff; }
.icon-btn-micro .icon { width: 12px; height: 12px; }
.hud-video-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
}
.hud-video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hud-reticle {
  position: absolute;
  inset: 10px;
  border: 1px dashed rgba(0, 229, 255, 0.3);
  pointer-events: none;
}
.hud-card-footer {
  display: flex;
  justify-content: space-between;
  padding: 4px 10px;
  background: #080f1a;
  font-size: 9px;
  color: #68859e;
}
.hud-map-wrapper {
  width: 100%;
  background: #070c14;
}
.hud-map-wrapper canvas {
  width: 100%;
  height: auto;
  display: block;
}
.hud-map-card .map-legend {
  display: flex;
  gap: 12px;
  padding: 4px 10px;
  font-size: 9px;
  color: #68859e;
  background: #070c14;
}

/* FLOATING QUICK SPATIAL BAR */
.floating-quick-bar {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: rgba(8, 14, 24, 0.9);
  border: 1px solid #1f3248;
  border-radius: 20px;
  backdrop-filter: blur(10px);
  z-index: 4;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}
.quick-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: 11px;
  color: #8da4be;
  cursor: pointer;
  transition: all .15s;
}
.quick-btn .icon {
  width: 13px;
  height: 13px;
}
.quick-btn:hover {
  background: #132133;
  color: #fff;
}
.quick-btn.active {
  background: #0f273d;
  border-color: rgba(0, 229, 255, 0.4);
  color: #00e5ff;
  font-weight: 600;
}

/* SYNCHRONIZED TIMELINE */
.flight-studio .timeline {
  background: #080f1a;
  height: 140px;
  min-height: 140px;
  border-top: 1px solid #18283c;
  padding: 10px 18px 6px;
}
.flight-studio .timeline-top h2 {
  font-size: 11px;
  letter-spacing: .08em;
  color: #7995b0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.flight-studio .frame-strip {
  height: 64px;
}
.flight-studio .frame-thumb {
  height: 56px;
  min-width: 66px;
  border-color: #1a293d;
  background: #09121d;
}
.flight-studio .frame-thumb.active {
  border-color: #00e5ff;
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.35);
}
.timeline-shortcuts-hint {
  font-size: 10px;
  color: #55728d;
  padding: 2px 8px;
  background: #0b1320;
  border: 1px solid #172638;
  border-radius: 4px;
}

/* RIGHT CONTEXTUAL COMMAND INSPECTOR */
.flight-studio .inspector {
  display: flex;
  background: #09101c;
  border-left: 1px solid #1a283c;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #1c2e42 transparent;
}
.flight-studio .inspector-heading {
  padding: 14px 18px;
  background: #0a1322;
  border-bottom: 1px solid #17263a;
}
.flight-studio .inspector-heading h2 {
  font-size: 12px;
  letter-spacing: .08em;
  color: #00e5ff;
}
.flight-studio .inspector-metric {
  background: #0e1728;
  border-color: #1a293d;
  padding: 14px 18px;
}
.flight-studio .metric-value strong {
  font-size: 32px;
  color: #e6f1fb;
}
.flight-studio .metric-tag {
  background: #11283d;
  color: #00e5ff;
  border-color: rgba(0, 229, 255, 0.4);
}
.flight-studio .inspector-section {
  padding: 12px 18px;
  border-bottom: 1px solid #142233;
}
.flight-studio .inspector-section h2 {
  font-size: 11px;
  color: #728da6;
  margin-bottom: 8px;
}
.flight-studio .spec-list dt { color: #627e99; }
.flight-studio .spec-list dd { color: #d6e5f3; font-family: monospace; }
.flight-studio .inspector-drawer {
  inset: 0 0 0 auto;
  margin: 0;
  width: min(400px, 100%);
  height: 100dvh;
  max-height: 100dvh;
  border: 0;
  border-left: 1px solid #1f334a;
  border-radius: 0;
  padding: 0;
  background: #09101c;
}

/* DELIVERABLES & EXPORT MODAL */
.export-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.export-card {
  padding: 14px;
  border-radius: 6px;
  background: #0c1523;
  border: 1px solid #1b2c40;
}
.export-card:hover {
  background: #112033;
  border-color: #00e5ff66;
}
.export-card strong {
  font-size: 13px;
  color: #edf4fa;
}
.export-card small {
  font-size: 11px;
  color: #7b94ad;
}

/* ENGINE / NEW RUN STYLES */
.flight-studio.engine-body .engine-layout{grid-template-columns:360px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);background:#0a111e}
.mission-bar{grid-column:1/-1;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#0f1727;border-bottom:1px solid #303d53}
.mission-steps{list-style:none;display:flex;align-items:center;gap:36px;margin:0;padding:0}
.mission-steps li{display:flex;align-items:center;gap:12px;color:#8e9ab3;position:relative}
.mission-steps li>span{font-family:var(--pixel-font);font-size:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #3b425a;background:#151b2e;box-shadow:2px 2px 0 #070b17}
.mission-steps strong{display:block;font-size:14px;font-weight:500;line-height:1.6}.mission-steps small{font-size:12px;color:#8f9db3}
.mission-steps li[aria-current=step]{color:#c9ffe9}.mission-steps li[aria-current=step]>span{color:#b8ffe1;border-color:#83bda7;background:#1c3c36}
.mission-steps li[data-step=process][aria-current=step]>span{color:#b9d8ff;border-color:#799bcf;background:#1b2d48}
.mission-steps li[data-step=explore][aria-current=step]>span{color:#ddc8ff;border-color:#aa8bd2;background:#302444}
.mission-bar .engine-badge{font-size:12px;background:#151d2d;border-radius:4px;max-width:270px;line-height:1.6}
.flight-studio .engine-controls{background:#111a2b;padding:24px;border-color:#303b50}
.flight-studio .engine-controls h1{font-size:26px;line-height:1.55;color:#f3f4ff;text-shadow:none;margin:14px 0 12px}
.flight-studio .engine-intro{font-size:16px;line-height:1.75;margin:0 0 20px}
.flight-studio .engine-notice{padding:17px;margin:18px 0 24px;background:#242231;border:1px solid #6c5b46;border-left:3px solid #e4b877}
.connection-label{font-size:12px;letter-spacing:.07em;color:#f1cb93}
.flight-studio .engine-notice h2{font-family:inherit;font-size:17px;font-weight:500;line-height:1.5;margin:12px 0 8px;color:#f1dfc4}
.flight-studio .engine-notice p{font-size:14px;color:#c8c1bc;line-height:1.75}
.flight-studio .engine-notice details{border-top:1px solid #68543f;margin-top:15px;padding-top:14px}
.flight-studio .engine-notice summary{font-size:13px;line-height:1.6;color:#e6c9a6;cursor:pointer}
.flight-studio .engine-notice .text-button{color:#b4f5dd;font-size:14px;line-height:1.6}
.flight-studio .engine-field{margin-bottom:22px}.flight-studio .engine-field>span{font-size:14px;line-height:1.6}
.flight-studio .engine-field input{padding:10px;border-style:dashed;background:#0c1425;min-height:51px}
.flight-studio .engine-field input::file-selector-button{background:#263b4b;border:1px solid #547588;color:#d1eee9;border-radius:3px}
.flight-studio .engine-field input:hover{border-color:#7baea3}.flight-studio .engine-field input[aria-invalid=true]{border-color:#edae78}
.flight-studio .engine-calibration{border-top:1px solid #303b52;margin-bottom:18px;padding-top:16px}
.flight-studio .engine-calibration summary{font-size:14px;color:#c9d2e6;line-height:1.6;cursor:pointer}
.flight-studio .engine-calibration summary>span{font-size:12px;color:#879cb4;display:block;margin:4px 0 0 16px}
.flight-studio .engine-calibration .engine-options,.flight-studio .engine-calibration>.engine-field{margin-top:18px}
.flight-studio .engine-field select{min-height:44px;background:#111e31;font-size:14px}
.flight-studio .engine-history{border-color:#3b4560;padding-top:17px}.flight-studio .engine-history summary{font-size:14px;color:#d4def1;cursor:pointer;line-height:1.8}.flight-studio .engine-history summary span{font-size:12px;color:#93a7be;margin-left:12px}
.flight-studio .engine-history .section-heading{margin-top:20px}.flight-studio .engine-history h2{font:12px inherit;letter-spacing:.06em}
.flight-studio .engine-toolbar{background:#101827;padding:18px 24px;border-color:#2f3b51}
.flight-studio .engine-toolbar h2{font-size:17px;line-height:1.5}.flight-studio .engine-view-actions .button{font-size:13px;min-height:36px;padding:8px 11px}
.flight-studio .engine-viewport{min-height:540px;background:#080f1b}.flight-studio .engine-viewport canvas{min-height:540px}
.flight-studio .engine-viewport>div#engine-empty{background:radial-gradient(ellipse at 50% 45%,#26304b55,transparent 70%),#0a111e;padding:36px}
.flight-studio #engine-empty h2{font-size:clamp(22px,2vw,30px);margin:20px 0 12px;color:#f2eaff;max-width:600px}
.flight-studio #engine-empty>p{font-size:16px;line-height:1.8;margin:0 0 24px;max-width:470px}
.flight-studio #engine-empty>.eyebrow{color:#adbad4;font-size:12px;margin-top:25px;letter-spacing:.09em}
.sample-contact-sheet{display:flex;justify-content:center;align-items:center;width:min(480px,90%);gap:10px;padding:14px 0}
.sample-contact-sheet img{display:block;width:31%;height:125px;object-fit:cover;border:1px solid #587188;border-radius:5px;box-shadow:5px 5px 0 #040814;opacity:.8}
.sample-contact-sheet img:nth-child(1){transform:rotate(-8deg) translateY(9px)}.sample-contact-sheet img:nth-child(2){border-color:#a4cebe;opacity:1;z-index:1}.sample-contact-sheet img:nth-child(3){transform:rotate(8deg) translateY(9px)}
.flight-studio #sample-caption{font-size:12px;line-height:1.6;color:#92a4bc;margin-top:16px;max-width:430px}
.flight-studio #engine-empty>.runner{margin:0 auto 14px;flex:none}
.flight-studio .engine-result{background:#121b2b;border-color:#34425a}.flight-studio .engine-metrics strong{font-family:inherit;font-size:26px;letter-spacing:-.5px;color:#cce9df}
.flight-studio .engine-result summary{color:#e0c99d}.flight-studio .engine-result li{color:#afbbd0}
.flight-studio .engine-layerbar{background:#101b2eed;border-color:#57667e;box-shadow:4px 4px 0 #050c17;border-radius:4px}
.flight-studio .engine-progress{background:#152d2a;border:1px solid #548f79;border-top:3px solid #9de2bf}
.flight-studio .engine-progress>.runner{display:block;margin:0 auto 10px}.flight-studio .engine-progress progress{height:9px}

/* ==========================================================================
   AIRIS GEOSPATIAL INTELLIGENCE & COMMAND CENTER DESIGN SYSTEM
   ========================================================================== */

/* Full-Screen Aerospace Gateway (Login, Account, Logout) */
.airis-gateway, .flight-entrance.pixel-entrance {
  min-height: 100svh;
  background: radial-gradient(circle at 50% 30%, #0d1a2d 0%, #060a12 70%);
  color: #f1f5f9;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", sans-serif;
  overflow-x: hidden;
}

.airis-gateway-nav, .flight-entrance.pixel-entrance .entrance-nav {
  height: 72px;
  min-height: 72px;
  padding: 0 40px;
  background: rgba(6, 10, 18, 0.85);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(0, 229, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 100;
}

.airis-wordmark {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.airis-mark, .flight-entrance.pixel-entrance .mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(0, 229, 255, 0.08);
  border: 1px solid rgba(0, 229, 255, 0.3);
  box-shadow: 0 0 15px rgba(0, 229, 255, 0.15);
  margin-right: 0;
  transform: none;
}

.airis-wordmark .brand-text {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #ffffff;
}

.airis-wordmark small {
  display: block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: #00e5ff;
  font-family: ui-monospace, monospace;
}

.gateway-nav-telemetry {
  display: flex;
  align-items: center;
  gap: 12px;
}

.telemetry-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-family: ui-monospace, monospace;
  background: rgba(11, 23, 40, 0.7);
  border: 1px solid rgba(30, 58, 95, 0.8);
  color: #94a3b8;
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}

.airis-gateway-main, .flight-entrance.pixel-entrance .entrance-main {
  position: relative;
  width: 100%;
  min-height: calc(100svh - 72px - 50px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  z-index: 10;
  max-width: none;
}

.airis-topographic-viewport, .flight-entrance.pixel-entrance .world {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  max-width: none;
  margin: 0;
}

.airis-geospatial-canvas-wrap {
  width: 100%;
  height: 100%;
}

.airis-terrain-mesh {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.85;
}

.airis-auth-card, .flight-entrance.pixel-entrance .signin-panel {
  position: relative;
  z-index: 20;
  width: min(500px, 92vw);
  background: rgba(11, 19, 32, 0.92);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(0, 229, 255, 0.25);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 30px rgba(0, 229, 255, 0.08);
  border-radius: 12px;
  padding: 36px 32px 28px;
  text-align: center;
  margin: auto;
}

.auth-card-header {
  margin-bottom: 24px;
}

.airis-insignia {
  display: inline-flex;
  margin-bottom: 12px;
  filter: drop-shadow(0 0 12px rgba(0, 229, 255, 0.4));
}

.airis-mission-badge, .flight-entrance.pixel-entrance .signin-panel>.eyebrow {
  display: block;
  font-size: 10px;
  font-family: ui-monospace, monospace;
  letter-spacing: 0.14em;
  color: #00e5ff;
  margin-bottom: 8px;
}

.airis-auth-title, .flight-entrance.pixel-entrance .signin-panel h1 {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #ffffff;
  margin: 0 0 6px;
  line-height: 1.1;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", sans-serif;
}

.airis-tagline {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #94a3b8;
  margin: 0 0 14px;
}

.airis-mission-statement, .flight-entrance.pixel-entrance .panel-intro {
  font-size: 12px;
  line-height: 1.6;
  color: #cbd5e1;
  max-width: 380px;
  margin: 0 auto;
}

.signin-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 11px;
  color: #64748b;
  margin: 20px 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: ui-monospace, monospace;
}

.signin-divider:before, .signin-divider:after {
  content: "";
  height: 1px;
  background: rgba(30, 41, 59, 0.8);
  flex: 1;
}

.airis-auth-primary, .flight-entrance.pixel-entrance .provider.primary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 48px;
  background: linear-gradient(135deg, #00b4d8 0%, #0077b6 100%);
  color: #ffffff;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  border: 1px solid rgba(0, 229, 255, 0.4);
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 180, 216, 0.25);
  text-decoration: none;
  transition: all 0.2s ease;
}

.airis-auth-primary:hover, .flight-entrance.pixel-entrance .provider.primary:hover {
  background: linear-gradient(135deg, #00e5ff 0%, #0096c7 100%);
  box-shadow: 0 4px 22px rgba(0, 229, 255, 0.4);
  transform: translateY(-1px);
}

.other-providers {
  font-size: 12px;
  color: #94a3b8;
  margin: 12px 0 6px;
}

.other-providers summary {
  cursor: pointer;
  color: #94a3b8;
  padding: 4px 8px;
}

.other-providers-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

.other-providers .provider {
  min-height: 40px;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(30, 41, 59, 0.8);
  border-radius: 4px;
  font-size: 12px;
}

.guest-access-wrap {
  margin: 20px 0 16px;
}

.airis-guest-action, .flight-entrance.pixel-entrance .launch-demo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.35);
  border-radius: 6px;
  color: #e2e8f0;
  text-decoration: none;
  transition: all 0.2s ease;
  text-align: left;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.1);
}

.airis-guest-action:hover, .flight-entrance.pixel-entrance .launch-demo:hover {
  background: rgba(16, 185, 129, 0.18);
  border-color: rgba(16, 185, 129, 0.6);
  transform: translateY(-1px);
}

.guest-label strong {
  display: block;
  font-size: 13px;
  color: #34d399;
}

.guest-label small {
  font-size: 11px;
  color: #94a3b8;
}

.guest-arrow, .flight-entrance.pixel-entrance .launch-demo>span:last-child {
  font-size: 18px;
  color: #34d399;
}

.guest-note, .flight-entrance.pixel-entrance .guest-note {
  font-size: 11px;
  color: #64748b;
  margin: 6px 0 16px;
  font-family: ui-monospace, monospace;
}

.airis-auth-footer, .flight-entrance.pixel-entrance .signin-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid rgba(30, 41, 59, 0.8);
  margin-top: 16px;
}

.security-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
}

.security-chip p {
  margin: 0;
  font-size: 10px;
  line-height: 1.4;
  color: #64748b;
  font-family: ui-monospace, monospace;
}

.airis-transparency-note {
  margin-top: 14px;
  font-size: 11px;
  color: #64748b;
  text-align: left;
}

.airis-transparency-note summary {
  cursor: pointer;
  color: #94a3b8;
  font-size: 11px;
}

.airis-transparency-note p {
  margin-top: 8px;
  padding: 10px;
  background: rgba(7, 12, 20, 0.6);
  border-radius: 4px;
  border: 1px solid rgba(30, 41, 59, 0.6);
  line-height: 1.5;
}

.airis-gateway-footer, .flight-entrance.pixel-entrance .entrance-footer {
  height: 50px;
  padding: 0 40px;
  background: rgba(6, 10, 18, 0.9);
  border-top: 1px solid rgba(30, 41, 59, 0.6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: #64748b;
  font-family: ui-monospace, monospace;
}

.airis-gateway-footer a {
  color: #00e5ff;
  text-decoration: none;
}

/* Status Cards & Micro Elements */
.airis-mission-status-card {
  padding: 12px 14px;
  background: rgba(11, 23, 40, 0.6);
  border: 1px solid rgba(0, 229, 255, 0.2);
  border-radius: 6px;
  margin-bottom: 12px;
}

.airis-mission-status-card .mission-tag {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-family: ui-monospace, monospace;
  color: #00e5ff;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}

.airis-mission-status-card p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #cbd5e1;
}

.airis-mission-status-card strong {
  display: block;
  color: #ffffff;
  font-size: 11px;
  letter-spacing: 0.04em;
}

/* RESPONSIVE & REDUCED MOTION RULES (REQUIRED BY TESTS) */
@media(max-width:1050px){
  .mission-telemetry-bar{display:none}
  .flight-studio .topbar{padding:0 14px;gap:10px}
  .flight-studio.engine-body .engine-layout{grid-template-columns:310px minmax(0,1fr)}
  .mission-bar{padding:15px 20px;gap:18px}
  .mission-steps{gap:22px}
  .mission-bar .engine-badge{max-width:205px}
  .flight-studio .engine-controls{padding:22px 18px}
  .flight-studio #engine-empty{padding:24px}
  .sample-contact-sheet img{height:110px}
}

@media(max-width:760px){
  .flight-studio{height:auto;min-height:100dvh;overflow:auto}
  .flight-studio .topbar{height:auto;padding:12px 14px;gap:10px;flex-wrap:wrap}
  .mission-telemetry-bar{display:none}
  .pipeline-flowbar{display:none}
  .flight-studio .main-nav{order:3;width:100%;height:36px;justify-content:space-between}
  .flight-studio .workspace{display:flex;flex-direction:column}
  .flight-studio .sidebar{display:contents}
  .flight-studio .scene-stage{order:2;height:640px;min-height:0}
  .flight-studio .statusbar>span:last-of-type{display:none}
  .flight-studio .statusbar #status-text{max-width:58vw}
  .flight-studio.engine-body .engine-layout{display:flex;flex-direction:column;overflow:visible}
  .mission-bar{flex-wrap:wrap;padding:15px 18px;gap:15px}
  .mission-steps{width:100%;justify-content:space-between;gap:10px}
  .mission-steps li{gap:7px}
  .mission-steps li>span{font-size:12px;width:29px;height:31px}
  .mission-steps strong{font-size:13px}
  .mission-steps small{display:none}
  .mission-bar .engine-badge{max-width:none;width:100%;text-align:center}
  .flight-studio .engine-controls{padding:24px 20px;overflow:visible}
  .flight-studio .engine-controls h1{font-size:26px}
  .flight-studio .engine-controls h1 br{display:none}
  .flight-studio .engine-viewport,.flight-studio .engine-viewport canvas{min-height:580px}
  .flight-studio .engine-toolbar{padding:18px}
  .flight-studio .engine-viewport>div#engine-empty{padding:26px 20px}
  .flight-studio #engine-empty h2{font-size:22px}
  .sample-contact-sheet img{height:110px}
  .flight-studio .engine-metrics{gap:22px 16px}
  .flight-studio .engine-metrics strong{font-size:23px}
  .flight-entrance.pixel-entrance .world-image{max-height:220px;min-height:160px}
  .flight-entrance.pixel-entrance .entrance-main{padding-top:0}
  .flight-entrance.pixel-entrance .signin-panel h1{font-size:28px}
  .flight-entrance .other-providers .provider{padding:10px;font-size:13px}
  .flight-entrance.pixel-entrance .launch-demo{font-size:15px;padding:13px 18px}
  .flight-entrance.pixel-entrance .wordmark{font-size:19px}
  .flight-entrance.pixel-entrance .entrance-nav{padding:0 18px}
  .flight-entrance.pixel-entrance .entrance-nav .nav-link{font-size:12px;gap:8px}
  .flight-entrance.pixel-entrance .mark{width:31px;height:31px;font-size:20px;margin-right:9px}
}

@media(prefers-reduced-motion:reduce){
  .flight-studio *{animation:none!important;transition:none!important}
}
