/* AUTO-GENERATED by scripts/build-tokens.js from tokens/tokens.json — do not edit by hand. */

:root {
  /* palette */
  --p-ink-950: #03060b; /* Deep space */
  --p-ink-900: #070d15; /* Panel base */
  --p-ink-800: #0d1620; /* Raised surface */
  --p-ink-700: #16232f; /* Track / well */
  --p-mist-100: #e3eef0; /* Brightest neutral */
  --p-mist-300: #a9bdc1; /* Secondary neutral */
  --p-mist-500: #7a9196; /* Tertiary neutral */
  --p-mist-700: #4b5f64; /* Disabled / faint */
  --p-signal: #3dfc9b; /* Signal green — selection, lock */
  --p-flare: #ff6a3d; /* Flare orange — tracked objects */
  --p-ion: #3ee8ff; /* Ion cyan — ground assets */
  --p-amber: #ffc24a; /* Caution */
  --p-red: #ff4d5e; /* Critical */
  --p-sky: #6aa8ff; /* Water / precipitation */
  --p-violet: #b39bff; /* Radar (SAR) */
  --p-white: #ffffff; /* Pure white */

  /* color */
  --bg-void: var(--p-ink-950); /* App background / deep space */
  --bg-panel: rgba(7, 13, 21, 0.9); /* Opaque panel surface, code chips */
  --bg-raised: rgba(22, 35, 47, 0.55); /* Cards and wells inside a panel */
  --bg-hover: rgba(61, 252, 155, 0.06); /* Row hover wash */
  --line-dim: rgba(140, 175, 180, 0.16); /* Hairline borders and dividers */
  --line-strong: rgba(140, 175, 180, 0.32); /* Control borders, focused wells */
  --accent-tracked: var(--p-flare); /* Tracked satellites, conjunction alerts */
  --accent-tracked-rgb: 255, 106, 61;
  --accent-selected: var(--p-signal); /* Selected satellite, orbit path, active state */
  --accent-selected-rgb: 61, 252, 155;
  --accent-hover: var(--p-white); /* Hovered satellite in the 3D view */
  --accent-hover-rgb: 255, 255, 255;
  --accent-station: var(--p-ion); /* Ground station marker */
  --accent-station-rgb: 62, 232, 255;
  --text-primary: var(--p-mist-100); /* Primary text */
  --text-dim: var(--p-mist-300); /* Secondary text, labels (AA on panels) */
  --text-faint: var(--p-mist-500); /* Tertiary text: units, ids, hints */
  --text-disabled: var(--p-mist-700); /* Disabled controls */

  /* status */
  --status-ok: var(--p-signal); /* Nominal / good window */
  --status-ok-rgb: 61, 252, 155;
  --status-warn: var(--p-amber); /* Marginal / simulated / stale */
  --status-warn-rgb: 255, 194, 74;
  --status-alert: var(--p-red); /* Critical / blocked */
  --status-alert-rgb: 255, 77, 94;
  --status-info: var(--p-ion); /* Neutral information */
  --status-info-rgb: 62, 232, 255;

  /* wx */
  --wx-clear: #1f6f8b; /* Cloud cover 0–30 %: clear sky */
  --wx-clear-rgb: 31, 111, 139;
  --wx-partly: #7fa9b8; /* Cloud cover 30–70 %: partly cloudy */
  --wx-partly-rgb: 127, 169, 184;
  --wx-overcast: #e6eef0; /* Cloud cover 70–100 %: overcast */
  --wx-overcast-rgb: 230, 238, 240;
  --wx-precip: var(--p-sky); /* Precipitation */
  --wx-precip-rgb: 106, 168, 255;
  --wx-night: rgba(2, 5, 12, 0.55); /* Night-side shading on the 2D map */
  --wx-sar: var(--p-violet); /* Radar sensors — imaging is not blocked by cloud */
  --wx-sar-rgb: 179, 155, 255;

  /* font */
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace; /* Data, readouts, IDs */
  --font-ui: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; /* Base UI font, body copy */
  --font-condensed: 'IBM Plex Sans Condensed', 'IBM Plex Sans', system-ui, sans-serif; /* Uppercase labels, section heads, chips */

  /* fw */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;

  /* fs */
  --fs-2xs: 10px; /* Field labels, timestamps */
  --fs-xs: 11px; /* Eyebrows, section heads, chips */
  --fs-sm: 12px; /* Buttons, hints, legend */
  --fs-base: 13px; /* Catalog names, body */
  --fs-md: 14px; /* Field values */
  --fs-lg: 16px; /* Brand title */
  --fs-xl: 20px; /* Readout name, clock */
  --fs-2xl: 28px; /* Page titles */

  /* tracking */
  --tracking-tight: 0.01em; /* Large mono readouts */
  --tracking-wide: 0.06em; /* Buttons, brand title */
  --tracking-caps: 0.14em; /* Uppercase labels */
  --tracking-eyebrow: 0.22em; /* Eyebrows, section heads */

  /* space */
  --space-1: 2px;
  --space-2: 4px;
  --space-3: 6px;
  --space-4: 8px;
  --space-5: 10px;
  --space-6: 12px;
  --space-7: 14px;
  --space-8: 16px;
  --space-9: 20px;
  --space-10: 24px;
  --space-11: 32px;
  --space-12: 40px;

  /* radius */
  --radius-sm: 4px; /* Buttons, rows, chips */
  --radius-md: 6px; /* Swatches, wells */
  --radius-lg: 8px; /* Cards */
  --radius-panel: 12px; /* Floating glass panels */
  --radius-pill: 999px; /* Status pills, segmented controls */

  /* glass */
  --glass-bg: rgba(7, 13, 21, 0.62); /* Frosted panel fill */
  --glass-bg-strong: rgba(7, 13, 21, 0.8); /* Small floating bars that sit over bright imagery */
  --glass-header-bg: rgba(3, 6, 11, 0.4); /* Panel header strip */
  --glass-edge: inset 0 1px 0 rgba(255, 255, 255, 0.05); /* Top-edge highlight on glass */
  --glass-blur: 16px; /* backdrop-filter blur radius */
  --glass-saturate: 140%; /* backdrop-filter saturation */

  /* shadow */
  --shadow-panel: 0 18px 40px rgba(0, 0, 0, 0.45); /* Floating panel drop shadow */
  --shadow-glow: 0 0 8px; /* Glow prefix for status dots: box-shadow: var(--shadow-glow) rgba(var(--x-rgb), .7) */

  /* layout */
  --layout-inset: var(--space-8); /* Gap between floating panels and the viewport edge */
  --layout-panel-width: 340px; /* Mission Control panel width */
  --layout-rail-width: var(--layout-map-width); /* Right rail (clock + target), aligned with the map */
  --layout-map-width: 340px; /* Ground-track map width (collapsed) */
  --layout-map-height: 200px; /* Ground-track map height (collapsed) */

  /* z */
  --z-scene: 1; /* WebGL canvas */
  --z-scan: 2; /* Scanline sweep */
  --z-panel: 6; /* Floating glass panels */
  --z-overlay: 20; /* Toasts */

  /* motion */
  --motion-fast: 0.15s ease; /* Hover and state transitions */
  --motion-base: 0.25s cubic-bezier(0.2, 0.7, 0.2, 1); /* Panels, tabs, expand/collapse */
  --motion-slow: 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); /* Meters and data fills */
}
