/* A shared glass theme. Solid defaults remain usable without backdrop filtering. */
:root {
  --glass-fill: rgba(255, 255, 255, .66);
  --glass-edge: rgba(255, 255, 255, .88);
  --glass-shadow: 0 16px 44px rgba(34, 76, 99, .08), inset 0 1px 0 rgba(255,255,255,.9);
  --text: #102b3c;
  --text-soft: #395666;
  --text-muted: #4e6878;
  --line: rgba(90, 133, 152, .23);
  --brand: #125568;
  --brand-soft: #e0f1f0;
}
body {
  background: #edf5f7;
}
body::before {
  content: "";
  display: block;
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 4% 6%, rgba(104, 209, 200, .32), transparent 46%),
    radial-gradient(ellipse at 96% 30%, rgba(147, 179, 232, .30), transparent 44%),
    radial-gradient(ellipse at 30% 96%, rgba(188, 174, 224, .20), transparent 47%),
    linear-gradient(135deg, #f0f8f8, #edf3fa 60%, #eef7f5);
}
.site-header .navbar,
.hero,
.panel,
.featured-primary-box,
.resource-hero,
.semantic-hero,
.guide-narration {
  background: #f4fafb;
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: var(--glass-shadow);
}
.site-header .navbar {
  background: #f2f8fa;
  box-shadow: 0 8px 28px rgba(30,76,96,.08), inset 0 1px 0 #fff;
}
.site-header.is-scrolled .navbar { border-color: var(--glass-edge); }
.hero-media,
.featured-media-card,
.featured-image-wrap,
.resource-media,
.featured-shell {
  background: transparent;
}
.panel-featured { background: transparent; box-shadow:none; border:0; }
.site-header .brand-mark {
  background: linear-gradient(145deg, #227d85, #174e72);
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.35), 0 4px 12px rgba(21,83,98,.12);
}
.site-header .nav-link.is-active {
  background: rgba(26,111,125,.10);
  color: #104f61;
  box-shadow: inset 0 0 0 1px rgba(41,117,131,.12);
}
.site-header .nav-link:hover { background: rgba(255,255,255,.8); }
.btn-soft,
.nav-toggle,
.controls-head,
.catalog-toolbar,
.tag,
.hero-eyebrow,
.resource-meta .tag {
  background: rgba(255,255,255,.64);
  border-color: rgba(98,146,164,.24);
  color: #294f62;
}
.btn-primary {
  background: linear-gradient(135deg,#176b78,#164e73);
  color: #fff;
  box-shadow: 0 7px 18px rgba(23,92,112,.18), inset 0 1px 0 rgba(255,255,255,.2);
}
input,select,textarea {
  background-color: rgba(255,255,255,.9);
}
.site-footer { color: #395b6c; border-color: rgba(88,138,157,.22); }
/* Dark glass surrounds the demonstration; camera canvases remain unfiltered. */
.story-lab {
  background: #102d3c;
  border: 1px solid rgba(173,222,227,.3);
  box-shadow: 0 22px 50px rgba(17,51,66,.16), inset 0 1px 0 rgba(218,255,255,.12);
}
.story-top,
.story-panel,
.public-loop,
.mission-console {
  background: rgba(12,39,53,.88);
}
.operator-cockpit { box-shadow: 0 12px 32px rgba(0,15,25,.25), inset 0 1px 0 rgba(204,246,255,.24); }
.cockpit-view-label,
.cockpit-mission,
.cockpit-pan-tools { background: rgba(9,34,48,.82); }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header .navbar,
  .hero,
  .panel,
  .featured-primary-box,
  .resource-hero,
  .semantic-hero,
  .guide-narration {
    background: var(--glass-fill);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    backdrop-filter: blur(18px) saturate(125%);
  }
  .site-header .navbar { background: rgba(255,255,255,.76); }
  .panel-featured { background: transparent; -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media(max-width:760px) {
  /* An open menu needs a stable background over scrolling page content. */
  .site-header[data-menu-open="true"] .navbar { background: rgba(247,252,253,.97); }
  .hero,.panel,.resource-hero { -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
  .panel-featured { -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media(prefers-reduced-transparency:reduce), (prefers-contrast:more) {
  .site-header .navbar,.hero,.panel,.featured-primary-box,.resource-hero,.semantic-hero,.guide-narration {
    background:#fff;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    border-color:#a6bdc8;
  }
  .panel-featured { background:transparent; border:0; }
  body::before { display:none; }
}
