/*
  Sudegy Discovery Portal — Design Tokens
  Gold & Obsidian. One fixed brand theme — this product is not user-themeable.
*/

:root {
  /* ---- Obsidian surfaces ---- */
  --color-obsidian-950: #0A0908;
  --color-obsidian-900: #131110;
  --color-obsidian-800: #1C1917;
  --color-obsidian-700: #2A2622;
  --color-obsidian-600: #3A352F;

  /* ---- Ivory text ---- */
  --color-ivory-50: #F7F4EC;
  --color-ivory-200: #E8E1D2;
  --color-ivory-400: #B7AE9B;

  /* ---- Gold accent ---- */
  --color-gold-300: #E3C788;
  --color-gold-400: #D4AF6A;
  --color-gold-500: #C9A24B;
  --color-gold-600: #A8842F;
  --color-gold-700: #846623;

  /* ---- Semantic (muted, restrained — never neon) ---- */
  --color-success: #6B8F71;
  --color-success-bg: rgba(107, 143, 113, 0.12);
  --color-danger: #C2614C;
  --color-danger-bg: rgba(194, 97, 76, 0.12);
  --color-warning: var(--color-gold-500);

  /* ---- Surface roles ---- */
  --surface-base: var(--color-obsidian-950);
  --surface-raised: var(--color-obsidian-900);
  --surface-card: var(--color-obsidian-800);
  --surface-card-hover: var(--color-obsidian-700);
  --surface-border: rgba(247, 244, 236, 0.08);
  --surface-border-strong: rgba(247, 244, 236, 0.16);

  --text-primary: var(--color-ivory-50);
  --text-secondary: var(--color-ivory-200);
  --text-muted: var(--color-ivory-400);
  --text-accent: var(--color-gold-400);
  --text-on-gold: var(--color-obsidian-950);

  /* ---- Typography ---- */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-display-xl: clamp(2.5rem, 5vw + 1rem, 4.5rem);
  --text-display-lg: clamp(2rem, 3.5vw + 1rem, 3rem);
  --text-display-md: clamp(1.5rem, 2vw + 1rem, 2.25rem);
  --text-h3: 1.25rem;
  --text-body-lg: 1.125rem;
  --text-body: 1rem;
  --text-body-sm: 0.875rem;
  --text-caption: 0.75rem;

  --leading-tight: 1.15;
  --leading-snug: 1.35;
  --leading-normal: 1.6;

  --tracking-eyebrow: 0.12em;

  /* ---- Spacing (4px base) ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  /* ---- Radius ---- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-full: 999px;

  /* ---- Shadow (soft, low-contrast against dark surfaces) ---- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.45);
  --shadow-gold-glow: 0 0 0 1px rgba(201, 162, 75, 0.25), 0 4px 16px rgba(201, 162, 75, 0.12);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out-soft: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 150ms;
  --duration-base: 280ms;
  --duration-slow: 500ms;

  /* ---- Layout ---- */
  --container-max: 720px;
  --z-shell: 10;
  --z-overlay: 100;
  --z-toast: 200;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
