:root{--color-primary:#5b4be9;--color-primary-dark:#4a3ad8;--color-primary-light:#f3f1ff;--color-surface:#fff;--color-surface-2:#f3f1ff;--color-background:#f3f1ff;--color-border:#e5e7eb;--color-border-light:rgba(229,231,235,.5);--color-text-primary:#1f2937;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-success:#10b981;--color-success-bg:#d1fae5;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-info:#3b82f6;--color-info-bg:#dbeafe;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"SF Mono","Monaco","Cascadia Code","Courier New",monospace;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-focus:0 0 0 3px rgba(91,75,233,.2);--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--duration-instant:100ms;--duration-fast:200ms;--duration-normal:300ms;--duration-slow:500ms;--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--hover-overlay:rgba(91,75,233,.08);--pressed-bg:rgba(91,75,233,.12);--disabled-opacity:0.5}[data-theme=dark]{--color-surface:#1a1a1a;--color-surface-2:#252525;--color-border:#3a3a3a;--color-text-primary:#f9fafb;--color-text-secondary:#9ca3af;--color-text-tertiary:#6b7280}*{border-color:var(--color-border)}body{background-color:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.hover-lift{transition:all var(--duration-fast) var(--ease-in-out)}.hover-lift:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--duration-fast) var(--ease-in-out)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{position:relative;transition:box-shadow var(--duration-normal) var(--ease-in-out)}.hover-glow:hover{box-shadow:0 0 20px rgba(91,75,233,.3)}.focus-ring:focus{outline:none;box-shadow:var(--shadow-focus)}.glass{background-color:hsla(0,0%,100%,.8);backdrop-filter:blur(8px)}.glass-dark{background-color:rgba(0,0,0,.2);backdrop-filter:blur(24px)}.gradient-text{background:linear-gradient(to right,var(--color-primary),#7c6ff7,var(--color-primary));background-clip:text;-webkit-background-clip:text;color:transparent}.gradient-bg{background:linear-gradient(to right,var(--color-primary),#7c6ff7)}.card,.card-hover{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:1.5rem}.card-hover{transition:all var(--duration-fast) var(--ease-in-out);cursor:default}.card-hover:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-xl);border-color:rgba(91,75,233,.3)}.card-interactive{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:1.5rem;transition:all var(--duration-fast) var(--ease-in-out);cursor:pointer}.card-interactive:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-xl);border-color:rgba(91,75,233,.3)}.btn-primary{padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;font-weight:600;border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-in-out)}.btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:scale(1.05)}.btn-primary:focus{outline:none;box-shadow:var(--shadow-focus)}.btn-secondary{padding:.75rem 1.5rem;background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary);font-weight:600;border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-in-out)}.btn-secondary:hover{background-color:rgba(91,75,233,.05);border-color:var(--color-primary-dark);transform:scale(1.05)}.btn-secondary:focus{outline:none;box-shadow:var(--shadow-focus)}.btn-ghost{padding:.5rem 1rem;background-color:transparent;color:var(--color-primary);font-weight:500;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-in-out)}.btn-ghost:hover{background-color:rgba(91,75,233,.05)}.btn-ghost:focus{outline:none;box-shadow:var(--shadow-focus)}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-slide-up{animation:slideUp .5s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}