/* AUTO-GENERATED from tokens.ts by scripts/build-tokens.mjs — DO NOT EDIT.
 * @wizzard/design tokens v2.3.0. Edit tokens.ts and re-run build:tokens. */
:root {

  /* surfaces */
  --wz-bg: #14130A;
  --wz-bg-table: #2f3d20;
  --wz-stage-glow: #2f3d20;
  --wz-surface: #211e12;
  --wz-surface-raised: #2c2818;
  --wz-surface-sunken: #0d0c05;
  --wz-line: #3a3420;
  --wz-line-strong: #544b30;

  /* ink */
  --wz-ink: #f4efe0;
  --wz-ink-muted: #c4b99c;
  --wz-ink-subtle: #948a6c;

  /* brand */
  --wz-primary: #758956;
  --wz-primary-hover: #8a9e68;
  --wz-primary-ink: #14130A;
  --wz-primary-soft: rgba(117,137,86,0.16);
  --wz-gold: #d7a34a;
  --wz-gold-hover: #e8b661;
  --wz-gold-ink: #251a06;
  --wz-gold-soft: rgba(215,163,74,0.15);
  --wz-gold-on-face: #f5c542;

  /* status */
  --wz-success: #7fb84e;
  --wz-danger: #d96a52;
  --wz-warn: #e0a63f;
  --wz-info: #5b9bd1;

  /* suits (colour-blind-safe four-colour deck) */
  --wz-suit-spades: #242a38;
  --wz-suit-hearts: #d1344b;
  --wz-suit-diamonds: #2563c9;
  --wz-suit-clubs: #1f9d57;
  --wz-suit-spades-on-dark: #c3cbe0;
  --wz-suit-hearts-on-dark: #ff6b81;
  --wz-suit-diamonds-on-dark: #6fa8ff;
  --wz-suit-clubs-on-dark: #4bd486;

  /* avatar identity hues (shape-primary; see avatars/avatars.ts) */
  --wz-avatar-amethyst: #758956;
  --wz-avatar-gold: #d7a34a;
  --wz-avatar-ruby: #ff6b81;
  --wz-avatar-sapphire: #6fa8ff;
  --wz-avatar-emerald: #4bd486;
  --wz-avatar-cyan: #22d3ee;
  --wz-avatar-rose: #f472b6;
  --wz-avatar-slate: #c3cbe0;

  /* cards */
  --wz-card-face: #f6f0e0;
  --wz-card-face-ink: #1b1608;
  --wz-card-special-face: #2a2415;
  --wz-card-back: #3a2e1a;

  /* breakpoints (JS/docs only — CSS @media can't read custom props; see components.css) */
  --wz-bp-mobile: 640px;
  --wz-bp-tablet: 1024px;

  /* space (4px scale) */
  --wz-space-0: 0;
  --wz-space-1: 0.25rem;
  --wz-space-2: 0.5rem;
  --wz-space-3: 0.75rem;
  --wz-space-4: 1rem;
  --wz-space-5: 1.5rem;
  --wz-space-6: 2rem;
  --wz-space-7: 3rem;
  --wz-space-8: 4rem;

  /* radius */
  --wz-radius-sm: 6px;
  --wz-radius-md: 10px;
  --wz-radius-lg: 14px;
  --wz-radius-xl: 20px;
  --wz-radius-card: 12px;
  --wz-radius-pill: 999px;

  /* card sizing */
  --wz-card-w: clamp(3.6rem, min(24vh, 26vw), 12rem);

  /* type — families */
  --wz-font-display: "Cinzel", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --wz-font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --wz-font-numeric: "SF Mono", ui-monospace, "Roboto Mono", Menlo, monospace;

  /* type — scale */
  --wz-text-xs: 0.75rem;
  --wz-text-sm: 0.875rem;
  --wz-text-base: 1rem;
  --wz-text-lg: 1.125rem;
  --wz-text-xl: 1.375rem;
  --wz-text-2xl: 1.75rem;
  --wz-text-3xl: 2.25rem;
  --wz-text-display: 3rem;

  /* type — weight */
  --wz-weight-regular: 400;
  --wz-weight-semibold: 600;
  --wz-weight-bold: 700;
  --wz-weight-black: 800;

  /* type — leading */
  --wz-leading-tight: 1.1;
  --wz-leading-snug: 1.3;
  --wz-leading-normal: 1.5;

  /* shadow / elevation */
  --wz-shadow-sm: 0 1px 2px rgba(0,0,0,0.30);
  --wz-shadow-md: 0 4px 12px rgba(0,0,0,0.35);
  --wz-shadow-lg: 0 12px 32px rgba(0,0,0,0.45);
  --wz-shadow-card: 0 6px 16px rgba(10,6,25,0.50);
  --wz-shadow-card-hover: 0 14px 30px rgba(10,6,25,0.60);
  --wz-shadow-glow: 0 0 0 1px rgba(117,137,86,0.55), 0 0 24px rgba(117,137,86,0.35);
  --wz-shadow-gold-glow: 0 0 0 1px rgba(215,163,74,0.55), 0 0 22px rgba(215,163,74,0.30);
  --wz-shadow-felt-inset: rgba(0,0,0,0.5);

  /* mesh-gradient background (WIZ-88 — see .wz-mesh in components.css) */
  --wz-mesh-base: #100e06;
  --wz-mesh-1: rgba(117,137,86,0.42);
  --wz-mesh-2: rgba(47,61,32,0.55);
  --wz-mesh-3: rgba(142,87,69,0.34);
  --wz-mesh-4: rgba(215,163,74,0.14);
  --wz-mesh-drift-dur: 26s;
  --wz-mesh-veil-core: rgba(16,14,6,0.55);
  --wz-mesh-veil-mid: rgba(16,14,6,0.12);

  /* motion — duration */
  --wz-dur-instant: 80ms;
  --wz-dur-fast: 140ms;
  --wz-dur-base: 220ms;
  --wz-dur-slow: 360ms;
  --wz-dur-slower: 560ms;
  --wz-dur-deal: 420ms;
  --wz-dur-play: 300ms;
  --wz-dur-reveal: 640ms;
  --wz-dur-sweep: 460ms;
  --wz-dur-celebrate: 1100ms;

  /* motion — easing */
  --wz-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --wz-ease-decelerate: cubic-bezier(0, 0, 0.2, 1);
  --wz-ease-accelerate: cubic-bezier(0.4, 0, 1, 1);
  --wz-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --wz-ease-emphasized: cubic-bezier(0.83, 0, 0.17, 1);

  /* motion — stagger */
  --wz-stagger-card: 45ms;
  --wz-stagger-list: 30ms;
}

/* ============================================================ LIGHT THEME ==
 * "Arcane Daylight" — partial overrides of the dark defaults above.
 * (1) explicit opt-in via [data-theme="light"]; (2) OS default via
 * prefers-color-scheme when no data-theme is set, so light follows the OS
 * until the client's manual toggle pins an explicit theme. */
[data-theme="light"] {
  --wz-bg: #efe8d6;
  --wz-bg-table: #e6dcc2;
  --wz-surface: #fdfaf1;
  --wz-surface-raised: #fffdf6;
  --wz-surface-sunken: #f1ebda;
  --wz-line: #ddd3bd;
  --wz-line-strong: #c3b795;
  --wz-ink: #1f1b0e;
  --wz-ink-muted: #5b5338;
  --wz-ink-subtle: #6f684a;
  --wz-primary: #556b34;
  --wz-primary-hover: #445827;
  --wz-primary-ink: #ffffff;
  --wz-primary-soft: rgba(85,107,52,0.12);
  --wz-gold: #7d5a12;
  --wz-gold-hover: #6a4c0c;
  --wz-gold-ink: #fff8e8;
  --wz-gold-soft: rgba(125,90,18,0.16);
  --wz-success: #35701f;
  --wz-danger: #b23a22;
  --wz-warn: #8a5e0a;
  --wz-info: #2f6aa8;
  --wz-suit-spades-on-dark: #2b3242;
  --wz-suit-hearts-on-dark: #c02a41;
  --wz-suit-diamonds-on-dark: #1f57bd;
  --wz-suit-clubs-on-dark: #157a43;
  --wz-shadow-sm: 0 1px 2px rgba(50,44,20,0.12);
  --wz-shadow-md: 0 4px 12px rgba(50,44,20,0.12);
  --wz-shadow-lg: 0 12px 32px rgba(50,44,20,0.18);
  --wz-shadow-card: 0 6px 16px rgba(40,34,14,0.16);
  --wz-shadow-card-hover: 0 14px 30px rgba(40,34,14,0.22);
  --wz-shadow-glow: 0 0 0 1px rgba(85,107,52,0.55), 0 0 18px rgba(85,107,52,0.25);
  --wz-shadow-felt-inset: rgba(70,60,25,0.16);
  --wz-mesh-base: #f2ebda;
  --wz-mesh-1: rgba(85,107,52,0.18);
  --wz-mesh-2: rgba(117,137,86,0.15);
  --wz-mesh-3: rgba(142,87,69,0.14);
  --wz-mesh-4: rgba(125,90,18,0.12);
  --wz-mesh-veil-core: rgba(242,235,218,0.52);
  --wz-mesh-veil-mid: rgba(242,235,218,0.10);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    --wz-bg: #efe8d6;
    --wz-bg-table: #e6dcc2;
    --wz-surface: #fdfaf1;
    --wz-surface-raised: #fffdf6;
    --wz-surface-sunken: #f1ebda;
    --wz-line: #ddd3bd;
    --wz-line-strong: #c3b795;
    --wz-ink: #1f1b0e;
    --wz-ink-muted: #5b5338;
    --wz-ink-subtle: #6f684a;
    --wz-primary: #556b34;
    --wz-primary-hover: #445827;
    --wz-primary-ink: #ffffff;
    --wz-primary-soft: rgba(85,107,52,0.12);
    --wz-gold: #7d5a12;
    --wz-gold-hover: #6a4c0c;
    --wz-gold-ink: #fff8e8;
    --wz-gold-soft: rgba(125,90,18,0.16);
    --wz-success: #35701f;
    --wz-danger: #b23a22;
    --wz-warn: #8a5e0a;
    --wz-info: #2f6aa8;
    --wz-suit-spades-on-dark: #2b3242;
    --wz-suit-hearts-on-dark: #c02a41;
    --wz-suit-diamonds-on-dark: #1f57bd;
    --wz-suit-clubs-on-dark: #157a43;
    --wz-shadow-sm: 0 1px 2px rgba(50,44,20,0.12);
    --wz-shadow-md: 0 4px 12px rgba(50,44,20,0.12);
    --wz-shadow-lg: 0 12px 32px rgba(50,44,20,0.18);
    --wz-shadow-card: 0 6px 16px rgba(40,34,14,0.16);
    --wz-shadow-card-hover: 0 14px 30px rgba(40,34,14,0.22);
    --wz-shadow-glow: 0 0 0 1px rgba(85,107,52,0.55), 0 0 18px rgba(85,107,52,0.25);
    --wz-shadow-felt-inset: rgba(70,60,25,0.16);
    --wz-mesh-base: #f2ebda;
    --wz-mesh-1: rgba(85,107,52,0.18);
    --wz-mesh-2: rgba(117,137,86,0.15);
    --wz-mesh-3: rgba(142,87,69,0.14);
    --wz-mesh-4: rgba(125,90,18,0.12);
    --wz-mesh-veil-core: rgba(242,235,218,0.52);
    --wz-mesh-veil-mid: rgba(242,235,218,0.10);
  }
}
