:root {
  --bg: #03101b;
  --bg-2: #061a2a;
  --panel: #09243a;
  --panel-2: #0d2d47;
  --panel-3: #123b59;
  --line: #2a6280;
  --line-soft: rgba(92, 169, 205, .26);
  --text: #eef8ff;
  --muted: #9fb8c9;
  --cyan: #54d5ff;
  --blue: #2e76d8;
  --blue-2: #185ba8;
  --green: #1fa56b;
  --gold: #f0a22e;
  --gold-soft: #ffd57b;
  --orange: #ff7e3d;
  --danger: #d95757;
  --shadow: 0 15px 45px rgba(0, 0, 0, .34);
  --radius: 10px;
  --font: "Janna LT", "Noto Kufi Arabic", Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--text);
  font-family: var(--font);
  background:
    radial-gradient(circle at 12% 8%, rgba(30, 126, 185, .23), transparent 35%),
    radial-gradient(circle at 88% 18%, rgba(228, 157, 48, .1), transparent 30%),
    linear-gradient(135deg, #020b12, #041522 50%, #020b13);
}
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.star-field {
  position: fixed; inset: 0; pointer-events: none; opacity: .42;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.8) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(84,213,255,.75) 0 1px, transparent 1.5px);
  background-size: 73px 73px, 131px 131px;
  background-position: 0 0, 27px 48px;
}

.app-shell { position: relative; z-index: 1; min-height: 100vh; display: grid; grid-template-rows: auto auto auto 1fr auto; }
.titlebar {
  min-height: 76px; display: flex; align-items: center; gap: 18px; padding: 10px 16px;
  background: linear-gradient(180deg, rgba(8, 34, 53, .98), rgba(4, 21, 34, .98));
  border-bottom: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.brand { border: 0; background: transparent; padding: 0; display: flex; align-items: center; gap: 12px; cursor: pointer; min-width: 310px; text-align: start; }
.brand-emblem { position: relative; width: 52px; height: 52px; flex: 0 0 52px; display: grid; place-items: center; }
.brand-core { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; color: #07131f; background: radial-gradient(circle at 35% 28%, #fff0b5, var(--gold) 55%, #a45d13); box-shadow: 0 0 26px rgba(240,162,46,.48); }
.brand-orbit { position: absolute; inset: 5px; border: 1px solid rgba(84,213,255,.72); border-radius: 50%; transform: rotate(28deg) scaleY(.48); }
.brand-orbit.orbit-b { inset: 9px 2px; transform: rotate(-34deg) scaleY(.42); border-color: rgba(240,162,46,.78); }
.brand-text { display: grid; line-height: 1.28; }
.brand-text strong { font-size: 22px; letter-spacing: .2px; }
.brand-text small { color: var(--muted); font-size: 12px; }
.mission-status { display: flex; gap: 9px; align-items: center; flex: 1; justify-content: center; }
.status-pill { min-height: 39px; display: flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 7px; border: 1px solid var(--line-soft); background: rgba(9,37,59,.72); color: var(--muted); font-size: 11px; }
.status-pill b { color: var(--text); font-weight: 800; }
.status-pill i { width: 9px; height: 9px; border-radius: 50%; background: #748996; box-shadow: 0 0 10px currentColor; }
.status-pill.online i { background: #44d493; }
.status-pill.offline i { background: var(--gold); }
.title-actions { display: flex; gap: 8px; }
.square-button, .language-button { height: 40px; min-width: 42px; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; background: linear-gradient(180deg, #16496d, #0c2f4b); font-weight: 900; }
.language-button { min-width: 52px; color: var(--gold-soft); }

.command-ribbon { display: grid; grid-template-columns: repeat(9, minmax(96px, 1fr)); gap: 7px; padding: 7px 10px; background: rgba(8, 33, 51, .98); border-bottom: 1px solid var(--line); }
.command-button { min-height: 55px; border: 1px solid #5ba0c2; border-radius: 3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 10px; background: linear-gradient(180deg, #2f7bd7, #2363b3); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); transition: transform .16s ease, filter .16s ease, box-shadow .16s ease; }
.command-button span { font-size: 19px; color: #dff7ff; }
.command-button b { font-size: 13px; white-space: nowrap; }
.command-button:hover { transform: translateY(-1px); filter: brightness(1.08); }
.command-button.active { background: linear-gradient(180deg, #1fa66d, #14764e); border-color: #74e8b3; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 0 15px rgba(31,165,107,.25); }
.command-button.gold { background: linear-gradient(180deg, #efa431, #c57a15); border-color: #ffd27d; color: #101c24; }

.control-ribbon { display: flex; align-items: end; gap: 8px; padding: 7px 10px; background: linear-gradient(90deg, #0b3551, #0c6170 54%, #0b3551); border-bottom: 1px solid #41829d; }
.control-form { flex: 1; display: grid; grid-template-columns: 145px 145px 130px minmax(210px, 1fr) 155px; gap: 8px; align-items: end; }
.control-form label, .energy-filter { display: grid; gap: 3px; color: #d9edf7; font-size: 10px; font-weight: 800; }
.control-form input, .table-toolbar input, .analyzer-form input, .energy-filter input { width: 100%; min-height: 35px; border: 1px solid #6ca3b6; border-radius: 4px; color: #0b1720; background: #f4fbff; padding: 6px 9px; }
.tool-button { min-height: 39px; border: 1px solid #79b9dc; border-radius: 3px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 12px; background: linear-gradient(180deg, #347dd2, #225ba4); }
.tool-button b { font-size: 11px; }
.tool-button span { font-weight: 900; }
.tool-button.green { background: linear-gradient(180deg, #24b575, #178053); border-color: #7ee3b7; }
.tool-button.gold { background: linear-gradient(180deg, #f0a22e, #c97913); border-color: #ffd282; color: #111d24; }
.export-tools { display: flex; gap: 6px; }

.workspace { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 315px; direction: ltr; }
.viewport, .inspector { direction: rtl; }
.viewport { min-width: 0; overflow: auto; padding: 12px; background: rgba(230, 240, 248, .06); }
.view { display: none; animation: view-in .22s ease; }
.view.active { display: block; }
@keyframes view-in { from { opacity: .35; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.view-heading { min-height: 73px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 10px; padding: 12px 16px; border: 1px solid var(--line-soft); border-radius: var(--radius); background: linear-gradient(135deg, rgba(7,35,55,.95), rgba(14,59,84,.86)); box-shadow: var(--shadow); }
.view-heading h1 { margin: 3px 0 0; font-size: 22px; }
.view-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.compact-heading { min-height: 62px; }
.eyebrow { color: var(--cyan); font-size: 10px; font-weight: 900; letter-spacing: 1.25px; }
.heading-badge { min-width: 105px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 7px; display: grid; text-align: center; background: rgba(7,25,39,.72); }
.heading-badge span { color: var(--muted); font-size: 10px; }
.heading-badge b { font-size: 22px; color: var(--gold-soft); }
.heading-badge.warning b { color: #ffc68a; }
.map-mode-switch { display: flex; gap: 6px; }
.mini-tab { border: 1px solid var(--line); border-radius: 5px; background: #0d304a; padding: 7px 10px; cursor: pointer; font-weight: 800; font-size: 11px; display:inline-flex; align-items:center; gap:7px; }
.mini-tab.active { background: var(--green); border-color: #70ddb0; }
.map-tab-count { min-width:24px; padding:2px 6px; border-radius:999px; background:rgba(2,16,27,.6); border:1px solid rgba(255,255,255,.18); color:#fff; font-size:11px; line-height:1.35; text-align:center; font-variant-numeric:tabular-nums; }
.mini-tab.active .map-tab-count { background:rgba(2,16,27,.38); border-color:rgba(255,255,255,.34); }

.map-panel { position: relative; overflow: hidden; border: 1px solid #5590ab; border-radius: 4px; background: #06111c; box-shadow: var(--shadow); aspect-ratio: 2 / 1; min-height: 330px; }
.earth-map-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; user-select: none; }
.map-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2,15,25,.1), rgba(1,10,17,.28)), radial-gradient(circle at 50% 45%, transparent 35%, rgba(0,0,0,.2)); }
.map-grid { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(114,205,239,.55) 1px, transparent 1px), linear-gradient(90deg, rgba(114,205,239,.55) 1px, transparent 1px); background-size: 12.5% 16.666%; }
.map-grid::before, .map-grid::after { content: ""; position: absolute; background: rgba(255,213,123,.7); }
.map-grid::before { left: 50%; top: 0; width: 1px; height: 100%; }
.map-grid::after { left: 0; top: 50%; height: 1px; width: 100%; }
.marker-layer { position: absolute; inset: 0; }
.map-marker { position: absolute; transform: translate(-50%, -50%); border: 0; background: transparent; cursor: pointer; padding: 0; z-index: 3; }
.map-marker i { display: block; width: var(--marker-size, 12px); height: var(--marker-size, 12px); border-radius: 50%; background: var(--marker-color, var(--cyan)); border: 2px solid rgba(255,255,255,.9); box-shadow: 0 0 0 5px color-mix(in srgb, var(--marker-color, var(--cyan)) 25%, transparent), 0 0 16px var(--marker-color, var(--cyan)); animation: marker-pulse 2.2s ease-in-out infinite; }
.map-marker:hover, .map-marker.active { z-index: 8; }
.map-marker:hover i, .map-marker.active i { transform: scale(1.35); box-shadow: 0 0 0 8px color-mix(in srgb, var(--marker-color, var(--cyan)) 30%, transparent), 0 0 25px var(--marker-color, var(--cyan)); }
.map-marker span { position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); min-width: 145px; max-width: 220px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 5px; background: rgba(3,18,29,.94); color: white; font-size: 10px; line-height: 1.5; opacity: 0; pointer-events: none; transition: opacity .15s; }
.map-marker:hover span, .map-marker.active span { opacity: 1; }
@keyframes marker-pulse { 0%, 100% { opacity: .82; } 50% { opacity: 1; } }
.map-scan-line { position: absolute; left: 0; right: 0; top: -2px; height: 2px; background: linear-gradient(90deg, transparent, rgba(84,213,255,.9), transparent); box-shadow: 0 0 12px var(--cyan); animation: scan 8s linear infinite; }
@keyframes scan { to { top: 100%; } }
.map-label { position: absolute; z-index: 4; padding: 5px 9px; border: 1px solid rgba(117,195,224,.55); border-radius: 4px; background: rgba(3,19,30,.78); font-size: 9px; color: #d9f5ff; }
.map-label-top { top: 7px; left: 50%; transform: translateX(-50%); }
.map-legend { position: absolute; z-index: 4; bottom: 8px; left: 8px; display: flex; gap: 12px; padding: 6px 8px; border-radius: 5px; background: rgba(3,19,30,.8); border: 1px solid rgba(117,195,224,.45); }
.map-legend span { display: flex; align-items: center; gap: 5px; font-size: 9px; }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); }
.legend-dot.gold { background: var(--gold); }
.legend-dot.orange { background: var(--orange); }

.metric-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 9px; }
.metric-strip article { min-height: 82px; padding: 11px 13px; border: 1px solid var(--line-soft); border-radius: 7px; background: linear-gradient(145deg, rgba(8,37,58,.94), rgba(11,50,73,.86)); display: grid; align-content: center; gap: 2px; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.metric-strip span { color: var(--muted); font-size: 10px; }
.metric-strip strong { color: var(--gold-soft); font-size: 24px; line-height: 1.2; }
.metric-strip small { color: #b6d5e3; font-size: 9px; }
.dashboard-lower-grid { margin-top: 9px; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .8fr); gap: 9px; }
.data-panel { border: 1px solid var(--line-soft); border-radius: var(--radius); background: linear-gradient(145deg, rgba(8,35,54,.97), rgba(8,43,65,.9)); box-shadow: var(--shadow); }
.data-panel > header { min-height: 57px; padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-soft); }
.data-panel h2 { margin: 2px 0 0; font-size: 16px; }
.text-button { border: 0; background: transparent; color: var(--cyan); cursor: pointer; font-weight: 900; }
.compact-list { display: grid; }
.compact-row { min-height: 56px; padding: 8px 12px; display: grid; grid-template-columns: minmax(150px, 1fr) repeat(3, minmax(74px, .55fr)) 34px; gap: 8px; align-items: center; border-bottom: 1px solid rgba(86,151,181,.15); }
.compact-row:last-child { border-bottom: 0; }
.compact-row:hover { background: rgba(62,138,177,.09); }
.object-name { display: grid; }
.object-name strong { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.object-name small, .compact-metric small { color: var(--muted); font-size: 8px; }
.compact-metric { display: grid; }
.compact-metric b { font-size: 11px; color: #dff7ff; }
.open-row { width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 4px; background: #164b70; cursor: pointer; }
.pulse-card { min-height: 225px; padding: 15px; display: grid; align-content: center; text-align: center; gap: 10px; }
.pulse-visual { width: 90px; height: 90px; margin: 0 auto; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle, rgba(255,213,123,.9) 0 7%, rgba(255,126,61,.65) 8% 18%, rgba(84,213,255,.16) 20% 45%, transparent 47%); box-shadow: 0 0 45px rgba(84,213,255,.18); }
.pulse-visual span { font-size: 22px; }
.pulse-card h3 { margin: 0; font-size: 15px; }
.pulse-card p { margin: 0; color: var(--muted); font-size: 11px; }
.pulse-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.pulse-metrics span { padding: 7px 5px; border: 1px solid var(--line-soft); border-radius: 5px; background: rgba(4,20,31,.5); }
.pulse-metrics small { display: block; color: var(--muted); font-size: 8px; }
.pulse-metrics b { font-size: 10px; }

.table-panel { overflow: hidden; }
.table-toolbar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border-bottom: 1px solid var(--line-soft); }
.inline-search { display: flex; align-items: center; gap: 7px; min-width: min(360px, 50%); }
.inline-search input { min-height: 34px; }
.quality-key { display: flex; gap: 12px; color: var(--muted); }
.quality-key span, .quality-list span { display: flex; align-items: center; gap: 6px; font-size: 9px; }
.quality-dot { width: 8px; height: 8px; border-radius: 50%; background: #6c7c86; }
.quality-dot.measured { background: #44d493; }
.quality-dot.estimated { background: var(--gold); }
.quality-dot.assumed { background: var(--orange); }
.quality-dot.unknown { background: #778994; }
.table-scroll { overflow: auto; max-height: calc(100vh - 310px); }
.short-table { max-height: 265px; }
table { width: 100%; border-collapse: collapse; min-width: 850px; }
th, td { padding: 9px 10px; text-align: start; border-bottom: 1px solid rgba(79,145,174,.16); font-size: 10px; }
th { position: sticky; top: 0; z-index: 3; background: #113d5c; color: #eaf8ff; font-size: 9px; }
tbody tr { transition: background .12s; }
tbody tr:hover, tbody tr.selected-row { background: rgba(63,154,196,.13); }
td strong { font-size: 11px; }
td small { display: block; color: var(--muted); font-size: 8px; }
.table-action { min-width: 31px; height: 28px; border: 1px solid #6ea6bd; border-radius: 4px; background: #174b6d; cursor: pointer; }
.compare-checkbox { width: 16px; height: 16px; accent-color: var(--green); }
.fireball-map { min-height: 390px; }
.fireball-table-panel { margin-top: 9px; }
.energy-filter { display: grid; grid-template-columns: auto 100px; align-items: center; gap: 7px; }

.risk-notice { margin-bottom: 10px; display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid rgba(240,162,46,.48); border-radius: 8px; background: rgba(150,92,18,.14); }
.risk-notice > span { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: #14202a; font-weight: 900; }
.risk-notice p { margin: 0; color: #ffe8b7; font-size: 11px; }
.risk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 10px; }
.risk-card { padding: 13px; border: 1px solid var(--line-soft); border-radius: 8px; background: linear-gradient(145deg, rgba(9,39,60,.96), rgba(12,52,74,.88)); box-shadow: var(--shadow); }
.risk-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.risk-card h3 { margin: 0; font-size: 14px; }
.risk-chip { padding: 4px 7px; border: 1px solid rgba(240,162,46,.55); border-radius: 999px; background: rgba(240,162,46,.12); color: var(--gold-soft); font-size: 8px; }
.risk-card dl, .selected-details, .system-card dl, .about-card dl { display: grid; gap: 6px; margin: 12px 0 0; }
.risk-card dl div, .selected-details div, .system-card dl div, .about-card dl div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 5px; border-bottom: 1px dashed rgba(114,183,212,.18); }
dt { color: var(--muted); font-size: 9px; }
dd { margin: 0; text-align: end; font-size: 10px; font-weight: 800; }
.risk-card footer { margin-top: 11px; }
.risk-card button { width: 100%; min-height: 32px; border: 1px solid var(--line); border-radius: 5px; background: #164d70; cursor: pointer; }

.secondary-action, .primary-action { min-height: 38px; padding: 7px 14px; border-radius: 5px; cursor: pointer; font-weight: 900; }
.secondary-action { border: 1px solid var(--line); background: #164b70; }
.primary-action { border: 1px solid #75e2b4; background: linear-gradient(180deg, #23b477, #167d52); }
.empty-state { min-height: 330px; display: grid; place-content: center; justify-items: center; text-align: center; border: 1px dashed var(--line); border-radius: var(--radius); background: rgba(6,28,44,.65); }
.empty-state > span { font-size: 54px; color: var(--cyan); }
.empty-state h2 { margin: 6px 0; }
.empty-state p { margin: 0; color: var(--muted); }
.compare-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.compare-card { padding: 14px; border: 1px solid var(--line-soft); border-radius: 8px; background: linear-gradient(150deg, rgba(9,39,60,.98), rgba(12,55,78,.9)); }
.compare-card h3 { margin: 0 0 4px; color: var(--gold-soft); }
.compare-card > small { color: var(--muted); }
.compare-card dl { display: grid; gap: 7px; margin: 13px 0 0; }
.compare-card dl div { display: flex; justify-content: space-between; border-bottom: 1px dashed rgba(114,183,212,.2); padding-bottom: 5px; }
.comparison-chart-panel { margin-top: 10px; }
.compare-bars { padding: 14px; display: grid; gap: 15px; }
.bar-group { display: grid; gap: 6px; }
.bar-group > strong { font-size: 11px; color: var(--muted); }
.bar-row { display: grid; grid-template-columns: 145px minmax(100px, 1fr) 90px; align-items: center; gap: 8px; }
.bar-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.bar-track { height: 14px; border-radius: 999px; overflow: hidden; background: rgba(0,0,0,.28); }
.bar-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.bar-row b { font-size: 9px; text-align: end; }

.analyzer-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 10px; }
.analyzer-form { padding-bottom: 14px; }
.analyzer-form > label { display: grid; gap: 4px; margin: 11px 14px 0; color: var(--muted); font-size: 10px; }
.analyzer-form > button, .analyzer-form > p { margin: 12px 14px 0; }
.scientific-note { color: var(--muted); font-size: 9px; line-height: 1.75; }
.analyzer-results { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.analyzer-results article { min-height: 135px; border: 1px solid var(--line-soft); border-radius: 9px; background: radial-gradient(circle at 80% 15%, rgba(84,213,255,.12), transparent 42%), linear-gradient(145deg, rgba(8,37,57,.98), rgba(11,54,77,.9)); display: grid; place-content: center; text-align: center; box-shadow: var(--shadow); }
.analyzer-results article span { color: var(--muted); font-size: 10px; }
.analyzer-results article strong { margin: 4px 0; color: var(--gold-soft); font-size: 22px; }
.analyzer-results article small { color: #c7dfe9; }
.energy-gauge { grid-column: 1 / -1; padding: 14px; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(6,29,45,.84); }
.gauge-track { height: 18px; border-radius: 999px; overflow: hidden; background: linear-gradient(90deg, rgba(68,212,147,.25), rgba(240,162,46,.25), rgba(255,126,61,.3)); }
.gauge-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #44d493, var(--gold), var(--orange)); transition: width .35s ease; }
.gauge-labels { display: flex; justify-content: space-between; margin-top: 6px; font-size: 9px; color: var(--muted); }
.gauge-labels b { color: var(--text); }

.timeline-list { position: relative; display: grid; gap: 12px; padding-inline-start: 30px; }
.timeline-list::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 10px; width: 2px; background: linear-gradient(var(--cyan), var(--gold), var(--orange)); }
.timeline-item { position: relative; padding: 14px 16px; border: 1px solid var(--line-soft); border-radius: 8px; background: linear-gradient(145deg, rgba(8,37,57,.98), rgba(11,53,76,.9)); }
.timeline-item::before { content: ""; position: absolute; inset-inline-start: -25px; top: 22px; width: 12px; height: 12px; border-radius: 50%; background: var(--gold); border: 3px solid #071927; box-shadow: 0 0 13px var(--gold); }
.timeline-item time { color: var(--cyan); font-size: 10px; font-weight: 900; }
.timeline-item h2 { margin: 5px 0; font-size: 16px; }
.timeline-item p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.75; }
.timeline-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.timeline-tags span { padding: 4px 8px; border: 1px solid var(--line); border-radius: 999px; background: rgba(13,60,87,.7); font-size: 8px; }

.about-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.about-card { padding-bottom: 14px; }
.about-card > p, .about-card > ul, .about-card > dl, .quality-list { margin: 12px 14px 0; }
.about-card p, .about-card li { color: #c5dce6; font-size: 11px; line-height: 1.8; }
.about-card ul { padding-inline-start: 20px; }
.credits-card { text-align: center; }
.credit-seal { margin: 16px auto 0; width: 130px; height: 130px; border-radius: 50%; border: 2px solid var(--gold); display: grid; place-content: center; box-shadow: 0 0 24px rgba(240,162,46,.18), inset 0 0 25px rgba(84,213,255,.08); }
.credit-seal span { font-size: 34px; color: var(--gold-soft); font-weight: 900; }
.credit-seal b { font-size: 8px; letter-spacing: 1px; }
.quality-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.inspector { min-width: 0; overflow: auto; padding: 10px; border-inline-start: 1px solid var(--line); background: linear-gradient(180deg, #08223a, #061827 60%, #071e30); box-shadow: -10px 0 26px rgba(0,0,0,.28); }
.inspector-crest { min-height: 165px; display: grid; place-content: center; justify-items: center; text-align: center; border: 1px solid var(--line-soft); border-radius: 7px; background: radial-gradient(circle at 50% 20%, rgba(84,213,255,.12), transparent 55%); }
.asteroid-symbol { width: 75px; height: 75px; position: relative; display: grid; place-items: center; }
.asteroid-symbol::before, .asteroid-symbol::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(84,213,255,.55); }
.asteroid-symbol::before { inset: 7px -5px; transform: rotate(24deg) scaleY(.45); }
.asteroid-symbol::after { inset: 4px 4px; transform: rotate(-35deg) scaleY(.52); border-color: rgba(240,162,46,.65); }
.asteroid-symbol span { width: 39px; height: 39px; border-radius: 46% 54% 58% 42% / 51% 38% 62% 49%; background: radial-gradient(circle at 35% 28%, #ffe9ae, #d4932d 55%, #684521); box-shadow: 0 0 24px rgba(240,162,46,.4); }
.inspector-crest h2 { margin: 5px 0 0; font-size: 16px; }
.inspector-crest p { margin: 2px 0 0; color: var(--muted); font-size: 9px; }
.inspector-card { margin-top: 9px; padding: 11px; border: 1px solid var(--line-soft); border-radius: 7px; background: rgba(6,29,46,.78); }
.card-kicker { display: block; margin-bottom: 7px; color: var(--cyan); font-size: 9px; font-weight: 900; }
.identity-card h3 { margin: 0; color: var(--gold-soft); font-size: 15px; }
.identity-card > p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.quick-actions { display: grid; gap: 7px; }
.quick-actions .card-kicker { margin-bottom: 1px; }
.quick-actions button { min-height: 34px; border: 1px solid var(--line); border-radius: 4px; background: linear-gradient(180deg, #154c71, #0e3856); display: flex; align-items: center; gap: 8px; cursor: pointer; text-align: start; }
.quick-actions button:disabled { opacity: .4; cursor: not-allowed; }
.quick-actions span { width: 25px; text-align: center; color: var(--gold-soft); }
.quick-actions b { font-size: 9px; }
.source-card p { margin: 0; font-size: 10px; }
.source-card small { color: var(--muted); font-size: 8px; }

.statusbar { min-height: 29px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 12px; border-top: 1px solid var(--line); background: #04131f; color: var(--muted); font-size: 8px; }
.statusbar span { display: flex; align-items: center; gap: 5px; }
.statusbar b { color: #dff5ff; }
.status-led { width: 8px; height: 8px; border-radius: 50%; background: #44d493; box-shadow: 0 0 8px #44d493; }
.loading-overlay { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; background: rgba(1,8,13,.73); backdrop-filter: blur(4px); }
.loading-overlay[hidden] { display: none; }
.loader { min-width: 240px; padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: #082239; text-align: center; box-shadow: var(--shadow); }
.loader span { width: 44px; height: 44px; margin: 0 auto 12px; display: block; border-radius: 50%; border: 3px solid rgba(84,213,255,.22); border-top-color: var(--cyan); animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.toast-region { position: fixed; z-index: 1000; inset-inline-end: 16px; bottom: 42px; display: grid; gap: 8px; }
.toast { max-width: 330px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 7px; background: #0b3854; color: white; box-shadow: var(--shadow); font-size: 10px; animation: toast-in .2s ease; }
.toast.error { border-color: #d76e6e; background: #57272c; }
@keyframes toast-in { from { transform: translateY(8px); opacity: 0; } }

.object-dialog { width: min(850px, 94vw); max-height: 88vh; padding: 0; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: #071d2e; box-shadow: 0 30px 80px rgba(0,0,0,.65); }
.object-dialog::backdrop { background: rgba(0,7,12,.76); backdrop-filter: blur(3px); }
.dialog-shell { display: grid; grid-template-rows: auto minmax(0,1fr) auto; max-height: 88vh; }
.dialog-shell > header, .dialog-shell > footer { padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-soft); }
.dialog-shell > footer { border-bottom: 0; border-top: 1px solid var(--line-soft); }
.dialog-shell h2 { margin: 3px 0 0; }
.dialog-close { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 5px; background: #164b70; cursor: pointer; font-size: 22px; }
.dialog-content { overflow: auto; padding: 14px; }
.dialog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dialog-field { padding: 9px; border: 1px solid var(--line-soft); border-radius: 6px; background: rgba(8,39,60,.7); }
.dialog-field span { display: block; color: var(--muted); font-size: 8px; }
.dialog-field b { display: block; margin-top: 4px; font-size: 10px; word-break: break-word; }

@media (max-width: 1250px) {
  .command-ribbon { grid-template-columns: repeat(4, 1fr); }
  .control-ribbon { align-items: stretch; flex-direction: column; }
  .export-tools { justify-content: end; }
  .workspace { grid-template-columns: minmax(0, 1fr) 280px; }
  .mission-status .neutral { display: none; }
}
@media (max-width: 900px) {
  .titlebar { flex-wrap: wrap; }
  .brand { min-width: 0; flex: 1; }
  .mission-status { order: 3; width: 100%; justify-content: start; }
  .command-ribbon { overflow-x: auto; display: flex; }
  .command-button { min-width: 145px; }
  .control-form { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .search-field { grid-column: 1 / -1; }
  .workspace { display: block; }
  .inspector { border-inline-start: 0; border-top: 1px solid var(--line); }
  .inspector-crest { min-height: 120px; }
  .metric-strip { grid-template-columns: repeat(2, 1fr); }
  .dashboard-lower-grid, .analyzer-grid, .about-grid { grid-template-columns: 1fr; }
  .compare-cards { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .brand-text strong { font-size: 17px; }
  .brand-text small { font-size: 9px; }
  .clock-pill { display: none; }
  .control-form { grid-template-columns: 1fr; }
  .search-field { grid-column: auto; }
  .export-tools { display: grid; grid-template-columns: repeat(2,1fr); }
  .map-panel { min-height: 240px; }
  .metric-strip { grid-template-columns: 1fr; }
  .compact-row { grid-template-columns: 1fr repeat(2, 70px) 32px; }
  .compact-row .compact-metric:nth-of-type(3) { display: none; }
  .analyzer-results { grid-template-columns: 1fr; }
  .energy-gauge { grid-column: auto; }
  .dialog-grid { grid-template-columns: 1fr; }
  .statusbar span:nth-child(2) { display: none; }
}

@media print {
  .star-field, .titlebar, .command-ribbon, .control-ribbon, .inspector, .statusbar, .loading-overlay, .toast-region { display: none !important; }
  body { background: white; color: black; }
  .workspace { display: block; }
  .viewport { padding: 0; background: white; overflow: visible; }
  .view { display: none !important; }
  .view.active { display: block !important; }
  .view-heading, .data-panel, .metric-strip article, .risk-card, .compare-card, .timeline-item { color: black; background: white; box-shadow: none; border-color: #999; }
  .view-heading p, .scientific-note, .timeline-item p, .compact-row small, td small { color: #333; }
  .eyebrow { color: #0e658a; }
  .map-panel { break-inside: avoid; }
  table { color: black; }
  th { color: white; background: #173b50; }
}

/* v0.3 — NASA Data Engine */
.command-button.nasa-command,
.tool-button.nasa-update-button {
  border-color: rgba(84, 213, 255, .62);
  background: linear-gradient(180deg, rgba(26, 109, 160, .94), rgba(10, 62, 102, .96));
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 0 18px rgba(84,213,255,.12);
}
.command-button.nasa-command.active,
.tool-button.nasa-update-button:hover { background: linear-gradient(180deg, #2585bd, #10567f); }
.nasa-heading { align-items: center; }
.engine-state-badge {
  min-width: 160px; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px;
  background: rgba(8,31,49,.86); color: var(--muted); font-weight: 800;
}
.engine-state-badge i { width: 9px; height: 9px; border-radius: 50%; background: #86a0b0; box-shadow: 0 0 10px rgba(134,160,176,.45); }
.engine-state-badge.running i { background: var(--cyan); box-shadow: 0 0 14px var(--cyan); animation: enginePulse 1.1s infinite; }
.engine-state-badge.success i { background: #44d493; box-shadow: 0 0 12px #44d493; }
.engine-state-badge.failed i { background: var(--danger); box-shadow: 0 0 12px var(--danger); }
.engine-state-badge.cancelled i { background: var(--gold); box-shadow: 0 0 12px var(--gold); }
@keyframes enginePulse { 50% { opacity: .35; transform: scale(.72); } }

.nasa-engine-grid { display: grid; grid-template-columns: minmax(340px, .85fr) minmax(460px, 1.35fr); gap: 14px; margin-bottom: 14px; }
.engine-config-panel, .engine-progress-panel { min-height: 385px; }
.official-chip { padding: 5px 9px; border-radius: 999px; color: #061725; background: var(--cyan); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.engine-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding: 14px; }
.engine-form-grid label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 800; }
.engine-form-grid input[type="number"] { width: 100%; min-height: 39px; border: 1px solid var(--line-soft); border-radius: 7px; background: #061b2b; color: var(--text); padding: 7px 10px; }
.engine-checkbox { grid-column: 1 / -1; grid-template-columns: auto 1fr !important; align-items: center; border: 1px solid var(--line-soft); border-radius: 8px; padding: 10px; background: rgba(9,36,58,.62); }
.engine-checkbox input { width: 18px; height: 18px; accent-color: var(--cyan); }
.engine-actions { display: flex; gap: 9px; padding: 0 14px 12px; }
.nasa-primary { display: inline-flex; gap: 8px; align-items: center; justify-content: center; flex: 1; }
.danger-action { border-color: rgba(217,87,87,.55) !important; color: #ffc0c0 !important; }
.danger-action:disabled, .nasa-primary:disabled { opacity: .45; cursor: not-allowed; }
.engine-config-panel .scientific-note { margin: 0 14px 14px; }

.engine-progress-panel header strong { font-size: 28px; color: var(--cyan); }
.engine-progress-track { height: 13px; margin: 18px 16px 8px; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 999px; background: #041522; }
.engine-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1c79ac, var(--cyan), #6ce4bf); box-shadow: 0 0 16px rgba(84,213,255,.48); transition: width .28s ease; }
.engine-stage-line { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 0 16px 12px; }
.engine-stage-line span { min-width: 110px; color: var(--gold-soft); font-family: Consolas, monospace; font-size: 11px; letter-spacing: .06em; }
.engine-stage-line b { color: var(--muted); font-size: 12px; }
.engine-log { height: 265px; margin: 0 14px 14px; overflow: auto; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(1,12,20,.86); font-family: Consolas, Tahoma, sans-serif; }
.engine-log-row { display: grid; grid-template-columns: 150px 120px 1fr 45px; gap: 9px; align-items: start; padding: 8px 10px; border-bottom: 1px solid rgba(92,169,205,.12); font-size: 11px; }
.engine-log-row time { color: #7896aa; direction: ltr; text-align: left; }
.engine-log-row span { color: var(--cyan); direction: ltr; text-align: left; }
.engine-log-row p { margin: 0; color: #d8ebf5; }
.engine-log-row b { color: var(--gold-soft); direction: ltr; }
.engine-log-row.warning { background: rgba(240,162,46,.07); }
.engine-log-row.error { background: rgba(217,87,87,.10); }
.engine-log-empty { display: grid; place-items: center; height: 100%; color: var(--muted); padding: 24px; text-align: center; }

.engine-metrics { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 10px; margin-bottom: 14px; }
.engine-metrics article { min-height: 98px; display: grid; align-content: center; gap: 3px; padding: 12px; border: 1px solid var(--line-soft); border-radius: 9px; background: linear-gradient(145deg, rgba(13,45,71,.92), rgba(5,25,40,.95)); box-shadow: var(--shadow); }
.engine-metrics span { color: var(--muted); font-size: 11px; font-weight: 800; }
.engine-metrics strong { color: var(--text); font-size: 25px; }
.engine-metrics small { color: var(--cyan); font-family: Consolas, monospace; letter-spacing: .08em; }
.update-history-panel { margin-bottom: 16px; }
.run-status { display: inline-flex; min-width: 70px; justify-content: center; border: 1px solid var(--line-soft); border-radius: 999px; padding: 3px 8px; font-size: 11px; font-weight: 900; }
.run-status.success { color: #79e7bb; border-color: rgba(68,212,147,.46); }
.run-status.failed { color: #ffaaaa; border-color: rgba(217,87,87,.5); }
.run-status.running { color: var(--cyan); border-color: rgba(84,213,255,.5); }
.run-status.cancelled { color: var(--gold-soft); border-color: rgba(240,162,46,.5); }
.table-empty { text-align: center; color: var(--muted); padding: 25px !important; }
.provenance-banner { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 12px; border: 1px solid rgba(68,212,147,.35); border-radius: 8px; background: rgba(31,165,107,.1); }
.provenance-banner.live { border-color: rgba(84,213,255,.38); background: rgba(46,118,216,.11); }
.provenance-banner span { min-width: 58px; padding: 4px 7px; border-radius: 999px; text-align: center; background: #0c3651; color: var(--cyan); font-family: Consolas, monospace; font-size: 11px; }
.provenance-banner b { color: var(--text); }
.provenance-banner small { color: #ffb5b5; }

@media (max-width: 1280px) {
  .nasa-engine-grid { grid-template-columns: 1fr; }
  .engine-metrics { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .engine-form-grid { grid-template-columns: 1fr; }
  .engine-checkbox { grid-column: auto; }
  .engine-metrics { grid-template-columns: repeat(2, 1fr); }
  .engine-log-row { grid-template-columns: 1fr auto; }
  .engine-log-row time, .engine-log-row span { display: none; }
  .nasa-heading { align-items: flex-start; }
}

/* v0.4 — Earth History Archive */
.command-ribbon { grid-template-columns: repeat(11, minmax(88px, 1fr)); }
.command-button.earth-command { background: linear-gradient(180deg, #7b5a23, #5a3c15); border-color: #d9ac5f; }
.command-button.earth-command.active { background: linear-gradient(180deg, #bc7c25, #825016); border-color: #ffd486; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 0 16px rgba(214,150,57,.28); }
.metric-strip { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.heading-badge.earth b { color: #ffd486; }
.heading-badge.impact b { color: #ff9d6b; }
.archive-map { min-height: 315px; margin-bottom: 10px; }
.archive-table-panel { margin-top: 0; }
.archive-note { margin: 9px 0 0; border-inline-start-color: #d9a441; }
.table-toolbar select { min-height: 35px; border: 1px solid #6ca3b6; border-radius: 4px; color: #0b1720; background: #f4fbff; padding: 6px 9px; min-width: 140px; }
.map-marker.meteorite i { border-radius: 3px; transform: rotate(45deg); background: linear-gradient(135deg, #ffe2a8, #bd741d); --marker-color: #eaa23b; }
.map-marker.meteorite:hover i, .map-marker.meteorite.active i { transform: rotate(45deg) scale(1.35); }
.map-marker.impact i { background: transparent; border: 3px solid #ff8a4d; box-shadow: 0 0 0 4px rgba(255,138,77,.18), inset 0 0 8px rgba(255,138,77,.55), 0 0 16px rgba(255,138,77,.65); }
.archive-source-link { color: #8fddff; text-decoration: none; font-size: 10px; }
.archive-source-link:hover { text-decoration: underline; }
.record-chip { display: inline-flex; align-items: center; padding: 2px 7px; border-radius: 999px; border: 1px solid rgba(114,190,215,.45); background: rgba(31,101,128,.22); font-size: 9px; white-space: nowrap; }
.record-chip.fall { color: #8df0c1; border-color: rgba(76,222,155,.45); }
.record-chip.find { color: #ffd486; border-color: rgba(239,177,80,.5); }
.yes-no { font-weight: 800; }
.yes-no.yes { color: #ffc47c; }
.yes-no.no { color: #8de2bd; }

@media (max-width: 1500px) {
  .command-ribbon { grid-template-columns: repeat(6, minmax(100px, 1fr)); }
  .metric-strip { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .metric-strip { grid-template-columns: repeat(2, 1fr); }
  .archive-map { min-height: 250px; }
}
@media (max-width: 560px) {
  .metric-strip { grid-template-columns: 1fr; }
  .table-toolbar { align-items: stretch; flex-direction: column; }
  .table-toolbar select { width: 100%; }
}

/* v0.4 completion */
.source-link { color: #8fddff; text-decoration: none; font-size: 10px; }
.source-link:hover { color: #d8f5ff; text-decoration: underline; }
.record-chip.buried { color: #ffc47c; border-color: rgba(255,160,84,.52); }
.record-chip.surface { color: #8de2bd; border-color: rgba(76,222,155,.45); }
.clickable-timeline { cursor: pointer; transition: transform .16s ease, border-color .16s ease; }
.clickable-timeline:hover { transform: translateY(-2px); border-color: rgba(255,196,118,.55); }
.engine-metrics { grid-template-columns: repeat(8, minmax(105px, 1fr)); }
@media (max-width: 1500px) { .engine-metrics { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px) { .engine-metrics { grid-template-columns: repeat(2, 1fr); } }

/* v0.5 — connection diagnostics and JPL Horizons orbital laboratory */
.command-button.orbit-command { border-color: rgba(240,162,46,.48); }
.command-button.orbit-command.active,
.command-button.orbit-command:hover { background: linear-gradient(180deg,#9a5d15,#57340d); }
.connectivity-panel { margin-bottom: 14px; }
.connectivity-panel header { align-items: center; }
.connectivity-test-button { display: inline-flex; align-items: center; gap: 7px; }
.service-status-grid { display: grid; grid-template-columns: repeat(6,minmax(145px,1fr)); gap: 10px; padding: 14px; }
.service-status-card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; min-height: 92px; align-content: center; padding: 12px; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 9px; background: linear-gradient(145deg,rgba(9,37,58,.94),rgba(4,19,31,.98)); transition: .2s ease; }
.service-status-card::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:#60798a; opacity:.7; }
.service-status-card i { width:10px; height:10px; margin-top:4px; border-radius:50%; background:#718b9b; box-shadow:0 0 8px rgba(113,139,155,.45); }
.service-status-card span { color:var(--text); font:800 12px Consolas,Tahoma,sans-serif; letter-spacing:.04em; direction:ltr; text-align:start; }
.service-status-card strong { grid-column:2; color:var(--muted); font-size:12px; }
.service-status-card small { grid-column:1/-1; margin-top:5px; overflow:hidden; color:#718fa2; font-size:10px; text-overflow:ellipsis; white-space:nowrap; direction:ltr; text-align:left; }
.service-status-card.checking i { background:var(--cyan); animation:enginePulse 1s infinite; }
.service-status-card.checking::after { background:var(--cyan); animation:diagnosticSweep 1.2s infinite linear; }
.service-status-card.online { border-color:rgba(68,212,147,.4); }
.service-status-card.online i { background:#44d493; box-shadow:0 0 12px #44d493; }
.service-status-card.online strong { color:#86e8bd; }
.service-status-card.online::after { background:#44d493; }
.service-status-card.offline { border-color:rgba(217,87,87,.42); }
.service-status-card.offline i { background:var(--danger); box-shadow:0 0 12px var(--danger); }
.service-status-card.offline strong { color:#ff9999; }
.service-status-card.offline::after { background:var(--danger); }
.diagnostic-message { margin:0 14px 14px; padding:11px 13px; border:1px solid rgba(84,213,255,.18); border-radius:8px; background:rgba(4,23,37,.72); color:#b8d0dd; font-size:12px; line-height:1.7; }
@keyframes diagnosticSweep { from { transform:translateX(-100%); } to { transform:translateX(100%); } }

.orbit-heading { align-items:center; }
.orbit-source-badge { display:inline-flex; align-items:center; gap:8px; min-width:190px; justify-content:center; padding:10px 13px; border:1px solid var(--line-soft); border-radius:999px; background:rgba(4,23,37,.82); color:var(--muted); font-size:12px; font-weight:800; }
.orbit-source-badge i { width:9px; height:9px; border-radius:50%; background:var(--gold); box-shadow:0 0 12px rgba(240,162,46,.75); }
.orbit-source-badge.live i { background:#44d493; box-shadow:0 0 12px #44d493; }
.orbit-workspace { display:grid; grid-template-columns:minmax(310px,.72fr) minmax(600px,1.7fr); gap:14px; margin-bottom:14px; }
.orbit-control-panel,.orbit-canvas-panel { min-height:610px; }
.orbit-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; padding:14px; }
.orbit-form-grid label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:800; }
.orbit-form-grid input { width:100%; min-height:40px; border:1px solid var(--line-soft); border-radius:7px; background:#061b2b; color:var(--text); padding:7px 10px; }
.orbit-actions { display:grid; gap:9px; padding:0 14px 12px; }
.orbit-primary { display:flex; align-items:center; justify-content:center; gap:8px; }
.orbit-playback-controls { display:grid; grid-template-columns:42px 1fr 42px; align-items:center; gap:9px; padding:6px 14px 13px; }
.orbit-playback-controls input { accent-color:var(--gold); width:100%; }
.icon-action { width:40px; height:38px; border:1px solid var(--line-soft); border-radius:7px; background:#08263b; color:var(--text); cursor:pointer; }
.icon-action:hover { background:#0d3854; }
.orbit-control-panel .scientific-note { margin:0 14px 14px; }
.orbit-canvas-panel header strong { color:var(--gold-soft); font:700 12px Consolas,monospace; direction:ltr; }
.orbit-canvas-wrap { position:relative; height:548px; min-height:480px; overflow:hidden; border-top:1px solid rgba(92,169,205,.14); background:#02070d; }
#orbitCanvas { display:block; width:100%; height:100%; }
.orbit-legend { position:absolute; inset:auto 14px 13px auto; display:flex; flex-wrap:wrap; gap:11px; padding:8px 11px; border:1px solid rgba(84,213,255,.22); border-radius:8px; background:rgba(1,10,17,.78); backdrop-filter:blur(5px); }
.orbit-legend span { display:flex; align-items:center; gap:6px; color:#cce0eb; font-size:11px; }
.orbit-legend i { width:10px; height:10px; border-radius:50%; }
.sun-dot { background:#ffd86b; box-shadow:0 0 10px #ffd86b; }
.earth-dot { background:#4bb1ff; box-shadow:0 0 10px #4bb1ff; }
.asteroid-dot { background:#f0a22e; box-shadow:0 0 10px #f0a22e; }
.orbit-loading { position:absolute; inset:0; display:grid; place-items:center; align-content:center; gap:15px; background:rgba(1,8,14,.76); color:#e6f5fb; backdrop-filter:blur(3px); }
.orbit-loading[hidden] { display:none; }
.orbit-loading span { width:42px; height:42px; border:3px solid rgba(84,213,255,.18); border-top-color:var(--cyan); border-radius:50%; animation:spin 1s linear infinite; }
.orbit-metrics { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); gap:10px; }
.orbit-metrics article { min-height:100px; display:grid; align-content:center; gap:4px; padding:12px; border:1px solid var(--line-soft); border-radius:9px; background:linear-gradient(145deg,rgba(13,45,71,.92),rgba(5,25,40,.95)); box-shadow:var(--shadow); }
.orbit-metrics span { color:var(--muted); font-size:11px; font-weight:800; }
.orbit-metrics strong { color:var(--text); font-size:22px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; direction:ltr; }
.orbit-metrics small { color:var(--gold-soft); font:700 10px Consolas,monospace; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; direction:ltr; }

@media (max-width:1500px) {
  .service-status-grid { grid-template-columns:repeat(3,1fr); }
  .orbit-workspace { grid-template-columns:minmax(300px,.8fr) minmax(500px,1.45fr); }
}
@media (max-width:1100px) {
  .orbit-workspace { grid-template-columns:1fr; }
  .orbit-control-panel { min-height:auto; }
  .orbit-metrics { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:760px) {
  .service-status-grid { grid-template-columns:repeat(2,1fr); }
  .orbit-form-grid { grid-template-columns:1fr; }
  .orbit-canvas-wrap { height:440px; min-height:390px; }
  .orbit-metrics { grid-template-columns:repeat(2,1fr); }
  .orbit-heading { align-items:flex-start; }
  .orbit-source-badge { min-width:0; }
}

/* v0.6 — Advanced Comparison Lab */
.compare-heading .heading-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.danger-outline { border-color: rgba(217,87,87,.72); background: linear-gradient(180deg, rgba(115,48,55,.82), rgba(70,28,35,.9)); }
.compare-control-panel { margin-bottom: 10px; overflow: hidden; }
.compare-control-panel > header,
.comparison-table-panel > header,
.comparison-chart-panel > header,
.comparison-insights-panel > header {
  min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 10px 14px; border-bottom: 1px solid var(--line-soft);
}
.compare-control-panel h2,
.comparison-table-panel h2,
.comparison-chart-panel h2,
.comparison-insights-panel h2 { margin: 3px 0 0; font-size: 15px; }
.compare-control-panel header small,
.comparison-table-panel header small,
.comparison-chart-panel header small { max-width: 420px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.comparison-counter {
  min-width: 68px; padding: 7px 11px; border: 1px solid rgba(84,213,255,.5); border-radius: 999px;
  background: rgba(84,213,255,.1); color: var(--cyan); text-align: center; font-weight: 900;
}
.compare-control-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 12px; padding: 13px 14px 8px; }
.compare-search-form label,
.compare-assumption-box label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 800; }
.compare-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.compare-search-row input,
.compare-assumption-box select,
.compare-assumption-box input {
  width: 100%; min-height: 40px; border: 1px solid #6ca3b6; border-radius: 6px; color: #0b1720;
  background: #f4fbff; padding: 7px 10px;
}
.compare-search-row .primary-action { min-width: 145px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.compare-search-form .scientific-note { margin: 7px 0 0; min-height: 18px; }
.compare-search-form .scientific-note.loading { color: var(--cyan); }
.compare-search-form .scientific-note.error { color: #ffaaa2; }
.compare-search-form .scientific-note.success { color: #8de6bc; }
.compare-assumption-box { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 10px; border: 1px solid var(--line-soft); border-radius: 8px; background: rgba(4,22,35,.5); }
.compare-quick-picks { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 4px 14px 11px; color: var(--muted); font-size: 9px; }
.compare-quick-picks button { border: 1px solid var(--line); border-radius: 999px; padding: 5px 10px; background: rgba(17,66,94,.76); cursor: pointer; font-size: 9px; }
.compare-quick-picks button:hover { border-color: var(--cyan); background: rgba(27,100,137,.84); }
.compare-selection-strip { display: flex; gap: 8px; flex-wrap: wrap; min-height: 0; padding: 0 14px 13px; }
.compare-selection-strip:empty { display: none; }
.compare-selection-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 280px; padding: 6px 7px 6px 10px; border: 1px solid var(--line); border-radius: 7px; background: rgba(7,34,52,.88); }
.compare-selection-chip span { min-width: 0; display: grid; }
.compare-selection-chip b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.compare-selection-chip small { color: var(--muted); font-size: 8px; }
.compare-selection-chip button { width: 25px; height: 25px; border: 1px solid rgba(217,87,87,.55); border-radius: 4px; background: rgba(113,42,50,.65); cursor: pointer; }
.compare-empty { min-height: 250px; }
.compare-cards.advanced { grid-template-columns: repeat(4, minmax(0,1fr)); }
.compare-card { position: relative; overflow: hidden; }
.compare-card::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 3px; background: var(--compare-accent, var(--cyan)); }
.compare-card .compare-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.compare-card .compare-card-head h3 { margin: 0; }
.compare-card .compare-card-head button { width: 28px; height: 28px; flex: 0 0 28px; border: 1px solid rgba(217,87,87,.5); border-radius: 5px; background: rgba(105,40,48,.65); cursor: pointer; }
.compare-card-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.compare-badge { padding: 3px 7px; border: 1px solid var(--line); border-radius: 999px; color: #d7edf7; background: rgba(15,60,86,.72); font-size: 7px; font-weight: 900; }
.compare-badge.pha { color: #ffd0c7; border-color: rgba(255,126,61,.55); background: rgba(151,62,35,.25); }
.compare-badge.neo { color: #bff7e0; border-color: rgba(68,212,147,.5); background: rgba(26,114,76,.22); }
.compare-badge.loading { color: #d7f7ff; border-color: rgba(84,213,255,.5); animation: enginePulse 1.1s infinite; }
.compare-card .metric-emphasis { color: var(--gold-soft); font-size: 13px; }
.compare-card .data-origin { margin-top: 9px; padding-top: 7px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 8px; line-height: 1.55; }
.comparison-table-panel { margin-top: 10px; overflow: hidden; }
.comparison-table-wrap { overflow: auto; max-height: 540px; }
.comparison-matrix { min-width: 860px; table-layout: fixed; }
.comparison-matrix th:first-child,
.comparison-matrix td:first-child { position: sticky; inset-inline-start: 0; z-index: 2; width: 205px; background: #0d3049; }
.comparison-matrix thead th:first-child { z-index: 5; background: #113d5c; }
.comparison-matrix thead th:not(:first-child) { min-width: 175px; color: var(--gold-soft); }
.comparison-matrix .section-row td { position: static !important; padding: 7px 10px; background: linear-gradient(90deg, rgba(34,113,151,.35), rgba(34,113,151,.08)); color: var(--cyan); font-size: 9px; font-weight: 900; letter-spacing: .5px; }
.comparison-matrix .field-label { color: #d8eef8; font-weight: 800; }
.comparison-matrix .field-label small { margin-top: 3px; }
.comparison-matrix .value-cell { vertical-align: top; }
.comparison-matrix .value-cell strong { display: block; color: var(--text); font-size: 10px; word-break: break-word; }
.comparison-matrix .value-cell small { margin-top: 3px; }
.quality-tag { display: inline-block; margin-top: 4px; padding: 2px 6px; border-radius: 999px; font-size: 7px; border: 1px solid var(--line); }
.quality-tag.published { color: #aaf1d0; border-color: rgba(68,212,147,.45); background: rgba(30,125,83,.18); }
.quality-tag.estimated { color: #ffe3a4; border-color: rgba(240,162,46,.45); background: rgba(145,91,19,.18); }
.quality-tag.unavailable { color: #b6c5cd; border-color: rgba(150,166,175,.3); background: rgba(99,112,120,.12); }
.comparison-lower-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 10px; margin-top: 10px; }
.comparison-chart-panel { margin-top: 0; }
.compare-bars { padding: 14px; }
.bar-track i.compare-color-0 { background: linear-gradient(90deg, #1e6fc4, #55d5ff); }
.bar-track i.compare-color-1 { background: linear-gradient(90deg, #16845a, #49e0a1); }
.bar-track i.compare-color-2 { background: linear-gradient(90deg, #c87816, #ffd36e); }
.bar-track i.compare-color-3 { background: linear-gradient(90deg, #9c4150, #ff8b92); }
.comparison-insights-panel { overflow: hidden; }
.compare-insights { display: grid; gap: 8px; padding: 13px; }
.compare-insight { display: grid; grid-template-columns: 35px minmax(0,1fr); gap: 9px; align-items: start; padding: 9px; border: 1px solid var(--line-soft); border-radius: 7px; background: rgba(4,23,36,.55); }
.compare-insight > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 7px; background: rgba(84,213,255,.11); color: var(--cyan); font-size: 17px; }
.compare-insight h3 { margin: 0; font-size: 10px; }
.compare-insight p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.scientific-warning { margin: 10px 0 0; padding: 10px 12px; border: 1px solid rgba(240,162,46,.45); border-radius: 8px; background: rgba(130,82,20,.14); color: #ffe2a5; font-size: 9px; line-height: 1.8; }

@media (max-width: 1380px) {
  .compare-cards.advanced { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1000px) {
  .compare-control-grid, .comparison-lower-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .compare-heading { align-items: flex-start; flex-direction: column; }
  .compare-heading .heading-actions { width: 100%; }
  .compare-heading .heading-actions button { flex: 1; }
  .compare-search-row { grid-template-columns: 1fr; }
  .compare-search-row .primary-action { width: 100%; }
  .compare-cards.advanced { grid-template-columns: 1fr; }
  .bar-row { grid-template-columns: 92px minmax(70px,1fr) 72px; }
}

@media print {
  .compare-control-panel, .compare-heading .heading-actions, .compare-card .compare-card-head button { display: none !important; }
  .compare-cards.advanced { grid-template-columns: repeat(2,1fr); }
  .comparison-table-wrap { max-height: none; overflow: visible; }
  .comparison-matrix th:first-child, .comparison-matrix td:first-child { position: static; }
  .comparison-lower-grid { grid-template-columns: 1fr; }
}


/* Smart Map add-on — isolated 2D/3D visualization; no scientific engine changes */
.command-button.smartmap-command { border-color: rgba(84,213,255,.48); }
.command-button.smartmap-command.active,
.command-button.smartmap-command:hover { background: linear-gradient(180deg,#12627c,#0a394d); }
.smartmap-heading { align-items: center; }
.smartmap-view-switch,.smartmap-layer-switch { display:flex; gap:6px; flex-wrap:wrap; }
.smartmap-controls-panel { margin-bottom:10px; overflow:hidden; }
.smartmap-controls-panel > header { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.smartmap-status-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:0 14px 14px; }
.smartmap-status-row > span { display:flex; align-items:center; gap:8px; min-height:38px; padding:7px 10px; border:1px solid var(--line-soft); border-radius:8px; background:rgba(5,27,43,.78); }
.smartmap-status-row > span b { color:var(--muted); font-size:10px; }
.smartmap-status-row > span strong { color:var(--gold-soft); font:800 12px Consolas,Tahoma,sans-serif; direction:ltr; }
.smartmap-reset { margin-inline-start:auto; display:inline-flex; align-items:center; gap:7px; }
.smartmap-stage { position:relative; min-height:500px; aspect-ratio:2/1; overflow:hidden; border:1px solid #5590ab; border-radius:6px; background:#020b12; box-shadow:var(--shadow); }
.smartmap-2d,.smartmap-3d { position:absolute; inset:0; overflow:hidden; }
.smartmap-2d[hidden],.smartmap-3d[hidden] { display:none; }
.smartmap-3d { background:radial-gradient(circle at 50% 48%,rgba(33,105,139,.22),rgba(2,11,18,.88) 43%,#01060a 72%); }
.smartmap-3d::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.32; background-image:radial-gradient(circle,rgba(255,255,255,.78) 0 1px,transparent 1.2px); background-size:53px 47px; }
#smartGlobeCanvas { position:absolute; inset:0; width:100%; height:100%; display:block; cursor:grab; touch-action:none; }
#smartGlobeCanvas.dragging { cursor:grabbing; }
.smart-globe-marker-layer { position:absolute; inset:0; pointer-events:none; }
.smart-globe-marker { position:absolute; transform:translate(-50%,-50%); width:var(--smart-marker-size,11px); height:var(--smart-marker-size,11px); padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; pointer-events:auto; }
.smart-globe-marker i { display:block; width:100%; height:100%; border-radius:50%; background:var(--smart-marker-color,#54d5ff); border:2px solid rgba(255,255,255,.95); box-shadow:0 0 0 4px color-mix(in srgb,var(--smart-marker-color,#54d5ff) 22%,transparent),0 0 13px var(--smart-marker-color,#54d5ff); }
.smart-globe-marker.meteorite i { border-radius:3px; transform:rotate(45deg); --smart-marker-color:#eaa23b; background:linear-gradient(135deg,#ffe2a8,#bd741d); }
.smart-globe-marker.impact i { background:rgba(255,126,61,.12); border:3px solid #ff7e3d; --smart-marker-color:#ff7e3d; box-shadow:0 0 0 4px rgba(255,126,61,.18),inset 0 0 7px rgba(255,126,61,.6),0 0 14px rgba(255,126,61,.72); }
.smart-globe-marker.historical i { --smart-marker-color:#54d5ff; }
.smart-globe-marker span { position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); min-width:150px; max-width:230px; padding:6px 8px; border:1px solid var(--line); border-radius:6px; background:rgba(3,18,29,.96); color:#fff; font-size:10px; line-height:1.5; opacity:0; pointer-events:none; transition:opacity .14s; }
.smart-globe-marker:hover span,.smart-globe-marker:focus-visible span { opacity:1; }
.smart-globe-marker:hover i,.smart-globe-marker:focus-visible i { transform:scale(1.28); }
.smart-globe-marker.meteorite:hover i,.smart-globe-marker.meteorite:focus-visible i { transform:rotate(45deg) scale(1.28); }
.smart-globe-hud { position:absolute; inset:auto 12px 12px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 11px; border:1px solid rgba(84,213,255,.2); border-radius:7px; background:rgba(1,10,17,.78); color:#cce0eb; font-size:11px; pointer-events:none; }
.smart-globe-hud b { color:var(--gold-soft); font:800 11px Consolas,monospace; direction:ltr; }
.smart-globe-fallback { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); max-width:440px; padding:14px 18px; border:1px solid rgba(240,162,46,.55); border-radius:8px; background:rgba(40,25,8,.92); color:#ffe1a6; text-align:center; }
.smartmap-legend { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:10px; padding:10px 12px; border:1px solid var(--line-soft); border-radius:8px; background:rgba(6,29,45,.76); }
.smartmap-legend > span { display:flex; align-items:center; gap:7px; color:#d8e8f0; font-size:11px; }
.smartmap-legend small { margin-inline-start:auto; color:var(--muted); font-size:10px; }
.smart-symbol { width:10px; height:10px; display:inline-block; border:2px solid #fff; border-radius:50%; background:#54d5ff; }
.smart-symbol.meteorite { border-radius:2px; transform:rotate(45deg); background:#eaa23b; }
.smart-symbol.impact { background:transparent; border:3px solid #ff7e3d; }
.smart-symbol.historical { background:#54d5ff; box-shadow:0 0 7px #54d5ff; }
@media (max-width:900px) {
  .smartmap-heading,.smartmap-controls-panel > header { align-items:flex-start; flex-direction:column; }
  .smartmap-stage { min-height:420px; aspect-ratio:auto; }
  .smartmap-reset { margin-inline-start:0; }
  .smartmap-legend small { width:100%; margin-inline-start:0; }
}
@media (max-width:560px) {
  .smartmap-stage { min-height:390px; }
  .smart-globe-hud { align-items:flex-start; flex-direction:column; }
}


/* Smart Map R5 — scientific geographic intelligence overlays */
.smartmap-overlay-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 14px 13px;border-top:1px solid rgba(91,154,182,.12);padding-top:10px}
.smartmap-overlay-row>.eyebrow{margin-inline-end:3px}
.smartmap-overlay-row small{margin-inline-start:auto;color:var(--muted);font-size:9px;line-height:1.5}
.smart-coordinate-status{min-width:250px}
.smart-geo-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.smart-geo-overlay .geo-grid-line{fill:none;stroke:rgba(119,213,245,.35);stroke-width:1;vector-effect:non-scaling-stroke}
.smart-geo-overlay .geo-grid-line.major{stroke:rgba(139,224,250,.55);stroke-width:1.15}
.smart-geo-overlay .geo-reference-line{fill:none;stroke:rgba(255,210,103,.9);stroke-width:1.8;vector-effect:non-scaling-stroke}
.smart-geo-overlay .geo-reference-line.prime{stroke:rgba(255,153,92,.95)}
.smart-geo-overlay .geo-reference-line.tropic{stroke:rgba(112,235,177,.86);stroke-width:1.45;stroke-dasharray:7 5}
.smart-geo-overlay .geo-reference-line.polar{stroke:rgba(187,203,255,.88);stroke-width:1.45;stroke-dasharray:3 5}
.smart-geo-overlay text{paint-order:stroke;stroke:rgba(0,10,17,.92);stroke-width:3px;stroke-linejoin:round;fill:#e6f8ff;font:700 10px Consolas,Tahoma,sans-serif;direction:ltr}
.smart-geo-overlay text.reference-label{fill:#ffe2a5;font-size:10px}
.smart-geo-overlay text.tropic-label{fill:#bdf6d8}
.smart-geo-overlay text.polar-label{fill:#d8e1ff}
.smart-coordinate-crosshair{position:absolute;z-index:7;width:0;height:0;pointer-events:none}
.smart-coordinate-crosshair::before,.smart-coordinate-crosshair::after{content:"";position:absolute;background:rgba(255,226,165,.92);box-shadow:0 0 5px rgba(255,214,126,.6)}
.smart-coordinate-crosshair::before{width:1px;height:34px;left:0;top:-17px}
.smart-coordinate-crosshair::after{height:1px;width:34px;left:-17px;top:0}
.smart-coordinate-crosshair b{position:absolute;left:12px;top:12px;white-space:nowrap;padding:4px 7px;border:1px solid rgba(255,214,126,.5);border-radius:5px;background:rgba(1,13,22,.9);color:#ffe4a8;font:800 10px Consolas,monospace;direction:ltr}
.smart-compass{position:absolute;z-index:6;width:78px;height:78px;border:1px solid rgba(199,230,243,.45);border-radius:50%;background:rgba(1,14,23,.6);pointer-events:none;box-shadow:inset 0 0 16px rgba(84,213,255,.08)}
.smart-compass-2d{right:12px;top:12px}.smart-compass-3d{right:12px;top:12px}
.smart-compass span{position:absolute;color:#e7f6fb;font:800 9px Consolas,monospace}.smart-compass .north{top:4px;left:50%;transform:translateX(-50%);color:#ffcb72}.smart-compass .south{bottom:4px;left:50%;transform:translateX(-50%)}.smart-compass .east{right:5px;top:50%;transform:translateY(-50%)}.smart-compass .west{left:5px;top:50%;transform:translateY(-50%)}
.smart-compass i{position:absolute;left:50%;top:50%;width:2px;height:44px;transform:translate(-50%,-50%);background:linear-gradient(to bottom,#ffcb72 0 47%,rgba(204,230,240,.55) 47% 100%)}
.smart-compass i::before{content:"";position:absolute;left:50%;top:-4px;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:0;border-top:10px solid #ffcb72}
.smart-globe-coordinate-stack{display:grid;justify-items:end;gap:2px;direction:ltr}
.smart-globe-coordinate-stack>b{color:var(--gold-soft);font:800 11px Consolas,monospace;direction:ltr}
.smart-globe-coordinate-stack small{color:var(--muted);font:700 9px Tahoma,sans-serif;direction:inherit}
.smart-globe-coordinate-stack strong{color:#d9f5ff;font:800 9px Consolas,monospace;direction:ltr}
.smart-reference-key i{display:inline-block;width:22px;height:0;border-top:2px solid #ffd267}
.smart-reference-key i.prime{border-color:#ff995c}.smart-reference-key i.tropic{border-color:#70ebb1;border-top-style:dashed}.smart-reference-key i.polar{border-color:#bbcfff;border-top-style:dotted}
@media(max-width:900px){.smartmap-overlay-row small{width:100%;margin-inline-start:0}.smart-coordinate-status{min-width:0}.smart-compass{width:62px;height:62px}.smart-compass i{height:34px}.smart-geo-overlay text{font-size:8px}.smart-globe-coordinate-stack{justify-items:start}}


/* v0.7.3 — SMART INTELLIGENCE read-only presentation layer. Scientific core unchanged. */
.command-button.intelligence-command{border-color:rgba(112,235,177,.48)}
.command-button.intelligence-command.active,.command-button.intelligence-command:hover{background:linear-gradient(180deg,#145e58,#0b3b3b)}
.intelligence-heading{align-items:center}
.intelligence-freeze-badge{display:flex;align-items:center;gap:8px;min-width:220px;padding:9px 12px;border:1px solid rgba(112,235,177,.5);border-radius:999px;background:rgba(20,95,79,.2);color:#baf6d9;font:900 10px Consolas,Tahoma,sans-serif;direction:ltr}
.intelligence-freeze-badge i{width:8px;height:8px;border-radius:50%;background:#70ebb1;box-shadow:0 0 10px rgba(112,235,177,.9)}
.intelligence-metrics{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));gap:9px;margin-bottom:10px}
.intelligence-metrics article{min-height:92px;display:grid;align-content:center;gap:4px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:9px;background:linear-gradient(145deg,rgba(10,47,65,.92),rgba(5,27,40,.96));box-shadow:var(--shadow)}
.intelligence-metrics span{color:var(--muted);font-size:10px;font-weight:800}.intelligence-metrics strong{color:var(--text);font-size:20px;direction:ltr}.intelligence-metrics small{color:#70ebb1;font:800 8px Consolas,Tahoma,sans-serif;direction:ltr}
.intelligence-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:10px}
.intelligence-selection-panel,.intelligence-source-panel,.intelligence-provenance-panel{overflow:hidden}
.intelligence-selection-panel>header,.intelligence-source-panel>header,.intelligence-provenance-panel>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}
.intelligence-selection-panel h2,.intelligence-source-panel h2,.intelligence-provenance-panel h2{margin:3px 0 0;font-size:15px}
.intelligence-origin-badge{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(68,86,98,.2);color:#c6d9e1;font:900 9px Consolas,Tahoma,sans-serif;direction:ltr}
.intelligence-origin-badge.live{border-color:rgba(112,235,177,.52);background:rgba(32,127,88,.2);color:#aaf0ce}.intelligence-origin-badge.local,.intelligence-origin-badge.bundled{border-color:rgba(84,213,255,.5);background:rgba(32,104,135,.2);color:#b8edff}.intelligence-origin-badge.sample{border-color:rgba(240,162,46,.5);background:rgba(137,83,20,.2);color:#ffe0a0}
.intelligence-empty{min-height:310px;display:grid;place-items:center;align-content:center;gap:7px;padding:24px;text-align:center}.intelligence-empty>span{font-size:42px;color:#70ebb1}.intelligence-empty h3{margin:0;color:#e7f7fb;font-size:15px}.intelligence-empty p{max-width:560px;margin:0;color:var(--muted);font-size:10px;line-height:1.8}
.intelligence-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px 8px}.intelligence-module-grid[hidden]{display:none}
.intelligence-module{min-height:130px;padding:10px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(4,24,37,.76);position:relative;overflow:hidden}.intelligence-module::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:#758892}.intelligence-module.available::before{background:#70ebb1}.intelligence-module.ondemand::before{background:#54d5ff}.intelligence-module.nodata::before{background:#f0a22e}.intelligence-module.na::before{background:#687983}
.intelligence-module header{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center}.intelligence-module header>span{display:grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border:1px solid rgba(113,180,204,.35);border-radius:5px;background:rgba(19,73,94,.45);color:#dff7ff;font:900 8px Consolas,monospace}.intelligence-module h3{margin:0;font-size:10px}.intelligence-module header>b{grid-column:1/-1;justify-self:start;padding:3px 6px;border:1px solid var(--line-soft);border-radius:999px;color:#c8d9e1;font-size:7px}.intelligence-module.available header>b{color:#aaf0ce;border-color:rgba(112,235,177,.36)}.intelligence-module.ondemand header>b{color:#bcefff;border-color:rgba(84,213,255,.35)}.intelligence-module.nodata header>b{color:#ffe0a5;border-color:rgba(240,162,46,.36)}
.intelligence-module p{margin:9px 0 0;color:#e0f0f6;font-size:9px;line-height:1.65;word-break:break-word}.intelligence-module small{display:block;margin-top:5px;color:var(--muted);font-size:8px;line-height:1.5}
.intelligence-coverage{padding:8px 14px 12px}.intelligence-coverage[hidden]{display:none}.intelligence-coverage>div:first-child{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px}.intelligence-coverage>div:first-child b{color:#baf6d9;direction:ltr}.intelligence-coverage-track{height:8px;margin-top:6px;overflow:hidden;border-radius:999px;background:rgba(108,135,147,.2)}.intelligence-coverage-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1e7187,#70ebb1);transition:width .2s ease}.intelligence-coverage small{display:block;margin-top:6px;color:var(--muted);font-size:8px;line-height:1.5}
.intelligence-actions{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 14px}.intelligence-actions .secondary-action{min-height:36px;display:inline-flex;align-items:center;gap:6px}
.intelligence-source-matrix{padding:8px 12px 12px}.intelligence-source-row{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(68px,.5fr) minmax(90px,.65fr) minmax(110px,.8fr);gap:7px;align-items:center;padding:8px 6px;border-bottom:1px solid rgba(92,169,205,.11)}.intelligence-source-row:last-child{border-bottom:0}.intelligence-source-row>div{min-width:0}.intelligence-source-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e6f4fa;font:900 9px Consolas,Tahoma,sans-serif;direction:ltr}.intelligence-source-row small{display:block;margin-top:2px;color:var(--muted);font-size:7px}.intelligence-source-row>span{min-width:0}.intelligence-source-row>span>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8edf5;font-size:9px}.source-health{display:grid!important;grid-template-columns:auto 1fr;column-gap:5px;align-items:center}.source-health i{width:7px;height:7px;border-radius:50%;background:#687983}.source-health.online i,.source-health.local i{background:#70ebb1;box-shadow:0 0 7px rgba(112,235,177,.7)}.source-health.offline i{background:#e66e62}.source-health.unchecked i{background:#f0a22e}.source-health small{grid-column:2}.intelligence-policy{margin:0 12px 12px}
.intelligence-provenance-panel{margin-top:10px}.intelligence-provenance{display:flex;gap:0;overflow-x:auto;padding:14px}.provenance-step{position:relative;display:flex;align-items:center;gap:8px;min-width:170px;padding:8px 12px 8px 8px;border:1px solid var(--line-soft);background:rgba(4,25,39,.76)}.provenance-step:not(:last-child)::after{content:"›";position:absolute;inset-inline-end:-8px;z-index:2;color:#70ebb1;font-size:22px}.provenance-step>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:rgba(112,235,177,.15);border:1px solid rgba(112,235,177,.42);color:#baf6d9;font:900 9px Consolas,monospace}.provenance-step div{min-width:0}.provenance-step small{display:block;color:var(--muted);font-size:7px}.provenance-step b{display:block;margin-top:2px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e3f3f8;font-size:9px}.intelligence-provenance-empty{width:100%;padding:20px;color:var(--muted);text-align:center;font-size:10px}
@media(max-width:1250px){.intelligence-metrics{grid-template-columns:repeat(3,1fr)}.intelligence-main-grid{grid-template-columns:1fr}.intelligence-module-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.intelligence-heading{align-items:flex-start;flex-direction:column}.intelligence-freeze-badge{min-width:0}.intelligence-metrics{grid-template-columns:repeat(2,1fr)}.intelligence-module-grid{grid-template-columns:repeat(2,1fr)}.intelligence-source-row{grid-template-columns:1fr 70px}.source-health{grid-column:1/-1}.intelligence-provenance{flex-direction:column}.provenance-step{min-width:0}.provenance-step:not(:last-child)::after{content:"↓";inset:auto 50% -13px auto;transform:translateX(50%)}}
@media(max-width:480px){.intelligence-metrics,.intelligence-module-grid{grid-template-columns:1fr}}
@media(min-width:1201px){.command-ribbon{grid-template-columns:repeat(7,minmax(100px,1fr))}}


/* v0.7.4 — SMART ANALYTICS read-only derived presentation layer. Scientific core unchanged. */
.command-button.analytics-command{border-color:rgba(240,162,46,.55)}
.command-button.analytics-command.active,.command-button.analytics-command:hover{background:linear-gradient(180deg,#a55e16,#6f3b0a);border-color:#ffd27d}
.analytics-heading{align-items:center}
.analytics-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.analytics-readonly-badge{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(240,162,46,.48);border-radius:999px;background:rgba(126,75,17,.22);color:#ffe0a0;font:900 9px Consolas,Tahoma,sans-serif;direction:ltr}
.analytics-readonly-badge i{width:7px;height:7px;border-radius:50%;background:#f0a22e;box-shadow:0 0 9px rgba(240,162,46,.8)}
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));gap:9px;margin-bottom:10px}
.analytics-kpi-grid article{min-height:91px;display:grid;align-content:center;gap:4px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:9px;background:linear-gradient(145deg,rgba(39,43,39,.94),rgba(15,31,39,.96));box-shadow:var(--shadow)}
.analytics-kpi-grid span{color:var(--muted);font-size:10px;font-weight:800}.analytics-kpi-grid strong{color:#ffe0a0;font-size:21px;direction:ltr}.analytics-kpi-grid small{color:#8dddb8;font:800 8px Consolas,Tahoma,sans-serif;direction:ltr}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-wide{grid-column:1/-1}
.analytics-panel{overflow:hidden}.analytics-panel>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}
.analytics-panel h2{margin:3px 0 0;font-size:15px}.analytics-panel .official-chip{white-space:nowrap}
.analytics-bars{display:grid;gap:8px;padding:12px 14px}.analytics-bars.compact{gap:6px}
.analytics-bar-row{display:grid;gap:4px}.analytics-bar-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.analytics-bar-label b{color:#e2f1f7;font-size:9px}.analytics-bar-label span{color:#ffd58a;font:900 10px Consolas,monospace;direction:ltr}
.analytics-bar-track{height:9px;overflow:hidden;border-radius:999px;background:rgba(91,128,145,.18);border:1px solid rgba(92,169,205,.1)}.analytics-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#286d89,#54d5ff 65%,#ffd067)}
.analytics-bar-row small{color:var(--muted);font-size:7px;direction:ltr}
.analytics-subheading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 14px 0;padding-top:9px;border-top:1px solid rgba(92,169,205,.14)}.analytics-subheading span{color:#cfe8f2;font-size:9px;font-weight:900}.analytics-subheading small{color:var(--muted);font-size:7px}
.analytics-ranked-list{display:grid;gap:4px;padding:8px 12px 12px}.analytics-ranked-list button{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid rgba(92,169,205,.14);border-radius:6px;background:rgba(5,28,42,.56);text-align:start;cursor:pointer}.analytics-ranked-list button:hover{border-color:rgba(84,213,255,.52);background:rgba(14,58,78,.68)}.analytics-ranked-list button>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(240,162,46,.15);border:1px solid rgba(240,162,46,.35);color:#ffd58a;font:900 8px Consolas,monospace}.analytics-ranked-list div{min-width:0}.analytics-ranked-list b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.analytics-ranked-list small{display:block;color:var(--muted);font-size:7px}.analytics-ranked-list strong{color:#b9efff;font:900 9px Consolas,monospace;direction:ltr}
.analytics-quality-list{display:grid;gap:8px;padding:12px 14px 4px}.analytics-quality-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,1.2fr) 46px;gap:8px;align-items:center}.analytics-quality-row>div:first-child{min-width:0}.analytics-quality-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.analytics-quality-row span{display:block;color:var(--muted);font-size:7px;direction:ltr}.analytics-quality-track{height:8px;overflow:hidden;border-radius:999px;background:rgba(91,128,145,.17)}.analytics-quality-track i{display:block;height:100%;background:linear-gradient(90deg,#1c7657,#70ebb1)}.analytics-quality-row>small{color:#baf6d9;font:900 8px Consolas,monospace;direction:ltr;text-align:end}
.analytics-note{margin:7px 12px 12px}.analytics-master-note{margin:10px 0 0;border-color:rgba(240,162,46,.28);background:rgba(100,61,18,.13)}
.analytics-source-health{display:grid;padding:8px 12px 12px}.analytics-source-row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(80px,.55fr) minmax(90px,.7fr);gap:8px;align-items:center;padding:8px 5px;border-bottom:1px solid rgba(92,169,205,.11)}.analytics-source-row:last-child{border-bottom:0}.analytics-source-row .source-health{grid-template-columns:auto 1fr!important}.analytics-source-row .source-health b{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-source-row>strong{color:#dcecf2;font-size:9px}.analytics-source-row>small{color:var(--muted);font-size:7px;direction:ltr;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.analytics-table-scroll{max-height:330px}.analytics-table td,.analytics-table th{font-size:9px}.analytics-table .ltr-cell{direction:ltr;font-family:Consolas,monospace}.analytics-table .table-link{border:0;background:transparent;color:#bfeeff;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.analytics-table tr[data-sentry-index]{cursor:pointer}.analytics-table tr[data-sentry-index]:hover{background:rgba(84,213,255,.06)}
.analytics-selected-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px 12px 12px}.analytics-selected-summary>div{display:flex;justify-content:space-between;gap:10px;padding:8px;border-bottom:1px solid rgba(92,169,205,.12)}.analytics-selected-summary span{color:var(--muted);font-size:8px}.analytics-selected-summary b{color:#e4f2f7;font-size:9px;direction:ltr;text-align:end;overflow-wrap:anywhere}.analytics-empty{margin:0;padding:20px;color:var(--muted);font-size:9px;text-align:center}
@media(max-width:1250px){.analytics-kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.analytics-heading{align-items:flex-start;flex-direction:column}.analytics-heading-actions{justify-content:flex-start}.analytics-grid{grid-template-columns:1fr}.analytics-wide{grid-column:auto}.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.analytics-kpi-grid{grid-template-columns:1fr}.analytics-quality-row{grid-template-columns:1fr 46px}.analytics-quality-row>div:first-child{grid-column:1/-1}.analytics-selected-summary{grid-template-columns:1fr}.analytics-source-row{grid-template-columns:1fr auto}.analytics-source-row>small{grid-column:1/-1}}


/* v0.7.5 — CINEMATIC EXPLORER FINAL. Read-only presentation layer; Scientific Core 0.7.2 unchanged. */
.cinematic-command span{font-size:1.02rem}.cinematic-heading{align-items:flex-start}.cinematic-final-badge{white-space:nowrap}
.cinematic-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr);gap:16px;align-items:start}
.cinematic-stage-panel,.cinematic-actions-panel{min-width:0}.cinematic-stage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.cinematic-source-badge{display:inline-flex;align-items:center;max-width:48%;padding:7px 10px;border:1px solid rgba(111,203,255,.24);border-radius:999px;background:rgba(6,26,41,.72);color:#bfeaff;font-size:.72rem;text-align:center}.cinematic-source-badge.live{border-color:rgba(68,212,147,.34);color:#8ff0c2}.cinematic-source-badge.local,.cinematic-source-badge.bundled{border-color:rgba(230,188,92,.34);color:#f1d48c}
.cinematic-empty{min-height:420px;display:grid;place-items:center;align-content:center;text-align:center;padding:34px;gap:11px;background:radial-gradient(circle at 50% 42%,rgba(37,138,190,.10),transparent 34%)}.cinematic-empty p{max-width:620px;color:var(--muted);margin:0}.cinematic-empty-orbit{width:116px;height:116px;border:1px solid rgba(111,203,255,.30);border-radius:50%;display:grid;place-items:center;position:relative;margin-bottom:8px}.cinematic-empty-orbit:before,.cinematic-empty-orbit:after{content:"";position:absolute;inset:12px;border:1px solid rgba(230,188,92,.22);border-radius:50%;transform:rotate(45deg) scaleY(.45)}.cinematic-empty-orbit:after{transform:rotate(-45deg) scaleY(.45)}.cinematic-empty-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#6fcbff;box-shadow:0 0 14px rgba(111,203,255,.8)}.cinematic-empty-orbit b{font-size:1.45rem;color:#e6bc5c}
.cinematic-sequence{display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:7px;margin:4px 0 15px}.cinematic-sequence button{border:1px solid rgba(111,203,255,.14);background:rgba(5,22,35,.72);border-radius:10px;padding:9px 6px;color:var(--muted);display:grid;gap:2px;text-align:center;cursor:pointer}.cinematic-sequence button span{font:600 .66rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#6fcbff}.cinematic-sequence button b{font-size:.75rem}.cinematic-sequence button.active{border-color:rgba(230,188,92,.48);background:linear-gradient(180deg,rgba(230,188,92,.12),rgba(5,22,35,.84));color:var(--text)}
.cinematic-scene{min-height:390px;border:1px solid rgba(111,203,255,.14);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);background:linear-gradient(135deg,rgba(4,19,31,.92),rgba(7,31,48,.78));position:relative}.cinematic-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 48%,rgba(111,203,255,.04) 50%,transparent 52%);background-size:34px 100%;opacity:.55}.cinematic-visual{position:relative;display:grid;place-items:center;min-height:390px;overflow:hidden;background:radial-gradient(circle at center,rgba(24,126,176,.18),rgba(2,14,24,.45) 55%,rgba(2,14,24,.8))}.cinematic-ring{position:absolute;width:230px;height:230px;border:1px solid rgba(111,203,255,.28);border-radius:50%}.cinematic-ring.ring-one{transform:rotate(28deg) scaleY(.38)}.cinematic-ring.ring-two{transform:rotate(-36deg) scaleY(.56);border-color:rgba(230,188,92,.28)}.cinematic-ring:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#6fcbff;top:49%;left:-4px;box-shadow:0 0 12px rgba(111,203,255,.85)}.cinematic-object{width:92px;height:92px;border-radius:45% 55% 52% 48%;display:grid;place-items:center;font-size:2.2rem;color:#f2d993;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.15),rgba(230,188,92,.08) 30%,rgba(5,23,36,.95) 72%);border:1px solid rgba(230,188,92,.36);box-shadow:0 0 40px rgba(37,138,190,.16);z-index:2}.cinematic-scan{position:absolute;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#6fcbff,transparent);box-shadow:0 0 8px rgba(111,203,255,.55);animation:cinematic-scan 4.8s linear infinite}@keyframes cinematic-scan{0%{top:18%;opacity:.15}50%{top:78%;opacity:.85}100%{top:18%;opacity:.15}}
.cinematic-copy{padding:28px 26px;align-self:center;position:relative;z-index:1}.cinematic-copy h2{margin:5px 0 8px;font-size:1.35rem}.cinematic-copy>p{color:var(--muted);margin:0 0 20px;max-width:720px}.cinematic-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cinematic-data-grid>div{min-width:0;border:1px solid rgba(111,203,255,.11);border-radius:9px;padding:9px 10px;background:rgba(2,15,25,.55);display:grid;gap:3px}.cinematic-data-grid span{font-size:.68rem;color:var(--muted)}.cinematic-data-grid b{font-size:.78rem;overflow-wrap:anywhere}.cinematic-data-empty{grid-column:1/-1;color:var(--muted)}
.cinematic-progress-wrap{display:flex;align-items:center;gap:12px;margin-top:14px}.cinematic-progress{height:5px;flex:1;border-radius:999px;background:rgba(111,203,255,.10);overflow:hidden}.cinematic-progress i{display:block;height:100%;width:16.66%;background:linear-gradient(90deg,#258abe,#e6bc5c);transition:width .35s ease}.cinematic-progress-wrap>b{font:600 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#bfeaff}.cinematic-controls{display:flex;justify-content:center;gap:9px;margin-top:14px}.cinematic-controls button{min-width:130px;justify-content:center}.cinematic-play{min-width:170px!important}
.cinematic-actions-panel header{align-items:flex-start}.cinematic-action-grid{display:grid;gap:8px}.cinematic-action-grid button{border:1px solid rgba(111,203,255,.13);border-radius:11px;background:rgba(5,22,35,.7);color:var(--text);padding:12px;display:grid;grid-template-columns:30px 1fr;grid-template-areas:"icon title" "icon hint";column-gap:10px;text-align:start;cursor:pointer}.cinematic-action-grid button>span{grid-area:icon;align-self:center;font-size:1.05rem;color:#6fcbff}.cinematic-action-grid button>b{grid-area:title;font-size:.8rem}.cinematic-action-grid button>small{grid-area:hint;color:var(--muted);font-size:.66rem;margin-top:2px}.cinematic-action-grid button:not(:disabled):hover{border-color:rgba(230,188,92,.38);background:rgba(230,188,92,.07)}.cinematic-action-grid button:disabled{opacity:.38;cursor:not-allowed}.cinematic-note{margin:14px 0 0}.cinematic-scene[data-scene-status="unavailable"] .cinematic-object{filter:saturate(.45);opacity:.72}.cinematic-scene[data-scene-status="context"] .cinematic-ring.ring-two{border-style:dashed}
@media (max-width:1100px){.cinematic-layout{grid-template-columns:1fr}.cinematic-actions-panel{order:2}.cinematic-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.cinematic-stage-header{display:grid}.cinematic-source-badge{max-width:100%;justify-self:start}.cinematic-sequence{grid-template-columns:repeat(3,1fr)}.cinematic-scene{grid-template-columns:1fr}.cinematic-visual{min-height:220px}.cinematic-copy{padding:20px}.cinematic-data-grid{grid-template-columns:1fr}.cinematic-controls{flex-wrap:wrap}.cinematic-controls button{min-width:0;flex:1 1 120px}.cinematic-action-grid{grid-template-columns:1fr}}


/* NASA/JPL 6x6 diagnostic summary — V5 */
.nasa-diagnostic-summary{margin:14px 14px 0;display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:10px;background:linear-gradient(135deg,rgba(8,42,64,.94),rgba(4,22,35,.98));transition:.2s ease}
.nasa-diagnostic-summary .diagnostic-score{display:flex;align-items:baseline;gap:8px;min-width:150px;direction:ltr}.nasa-diagnostic-summary .diagnostic-score span{font:800 12px Consolas,Tahoma,sans-serif;letter-spacing:.08em;color:var(--cyan)}.nasa-diagnostic-summary .diagnostic-score strong{font:900 26px Consolas,Tahoma,sans-serif;color:#9ab3c2}.nasa-diagnostic-summary .diagnostic-summary-text{display:grid;gap:4px}.nasa-diagnostic-summary .diagnostic-summary-text b{font-size:13px;color:var(--text)}.nasa-diagnostic-summary .diagnostic-summary-text small{font:700 10px Consolas,Tahoma,sans-serif;color:#7996a8;direction:ltr;text-align:start}
.nasa-diagnostic-summary[data-state="online"]{border-color:rgba(68,212,147,.46);box-shadow:inset 0 0 24px rgba(68,212,147,.05)}.nasa-diagnostic-summary[data-state="online"] .diagnostic-score strong{color:#73e0ad}.nasa-diagnostic-summary[data-state="partial"]{border-color:rgba(240,162,46,.48)}.nasa-diagnostic-summary[data-state="partial"] .diagnostic-score strong{color:#ffc25e}.nasa-diagnostic-summary[data-state="offline"]{border-color:rgba(217,87,87,.5)}.nasa-diagnostic-summary[data-state="offline"] .diagnostic-score strong{color:#ff9292}.nasa-diagnostic-summary[data-state="checking"] .diagnostic-score strong{color:var(--cyan)}
.service-status-card.version-warning{border-color:rgba(240,162,46,.48)}.service-status-card.version-warning i{background:var(--gold);box-shadow:0 0 12px var(--gold)}.service-status-card.version-warning strong{color:#ffc25e}.service-status-card.version-warning::after{background:var(--gold)}
@media(max-width:720px){.nasa-diagnostic-summary{align-items:flex-start;flex-direction:column}.nasa-diagnostic-summary .diagnostic-score{min-width:0}}

/* FINAL QA — NASA/JPL 6/6 state */
.status-pill.warning { border-color: rgba(240,162,46,.75); box-shadow: inset 0 0 0 1px rgba(240,162,46,.12); }
.status-pill.warning i { background: #44d493; }
.final-engine-info input[readonly] { cursor: default; opacity: .95; }


/* NASA/JPL 6x6 diagnostics dialog — v0.7.12 IQ200 FINAL */
.nasa-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.nasa-status-dialog{width:min(1040px,96vw);max-height:92vh}
.nasa-status-shell{max-height:92vh}
.nasa-status-content{padding:16px}
.nasa-dialog-summary{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:12px 14px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:rgba(8,39,60,.78)}
.nasa-dialog-summary>div{display:grid;min-width:112px;text-align:center}.nasa-dialog-summary>div span{font:700 10px Consolas,monospace;color:var(--muted)}.nasa-dialog-summary>div strong{font:800 28px Consolas,monospace;color:#dceef7}
.nasa-dialog-summary p{margin:0}.nasa-dialog-summary p b{display:block;font-size:14px}.nasa-dialog-summary p small{display:block;margin-top:5px;color:var(--muted);line-height:1.55}
.nasa-dialog-summary.online{border-color:rgba(65,220,146,.55)}.nasa-dialog-summary.version-warning{border-color:rgba(255,186,70,.7)}.nasa-dialog-summary.offline{border-color:rgba(255,95,95,.65)}
.nasa-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.nasa-dialog-service{min-height:112px}.nasa-dialog-service em{display:block;margin-top:5px;font-style:normal;font:700 8px Consolas,monospace;color:var(--muted);direction:ltr}
.nasa-status-footer{gap:8px;justify-content:flex-start!important;flex-wrap:wrap}
@media(max-width:780px){.nasa-dialog-grid{grid-template-columns:1fr 1fr}.nasa-dialog-summary{grid-template-columns:1fr}.nasa-heading-actions{justify-content:flex-start}}
@media(max-width:520px){.nasa-dialog-grid{grid-template-columns:1fr}}

/* v0.7.21 visual-count integrity */
.map-label-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.map-count-audit{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(1,15,25,.78);font:800 11px/1.3 Consolas,monospace;color:#dbefff;font-variant-numeric:tabular-nums;direction:ltr}
.map-count-audit.count-ok{border-color:rgba(87,222,166,.8);color:#7df0bd;background:rgba(14,87,64,.72)}
.map-count-audit.count-error{border-color:rgba(255,111,91,.9);color:#ffb2a5;background:rgba(105,35,29,.82)}
.marker-layer .map-marker{will-change:left,top;contain:layout style paint}

/* v0.7.22 official NASA/JPL count provenance */
.metric-strip article small[id$="Meta"]{display:flex;flex-direction:column;gap:4px;align-items:flex-start;line-height:1.25}
[dir="rtl"] .metric-strip article small[id$="Meta"]{align-items:flex-end}
.official-live-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:rgba(34,197,94,.16);border:1px solid rgba(74,222,128,.55);color:#86efac;font-weight:800;font-size:10px;letter-spacing:.04em}
.official-source-time{display:block;max-width:100%;font-size:9px;opacity:.75;white-space:normal;overflow-wrap:anywhere}


/* v0.7.24 IQ200 Beginner UX / scientific guide */
.guide-command{border-color:rgba(110,231,183,.35)!important;background:linear-gradient(180deg,rgba(12,83,69,.72),rgba(5,36,36,.88))!important}.guide-command>span{color:#8ff0c8!important;font-weight:900}.beginner-hint{margin:0 0 12px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(111,203,255,.24);border-radius:12px;background:linear-gradient(120deg,rgba(11,53,77,.86),rgba(7,30,46,.82));box-shadow:inset 0 1px rgba(255,255,255,.03)}.beginner-hint-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(111,203,255,.14);border:1px solid rgba(111,203,255,.38);color:#aee8ff;font-weight:900;font-size:1.1rem}.beginner-hint b{font-size:.82rem}.beginner-hint p{margin:3px 0 0;color:var(--muted);font-size:.72rem;line-height:1.65}.guide-heading{padding-bottom:4px}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.guide-steps article{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid rgba(111,203,255,.16);border-radius:14px;background:linear-gradient(145deg,rgba(6,34,52,.92),rgba(4,23,36,.92))}.guide-steps article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#1f83b6,#25b885);font-weight:900;color:white;box-shadow:0 0 20px rgba(67,196,220,.12)}.guide-steps b{display:block;font-size:.85rem;margin-bottom:5px}.guide-steps p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.7}.beginner-glossary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.glossary-card{position:relative;min-height:215px;padding:17px 15px 14px;border:1px solid rgba(111,203,255,.14);border-radius:15px;background:radial-gradient(circle at 85% 8%,rgba(49,164,203,.10),transparent 35%),linear-gradient(150deg,rgba(6,31,48,.96),rgba(3,20,31,.96));box-shadow:0 10px 35px rgba(0,0,0,.14);display:flex;flex-direction:column}.glossary-card:hover{border-color:rgba(105,218,180,.34);transform:translateY(-1px)}.glossary-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(111,203,255,.09);border:1px solid rgba(111,203,255,.22);color:#91e6ff;font:900 16px/1 Consolas,Tahoma,sans-serif;margin-bottom:12px}.glossary-card h2{font-size:.95rem;margin:0 0 7px}.glossary-card p{margin:0 0 12px;color:#a5bcc8;font-size:.72rem;line-height:1.75;flex:1}.glossary-card .text-button{align-self:flex-start}.guide-safety{margin-top:14px;border-color:rgba(230,188,92,.28)!important}.guide-safety p{margin:0;padding:0 16px 16px;color:#c9d8df;line-height:1.8;font-size:.75rem}.beginner-about-card{border-color:rgba(105,218,180,.22)!important}.welcome-dialog{width:min(780px,94vw)}.welcome-shell{max-height:90vh}.welcome-content{padding:18px 20px 10px}.welcome-lead{font-size:.86rem;color:#dceaf0;line-height:1.8;margin:0 0 12px}.welcome-points{display:grid;gap:9px}.welcome-points article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(111,203,255,.13);border-radius:10px;background:rgba(5,28,43,.66)}.welcome-points b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#17799f;color:#fff}.welcome-points span{font-size:.76rem}.welcome-dialog footer{display:flex!important;gap:8px;align-items:center;flex-wrap:wrap}.welcome-dont-show{margin-inline-start:auto;display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.67rem;cursor:pointer}.welcome-dont-show input{accent-color:#37c391}.metric-strip article{position:relative}.metric-strip article:after{content:'i';position:absolute;top:8px;inset-inline-end:8px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(111,203,255,.18);color:#6fcbff;font:800 9px/1 Tahoma,sans-serif;opacity:.6}.metric-strip article:hover:after{opacity:1;border-color:rgba(111,203,255,.5)}
@media(max-width:1200px){.beginner-glossary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.guide-steps{grid-template-columns:1fr}.beginner-hint{grid-template-columns:auto 1fr}.beginner-hint .text-button{grid-column:1/-1;justify-self:start}.beginner-glossary{grid-template-columns:1fr}}@media(max-width:560px){.welcome-dialog footer{align-items:stretch}.welcome-dialog footer>*{width:100%}.welcome-dont-show{margin:4px 0 0}}


/* v0.7.25 IQ200 Guided Start */
.guide-finish{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border:1px solid rgba(74,211,159,.42);background:linear-gradient(135deg,rgba(11,79,66,.78),rgba(8,39,57,.92));box-shadow:0 14px 35px rgba(0,0,0,.18)}
.guide-finish-copy{max-width:860px}.guide-finish-copy h2{margin:5px 0 8px}.guide-finish-copy p{margin:0;line-height:1.85;color:var(--muted)}
.guide-dashboard-cta{min-width:270px;min-height:58px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
.command-button.guide-command{background:linear-gradient(180deg,#0d6558,#0a4b43);border-color:rgba(85,224,181,.55)}
.command-button.guide-command.active{box-shadow:inset 0 0 0 1px rgba(118,255,211,.42),0 0 22px rgba(31,188,145,.16)}
@media(max-width:820px){.guide-finish{flex-direction:column;align-items:stretch}.guide-dashboard-cta{width:100%;min-width:0}}

/* v0.7.28 — persistent Program Guide button */
.command-ribbon .guide-command{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;background:linear-gradient(180deg,#0d7a69,#085247)!important;border:2px solid #68e0bd!important;color:#fff!important;box-shadow:0 0 0 1px rgba(104,224,189,.15),0 0 16px rgba(35,194,151,.18)!important}
.command-ribbon .guide-command b{color:#fff!important;font-weight:900!important}
.command-ribbon .guide-command span{color:#baffea!important}

/* v0.7.29 IQ200 navigation/documentation patch */
.about-guide-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:12px}
.about-guide-actions .primary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;color:#fff;line-height:1.35}
.scientific-guide-link{border-color:#e6bc5c!important;background:linear-gradient(180deg,#d69020,#9b6314)!important}
.scientific-guide-link:hover{filter:brightness(1.08)}
@media(max-width:700px){.about-guide-actions{display:grid;grid-template-columns:1fr}.about-guide-actions .primary-action{width:100%}}
