.shiki{background-color:var(--shiki-light-bg);--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.shiki,.shiki span{color:var(--shiki-light)}.dark .shiki{background-color:var(--shiki-dark-bg)}.dark .shiki,.dark .shiki span{color:var(--shiki-dark)}.shiki code{display:grid;font-size:13px;counter-reset:line}.shiki .line:before{content:counter(line);counter-increment:line;margin-right:2rem;width:1rem}.shiki .line:before,.shiki[title]:before{display:inline-block;text-align:right;--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.shiki[title]:before{content:attr(title);margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem}.animation-delay-1000{animation-delay:1s}.animation-delay-2000{animation-delay:2s}.animation-delay-3000{animation-delay:3s}.backdrop-blur-custom{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%)}html{scroll-behavior:smooth}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}.shadow-3xl{box-shadow:0 35px 60px -12px rgba(0,0,0,.25)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:hsl(var(--primary))}.btn-enhance{position:relative;overflow:hidden}.btn-enhance:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-enhance:hover:before{left:100%}.stagger-animation>*{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.stagger-animation>:first-child{animation-delay:.1s}.stagger-animation>:nth-child(2){animation-delay:.2s}.stagger-animation>:nth-child(3){animation-delay:.3s}.stagger-animation>:nth-child(4){animation-delay:.4s}.stagger-animation>:nth-child(5){animation-delay:.5s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px)}.text-gradient-enhanced{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.skeleton-pulse{animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion:reduce){.animate-bounce,.animate-float,.animate-gradient,.animate-pulse{animation:none}}