@keyframes materialize{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.content-enter{animation:materialize .8s cubic-bezier(0,0,.2,1) forwards}.content-enter>*:nth-child(1){animation-delay:0ms}.content-enter>*:nth-child(2){animation-delay:.2s}.content-enter>*:nth-child(3){animation-delay:.4s}.content-enter>*:nth-child(4){animation-delay:.6s}.content-enter>*:nth-child(5){animation-delay:.8s}@keyframes dissolve{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}.content-exit{animation:dissolve .8s cubic-bezier(.4,0,1,1) forwards}@keyframes orbBreathe{0%,to{box-shadow:0 0 20px var(--orb-glow),0 0 60px var(--orb-glow),0 0 120px rgba(var(--orb-glow-rgb),.1);transform:scale(1)}50%{box-shadow:0 0 30px var(--orb-glow),0 0 80px var(--orb-glow),0 0 150px rgba(var(--orb-glow-rgb),.15);transform:scale(1.05)}}@keyframes orbDrift{0%{transform:translate(0)}25%{transform:translate(15px,-25px)}50%{transform:translate(-10px,-10px)}75%{transform:translate(-20px,15px)}to{transform:translate(0)}}@keyframes gradientBreathe{0%,to{background-position:50% 50%}25%{background-position:45% 55%}50%{background-position:55% 45%}75%{background-position:50% 50%}}.ambient-bg{background-size:200% 200%;animation:gradientBreathe 20s cubic-bezier(.37,0,.63,1) infinite}@keyframes photoEmerge{0%{opacity:0;transform:scale(1.05)}30%{opacity:.7}to{opacity:1;transform:scale(1)}}@keyframes photoFade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}.photo-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-entering{animation:photoEmerge 5s cubic-bezier(0,0,.2,1) forwards}.photo-exiting{animation:photoFade 5s cubic-bezier(.4,0,1,1) forwards}.vignette-overlay{position:absolute;inset:0;background:var(--palette-vignette);pointer-events:none;z-index:5}.text-glow{text-shadow:0 0 40px rgba(var(--bg-rgb),.8),0 0 80px rgba(var(--bg-rgb),.6),0 0 120px rgba(var(--bg-rgb),.3)}@keyframes notificationFloat{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.notification-enter{animation:notificationFloat 1.5s cubic-bezier(0,0,.2,1) forwards}.tod-transition{transition:background-color 60s linear,color 60s linear}
