.app-backdrop{z-index:-1;pointer-events:none;contain:strict;background:var(--app-backdrop-base);display:none;position:fixed;inset:0;overflow:hidden}html:has(.app-ui){background:var(--app-backdrop-base)}html:has(.app-ui) body{background:0 0}html:has(.app-ui) .app-backdrop{display:block}.app-backdrop>*{pointer-events:none;position:absolute}.app-backdrop-glow{background:radial-gradient(ellipse 55% 60% at 72% 34%, var(--app-backdrop-glow), transparent 70%), radial-gradient(ellipse 40% 45% at 20% 80%, var(--app-backdrop-glow), transparent 75%);opacity:.9;inset:0}.app-backdrop-bloom{background:radial-gradient(closest-side, var(--app-backdrop-glow), transparent);opacity:.55;width:70vw;height:80vh;animation:18s ease-in-out infinite app-backdrop-breathe;top:-20vh;right:-15vw}.app-backdrop-arc{width:120%;height:120%;opacity:var(--app-backdrop-arc-opacity);animation:22s ease-in-out infinite app-backdrop-sweep;inset:-10%}.app-backdrop-arc-haze{opacity:.25;filter:blur(10px)}.app-backdrop-orbit{width:min(46vw,560px);height:min(46vw,560px);opacity:var(--app-backdrop-orbit-opacity);margin-top:calc(min(46vw,560px)/-2);animation:140s linear infinite app-backdrop-orbit;top:50%;right:8vw}.app-backdrop-vignette{background:radial-gradient(ellipse 85% 80% at 50% 45%, transparent 55%, var(--app-backdrop-vignette));inset:0}.app-backdrop-grain{opacity:var(--app-backdrop-grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");inset:0}.app-backdrop[data-paused] *{animation-play-state:paused}@keyframes app-backdrop-breathe{0%,to{opacity:.45;transform:translate(0,0)scale(1)}50%{opacity:.7;transform:translate(-2vw,2vh)scale(1.06)}}@keyframes app-backdrop-sweep{0%,to{opacity:calc(var(--app-backdrop-arc-opacity) * .55);transform:translate(-3%,2%)rotate(-1deg)}50%{opacity:var(--app-backdrop-arc-opacity);transform:translate(3%,-2%)rotate(1deg)}}@keyframes app-backdrop-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-backdrop *{animation:none!important}}
