@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .2s ease-in-out}@keyframes slideUpReveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUpReveal .5s cubic-bezier(.16,1,.3,1) both}.reveal-delay-1{animation-delay:.05s}.reveal-delay-2{animation-delay:.1s}.reveal-delay-3{animation-delay:.15s}.reveal-delay-4{animation-delay:.2s}.reveal-delay-5{animation-delay:.25s}.reveal-delay-6{animation-delay:.3s}.reveal-delay-7{animation-delay:.35s}.reveal-delay-8{animation-delay:.4s}.reveal-hidden{opacity:0;transform:translateY(24px)}@keyframes glowPulse{0%,to{box-shadow:0 0 8px currentColor,0 0 16px currentColor;opacity:1}50%{box-shadow:0 0 16px currentColor,0 0 32px currentColor;opacity:.85}}.animate-glow-pulse{animation:glowPulse 2s ease-in-out infinite}.detail-card{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s ease}.detail-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px -8px rgba(139,92,246,.15),0 0 0 1px rgba(139,92,246,.1)}@keyframes shimmerSweep{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}.shimmer-card{position:relative;overflow:hidden}.shimmer-card:after{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);transform:translateX(-100%);pointer-events:none}.shimmer-card:hover:after{animation:shimmerSweep .8s ease-out}.badge-hover{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background-color .2s ease}.badge-hover:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px -2px rgba(139,92,246,.2)}.btn-glow{transition:transform .2s ease,box-shadow .3s ease,background-color .2s ease}.btn-glow:hover{transform:translateY(-1px);box-shadow:0 4px 20px -4px rgba(139,92,246,.35)}.thumb-hover{transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .3s ease}.thumb-hover:hover{transform:scale(1.12);box-shadow:0 4px 16px -4px rgba(139,92,246,.3)}@keyframes scoreRingDraw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.score-ring-animate{animation:scoreRingDraw 1s cubic-bezier(.16,1,.3,1) .3s both}@keyframes ambientFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(10px,-15px) scale(1.05)}66%{transform:translate(-8px,8px) scale(.95)}}.ambient-orb{animation:ambientFloat 8s ease-in-out infinite;pointer-events:none}.info-row{transition:background-color .2s ease,padding-left .3s cubic-bezier(.16,1,.3,1);border-radius:.5rem;padding:.375rem .5rem;margin:-.375rem -.5rem}.info-row:hover{background-color:rgba(255,255,255,.03);padding-left:.75rem}.context-border{transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.context-border:hover{box-shadow:-4px 0 16px -4px currentColor;transform:translateX(2px)}.gallery-photo{transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s ease}.gallery-photo:hover{transform:scale(1.03)}@keyframes heroTitleEnter{0%{opacity:0;transform:translateY(12px) scale(.97);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.animate-hero-enter{animation:heroTitleEnter .6s cubic-bezier(.16,1,.3,1) .1s both}@keyframes accentBarDraw{0%{width:0;opacity:.5}to{width:100%;opacity:1}}.accent-bar-draw{animation:accentBarDraw .8s cubic-bezier(.16,1,.3,1) .2s both}.sticky-footer-glass{background:rgba(8,0,20,.85);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-top:1px solid rgba(255,255,255,.06);box-shadow:0 -8px 32px -4px rgba(0,0,0,.5),0 -2px 8px -2px rgba(139,92,246,.08)}.glass-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.2),rgba(59,130,246,.15),transparent);margin:.25rem 0}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.icon-float:hover svg{animation:iconFloat .6s ease-in-out}.detail-row{transition:background-color .2s ease,transform .2s cubic-bezier(.16,1,.3,1);border-radius:.75rem}.detail-row:hover{background-color:rgba(255,255,255,.03);transform:translateX(2px)}.accent-border-left{border-left:3px solid transparent;border-image:linear-gradient(180deg,#8b5cf6,#3b82f6) 1}.scroll-fade-top{mask-image:linear-gradient(180deg,transparent 0,black 16px);-webkit-mask-image:linear-gradient(180deg,transparent 0,black 16px)}