@keyframes pageTransitionIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pageTransitionOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes buttonPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes buttonGlow{0%{box-shadow:0 0 0 0 rgba(99,102,241,.4)}70%{box-shadow:0 0 0 10px rgba(99,102,241,0)}to{box-shadow:0 0 0 0 rgba(99,102,241,0)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes gradientRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shadowPulse{0%,to{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06),0 0 0 0 rgba(99,102,241,.1)}50%{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05),0 0 20px rgba(99,102,241,.2)}}@keyframes correctAnswer{0%{transform:scale(1);background-color:rgba(34,197,94,.1)}50%{transform:scale(1.1);background-color:rgba(34,197,94,.2)}to{transform:scale(1);background-color:rgba(34,197,94,.1)}}@keyframes incorrectAnswer{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes successBurst{0%{transform:scale(0);opacity:1}to{transform:scale(2);opacity:0}}.page-transition-enter{animation:pageTransitionIn .4s cubic-bezier(.16,1,.3,1) forwards}.page-transition-exit{animation:pageTransitionOut .3s cubic-bezier(.16,1,.3,1) forwards}.button-premium{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.button-premium:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.button-premium:hover:before{width:300px;height:300px}.gradient-animated{background-size:200% 200%;animation:gradientShift 3s ease infinite}.shadow-premium{transition:box-shadow .3s cubic-bezier(.4,0,.2,1)}.shadow-premium:hover{animation:shadowPulse 2s ease-in-out infinite}.feedback-correct{animation:correctAnswer .6s ease-in-out}.feedback-incorrect{animation:incorrectAnswer .5s ease-in-out}.success-burst{position:relative}.success-burst:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:rgba(34,197,94,.3);transform:translate(-50%,-50%);animation:successBurst .6s ease-out}.interaction-lift{transition:transform .2s cubic-bezier(.4,0,.2,1)}.interaction-lift:hover{transform:translateY(-2px)}.interaction-lift:active{transform:translateY(0)}.interaction-scale{transition:transform .2s cubic-bezier(.4,0,.2,1)}.interaction-scale:hover{transform:scale(1.02)}.interaction-scale:active{transform:scale(.98)}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.loading-shimmer{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.1) 20%,rgba(255,255,255,.2) 60%,rgba(255,255,255,0));background-size:1000px 100%;animation:shimmer 2s infinite}.glass-premium{backdrop-filter:blur(12px);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2)}.dark .glass-premium{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1)}:root{--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--text-8xl:6rem;--text-9xl:8rem;--font-thin:100;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0em;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em}.text-display{font-size:var(--text-6xl);font-weight:var(--font-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter)}.text-hero{font-size:var(--text-5xl);font-weight:var(--font-extrabold)}.text-h1,.text-hero{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.text-h1{font-size:var(--text-4xl)}.text-h1,.text-h2{font-weight:var(--font-bold)}.text-h2{font-size:var(--text-3xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.text-h3{font-size:var(--text-2xl);line-height:var(--leading-snug)}.text-h3,.text-h4{font-weight:var(--font-semibold);letter-spacing:var(--tracking-normal)}.text-h4{font-size:var(--text-xl);line-height:var(--leading-normal)}.text-h5{font-weight:var(--font-medium);line-height:var(--leading-normal)}.text-body-lg,.text-h5{font-size:var(--text-lg);letter-spacing:var(--tracking-normal)}.text-body,.text-body-lg{font-weight:var(--font-normal);line-height:var(--leading-relaxed)}.text-body{font-size:var(--text-base)}.text-body,.text-body-sm{letter-spacing:var(--tracking-normal)}.text-body-sm{font-size:var(--text-sm);font-weight:var(--font-normal)}.text-body-sm,.text-caption{line-height:var(--leading-normal)}.text-caption{font-size:var(--text-xs);font-weight:var(--font-medium)}.text-caption,.text-label{letter-spacing:var(--tracking-wide)}.text-label{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-none);text-transform:uppercase}.text-gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-accent{background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-success{background:linear-gradient(135deg,#43e97b,#38f9d7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-warning{background:linear-gradient(135deg,#fa709a,#fee140);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-error{background:linear-gradient(135deg,#f5576c,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-shadow-sm{text-shadow:0 1px 2px rgba(0,0,0,.05)}.text-shadow{text-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}.text-shadow-md{text-shadow:0 4px 6px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06)}.text-shadow-lg{text-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05)}.text-shadow-xl{text-shadow:0 20px 25px rgba(0,0,0,.1),0 10px 10px rgba(0,0,0,.04)}.text-glow{text-shadow:0 0 20px rgba(99,102,241,.5)}@media (max-width:640px){.text-display{font-size:var(--text-4xl)}.text-hero{font-size:var(--text-3xl)}.text-h1{font-size:var(--text-2xl)}.text-h2{font-size:var(--text-xl)}.text-h3{font-size:var(--text-lg)}}@media (max-width:768px){.text-display{font-size:var(--text-5xl)}.text-hero{font-size:var(--text-4xl)}.text-h1{font-size:var(--text-3xl)}.text-h2{font-size:var(--text-2xl)}}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{-webkit-line-clamp:2}.text-ellipsis-2,.text-ellipsis-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.text-ellipsis-3{-webkit-line-clamp:3}@keyframes textGlow{0%,to{text-shadow:0 0 20px rgba(99,102,241,.5)}50%{text-shadow:0 0 30px rgba(99,102,241,.8),0 0 40px rgba(99,102,241,.4)}}.text-glow-animate{animation:textGlow 2s ease-in-out infinite}.dark .text-gradient-primary{background:linear-gradient(135deg,#818cf8,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark .text-gradient-secondary{background:linear-gradient(135deg,#f472b6,#fb7185);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}