/* Orbit design tokens — generated from tokens.json. Themes: light, dark (default: light).
   Switch theme with <html data-theme="dark">. */
:root, [data-theme="light"] {
  --page: #e9edf6;
  --chart: #c2cadf;
  --surface: #fbfcff;
  --surface-sunk: #dfe4f0;
  --ink: #12173a;
  --ink-soft: #4a5377;
  --line: #7a84a8;
  --deep: #141a4a;
  --on-deep: #f4f5ff;
  --on-planet: #12173a;
  --saturn: #f2b440;
  --mars: #e2734c;
  --neptune: #5b8cf0;
  --aurora: #5fdcae;
  --accent-text: #2a50c2;
  --alert-text: #ad3618;
  --success-text: #08714d;
  --focus: #2a50c2;
  --shadow-sm: 0 1px 2px rgba(18, 23, 58, 0.10), 0 2px 8px rgba(18, 23, 58, 0.06);
  --shadow-md: 0 2px 4px rgba(18, 23, 58, 0.06), 0 12px 28px -10px rgba(18, 23, 58, 0.26);
  --shadow-lg: 0 4px 10px rgba(18, 23, 58, 0.08), 0 28px 60px -18px rgba(18, 23, 58, 0.40);
  --shadow-well: inset 0 2px 5px rgba(18, 23, 58, 0.16);
  --shadow-halo: 0 0 0 6px rgba(42, 80, 194, 0.12);
  color-scheme: light;
}
[data-theme="dark"] {
  --page: #080b24;
  --chart: #1f2757;
  --surface: #111740;
  --surface-sunk: #0a0f30;
  --ink: #eef0ff;
  --ink-soft: #a7afd8;
  --line: #6973ab;
  --deep: #03051a;
  --on-deep: #f4f5ff;
  --on-planet: #12173a;
  --saturn: #f5bf52;
  --mars: #ea7d55;
  --neptune: #6b97f5;
  --aurora: #62e3b4;
  --accent-text: #a3bcff;
  --alert-text: #ff9e7a;
  --success-text: #72e7bb;
  --focus: #62e3b4;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(150, 165, 240, 0.10);
  --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.45), 0 14px 30px -10px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(150, 165, 240, 0.12);
  --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.5), 0 30px 64px -18px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(150, 165, 240, 0.16);
  --shadow-well: inset 0 2px 6px rgba(0, 0, 0, 0.6);
  --shadow-halo: 0 0 0 6px rgba(98, 227, 180, 0.14);
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 40px;
  --space-8: 72px;
  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --radius-full: 9999px;
  --dur-press: 110ms;
  --dur-hover: 200ms;
  --dur-eclipse: 420ms;
  --dur-hop: 560ms;
  --dur-ripple: 640ms;
  --dur-drift: 760ms;
  --dur-orbit: 18s;
  --ease-gravity: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-slingshot: cubic-bezier(0.3, 1.45, 0.5, 1);
  --ease-sink: cubic-bezier(0.5, 0, 0.75, 0.3);
  --ease-release: cubic-bezier(0.2, 1.6, 0.4, 1);
  --ease-exit: cubic-bezier(0.55, 0, 0.8, 0.2);
  --font-display: "Unbounded", "Arial Black", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --type-display-family: var(--font-display);
  --type-display-size: 56px;
  --type-display-line: 60px;
  --type-display-weight: 600;
  --type-display-tracking: -0.03em;
  --type-title-family: var(--font-display);
  --type-title-size: 32px;
  --type-title-line: 38px;
  --type-title-weight: 600;
  --type-title-tracking: -0.02em;
  --type-heading-family: var(--font-display);
  --type-heading-size: 19px;
  --type-heading-line: 26px;
  --type-heading-weight: 500;
  --type-heading-tracking: -0.01em;
  --type-body-family: var(--font-body);
  --type-body-size: 16px;
  --type-body-line: 24px;
  --type-body-weight: 400;
  --type-small-family: var(--font-body);
  --type-small-size: 14px;
  --type-small-line: 20px;
  --type-small-weight: 400;
  --type-label-family: var(--font-body);
  --type-label-size: 12px;
  --type-label-line: 16px;
  --type-label-weight: 600;
  --type-label-tracking: 0.12em;
  --type-data-family: var(--font-mono);
  --type-data-size: 14px;
  --type-data-line: 20px;
  --type-data-weight: 500;
  --type-data-tracking: 0;
}
/* Type styles as utility classes (optional) */
.type-display { font-family: var(--type-display-family); font-size: var(--type-display-size); line-height: var(--type-display-line); font-weight: var(--type-display-weight); letter-spacing: var(--type-display-tracking); }
.type-title { font-family: var(--type-title-family); font-size: var(--type-title-size); line-height: var(--type-title-line); font-weight: var(--type-title-weight); letter-spacing: var(--type-title-tracking); }
.type-heading { font-family: var(--type-heading-family); font-size: var(--type-heading-size); line-height: var(--type-heading-line); font-weight: var(--type-heading-weight); letter-spacing: var(--type-heading-tracking); }
.type-body { font-family: var(--type-body-family); font-size: var(--type-body-size); line-height: var(--type-body-line); font-weight: var(--type-body-weight); }
.type-small { font-family: var(--type-small-family); font-size: var(--type-small-size); line-height: var(--type-small-line); font-weight: var(--type-small-weight); }
.type-label { font-family: var(--type-label-family); font-size: var(--type-label-size); line-height: var(--type-label-line); font-weight: var(--type-label-weight); letter-spacing: var(--type-label-tracking); }
.type-data { font-family: var(--type-data-family); font-size: var(--type-data-size); line-height: var(--type-data-line); font-weight: var(--type-data-weight); letter-spacing: var(--type-data-tracking); }
