/* 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); }