/* Design tokens. Values come from Theme.swift: warm paper and ink by day, deep night-blue by night, one saffron
   accent for what is defined or active. The bodygraph sits on a fixed night sky in both themes (--night-*). */
:root {
  color-scheme: light dark;

  --paper: #F6F1E7;
  --surface: #FFFCF6;
  --surface-sunk: #EFE8DA;
  --ink: #1E1B18;
  --ink-muted: #6B635A;
  --hairline: #D9D0C1;
  --accent: #C86438;
  --accent-text: #A34A22;
  --on-accent: #1C0B04;
  --design: #B23A48;
  --partner: #2F7F7A;
  --personality: #1E1B18;
  --danger: #A62B3A;
  --focus: #2F4BC0;
  --glow: rgba(217, 188, 128, 0.32);
  --glow-2: rgba(200, 100, 56, 0.10);
  --scrim: rgba(11, 15, 35, 0.55);
  --shadow: 0 1px 2px rgba(30, 27, 24, 0.06), 0 10px 30px -12px rgba(30, 27, 24, 0.22);
  --bar-bg: rgba(255, 252, 246, 0.86);

  /* Fixed night sky behind the bodygraph, same in both themes. */
  --night-sky-top: #232B55;
  --night-sky-bottom: #0B0F23;
  --night-gold: #D9BC80;
  --night-open-fill: #1A2044;
  --night-defined-top: #F7BC7E;
  --night-defined-bottom: #CF6238;
  --night-defined-edge: #FFDDB0;
  --night-defined-ink: #4A1E0C;
  --night-personality: #F5EDDE;
  --night-design: #F27D89;
  --night-partner: #6ECDC4;
  --night-transit: #F4C25E;

  --font-ui: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;
  --font-serif: "New York", ui-serif, Georgia, "Times New Roman", serif;
  --font-num: ui-rounded, "SF Pro Rounded", system-ui, sans-serif;

  --step--1: 0.875rem;
  --step-0: 1rem;
  --step-read: 1.0625rem;
  --step-1: 1.25rem;
  --step-2: 1.5rem;
  --step-3: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem);

  --s1: 0.25rem;
  --s2: 0.5rem;
  --s3: 0.75rem;
  --s4: 1rem;
  --s5: 1.5rem;
  --s6: 2rem;
  --s7: 3rem;

  --r-sm: 8px;
  --r: 10px;
  --r-lg: 28px;

  --tab-h: 3.5rem;
  --rail-w: 4.5rem;
  --sidebar-w: 14.5rem;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0F1420;
    --surface: #171D2C;
    --surface-sunk: #0B101A;
    --ink: #EDE6D8;
    --ink-muted: #9A9384;
    --hairline: #2A3246;
    --accent: #E08A5A;
    --accent-text: #E8A074;
    --on-accent: #1C0B04;
    --design: #E06C78;
    --partner: #5FB3AC;
    --personality: #EDE6D8;
    --danger: #F08A97;
    --focus: #F4C25E;
    --glow: rgba(58, 70, 140, 0.45);
    --glow-2: rgba(224, 138, 90, 0.07);
    --scrim: rgba(3, 5, 14, 0.7);
    --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 12px 32px -14px rgba(0, 0, 0, 0.6);
    --bar-bg: rgba(23, 29, 44, 0.88);
  }
}

:root[data-theme="dark"] {
  --paper: #0F1420;
  --surface: #171D2C;
  --surface-sunk: #0B101A;
  --ink: #EDE6D8;
  --ink-muted: #9A9384;
  --hairline: #2A3246;
  --accent: #E08A5A;
  --accent-text: #E8A074;
  --on-accent: #1C0B04;
  --design: #E06C78;
  --partner: #5FB3AC;
  --personality: #EDE6D8;
  --danger: #F08A97;
  --focus: #F4C25E;
  --glow: rgba(58, 70, 140, 0.45);
  --glow-2: rgba(224, 138, 90, 0.07);
  --scrim: rgba(3, 5, 14, 0.7);
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 12px 32px -14px rgba(0, 0, 0, 0.6);
  --bar-bg: rgba(23, 29, 44, 0.88);
  color-scheme: dark;
}

:root[data-theme="light"] {
  color-scheme: light;
}
