/* Hloliwe design tokens — generated. Edit build_tokens.py, not this file. */
:root {
  /* Brand */
  --hl-brand-hloliwe-blue: #06287A;
  --hl-brand-verified-green: #009B55;
  --hl-brand-beadwork-gold: #FCC200;
  --hl-brand-beadwork-red: #CC0A12;
  --hl-brand-beadwork-sky: #1885F9;
  --hl-brand-beadwork-royal: #1F5AC8;
  --hl-brand-midnight: #071A4A;

  /* Palette */
  --hl-blue-50: #EEF2FA;
  --hl-blue-100: #D7E0F3;
  --hl-blue-200: #AFC1E7;
  --hl-blue-300: #7F99D4;
  --hl-blue-400: #4D6FBC;
  --hl-blue-500: #2549A1;
  --hl-blue-600: #06287A;
  --hl-blue-700: #052167;
  --hl-blue-800: #041A52;
  --hl-blue-900: #031440;
  --hl-blue-950: #020C28;
  --hl-green-50: #E6F6EE;
  --hl-green-100: #C2EAD5;
  --hl-green-200: #8AD6AE;
  --hl-green-300: #4CBE85;
  --hl-green-400: #1FAB68;
  --hl-green-500: #009B55;
  --hl-green-600: #007F46;
  --hl-green-700: #006538;
  --hl-green-800: #004D2B;
  --hl-green-900: #00371F;
  --hl-gold-50: #FFF9E0;
  --hl-gold-100: #FFEFAD;
  --hl-gold-200: #FFE170;
  --hl-gold-300: #FDD233;
  --hl-gold-400: #FCC200;
  --hl-gold-500: #E0AA00;
  --hl-gold-600: #B88A00;
  --hl-gold-700: #8C6900;
  --hl-gold-800: #5F4700;
  --hl-gold-900: #3A2C00;
  --hl-red-50: #FDECEC;
  --hl-red-100: #F9CFD0;
  --hl-red-200: #F1A0A3;
  --hl-red-300: #E5676C;
  --hl-red-400: #D93439;
  --hl-red-500: #CC0A12;
  --hl-red-600: #AA080F;
  --hl-red-700: #87060C;
  --hl-red-800: #640509;
  --hl-red-900: #420306;
  --hl-sky-50: #EAF4FF;
  --hl-sky-100: #CCE4FE;
  --hl-sky-300: #70B3FB;
  --hl-sky-500: #1885F9;
  --hl-sky-700: #0B5DB8;
  --hl-neutral-0: #FFFFFF;
  --hl-neutral-25: #FAFBFD;
  --hl-neutral-50: #F4F6FA;
  --hl-neutral-100: #E9EDF4;
  --hl-neutral-200: #D6DDE8;
  --hl-neutral-300: #B6C0D0;
  --hl-neutral-400: #8893A8;
  --hl-neutral-500: #5F6B82;
  --hl-neutral-600: #465167;
  --hl-neutral-700: #333C4F;
  --hl-neutral-800: #222939;
  --hl-neutral-900: #141A27;
  --hl-neutral-950: #0B0F18;

  /* Semantic (light) */
  --hl-bg: #FFFFFF;
  --hl-surface: var(--hl-neutral-25);
  --hl-surface-2: var(--hl-neutral-50);
  --hl-surface-sunken: var(--hl-neutral-100);
  --hl-border: var(--hl-neutral-200);
  --hl-border-strong: var(--hl-neutral-300);
  --hl-text: var(--hl-neutral-900);
  --hl-text-muted: var(--hl-neutral-600);
  --hl-text-subtle: var(--hl-neutral-500);
  --hl-text-inverse: #FFFFFF;
  --hl-heading: var(--hl-blue-700);
  --hl-primary: var(--hl-blue-600);
  --hl-primary-hover: var(--hl-blue-700);
  --hl-primary-active: var(--hl-blue-800);
  --hl-on-primary: #FFFFFF;
  --hl-primary-soft: var(--hl-blue-50);
  --hl-primary-soft-text: var(--hl-blue-600);
  --hl-link: var(--hl-blue-500);
  --hl-link-hover: var(--hl-blue-700);
  --hl-verified: var(--hl-green-500);
  --hl-on-verified: #FFFFFF;
  --hl-success: var(--hl-green-600);
  --hl-success-text: var(--hl-green-700);
  --hl-success-soft: var(--hl-green-50);
  --hl-success-border: var(--hl-green-200);
  --hl-warning: var(--hl-gold-400);
  --hl-warning-text: var(--hl-gold-800);
  --hl-warning-soft: var(--hl-gold-50);
  --hl-warning-border: var(--hl-gold-200);
  --hl-danger: var(--hl-red-500);
  --hl-danger-hover: var(--hl-red-600);
  --hl-danger-text: var(--hl-red-600);
  --hl-danger-soft: var(--hl-red-50);
  --hl-danger-border: var(--hl-red-200);
  --hl-info: var(--hl-sky-700);
  --hl-info-text: var(--hl-sky-700);
  --hl-info-soft: var(--hl-sky-50);
  --hl-info-border: var(--hl-sky-100);
  --hl-focus: var(--hl-sky-500);
  --hl-overlay: rgba(7, 26, 74, 0.55);

  /* Typography */
  --hl-font-sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --hl-font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --hl-text-display-size: 3rem; --hl-text-display-line: 3.5rem; --hl-text-display-weight: 800; --hl-text-display-tracking: -0.02em;
  --hl-text-h1-size: 2.25rem; --hl-text-h1-line: 2.75rem; --hl-text-h1-weight: 800; --hl-text-h1-tracking: -0.02em;
  --hl-text-h2-size: 1.75rem; --hl-text-h2-line: 2.25rem; --hl-text-h2-weight: 700; --hl-text-h2-tracking: -0.01em;
  --hl-text-h3-size: 1.375rem; --hl-text-h3-line: 1.875rem; --hl-text-h3-weight: 700; --hl-text-h3-tracking: -0.005em;
  --hl-text-h4-size: 1.125rem; --hl-text-h4-line: 1.625rem; --hl-text-h4-weight: 700; --hl-text-h4-tracking: 0em;
  --hl-text-body-lg-size: 1.125rem; --hl-text-body-lg-line: 1.75rem; --hl-text-body-lg-weight: 400; --hl-text-body-lg-tracking: 0em;
  --hl-text-body-size: 1rem; --hl-text-body-line: 1.5rem; --hl-text-body-weight: 400; --hl-text-body-tracking: 0em;
  --hl-text-small-size: 0.875rem; --hl-text-small-line: 1.25rem; --hl-text-small-weight: 500; --hl-text-small-tracking: 0em;
  --hl-text-caption-size: 0.75rem; --hl-text-caption-line: 1rem; --hl-text-caption-weight: 600; --hl-text-caption-tracking: 0.02em;
  --hl-text-overline-size: 0.75rem; --hl-text-overline-line: 1rem; --hl-text-overline-weight: 700; --hl-text-overline-tracking: 0.08em;

  /* Space (4px base) */
  --hl-space-0: 0rem;
  --hl-space-1: 0.125rem;
  --hl-space-2: 0.25rem;
  --hl-space-3: 0.5rem;
  --hl-space-4: 0.75rem;
  --hl-space-5: 1rem;
  --hl-space-6: 1.25rem;
  --hl-space-7: 1.5rem;
  --hl-space-8: 2rem;
  --hl-space-9: 2.5rem;
  --hl-space-10: 3rem;
  --hl-space-11: 4rem;
  --hl-space-12: 5rem;
  --hl-space-13: 6rem;

  /* Radius */
  --hl-radius-xs: 4px;
  --hl-radius-sm: 6px;
  --hl-radius-md: 10px;
  --hl-radius-lg: 14px;
  --hl-radius-xl: 20px;
  --hl-radius-2xl: 28px;
  --hl-radius-pill: 999px;

  /* Elevation */
  --hl-shadow-xs: 0 1px 2px rgba(6, 40, 122, 0.06);
  --hl-shadow-sm: 0 1px 3px rgba(6, 40, 122, 0.08), 0 1px 2px rgba(6, 40, 122, 0.04);
  --hl-shadow-md: 0 6px 16px -4px rgba(6, 40, 122, 0.12), 0 2px 4px rgba(6, 40, 122, 0.05);
  --hl-shadow-lg: 0 18px 40px -12px rgba(6, 40, 122, 0.22), 0 4px 10px rgba(6, 40, 122, 0.06);

  /* Motion */
  --hl-duration-fast: 120ms;
  --hl-duration-base: 200ms;
  --hl-duration-slow: 320ms;
  --hl-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --hl-ease-emphasis: cubic-bezier(0.3, 1.4, 0.4, 1);

  /* Layers */
  --hl-z-base: 0;
  --hl-z-dropdown: 100;
  --hl-z-sticky: 200;
  --hl-z-overlay: 300;
  --hl-z-modal: 400;
  --hl-z-toast: 500;
  --hl-container: 1200px;
  color-scheme: light;
}

[data-theme="dark"] {
  --hl-bg: #060E24;
  --hl-surface: #0B1733;
  --hl-surface-2: #102040;
  --hl-surface-sunken: #050B1D;
  --hl-border: #1E2E57;
  --hl-border-strong: #2C4078;
  --hl-text: #EDF1F9;
  --hl-text-muted: #A9B6D0;
  --hl-text-subtle: #8392B2;
  --hl-text-inverse: #06287A;
  --hl-heading: #FFFFFF;
  --hl-primary: #3D66D1;
  --hl-primary-hover: #5079DE;
  --hl-primary-active: #2C55BE;
  --hl-on-primary: #FFFFFF;
  --hl-primary-soft: #13265A;
  --hl-primary-soft-text: #B9CAF2;
  --hl-link: #8DB4FF;
  --hl-link-hover: #B9D0FF;
  --hl-verified: #1FAB68;
  --hl-on-verified: #04140C;
  --hl-success: #1FAB68;
  --hl-success-text: #6FD6A2;
  --hl-success-soft: #0B2A20;
  --hl-success-border: #155B3E;
  --hl-warning: #FCC200;
  --hl-warning-text: #FDD233;
  --hl-warning-soft: #2A2208;
  --hl-warning-border: #5F4700;
  --hl-danger: #CC0A12;
  --hl-danger-hover: #D93439;
  --hl-danger-text: #FF8A8E;
  --hl-danger-soft: #2E0E12;
  --hl-danger-border: #6B1A1F;
  --hl-info: #70B3FB;
  --hl-info-text: #9CCBFF;
  --hl-info-soft: #0C2240;
  --hl-info-border: #1D4677;
  --hl-focus: #70B3FB;
  --hl-overlay: rgba(2, 6, 18, 0.7);
  --hl-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --hl-shadow-md: 0 8px 20px -6px rgba(0, 0, 0, 0.55);
  --hl-shadow-lg: 0 20px 44px -12px rgba(0, 0, 0, 0.65);
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  [data-theme="auto"] {
    --hl-bg: #060E24;
    --hl-surface: #0B1733;
    --hl-surface-2: #102040;
    --hl-surface-sunken: #050B1D;
    --hl-border: #1E2E57;
    --hl-border-strong: #2C4078;
    --hl-text: #EDF1F9;
    --hl-text-muted: #A9B6D0;
    --hl-text-subtle: #8392B2;
    --hl-text-inverse: #06287A;
    --hl-heading: #FFFFFF;
    --hl-primary: #3D66D1;
    --hl-primary-hover: #5079DE;
    --hl-primary-active: #2C55BE;
    --hl-on-primary: #FFFFFF;
    --hl-primary-soft: #13265A;
    --hl-primary-soft-text: #B9CAF2;
    --hl-link: #8DB4FF;
    --hl-link-hover: #B9D0FF;
    --hl-verified: #1FAB68;
    --hl-on-verified: #04140C;
    --hl-success: #1FAB68;
    --hl-success-text: #6FD6A2;
    --hl-success-soft: #0B2A20;
    --hl-success-border: #155B3E;
    --hl-warning: #FCC200;
    --hl-warning-text: #FDD233;
    --hl-warning-soft: #2A2208;
    --hl-warning-border: #5F4700;
    --hl-danger: #CC0A12;
    --hl-danger-hover: #D93439;
    --hl-danger-text: #FF8A8E;
    --hl-danger-soft: #2E0E12;
    --hl-danger-border: #6B1A1F;
    --hl-info: #70B3FB;
    --hl-info-text: #9CCBFF;
    --hl-info-soft: #0C2240;
    --hl-info-border: #1D4677;
    --hl-focus: #70B3FB;
    --hl-overlay: rgba(2, 6, 18, 0.7);
    color-scheme: dark;
  }
}

/* Breakpoints (mobile-first, use in min-width queries): sm 480px, md 768px, lg 1024px, xl 1280px, 2xl 1536px */
