/* ===== Design Tokens — Ard Labs Break Room =====
 *
 * Single source of truth for the visual identity.
 * Loaded FIRST in every HTML file.
 *
 * THEME CONTRACT — themes override these "core" vars:
 *   --bg-primary, --bg-secondary, --bg-tertiary
 *   --color-primary, --color-primary-rgb
 *   --color-accent, --color-accent-rgb
 *   --color-purple, --color-purple-rgb
 *   --color-blue, --color-blue-rgb
 *   --color-warning, --color-warning-rgb
 *   --color-success, --color-success-rgb
 *   --color-error, --color-info
 *   --text-primary, --text-secondary, --text-muted
 *   --border-color
 *
 * Everything else (glows, dims, card bg, bridge aliases)
 * is DERIVED from these core vars and auto-updates.
 */

:root {
  /* ── Backgrounds ── */
  --bg-primary: #0a0a0a;
  --bg-secondary: #141414;
  --bg-tertiary: #1e1e1e;

  /* ── Derived backgrounds ── */
  --bg-card: var(--bg-secondary);
  --bg-card-hover: var(--bg-tertiary);

  /* ── Core Palette ── */
  --color-primary: #e2b714;
  --color-primary-rgb: 226, 183, 20;
  --color-accent: #98c379;
  --color-accent-rgb: 152, 195, 121;
  --color-purple: #c678dd;
  --color-purple-rgb: 198, 120, 221;
  --color-blue: #61afef;
  --color-blue-rgb: 97, 175, 239;
  --color-warning: #e5c07b;
  --color-warning-rgb: 229, 192, 123;
  --color-success: #98c379;
  --color-success-rgb: 152, 195, 121;
  --color-error: #e06c75;
  --color-error-rgb: 224, 108, 117;
  --color-info: #61afef;

  /* ── Derived Palette (auto-update from core) ── */
  --color-primary-dim: color-mix(in srgb, var(--color-primary), black 20%);
  --color-accent-hover: color-mix(in srgb, var(--color-accent), white 15%);
  --color-accent-dim: color-mix(in srgb, var(--color-accent), black 18%);

  /* ── Text ── */
  --text-primary: #d4d4d4;
  --text-secondary: #9898a8;
  --text-muted: #7a7a8e;

  /* ── Borders & Radii ── */
  --border-color: #383838;
  --border-glow: none;
  --radius: 2px;
  --radius-lg: 4px;

  /* ── Typography ── */
  --font-display: 'Fira Code', 'Cascadia Code', 'SF Mono', monospace;
  --font-main: 'Fira Code', 'Cascadia Code', 'SF Mono', monospace;
  --font-mono: 'Fira Code', 'Cascadia Code', 'SF Mono', monospace;

  /* ── Glow Utilities (derived from RGB vars) ── */
  --glow-primary: none;
  --glow-accent: none;
  --glow-purple: none;
  --glow-blue: none;
  --glow-warning: none;

  /* ── Shadows ── */
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;

  /* ── Transitions ── */
  --transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);

  /* ── Bridge aliases (older game code uses these) ── */
  --accent: var(--color-accent);
  --accent-hover: var(--color-accent-hover);
  --accent-dim: var(--color-accent-dim);
  --font: var(--font-main);
  --success: var(--color-success);
  --success-dim: color-mix(in srgb, var(--color-success), black 18%);
  --warning: var(--color-warning);
  --error: var(--color-error);
  --info: var(--color-info);
  --gold: #ffd700;
  --silver: #c0c0c0;
  --bronze: #cd7f32;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-xl: 4px;
}

/* ── Light Mode ──
 * Sets core vars for light backgrounds.
 * Glows are disabled. Shadows are softened.
 * Per-theme light overrides (in theme files) layer on top.
 */

[data-theme="light"] {
  --bg-primary: #f0ede8;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e8e4de;

  --color-primary: #b38a00;
  --color-primary-rgb: 179, 138, 0;
  --color-accent: #4d8a30;
  --color-accent-rgb: 77, 138, 48;
  --color-purple: #9040b0;
  --color-purple-rgb: 144, 64, 176;
  --color-blue: #2878c0;
  --color-blue-rgb: 40, 120, 192;
  --color-warning: #a07800;
  --color-warning-rgb: 160, 120, 0;
  --color-success: #4d8a30;
  --color-success-rgb: 77, 138, 48;
  --color-error: #dc2626;
  --color-info: #2563eb;

  --text-primary: #2a2a2a;
  --text-secondary: #55555f;
  --text-muted: #70707c;

  --border-color: #c0bbb4;

  --glow-primary: none;
  --glow-accent: none;
  --glow-purple: none;
  --glow-blue: none;
  --glow-warning: none;

  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
}
