:root {
  /* ───────── Color Palette - Light Mode ───────── */
  --bg-primary-hsl: 220, 30%, 97%;
  --bg-secondary-hsl: 220, 25%, 93%;
  --bg-tertiary-hsl: 220, 20%, 88%;
  --card-bg-hsl: 0, 0%, 100%;
  --border-color-hsl: 220, 20%, 84%;

  --text-primary-hsl: 220, 80%, 10%;
  --text-secondary-hsl: 220, 30%, 32%;
  --text-muted-hsl: 220, 15%, 52%;

  /* ───────── PPL Brand Accents ───────── */
  --accent-primary-hsl: 229, 82%, 31%;       /* User Requested #0e2591 */
  --accent-secondary-hsl: 198, 96%, 40%;     /* Cerulean/Sky Blue */
  --accent-gold-hsl: 40, 95%, 50%;           /* Premium Gold */
  --accent-purple-hsl: 275, 80%, 55%;        /* Purple Cap */
  --accent-danger-hsl: 354, 78%, 56%;        /* Red / Live badge */
  --accent-teal-hsl: 174, 90%, 38%;          /* Teal accent */

  /* ───────── Glassmorphism ───────── */
  --glass-bg: rgba(255, 255, 255, 0.88);
  --glass-border: rgba(4, 77, 230, 0.1);
  --glass-shadow: rgba(4, 77, 230, 0.06);

  /* ───────── Fixed Header (always deep navy) ───────── */
  --header-bg: rgba(14, 37, 145, 0.97);
  --header-text: #ffffff;
  --header-text-secondary: rgba(255, 255, 255, 0.82);
  --header-border: rgba(255, 255, 255, 0.1);
  --header-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
  --header-height: 76px;

  /* ───────── Utility Bar (top of header) ───────── */
  --utility-bg: #09175b;
  --utility-text: rgba(255,255,255,0.65);
  --utility-height: 36px;

  /* ───────── Ticker ───────── */
  --ticker-bg: #0e2591;
  --ticker-text-primary: #ffffff;
  --ticker-text-muted: rgba(255, 255, 255, 0.80);
  --ticker-border: rgba(255, 255, 255, 0.18);

  /* ───────── Footer ───────── */
  --footer-bg: #09175b;
  --footer-text: #ffffff;
  --footer-text-secondary: #ffffff;
  --footer-text-muted: #ffffff;
  --footer-border: rgba(255, 255, 255, 0.08);

  /* ───────── Section accents ───────── */
  --section-underline: linear-gradient(90deg, var(--accent-primary), var(--accent-gold));

  /* ───────── Typography ───────── */
  --font-display: 'Lufga', 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-body: 'Lufga', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* ───────── Typography Scale ───────── */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;

  /* ───────── Spacing ───────── */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;

  /* ───────── Border Radius ───────── */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;
  --radius-full: 9999px;

  /* ───────── Shadows ───────── */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.14);
  --shadow-lg: 0 16px 36px -4px rgba(0, 0, 0, 0.24);
  --shadow-glow: 0 0 24px rgba(4, 77, 230, 0.3);
  --shadow-gold: 0 0 20px rgba(255, 185, 0, 0.35);

  /* ───────── Transitions ───────── */
  --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);

  /* ───────── Layout ───────── */
  --max-width: 1280px;
}

/* ─── Dark Mode Variables ─── */
:root[data-theme="dark"] {
  --bg-primary-hsl: 222, 85%, 7%;
  --bg-secondary-hsl: 222, 80%, 10%;
  --bg-tertiary-hsl: 222, 75%, 14%;
  --card-bg-hsl: 222, 78%, 11%;
  --border-color-hsl: 222, 45%, 20%;

  --text-primary-hsl: 0, 0%, 96%;
  --text-secondary-hsl: 220, 25%, 72%;
  --text-muted-hsl: 220, 15%, 50%;

  --glass-bg: rgba(4, 20, 80, 0.72);
  --glass-border: rgba(255, 255, 255, 0.07);
  --glass-shadow: rgba(0, 0, 0, 0.45);

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 16px 36px -4px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 24px rgba(4, 77, 230, 0.45);
}

/* ─── Base Color Aliases ─── */
:root {
  --bg-primary: hsl(var(--bg-primary-hsl));
  --bg-secondary: hsl(var(--bg-secondary-hsl));
  --bg-tertiary: hsl(var(--bg-tertiary-hsl));
  --card-bg: hsl(var(--card-bg-hsl));
  --border-color: hsl(var(--border-color-hsl));

  --text-primary: hsl(var(--text-primary-hsl));
  --text-secondary: hsl(var(--text-secondary-hsl));
  --text-muted: hsl(var(--text-muted-hsl));

  --accent-primary: hsl(var(--accent-primary-hsl));
  --accent-secondary: hsl(var(--accent-secondary-hsl));
  --accent-gold: hsl(var(--accent-gold-hsl));
  --accent-purple: hsl(var(--accent-purple-hsl));
  --accent-danger: hsl(var(--accent-danger-hsl));
  --accent-teal: hsl(var(--accent-teal-hsl));
}

@media (max-width: 768px) {
  :root {
    --header-height: 68px;
    --utility-height: 32px;
  }
}
