:root{--color-page-bg:0 0% 100%;--color-surface-base:0 0% 100%;--color-surface-muted:240 4% 96%;--color-surface-elevated:0 0% 99%;--color-border-subtle:240 5% 90%;--color-border-strong:240 5% 80%;--color-divider:240 5% 88%;--color-text-primary:0 0% 10%;--color-text-secondary:0 0% 38%;--color-text-tertiary:0 0% 55%;--color-text-disabled:0 0% 70%;--color-primary:254 66% 52%;--color-primary-foreground:0 0% 100%;--color-secondary:0 0% 94%;--color-secondary-foreground:0 0% 14%;--color-muted:240 4% 94%;--color-muted-foreground:240 4% 46%;--color-accent:244 63% 69%;--color-accent-foreground:0 0% 100%;--color-destructive:0 84% 56%;--color-destructive-foreground:0 0% 98%;--color-focus-ring:254 66% 52%;--color-interactive-subtle:210 6% 92%;--color-interactive-strong:254 66% 52%;--color-button-tonal-bg:0 0% 96%;--color-button-tonal-border:0 0% 84%;--color-button-tonal-hover:0 0% 92%;--color-button-tonal-active-bg:0 0% 14%;--color-button-tonal-active-text:0 0% 98%;--shadow-elevated:0 18px 50px rgba(15,15,15,0.08)}.dark{--color-page-bg:240 6% 5.5%;--color-surface-base:240 6% 7%;--color-surface-muted:240 6% 10%;--color-surface-elevated:0 0% 7.5%;--color-border-subtle:240 5% 20%;--color-border-strong:240 4% 30%;--color-divider:240 5% 18%;--color-text-primary:0 0% 96%;--color-text-secondary:0 0% 72%;--color-text-tertiary:0 0% 58%;--color-text-disabled:0 0% 42%;--color-primary:254 66% 52%;--color-primary-foreground:0 0% 98%;--color-secondary:240 6% 12%;--color-secondary-foreground:0 0% 92%;--color-muted:240 6% 16%;--color-muted-foreground:0 0% 70%;--color-accent:263 70% 56%;--color-accent-foreground:0 0% 98%;--color-destructive:0 62% 46%;--color-destructive-foreground:0 0% 98%;--color-focus-ring:254 66% 52%;--color-interactive-subtle:240 6% 16%;--color-interactive-strong:254 66% 52%;--color-button-tonal-bg:0 0% 7%;--color-button-tonal-border:0 0% 26%;--color-button-tonal-hover:0 0% 12%;--color-button-tonal-active-bg:0 0% 96%;--color-button-tonal-active-text:0 0% 7%;--shadow-elevated:0 30px 60px rgba(0,0,0,0.45)}.surface-base{background-color:hsl(var(--color-surface-base))}.surface-muted{background-color:hsl(var(--color-surface-muted))}.surface-elevated{background-color:hsl(var(--color-surface-elevated));box-shadow:var(--shadow-elevated)}.border-subtle{border-color:hsl(var(--color-border-subtle))}.border-strong{border-color:hsl(var(--color-border-strong))}.text-secondary{color:hsl(var(--color-text-secondary))}.text-tertiary{color:hsl(var(--color-text-tertiary))}.text-disabled{color:hsl(var(--color-text-disabled))}.divider{background-color:hsl(var(--color-divider));height:1px}.btn-tonal{background-color:hsl(var(--color-button-tonal-bg));border:1px solid hsl(var(--color-button-tonal-border));border-radius:.375rem;color:hsl(var(--color-text-secondary));font-weight:500;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-tonal:hover{background-color:hsl(var(--color-button-tonal-hover));border-color:hsl(var(--color-border-strong));color:hsl(var(--color-text-primary))}.btn-tonal:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--color-focus-ring)/.45)}.btn-tonal.is-active,.btn-tonal[aria-pressed=true],.btn-tonal[data-state=on]{background-color:hsl(var(--color-primary));border-color:hsl(var(--color-primary));color:hsl(var(--color-primary-foreground))}.btn-tonal:disabled,.btn-tonal[aria-disabled=true]{opacity:.55;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-8px)}70%{transform:translateY(-4px)}90%{transform:translateY(-2px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(147,51,234,.3)}50%{box-shadow:0 0 30px rgba(147,51,234,.5)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-slide-in-up{animation:slideInUp .6s cubic-bezier(.16,1,.3,1)}.animate-slide-in-down{animation:slideInDown .6s cubic-bezier(.16,1,.3,1)}.animate-slide-in-left{animation:slideInLeft .6s cubic-bezier(.16,1,.3,1)}.animate-slide-in-right{animation:slideInRight .6s cubic-bezier(.16,1,.3,1)}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-scale-out{animation:scaleOut .2s ease-out}.animate-gradient{animation:gradient 6s ease infinite;background-size:200% 200%}.animate-shimmer{animation:shimmer 2s linear infinite;background-size:200% 100%}.animate-pulse-slow{animation:pulse 3s ease-in-out infinite}.animate-bounce-slow{animation:bounce 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-typewriter{animation:typewriter 2s steps(40);overflow:hidden;white-space:nowrap;border-right:3px solid}.animate-blink{animation:blink 1s infinite}.hover-lift:hover{transform:translateY(-4px)}.hover-lift:hover,.hover-scale:hover{transition:transform .3s cubic-bezier(.16,1,.3,1)}.hover-scale:hover{transform:scale(1.05)}.hover-rotate:hover{transform:rotate(5deg);transition:transform .3s cubic-bezier(.16,1,.3,1)}.hover-glow:hover{box-shadow:0 0 30px rgba(147,51,234,.4);transition:box-shadow .3s ease}.hover-blur:hover{filter:blur(1px);transition:filter .3s ease}.hover-brighten:hover{filter:brightness(1.1);transition:filter .3s ease}.focus-ring:focus{outline:none;ring:2px;ring-color:rgba(147,51,234,.5);ring-offset:2px;transition:all .2s ease}.stagger-fade>*{animation:fadeIn .5s ease-out}.stagger-fade>:first-child{animation-delay:.1s}.stagger-fade>:nth-child(2){animation-delay:.2s}.stagger-fade>:nth-child(3){animation-delay:.3s}.stagger-fade>:nth-child(4){animation-delay:.4s}.stagger-fade>:nth-child(5){animation-delay:.5s}.stagger-fade>:nth-child(6){animation-delay:.6s}.loading-spinner{animation:spin 1s linear infinite}.loading-dots:after{content:"";animation:blink 1.5s infinite}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}.entrance-fade{animation:fadeIn .6s ease-out}.entrance-slide-up{animation:slideInUp .8s cubic-bezier(.16,1,.3,1)}.entrance-scale{animation:scaleIn .4s cubic-bezier(.16,1,.3,1)}.exit-fade{animation:fadeOut .3s ease-out}.exit-scale{animation:scaleOut .3s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.will-change-auto{will-change:auto}.transition-smooth{transition:all .3s cubic-bezier(.16,1,.3,1)}.transition-fast{transition:all .15s ease-out}.transition-slow{transition:all .6s cubic-bezier(.16,1,.3,1)}