/* No default full-size fetch until the saved background has been decoded. */
#nebula{background-image:var(--universe-background,none)}
#nebula .nebula-glow{background-image:var(--universe-background,none)}
.background-incoming,#nebula .nebula-glow{background-position:inherit}
#stars,.ambient-star-field{-webkit-mask-image:var(--planet-star-mask,none);mask-image:var(--planet-star-mask,none);-webkit-mask-composite:source-in;mask-composite:intersect}
@media(orientation:portrait){#nebula[data-background=silent-orbit]{background-position:75% 50%}#nebula[data-background=distant-worlds]{background-position:25% 50%}}
.background-previous,.background-incoming{position:absolute;inset:0;background-position:center;background-size:cover;pointer-events:none;z-index:0;will-change:opacity,transform,filter}
.background-jump{position:absolute;inset:-15%;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 12%,#020711e8 32%,#020711 50%,#061221eb 68%,transparent 88%);will-change:transform,opacity}
.nebula-breath{z-index:1}
#nebula[data-background=glacial-veil] .nebula-glow--blue{-webkit-mask-image:radial-gradient(ellipse 49% 58% at 81% 24%,#000 0%,transparent 85%);mask-image:radial-gradient(ellipse 49% 58% at 81% 24%,#000 0%,transparent 85%)}
#nebula[data-background=glacial-veil] .nebula-glow--amber{-webkit-mask-image:radial-gradient(ellipse 39% 47% at 12% 76%,#000 0%,transparent 88%);mask-image:radial-gradient(ellipse 39% 47% at 12% 76%,#000 0%,transparent 88%)}
#nebula[data-background=amber-drift] .nebula-glow--blue{-webkit-mask-image:radial-gradient(ellipse 43% 49% at 87% 47%,#000 0%,transparent 85%);mask-image:radial-gradient(ellipse 43% 49% at 87% 47%,#000 0%,transparent 85%);--cloud-max:.07}
#nebula[data-background=amber-drift] .nebula-glow--violet{-webkit-mask-image:radial-gradient(ellipse 39% 35% at 23% 20%,#000 0%,transparent 88%);mask-image:radial-gradient(ellipse 39% 35% at 23% 20%,#000 0%,transparent 88%);--cloud-max:.05}
#nebula[data-background=amber-drift] .nebula-glow--amber{-webkit-mask-image:radial-gradient(ellipse 47% 39% at 43% 83%,#000 0%,transparent 88%);mask-image:radial-gradient(ellipse 47% 39% at 43% 83%,#000 0%,transparent 88%)}
#fx-panel{width:min(560px,calc(100vw - 28px))}
.fx-background-section{padding:14px 0 8px;border-bottom:1px solid #b0c9df18;min-width:0}
.fx-background-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.fx-background-heading h3{font-size:14px;font-weight:400;margin:0}
.fx-background-arrows{display:flex;gap:4px}
.fx-background-arrows button{width:36px;height:36px;border:1px solid #a4bdd32b;border-radius:5px;background:transparent;display:grid;place-items:center;padding:0;color:#aebfd0}
.fx-background-arrows svg{width:17px;height:17px;display:block}
#fx-background-choices{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#819aad55 transparent;padding:3px 3px 10px;margin:0 -3px}
#fx-background-choices button{flex:0 0 128px;min-width:0;padding:0 0 9px;border:1px solid #aac6da26;border-radius:6px;overflow:hidden;background:#050c16;color:#9bb0c3;text-align:left;scroll-snap-align:start;font:10px Oxanium,sans-serif}
#fx-background-choices img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0 0 9px}
#fx-background-choices span{display:block;padding:0 8px;white-space:nowrap}
#fx-background-choices button[aria-checked=true]{border-color:#b3d2d6;color:#e4f1f3;box-shadow:0 0 0 1px #b3d2d62b}
#fx-background-choices button[data-loading]{border-style:dashed}
#fx-background-status{font-size:10px;line-height:1.6;color:#8d9fb4;margin:0 0 3px;min-height:16px}
#fx-sound-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#fx-sound-choices button{padding:10px 5px;text-align:center;min-height:59px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
#fx-sound-choices button strong{font-size:10px;line-height:1.35;letter-spacing:0;min-height:27px;display:flex;align-items:center;justify-content:center;white-space:normal}
#fx-sound-choices button small{font-size:8px;margin:0;letter-spacing:1px;color:#8c9db0}
@media(max-width:599px){#fx-background-choices button{flex-basis:120px}.fx-background-arrows button{width:40px;height:40px}.fx-background-heading h3{font-size:13px}#fx-sound-choices button strong{font-size:9px}}
