/* ============================================================
   Design Tokens — single source of truth for the visual system.
   Tweak here; everything inherits.
   ============================================================ */

:root {
    /* Surfaces */
    --bg-base: #0a0a0b;
    --bg-surface: #111114;
    --bg-surface-2: #16161b;
    --bg-elevated: #1a1a1f;
    --bg-glass: rgba(17, 17, 20, 0.6);
    --bg-glass-strong: rgba(10, 10, 11, 0.85);

    /* Text */
    --text-primary: #f4f4f5;
    --text-secondary: #e4e4e7;
    --text-tertiary: #a1a1aa;
    --text-muted: #71717a;
    --text-faint: #52525b;

    /* Accent (Cyan / Electric Blue) */
    --accent: #22d3ee;
    --accent-soft: #67e8f9;
    --accent-strong: #06b6d4;
    --accent-blue: #3b82f6;
    --accent-indigo: #6366f1;
    --gradient-accent: linear-gradient(135deg, #22d3ee 0%, #3b82f6 100%);
    --gradient-accent-soft: linear-gradient(
        135deg,
        rgba(34, 211, 238, 0.14) 0%,
        rgba(59, 130, 246, 0.10) 100%
    );
    --gradient-text: linear-gradient(
        135deg,
        #e0f2fe 0%,
        #22d3ee 50%,
        #3b82f6 100%
    );

    /* Glow */
    --glow: rgba(34, 211, 238, 0.18);
    --glow-strong: rgba(34, 211, 238, 0.32);
    --glow-blue: rgba(59, 130, 246, 0.20);

    /* Borders */
    --border-subtle: rgba(255, 255, 255, 0.05);
    --border-default: rgba(255, 255, 255, 0.09);
    --border-strong: rgba(255, 255, 255, 0.16);
    --border-accent: rgba(34, 211, 238, 0.32);

    /* Typography */
    --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
        sans-serif;
    --font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;

    /* Fluid font scale */
    --fs-xs: clamp(0.75rem, 0.72rem + 0.15vw, 0.8rem);
    --fs-sm: clamp(0.85rem, 0.82rem + 0.15vw, 0.9rem);
    --fs-base: clamp(0.95rem, 0.92rem + 0.2vw, 1.05rem);
    --fs-md: clamp(1.05rem, 1.0rem + 0.25vw, 1.15rem);
    --fs-lg: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
    --fs-xl: clamp(1.5rem, 1.3rem + 0.8vw, 1.9rem);
    --fs-2xl: clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem);
    --fs-3xl: clamp(2.4rem, 1.8rem + 2.6vw, 3.6rem);
    --fs-display: clamp(2.8rem, 2rem + 4.5vw, 5rem);

    /* Spacing (4px base scale) */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 1.75rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-28: 7rem;
    --space-32: 8rem;

    /* Radii */
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-2xl: 28px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 12px 32px -8px rgba(0, 0, 0, 0.55);
    --shadow-xl: 0 24px 64px -12px rgba(0, 0, 0, 0.7);
    --shadow-glow:
        0 0 0 1px rgba(34, 211, 238, 0.18),
        0 12px 36px -8px var(--glow);
    --shadow-inset: inset 0 1px 0 0 rgba(255, 255, 255, 0.04);

    /* Layout */
    --container-max: 1180px;
    --container-pad: clamp(1.25rem, 4vw, 2.25rem);
    --nav-height: 64px;

    /* Motion */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --dur-fast: 150ms;
    --dur-normal: 250ms;
    --dur-slow: 450ms;
    --dur-reveal: 700ms;

    /* Z-index */
    --z-bg: 0;
    --z-base: 1;
    --z-raised: 10;
    --z-nav: 50;
    --z-overlay: 100;
}
