:root{--color-bg-primary: #09090b;--color-bg-secondary: #18181b;--color-bg-tertiary: #27272a;--color-bg-elevated: #3f3f46;--color-text-primary: #fafafa;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-border-default: #27272a;--color-border-subtle: #3f3f46;--color-accent-primary: #f59e0b;--color-accent-rgb: 245, 158, 11;--color-accent-secondary: #10b981;--color-accent-danger: #ef4444;--gradient-header: linear-gradient(135deg, #18181b 0%, #27272a 100%);--gradient-button: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-shimmer: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .08) 50%, transparent 100%);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-glow: 0 0 20px rgba(245, 158, 11, .3);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--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);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 50;--z-modal: 100;--z-toast: 150;--z-tooltip: 200}:root.light{--color-bg-primary: #ffffff;--color-bg-secondary: #f4f4f5;--color-bg-tertiary: #e4e4e7;--color-bg-elevated: #fafafa;--color-text-primary: #18181b;--color-text-secondary: #52525b;--color-text-muted: #71717a;--color-border-default: #e4e4e7;--color-border-subtle: #d4d4d8;--gradient-header: linear-gradient(135deg, #ffffff 0%, #f4f4f5 100%);--gradient-shimmer: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .05) 50%, transparent 100%)}[data-theme=ocean]{--color-accent-primary: #0ea5e9;--color-accent-rgb: 14, 165, 233;--color-accent-secondary: #06b6d4;--gradient-button: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%)}[data-theme=forest]{--color-accent-primary: #22c55e;--color-accent-rgb: 34, 197, 94;--color-accent-secondary: #16a34a;--gradient-button: linear-gradient(135deg, #22c55e 0%, #16a34a 100%)}[data-theme=sunset]{--color-accent-primary: #f97316;--color-accent-rgb: 249, 115, 22;--color-accent-secondary: #ef4444;--gradient-button: linear-gradient(135deg, #f97316 0%, #ea580c 100%)}[data-theme=midnight]{--color-bg-primary: #020617;--color-bg-secondary: #0f172a;--color-bg-tertiary: #1e293b;--color-accent-primary: #8b5cf6;--color-accent-rgb: 139, 92, 246;--color-accent-secondary: #a78bfa;--gradient-button: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%)}.glass{background:#ffffff0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.glass-light{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 20px 10px #f59e0b00}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes progress-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-shimmer{animation:shimmer 2s infinite}.animate-pulse-glow{animation:pulse-glow 2s infinite}.animate-fade-in{animation:fade-in var(--transition-base) ease-out}.animate-fade-in-up{animation:fade-in-up var(--transition-slow) ease-out}.animate-fade-in-scale{animation:fade-in-scale var(--transition-slow) ease-out}.animate-slide-in-right{animation:slide-in-right var(--transition-slow) ease-out}.animate-slide-in-left{animation:slide-in-left var(--transition-slow) ease-out}.animate-bounce-in{animation:bounce-in .5s cubic-bezier(.68,-.55,.265,1.55)}.animate-spin{animation:spin 1s linear infinite}.animate-wiggle{animation:wiggle .5s ease-in-out}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.focus-ring:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
