:root{--primary: #8c52ff;--primary-hover: #7a3ef5;--primary-light: #a370ff;--primary-subtle: rgba(140, 82, 255, .1);--primary-glow: rgba(140, 82, 255, .3);--white: #ffffff;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--error: #ef4444;--error-light: #fee2e2;--info: #3b82f6;--info-light: #dbeafe;--bg-primary: var(--white);--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--bg-elevated: var(--white);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-muted: var(--gray-400);--border-primary: var(--gray-200);--border-secondary: var(--gray-300);--border-focus: var(--primary);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px -1px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 8px 10px -6px rgba(0, 0, 0, .05);--shadow-glow: 0 0 20px var(--primary-glow);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-family: "Poppins", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}.dark{--bg-primary: #0a0a0a;--bg-secondary: #121212;--bg-tertiary: #1a1a1a;--bg-elevated: #1f1f1f;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-tertiary: #737373;--text-muted: #525252;--border-primary: #262626;--border-secondary: #404040;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.dark ::-webkit-scrollbar-thumb{background:var(--gray-700)}.dark ::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.glass-effect{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dark .glass-effect{background:#1a1a1ab3}.smooth-transition{transition:all var(--transition-base)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.glow-effect{box-shadow:0 0 20px var(--primary-glow)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in var(--transition-base)}.animate-slide-in-up{animation:slide-in-up var(--transition-slow)}.animate-slide-in-down{animation:slide-in-down var(--transition-slow)}.animate-scale-in{animation:scale-in var(--transition-slow)}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background-color:var(--primary-subtle);color:var(--primary)}.text-balance{text-wrap:balance}.text-gradient{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
