/* ============================================================
   HARBOUR GLASS - Design Tokens
   Source: prototype css/main.css lines 29-110
   Single source of truth for every CSS custom property used by
   component styles, custom JS, and Breakdance Global Styles
   (via var() references in typography presets).
   Pure ASCII only. See functions.php note on encoding.
   ============================================================ */

:root {
  /* Brand palette */
  --purple: #7A4F97;
  --purple-light: #9B6FB8;
  --purple-dark: #5C3A73;
  --green: #26B539;
  --green-light: #3DD954;
  --green-dark: #1D8A2B;
  --lime: #BAD300;
  --lime-light: #D4EF33;
  --dark-blue: #012D6E;
  --navy: #051A58;

  /* Surface system - layered darks for depth */
  --bg-base: #0A0A14;
  --bg-surface: #0F0F1E;
  --bg-elevated: #151528;
  --bg-overlay: #1A1A32;
  --bg-glass: rgba(15, 15, 30, 0.65);

  /* Text */
  --text-primary: #FFFFFF;
  --text-secondary: #B0B0C0;
  --text-muted: #6B6B80;
  --text-accent: var(--lime);

  /* Borders */
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border-light: rgba(255, 255, 255, 0.12);
  --border-accent: rgba(122, 79, 151, 0.4);

  /* Type scale */
  --text-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.75rem);
  --text-sm: clamp(0.8rem, 0.75rem + 0.25vw, 0.875rem);
  --text-base: clamp(0.9rem, 0.85rem + 0.25vw, 1rem);
  --text-lg: clamp(1.05rem, 0.95rem + 0.5vw, 1.25rem);
  --text-xl: clamp(1.25rem, 1rem + 1.25vw, 1.75rem);
  --text-2xl: clamp(1.6rem, 1.2rem + 2vw, 2.5rem);
  --text-3xl: clamp(2rem, 1.4rem + 3vw, 3.5rem);
  --text-4xl: clamp(2.5rem, 1.6rem + 4.5vw, 5rem);
  --text-display: clamp(3rem, 1.8rem + 6vw, 7rem);

  /* Spacing scale */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;
  --space-2xl: 10rem;
  --space-3xl: 14rem;

  /* Container */
  --container-max: 1400px;
  --container-narrow: 900px;
  --container-wide: 1600px;
  --gutter: clamp(1.25rem, 1rem + 2vw, 3rem);

  /* Transitions */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-slow: 500ms;
  --duration-reveal: 800ms;

  /* Z-index layers */
  --z-base: 1;
  --z-sticky: 100;
  --z-nav: 500;
  --z-overlay: 900;
  --z-modal: 1000;
  --z-cursor: 9999;

  /* Glassmorphism */
  --glass-bg: rgba(122, 79, 151, 0.08);
  --glass-border: rgba(255, 255, 255, 0.1);
  --glass-blur: 20px;
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Text selection colour - not settable via Breakdance UI */
::selection {
  background: var(--purple);
  color: var(--text-primary);
}
