/* Fantasy Consigliere — Design Tokens */

:root {
  /* Typography */
  --font-display: "Newsreader", "Cormorant Garamond", Georgia, serif;
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;

  /* Radii & Spacing */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-2xl: 28px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 40px;

  /* Elevation */
  --elev-1: 0 1px 2px rgba(0, 0, 0, 0.05);
  --elev-2: 0 1px 2px rgba(0, 0, 0, 0.12), 0 8px 24px -8px rgba(0, 0, 0, 0.3);
  --elev-3: 0 2px 4px rgba(0, 0, 0, 0.14), 0 24px 48px -12px rgba(0, 0, 0, 0.45);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* Default = Obsidian */
  --bg: #0c0c0e;
  --bg-raised: #141418;
  --bg-sunk: #08080a;
  --bg-elevated: #1a1a1f;
  --ink: oklch(95% 0.008 80);
  --ink-2: oklch(75% 0.012 80);
  --ink-3: oklch(58% 0.01 78);
  --ink-4: oklch(40% 0.008 78);
  --rule: oklch(24% 0.01 78);
  --rule-soft: oklch(18% 0.008 78);
  --accent: #c9a34a;
  --accent-hot: #e6c274;
  --accent-dim: #7a5f1e;
  --accent-wash: rgba(201, 163, 74, 0.08);
  --accent-glow: rgba(201, 163, 74, 0.25);
  --go: oklch(70% 0.12 148);
  --stop: oklch(65% 0.17 28);
  --hold: oklch(70% 0.08 78);
  color-scheme: dark;
}

[data-theme="paper"] {
  --bg: #f7f3ec;
  --bg-raised: #ffffff;
  --bg-sunk: #ede7dc;
  --bg-elevated: #ffffff;
  --ink: #1a1714;
  --ink-2: #4a443c;
  --ink-3: #7a7268;
  --ink-4: #b0a899;
  --rule: #d8cfbd;
  --rule-soft: #e8dfcc;
  --accent: #9a7a2b;
  --accent-hot: #b89133;
  --accent-dim: #6b5419;
  --accent-wash: rgba(154, 122, 43, 0.07);
  --accent-glow: rgba(154, 122, 43, 0.2);
  --go: oklch(52% 0.14 148);
  --stop: oklch(48% 0.19 28);
  --hold: oklch(50% 0.1 78);
  color-scheme: light;
}

[data-theme="graphite"] {
  --bg: #16181c;
  --bg-raised: #1d2025;
  --bg-sunk: #0f1114;
  --bg-elevated: #22262c;
  --ink: oklch(94% 0.005 240);
  --ink-2: oklch(74% 0.008 240);
  --ink-3: oklch(56% 0.008 240);
  --ink-4: oklch(38% 0.006 240);
  --rule: oklch(26% 0.01 240);
  --rule-soft: oklch(20% 0.008 240);
}

/* Accent variants — override colors */
[data-accent="oxblood"] {
  --accent: #8c2a2a;
  --accent-hot: #b84a4a;
  --accent-dim: #5a1818;
  --accent-wash: rgba(140, 42, 42, 0.1);
  --accent-glow: rgba(140, 42, 42, 0.28);
}
[data-accent="forest"] {
  --accent: #4a7a48;
  --accent-hot: #6a9e67;
  --accent-dim: #2d4a2c;
  --accent-wash: rgba(74, 122, 72, 0.1);
  --accent-glow: rgba(74, 122, 72, 0.25);
}
[data-accent="ember"] {
  --accent: #c25c2a;
  --accent-hot: #e07040;
  --accent-dim: #7a3518;
  --accent-wash: rgba(194, 92, 42, 0.09);
  --accent-glow: rgba(194, 92, 42, 0.26);
}
[data-accent="ice"] {
  --accent: #3a7fd4;
  --accent-hot: #5a9ef0;
  --accent-dim: #1e4e88;
  --accent-wash: rgba(58, 127, 212, 0.09);
  --accent-glow: rgba(58, 127, 212, 0.26);
}

/* Density variants */
[data-density="dense"] {
  --density-scale: 0.88;
}
[data-density="spacious"] {
  --density-scale: 1.12;
}

/* Type scale (reusable classes) */
.t-eyebrow {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
