:root{--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1);--ease-safari:cubic-bezier(0.25,0.46,0.45,0.94);--duration-fast:150ms;--duration-base:200ms;--duration-slow:300ms;--duration-safari-fast:180ms;--duration-safari-base:250ms;--duration-safari-slow:350ms;--transition-colors:color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);--transition-transform:transform var(--duration-base) var(--ease-out);--transition-transform-safari:transform var(--duration-safari-base) var(--ease-safari);--transition-opacity:opacity var(--duration-base) var(--ease-out);--transition-shadow:box-shadow var(--duration-base) var(--ease-out);--transition-all:all var(--duration-base) var(--ease-out)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform);-webkit-transition:var(--transition-transform-safari)}.transition-opacity{transition:var(--transition-opacity)}.transition-shadow{transition:var(--transition-shadow)}.transition-all{transition:var(--transition-all)}.safari-gpu-accelerated{transform:translateZ(0);backface-visibility:hidden}.hover-scale{transform:translateZ(0)}.hover-scale:hover{transform:translateZ(0) scale(1.02)}.hover-lift{transition:var(--transition-shadow);transform:translateZ(0)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateZ(0)}.focus-ring:focus{outline:2px solid var(--primary-500);outline-offset:2px}@keyframes skeleton-pulse{0%,to{opacity:.75}50%{opacity:.25}}.skeleton{animation:skeleton-pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:var(--gray-200)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in var(--duration-slow) var(--ease-out)}@keyframes aurora-float{0%{transform:translate3d(-10%,-5%,0) scale(1)}50%{transform:translate3d(10%,5%,0) scale(1.05)}to{transform:translate3d(-10%,-5%,0) scale(1)}}@keyframes aurora-sway{0%{transform:translate3d(5%,-8%,0) scale(1.05) rotate(.5deg)}50%{transform:translate3d(-5%,8%,0) scale(1.08) rotate(-.5deg)}to{transform:translate3d(5%,-8%,0) scale(1.05) rotate(.5deg)}}@keyframes lines-shimmer{0%{opacity:.25}50%{opacity:.35}to{opacity:.25}}@keyframes lines-shimmer-safari{0%{transform:translateX(0);opacity:.25}50%{transform:translateX(20px);opacity:.35}to{transform:translateX(0);opacity:.25}}.aurora{position:absolute;inset:-30% -20% -20% -20%;filter:blur(70px) saturate(150%) brightness(1.15) contrast(1.05);mix-blend-mode:screen;pointer-events:none}@supports (-webkit-appearance:none){.aurora{transform:translateZ(0);backface-visibility:hidden;will-change:transform}}@media (prefers-reduced-motion:reduce){.aurora{filter:blur(30px) saturate(120%) brightness(1.05)!important;inset:-20% -15% -15% -15%!important}}.aurora-blob{position:absolute;width:70vw;height:70vw;max-width:1400px;max-height:1400px;border-radius:50%;opacity:.5;will-change:transform;transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion:reduce){.aurora-blob{width:50vw!important;height:50vw!important;max-width:900px!important;max-height:900px!important;opacity:.35!important}}.aurora-emerald{background:radial-gradient(closest-side,rgba(16,185,129,.95) 0,rgba(16,185,129,.8) 30%,rgba(16,185,129,.4) 60%,transparent 80%)}.aurora-teal{background:radial-gradient(closest-side,rgba(45,212,191,.9) 0,rgba(45,212,191,.7) 30%,rgba(45,212,191,.3) 60%,transparent 80%)}.aurora-cyan{background:radial-gradient(closest-side,rgba(34,211,238,.85) 0,rgba(34,211,238,.6) 30%,rgba(34,211,238,.25) 60%,transparent 80%)}.aurora .b1{left:-10%;top:-10%;animation:aurora-float 14s var(--ease-in-out) infinite;-webkit-animation:aurora-float 14s var(--ease-safari) infinite}.aurora .b2{right:-15%;top:10%;animation:aurora-sway 18s var(--ease-in-out) infinite;-webkit-animation:aurora-sway 18s var(--ease-safari) infinite}.aurora .b3{left:15%;bottom:-15%;animation:aurora-float 20s var(--ease-in-out) infinite reverse;-webkit-animation:aurora-float 20s var(--ease-safari) infinite reverse}.aurora-lines{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(16,185,129,.07) 1px,transparent 0),linear-gradient(180deg,rgba(20,184,166,.07) 1px,transparent 0);background-size:28px 28px;animation:lines-shimmer 12s linear infinite;mask-image:radial-gradient(60% 50% at 50% 40%,#000 60%,transparent 100%);-webkit-mask-image:radial-gradient(60% 50% at 50% 40%,#000 60%,transparent 100%);pointer-events:none}@supports (-webkit-appearance:none){.aurora-lines{animation:lines-shimmer-safari 12s linear infinite;background-size:32px 32px}}@media (prefers-reduced-motion:reduce){.aurora .b1,.aurora .b2,.aurora .b3{animation:none!important;-webkit-animation:none!important}.aurora-lines{animation:none!important;opacity:.15!important}}@keyframes shimmer-sweep{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3) 50%,hsla(0,0%,100%,0));background-size:200% 100%;animation:shimmer-sweep 2s ease-in-out infinite}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor-blink{animation:cursor-blink 1s step-end infinite}@keyframes text-reveal{0%{max-width:0;opacity:0}10%{opacity:1}to{max-width:100%;opacity:1}}.text-reveal{animation:text-reveal 2s ease-out forwards;overflow:hidden;white-space:nowrap}@keyframes stagger-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-in{animation:stagger-in .5s ease-out forwards;opacity:0}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{box-shadow:0 0 0 12px rgba(16,185,129,0)}}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes scan-line{0%{top:0;opacity:1}50%{opacity:.5}to{top:100%;opacity:0}}.scan-line{animation:scan-line 3s ease-in-out infinite}@keyframes skeleton-wave{0%{opacity:.4;transform:scaleX(.95)}50%{opacity:.7;transform:scaleX(1)}to{opacity:.4;transform:scaleX(.95)}}.skeleton-wave{animation:skeleton-wave 1.8s ease-in-out infinite;transform-origin:left}@keyframes sparkle{0%,to{transform:scale(1) rotate(0deg);filter:brightness(1)}25%{transform:scale(1.1) rotate(-5deg);filter:brightness(1.2)}50%{transform:scale(1) rotate(0deg);filter:brightness(1.4)}75%{transform:scale(1.1) rotate(5deg);filter:brightness(1.2)}}.sparkle{animation:sparkle 2s ease-in-out infinite}