@layer tokens {
  :root {
    --clr-bg: #070b10;
    --clr-surface: #0d1520;
    --clr-surface-2: #121e2e;
    --clr-border: #1a2d42;
    --clr-primary: #00d4ff;
    --clr-primary-dim: #0099bb;
    --clr-accent: #ffd700;
    --clr-accent-dim: #b89a00;
    --clr-text: #e8f0fe;
    --clr-text-muted: #7a9ab8;
    --clr-text-inverse: #070b10;
    --clr-danger: #ff4d6d;
    --clr-success: #00e5a0;
    --clr-rail-w: 220px;
    --clr-overlay: rgba(7, 11, 16, 0.88);

    --sp-1: 0.25rem;
    --sp-2: 0.5rem;
    --sp-3: 0.75rem;
    --sp-4: 1rem;
    --sp-5: 1.25rem;
    --sp-6: 1.5rem;
    --sp-8: 2rem;
    --sp-10: 2.5rem;
    --sp-12: 3rem;
    --sp-16: 4rem;
    --sp-20: 5rem;
    --sp-24: 6rem;

    --rad-sm: 4px;
    --rad-md: 8px;
    --rad-lg: 14px;
    --rad-xl: 22px;
    --rad-pill: 9999px;

    --shadow-sm: 0 2px 8px rgba(0,0,0,0.4);
    --shadow-md: 0 4px 20px rgba(0,0,0,0.55);
    --shadow-lg: 0 8px 40px rgba(0,0,0,0.7);
    --shadow-glow: 0 0 18px rgba(0, 212, 255, 0.35);
    --shadow-glow-accent: 0 0 18px rgba(255, 215, 0, 0.3);

    --font-body: 'Nunito', system-ui, sans-serif;
    --font-head: 'Poppins', system-ui, sans-serif;

    --text-xs:   clamp(0.7rem,  1.2vw, 0.8rem);
    --text-sm:   clamp(0.8rem,  1.4vw, 0.9rem);
    --text-base: clamp(0.9rem,  1.6vw, 1rem);
    --text-md:   clamp(1rem,    1.8vw, 1.125rem);
    --text-lg:   clamp(1.125rem,2vw,   1.375rem);
    --text-xl:   clamp(1.375rem,2.5vw, 1.75rem);
    --text-2xl:  clamp(1.75rem, 3.5vw, 2.5rem);
    --text-3xl:  clamp(2rem,    5vw,   3.5rem);
    --text-hero: clamp(2.5rem,  7vw,   5rem);

    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 400ms ease;

    --z-rail: 100;
    --z-topbar: 110;
    --z-bottom-nav: 120;
    --z-overlay: 200;
    --z-modal: 300;
    --z-cookie: 400;
  }
}
