/* 
   1. DESIGN TOKENS (CSS VARIABLES)
*/
:root {
    /* 
     * PALETTE: THE "VOID" (NEUTRALS)
     * Deep, desaturated charcoals for a premium, OLED-friendly look.
     */
    --color-void-0: #050508;
    /* Absolute Void (App Background) */
    --color-void-50: #0A0B10;
    /* Card Background */
    --color-void-100: #14151A;
    /* Elevated Surface */
    --color-void-200: #1F2128;
    /* Border / Divider */
    --color-void-300: #2D303A;
    /* Input Background */
    --color-void-400: #3E424E;
    /* Hover State */
    --color-void-500: #525666;
    /* Muted Text */
    --color-void-600: #6E7280;
    /* Secondary Text */
    --color-void-700: #9496A1;
    /* Primary Text (Dim) */
    --color-void-800: #C2C4CC;
    /* Primary Text */
    --color-void-900: #EEEEF2;
    /* Heading / Brightest */
    --color-void-950: #FFFFFF;
    /* Pure White */

    /* 
     * PALETTE: NEON CYAN (PRIMARY ACTION)
     * Represents: Tech, Flow, Future, Data.
     */
    --color-cyan-50: #E0FDFF;
    --color-cyan-100: #BEFAFF;
    --color-cyan-200: #87F4FF;
    --color-cyan-300: #46EBFF;
    --color-cyan-400: #00DBF5;
    --color-cyan-500: #00B8D4;
    /* Veza Brand Core */
    --color-cyan-600: #0891B2;
    --color-cyan-700: #0E7490;
    --color-cyan-800: #155E75;
    --color-cyan-900: #164E63;
    --color-cyan-glow: rgba(0, 219, 245, 0.5);

    /* 
     * PALETTE: HOT MAGENTA (SECONDARY / STREET)
     * Represents: Graffiti, Passion, Alert, "The Edge".
     */
    --color-magenta-50: #FDF2F8;
    --color-magenta-100: #FCE7F3;
    --color-magenta-200: #FBCFE8;
    --color-magenta-300: #F9A8D4;
    --color-magenta-400: #F472B6;
    --color-magenta-500: #EC4899;
    --color-magenta-600: #DB2777;
    /* Street Core */
    --color-magenta-700: #BE185D;
    --color-magenta-800: #9D174D;
    --color-magenta-900: #831843;
    --color-magenta-glow: rgba(236, 72, 153, 0.5);

    /* 
     * PALETTE: ACID LIME (ACCENT / HACKER)
     * Represents: Success, Terminal, Code, Bio-hazard.
     */
    --color-lime-400: #A3E635;
    --color-lime-500: #84CC16;
    /* Hacker Core */
    --color-lime-600: #65A30D;
    --color-lime-glow: rgba(132, 204, 22, 0.5);

    /* 
     * PALETTE: VIOLET (CREATIVE / PREMIUM)
     */
    --color-violet-500: #8B5CF6;
    --color-violet-600: #7C3AED;

    /* 
     * PALETTE: SEMANTIC
     */
    --color-success: #10B981;
    --color-warning: #F59E0B;
    --color-error: #EF4444;
    --color-info: #3B82F6;

    /* 
     * PALETTE: NATURE / ORGANIC (TALAS EXPANSION)
     */
    --color-moss: #2d5a3d;
    --color-moss-light: #4a8c5f;
    --color-bark: #3d2914;
    --color-earth: #5c4033;
    --color-leaf: #7cb342;
    --color-bloom: #e91e63;
    --color-petal: #f8bbd9;
    --color-sky: #64b5f6;

    /* 
     * PALETTE: MANGA / EMOTION (TALAS EXPANSION)
     */
    --color-sakura: #ffb7c5;
    --color-yurei: #9575cd;
    --color-shonen: #ff5722;
    --color-seinen: #455a64;
    --color-mecha: #78909c;

    /* 
     * PALETTE: GAMING / RPG (TALAS EXPANSION)
     */
    --color-xp-gold: #ffd700;
    --color-hp-red: #ff3333;
    --color-mp-blue: #3399ff;
    --color-shield: #9c27b0;
    --color-crit: #ff0000;

    /* 
     * GRADIENTS
     */
    --grad-cyber: linear-gradient(135deg, var(--color-cyan-400), var(--color-violet-500));
    --grad-heat: linear-gradient(135deg, var(--color-magenta-500), var(--color-warning));
    --grad-bio: linear-gradient(135deg, var(--color-lime-400), var(--color-cyan-400));
    --grad-dark-plate: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 100%);

    /* TALAS GRADIENTS */
    --grad-sunset: linear-gradient(135deg, var(--color-orange), var(--color-magenta-500));
    --grad-forest: linear-gradient(135deg, var(--color-moss), var(--color-leaf) 50%, var(--color-lime-500) 100%);
    --grad-manga: linear-gradient(135deg, var(--color-sakura) 0%, var(--color-yurei) 100%);
    --grad-gaming: linear-gradient(135deg, var(--color-shonen) 0%, var(--color-xp-gold) 100%);
    --grad-nature: linear-gradient(180deg, var(--color-void-200) 0%, var(--color-moss) 50%, var(--color-bark) 100%);

    /* 
     * TYPOGRAPHY
     */
    --font-display: 'Bebas Neue', sans-serif;
    --font-head: 'Space Grotesk', system-ui, -apple-system, sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
    --font-editorial: 'Instrument Serif', serif;

    --text-xs: 0.75rem;
    /* 12px */
    --text-sm: 0.875rem;
    /* 14px */
    --text-base: 1rem;
    /* 16px */
    --text-lg: 1.125rem;
    /* 18px */
    --text-xl: 1.25rem;
    /* 20px */
    --text-2xl: 1.5rem;
    /* 24px */
    --text-3xl: 1.875rem;
    /* 30px */
    --text-4xl: 2.25rem;
    /* 36px */
    --text-5xl: 3rem;
    /* 48px */
    --text-6xl: 3.75rem;
    /* 60px */

    --leading-tight: 1.1;
    --leading-snug: 1.3;
    --leading-base: 1.5;
    --leading-loose: 1.7;

    /* 
     * SPACING (4px Base)
     */
    --space-1: 0.25rem;
    /* 4px */
    --space-2: 0.5rem;
    /* 8px */
    --space-3: 0.75rem;
    /* 12px */
    --space-4: 1rem;
    /* 16px */
    --space-5: 1.25rem;
    /* 20px */
    --space-6: 1.5rem;
    /* 24px */
    --space-8: 2rem;
    /* 32px */
    --space-10: 2.5rem;
    /* 40px */
    --space-12: 3rem;
    /* 48px */
    --space-16: 4rem;
    /* 64px */
    --space-20: 5rem;
    /* 80px */
    --space-24: 6rem;
    /* 96px */

    /* 
     * SHAPES & BORDERS
     */
    --radius-xs: 2px;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    --border-width: 1px;

    /* "Manga Cut" Clip Paths */
    --clip-button-r: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    --clip-button-l: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
    --clip-tag: polygon(0 0, 100% 0, 90% 100%, 10% 100%);
    --clip-hex: polygon(5% 0, 95% 0, 100% 50%, 95% 100%, 5% 100%, 0 50%);

    /* Talas Clip Paths */
    --clip-manga: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
    --clip-manga-lg: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
    --clip-badge: polygon(0 10%, 10% 0, 90% 0, 100% 10%, 100% 90%, 90% 100%, 10% 100%, 0 90%);

    /* 
     * EFFECTS (Updated with v3 Glows)
     */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);
    --shadow-neon-cyan: 0 0 20px rgba(0, 219, 245, 0.3);
    --shadow-neon-magenta: 0 0 20px rgba(236, 72, 153, 0.3);

    /* v3 Glows */
    --glow-cyan: 0 0 20px rgba(102, 252, 241, 0.4), 0 0 40px rgba(102, 252, 241, 0.2);
    --glow-magenta: 0 0 20px rgba(255, 0, 128, 0.4), 0 0 40px rgba(255, 0, 128, 0.2);
    --glow-green: 0 0 20px rgba(0, 255, 136, 0.4);
    --glow-gold: 0 0 20px rgba(255, 215, 0, 0.4);

    --glass-bg: rgba(20, 21, 26, 0.7);
    --glass-border: rgba(255, 255, 255, 0.05);
    --glass-blur: 12px;

    /* 
     * ANIMATION
     */
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --duration-fast: 150ms;
    --duration-base: 300ms;
    --duration-slow: 500ms;

    /* 
     * Z-INDEX LAYERS
     */
    --z-negative: -1;
    --z-base: 0;
    --z-elevated: 10;
    --z-sticky: 100;
    --z-overlay: 1000;
    --z-modal: 2000;
    --z-toast: 3000;
    --z-cursor: 9999;

    /* 
     * BREAKPOINTS (Reference)
     */
    --bp-sm: 640px;
    --bp-md: 768px;
    --bp-lg: 1024px;
    --bp-xl: 1280px;
    --bp-2xl: 1536px;
}

/* LIGHT MODE OVERRIDES */
[data-theme="light"] {
    --color-void-0: #F8F9FA;
    --color-void-50: #FFFFFF;
    --color-void-100: #F3F4F6;
    --color-void-200: #E5E7EB;
    --color-void-300: #D1D5DB;
    --color-void-400: #9CA3AF;
    --color-void-500: #6B7280;
    --color-void-600: #4B5563;
    --color-void-700: #374151;
    --color-void-800: #1F2937;
    --color-void-900: #111827;
    --color-void-950: #000000;

    --glass-bg: rgba(255, 255, 255, 0.8);
    --glass-border: rgba(0, 0, 0, 0.05);

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}