/* Slow ambient scenes. Transform/opacity animation keeps text and controls still. */
.listening-mode .mode-glow{position:fixed;inset:0;contain:strict;background:#080912}
.listening-mode .mode-glow::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08091222,#08091255);pointer-events:none}
.listening-mode .mode-glow i{left:0;top:0;width:100%;height:100%;border-radius:0;filter:none;animation:none;transform-origin:50% 0;opacity:.65}
.listening-mode[open] .mode-glow i{animation-play-state:running}
.listening-mode:not([open]) .mode-glow i{animation-play-state:paused}
/* Warehouse: broad, hazy club lights crossing an industrial-dark room. */
.listening-mode[data-theme=warehouse] .mode-glow{background:linear-gradient(160deg,#14131c,#07080e 70%)}
.listening-mode[data-theme=warehouse] .mode-glow i:nth-child(1){left:-30%;top:-40%;width:150%;height:170%;background:conic-gradient(from 150deg at 50% 0,transparent 0deg,#ff3eaa44 12deg,#ff3eaa88 18deg,transparent 30deg);animation:warehouse-sweep 12s ease-in-out infinite alternate}
.listening-mode[data-theme=warehouse] .mode-glow i:nth-child(2){left:-10%;top:-35%;width:140%;height:160%;background:conic-gradient(from 180deg at 50% 0,transparent 0deg,#a88bff70 14deg,transparent 29deg);animation:warehouse-sweep 16s -7s ease-in-out infinite alternate-reverse}
.listening-mode[data-theme=warehouse] .mode-glow i:nth-child(3){left:0;top:30%;width:100%;height:85%;background:radial-gradient(ellipse at 50% 65%,#8738ff50,transparent 68%);animation:warehouse-haze 18s -6s ease-in-out infinite alternate}
/* Afterhours: broad ribbons of blue and teal drifting through the night. */
.listening-mode[data-theme=afterhours] .mode-glow{background:#070b20}
.listening-mode[data-theme=afterhours] .mode-glow i:nth-child(1){left:-35%;top:-35%;width:150%;height:130%;background:radial-gradient(ellipse at 35% 35%,#526bff99,transparent 60%);animation:night-drift 14s -4s ease-in-out infinite alternate}
.listening-mode[data-theme=afterhours] .mode-glow i:nth-child(2){left:0;top:10%;width:140%;height:110%;background:radial-gradient(ellipse at 65% 70%,#06bcca77,transparent 56%);animation:night-drift 18s -8s ease-in-out infinite alternate-reverse}
.listening-mode[data-theme=afterhours] .mode-glow i:nth-child(3){left:-20%;top:0;width:140%;height:130%;background:radial-gradient(ellipse at 60% 50%,#7650b955,transparent 65%);animation:night-drift 22s -12s ease-in-out infinite alternate}
/* Sunrise: a low amber sun and peach light gradually lifting above the horizon. */
.listening-mode[data-theme=sunrise] .mode-glow{background:linear-gradient(#16132b 5%,#392037 65%,#5a3038)}
.listening-mode[data-theme=sunrise] .mode-glow i:nth-child(1){left:-20%;top:10%;width:140%;height:140%;background:radial-gradient(ellipse at 65% 80%,#ffbc6899 0%,#ff855b66 24%,transparent 58%);animation:sunrise-lift 16s -5s ease-in-out infinite alternate}
.listening-mode[data-theme=sunrise] .mode-glow i:nth-child(2){left:-20%;top:25%;width:140%;height:110%;background:radial-gradient(ellipse at 30% 65%,#ff71ad77,transparent 62%);animation:sunrise-cloud 20s -9s ease-in-out infinite alternate}
.listening-mode[data-theme=sunrise] .mode-glow i:nth-child(3){left:0;top:15%;width:100%;height:100%;background:radial-gradient(ellipse at 70% 85%,#ffd69a66,transparent 45%);animation:sunrise-lift 24s -11s ease-in-out infinite alternate-reverse}
@keyframes warehouse-sweep{from{transform:rotate(-24deg) translateX(-9%);opacity:.45}to{transform:rotate(24deg) translateX(12%);opacity:.8}}
@keyframes warehouse-haze{from{transform:translateX(-15%) scale(.95);opacity:.4}to{transform:translateX(8%) scale(1.1);opacity:.7}}
@keyframes night-drift{from{transform:translate(-16%,-10%) rotate(-12deg) scale(.9);opacity:.5}to{transform:translate(16%,12%) rotate(14deg) scale(1.2);opacity:.85}}
@keyframes sunrise-lift{from{transform:translateY(15%) scale(.92);opacity:.55}to{transform:translateY(-18%) scale(1.14);opacity:.85}}
@keyframes sunrise-cloud{from{transform:translateX(-15%);opacity:.45}to{transform:translateX(18%);opacity:.7}}
@media(prefers-reduced-motion:reduce){.listening-mode .mode-glow i:nth-child(n){animation:none;opacity:.65}}
