.not-found__grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;animation:grain 8s steps(10) infinite}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}.not-found__camera{position:relative;width:200px;height:160px;margin:0 auto var(--spacing-lg);animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}75%{transform:translateY(-12px) rotate(-.5deg)}}.camera{width:100%;height:100%;filter:drop-shadow(0 20px 40px color-mix(in srgb,var(--color-brand-default) 15%,transparent));animation:cameraEntry 1.2s ease-out}@keyframes cameraEntry{0%{opacity:0;transform:scale(.5) rotate(-10deg)}60%{transform:scale(1.05) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}.camera:hover .camera__shutter{animation:shutterPress .6s ease-in-out}.camera:hover .camera__lens-inner{animation:aperture .6s ease-in-out}.camera:hover .camera__flash{animation:flashBurst .6s ease-out}.camera:hover~.camera__flash-overlay{animation:flashScreen .8s ease-out}@keyframes shutterPress{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes aperture{0%,to{opacity:.9}50%{opacity:.3;transform:scale(.8)}}@keyframes flashBurst{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes flashScreen{0%{opacity:0}10%{opacity:.8}to{opacity:0}}.camera__flash-overlay{position:absolute;inset:-50%;background:radial-gradient(circle,#f5f3f0e6,#f5f3f000 70%);pointer-events:none;opacity:0}.camera__lens-reflection{animation:lensGleam 4s ease-in-out infinite}@keyframes lensGleam{0%,to{opacity:.3}50%{opacity:.6}}.not-found__frames{position:absolute;inset:0;pointer-events:none;overflow:hidden}.photo-frame{position:absolute;width:120px;height:90px;background:var(--color-surface-elevated);border:8px solid var(--color-surface-elevated);box-shadow:0 10px 40px color-mix(in srgb,var(--color-brand-default) 15%,transparent);opacity:.25}.photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--color-brand-default) 10%,transparent),color-mix(in srgb,var(--color-brand-default) 5%,transparent),#534a1f14)}.photo-frame--1{top:10%;left:5%;transform:rotate(-8deg);animation:floatFrame1 15s ease-in-out infinite}.photo-frame--2{top:60%;right:8%;transform:rotate(12deg);animation:floatFrame2 18s ease-in-out infinite}.photo-frame--3{bottom:15%;left:8%;transform:rotate(-15deg);animation:floatFrame3 20s ease-in-out infinite}@keyframes floatFrame1{0%,to{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-12deg) translateY(-20px)}}@keyframes floatFrame2{0%,to{transform:rotate(12deg) translateY(0)}50%{transform:rotate(8deg) translateY(-30px)}}@keyframes floatFrame3{0%,to{transform:rotate(-15deg) translateY(0)}50%{transform:rotate(-10deg) translateY(-25px)}}@media(max-width:640px){.not-found{padding:var(--spacing-sm)}.not-found__camera{width:160px;height:128px;margin-bottom:var(--spacing-md)}.not-found__actions{flex-direction:column;width:100%}.not-found__btn{width:100%;justify-content:center}.photo-frame{width:80px;height:60px;border:6px solid var(--color-surface-elevated)}.not-found__film-strip{height:30px}.film-hole{width:8px;height:8px}}@media(prefers-reduced-motion:reduce){.not-found__grain,.not-found__camera,.camera__lens-reflection,.not-found__btn-icon,.not-found__film-strip,.photo-frame{animation:none}.not-found *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
