/* Design tokens — the only place raw colour, spacing and type values live.
   Every rule in base.css and components.css references these, so a rebrand is
   confined to this file. */

:root {
  /* Brand */
  --cream: #F5F0E8;
  --black: #0D0D0D;
  --gold: #C9A84C;
  --gold-bright: #E0BC6A;

  /* Surfaces, darkest to lightest */
  --bg: #111113;
  --surface-1: #161618;
  --surface-2: #1C1C1F;
  --surface-3: #232327;

  /* Text */
  --text: var(--cream);
  --text-dim: rgba(245, 240, 232, 0.62);
  --text-mute: rgba(245, 240, 232, 0.38);

  /* Lines */
  --border: rgba(245, 240, 232, 0.08);
  --border-gold: rgba(201, 168, 76, 0.28);
  --gold-wash: rgba(201, 168, 76, 0.10);

  /* Semantic */
  --ok: #6ECB8C;
  --ok-wash: rgba(110, 203, 140, 0.10);
  --warn: #E0BC6A;
  --warn-wash: rgba(224, 188, 106, 0.10);
  --bad: #E07070;
  --bad-wash: rgba(224, 112, 112, 0.10);

  /* Type */
  --font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-script: 'Great Vibes', cursive;

  --fs-xs: 10px;
  --fs-sm: 11px;
  --fs-base: 13px;
  --fs-md: 15px;
  --fs-lg: 20px;
  --fs-xl: 28px;
  --fs-2xl: 36px;

  /* Uppercase micro-labels used throughout the brand */
  --track-label: 0.18em;
  --track-btn: 0.20em;

  /* Spacing scale */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 22px;
  --sp-6: 28px;
  --sp-7: 40px;
  --sp-8: 56px;

  /* Structure */
  --radius: 2px;
  --radius-lg: 4px;
  --maxw: 1180px;
  --maxw-narrow: 720px;
  --nav-h: 62px;

  --shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
  --transition: 180ms ease;
}
