@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes ping-slow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes progress-glow{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.2) saturate(1.3)}}.hover-elevate{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);will-change:transform}.hover-elevate:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(var(--color-shadow-rgb, 0, 0, 0),.15)}.glass-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(var(--color-glass-rgb, 255, 255, 255),.1),rgba(var(--color-glass-rgb, 255, 255, 255),0))}@media(max-width:767px){.glass-panel{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}}.shadow-brand{box-shadow:0 4px 20px rgba(var(--color-shadow-rgb, 0, 0, 0),.08),0 0 40px rgba(var(--color-accent-rgb),.05)}.gradient-text{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-webkit-user-select:none;user-select:none}.animated-underline{position:relative}.animated-underline:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:width .3s cubic-bezier(.16,1,.3,1)}.animated-underline:hover:after{width:100%}.card-glow{position:relative;overflow:hidden}.card-glow:before{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;background:radial-gradient(circle,rgba(var(--color-accent-rgb),.1) 0%,transparent 70%);transform:translate(-50%,-50%) scale(0);transition:transform .6s cubic-bezier(.16,1,.3,1);pointer-events:none}.card-glow:hover:before{transform:translate(-50%,-50%) scale(1)}@media(max-width:767px){button,a[role=button],.touch-target{min-height:44px;min-width:44px}section{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hover-elevate:hover{transform:none}}.will-animate{will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;perspective:1000px;-webkit-perspective:1000px}.animation-complete{will-change:auto}@media(max-width:640px){h1{font-size:clamp(2rem,8vw,3rem);line-height:1.2}h2{font-size:clamp(1.5rem,6vw,2.5rem);line-height:1.3}h3{font-size:clamp(1.25rem,5vw,2rem);line-height:1.4}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.safe-area-inset-top{padding-top:env(safe-area-inset-top)}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-inset-left{padding-left:env(safe-area-inset-left)}.safe-area-inset-right{padding-right:env(safe-area-inset-right)}.scan-grid{background-image:linear-gradient(rgba(var(--color-accent-rgb),.1) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--color-accent-rgb),.1) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}.scan-beam{background:linear-gradient(to bottom,transparent,rgba(var(--color-accent-rgb),.3) 20%,rgba(var(--color-accent-rgb),.6) 50%,rgba(var(--color-accent-rgb),.3) 80%,transparent);filter:blur(8px);pointer-events:none;will-change:top}.detection-card{will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.animate-ping-slow{animation:ping-slow 2s cubic-bezier(0,0,.2,1) infinite}.animate-progress-glow{animation:progress-glow 2s ease-in-out infinite}.active\\:scale-95:active{transform:scale(.95)}.active\\:scale-98:active{transform:scale(.98)}.hw-accelerate{transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.scroll-optimized{will-change:transform;contain:layout style paint}.optimized-image{content-visibility:auto;contain-intrinsic-size:1px 500px}.animation-done{will-change:auto}.gpu-transform{transform:translateZ(0);-webkit-transform:translateZ(0)}@media(prefers-reduced-motion:reduce){.scan-beam,.scan-grid,.detection-card,.animate-ping-slow,.animate-progress-glow{animation:none!important;transition:none!important}.hw-accelerate,.scroll-optimized{will-change:auto}}@media(max-width:640px){.detection-card{font-size:.75rem;padding:.5rem}.scan-grid{background-size:20px 20px;opacity:.5}.scan-beam{height:60px;filter:blur(6px)}}@media(min-width:640px)and (max-width:1023px){.detection-card{font-size:.875rem}.scan-grid{background-size:25px 25px}}
