/* Spitt — Restrained Future. Design tokens. */
/* Extracted from prototype styles.css (lines 1–109) — tokens only.   */
/* Component styles live in app-styles.css / marketing-styles.css.    */

:root {
  /* v2 palette — canonical, tuned per mode */
  --sage: #87a08c;         /* signal sage */
  --bone: #ede6d1;         /* warm paper */
  --bone-node: #c7bfa8;    /* bone used as node fill */
  --muted-node: #9fa09c;
  --dim-node: #6e7b76;
  --rust: #b7572c;         /* alert rust */
  --rust-soft: #c66a40;

  /* Fonts (tweakable via data-type attr) */
  --font-serif: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  --font-sans: 'Inter Tight', 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'IBM Plex Mono', ui-monospace, monospace;
  --font-display: var(--font-serif);
}

/* -------- TYPE SYSTEMS (via data-type on root) -------- */

[data-type="serif-mono"] {
  --font-display: 'Source Serif 4', Georgia, serif;
  --font-sans: 'Inter Tight', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

[data-type="sans-only"] {
  --font-display: 'Inter Tight', system-ui, sans-serif;
  --font-sans: 'Inter Tight', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

[data-type="mono-heavy"] {
  --font-display: 'JetBrains Mono', ui-monospace, monospace;
  --font-sans: 'JetBrains Mono', ui-monospace, monospace;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

[data-type="editorial"] {
  --font-display: 'Fraunces', 'Source Serif 4', Georgia, serif;
  --font-sans: 'Inter Tight', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

/* -------- DARK MODE -------- */

[data-mode="dark"] {
  --void: #1d2420;             /* page bg */
  --surface: #242c27;          /* cards */
  --surface-2: #2b342e;        /* raised */
  --edge: #343d37;             /* borders */
  --ink-1: #ede6d1;            /* primary text */
  --ink-2: #c3bfb0;            /* secondary */
  --ink-3: #8c9089;            /* tertiary / labels */
  --ink-4: #525951;            /* lines / subtle */
  --vignette: #161c18;
  --accent: var(--rust);
  --accent-2: var(--sage);
  --live: #87a08c;

  background: var(--void);
  color: var(--ink-1);
}

/* -------- LIGHT MODE -------- */

[data-mode="light"] {
  --void: #ede6d1;             /* warm paper bg */
  --surface: #f5efdc;          /* card bg slightly lifted */
  --surface-2: #faf4e1;        /* raised */
  --edge: #d8cfb4;
  --ink-1: #1d2420;
  --ink-2: #444a44;
  --ink-3: #6e7570;
  --ink-4: #b4ab92;
  --vignette: transparent;
  --accent: var(--rust);
  --accent-2: var(--sage);
  --live: #6a8771;
  --bone-node: #b5ab8e;

  background: var(--void);
  color: var(--ink-1);
}

/* Accent hue overrides */
[data-accent="sage"] { --accent: var(--sage); --accent-2: var(--rust); }
[data-accent="rust"] { --accent: var(--rust); --accent-2: var(--sage); }
[data-accent="amber"] { --accent: #b88638; --accent-2: var(--sage); }
[data-accent="ink"]   { --accent: #2a2e34; --accent-2: var(--sage); }
