@font-face {
  font-family: "Gotu";
  src: url("../../assets/fonts/Gotu-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Color Tokens - Dark Fantasy Arcane Palette */
  --aq-color-void: #0a0506;
  --aq-color-shadow: #1a0a0f;
  --aq-color-ember: #2d1319;
  --aq-color-crimson: #8b1e3f;
  --aq-color-ruby: #c7254e;
  --aq-color-gold: #d4af37;
  --aq-color-amber: #ffb347;
  --aq-color-mist: #9ca3af;
  --aq-color-silver: #d1d5db;
  --aq-color-pearl: #f3f4f6;

  /* Semantic Colors */
  --aq-color-bg-primary: var(--aq-color-void);
  --aq-color-bg-secondary: var(--aq-color-shadow);
  --aq-color-bg-tertiary: var(--aq-color-ember);
  --aq-color-text-primary: var(--aq-color-pearl);
  --aq-color-text-secondary: var(--aq-color-silver);
  --aq-color-text-muted: var(--aq-color-mist);
  --aq-color-accent-primary: var(--aq-color-crimson);
  --aq-color-accent-secondary: var(--aq-color-gold);
  --aq-color-accent-tertiary: var(--aq-color-amber);

  /* Spacing Scale */
  --aq-space-1: 0.25rem;
  --aq-space-2: 0.5rem;
  --aq-space-3: 0.75rem;
  --aq-space-4: 1rem;
  --aq-space-5: 1.25rem;
  --aq-space-6: 1.5rem;
  --aq-space-8: 2rem;
  --aq-space-10: 2.5rem;
  --aq-space-12: 3rem;
  --aq-space-16: 4rem;
  --aq-space-20: 5rem;
  --aq-space-24: 6rem;

  /* Typography Scale */
  --aq-text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --aq-text-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
  --aq-text-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  --aq-text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
  --aq-text-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
  --aq-text-2xl: clamp(1.5rem, 1.3rem + 1vw, 1.875rem);
  --aq-text-3xl: clamp(1.875rem, 1.6rem + 1.375vw, 2.25rem);
  --aq-text-4xl: clamp(2.25rem, 1.9rem + 1.75vw, 3rem);

  /* Line Heights */
  --aq-leading-tight: 1.25;
  --aq-leading-snug: 1.375;
  --aq-leading-normal: 1.5;
  --aq-leading-relaxed: 1.625;
  --aq-leading-loose: 1.75;

  /* Z-Index Scale */
  --aq-z-base: 1;
  --aq-z-dropdown: 100;
  --aq-z-sticky: 200;
  --aq-z-drawer: 300;
  --aq-z-overlay: 400;
  --aq-z-modal: 500;
  --aq-z-toast: 600;

  /* Border Radius */
  --aq-radius-sm: 0.25rem;
  --aq-radius-md: 0.5rem;
  --aq-radius-lg: 0.75rem;
  --aq-radius-xl: 1rem;
  --aq-radius-full: 9999px;

  /* Transitions */
  --aq-transition-fast: 150ms ease-in-out;
  --aq-transition-base: 250ms ease-in-out;
  --aq-transition-slow: 350ms ease-in-out;

  /* Shadows */
  --aq-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.5);
  --aq-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.5);
  --aq-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5), 0 4px 6px -4px rgb(0 0 0 / 0.5);
  --aq-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.5), 0 8px 10px -6px rgb(0 0 0 / 0.5);

  /* Container Widths */
  --aq-container-sm: 640px;
  --aq-container-md: 768px;
  --aq-container-lg: 1024px;
  --aq-container-xl: 1280px;
  --aq-container-2xl: 1536px;
}

@media (prefers-color-scheme: light) {
  :root {
    --aq-color-bg-primary: var(--aq-color-pearl);
    --aq-color-bg-secondary: var(--aq-color-silver);
    --aq-color-bg-tertiary: var(--aq-color-mist);
    --aq-color-text-primary: var(--aq-color-void);
    --aq-color-text-secondary: var(--aq-color-shadow);
    --aq-color-text-muted: var(--aq-color-ember);
  }
}
