/* More legible atmosphere; sharp interface stays above non-interactive light. */
.gallery-scene .gallery-window .caravan-dusk-track{animation-duration:20s;animation-timing-function:linear}
.gallery-scene .gallery-window .caravan-dusk-track img:first-child{filter:brightness(1.12) saturate(.9) blur(.65px)}
.gallery-scene .gallery-window:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,#fff0d929,transparent 46%,#d7cced24);mix-blend-mode:screen}
.gallery-scene .gas-light{background:radial-gradient(ellipse at center,#fff2ca99 0%,#ffda8b70 10%,#ffb9664a 24%,#e78a4724 43%,#dc874b10 60%,transparent 75%);transform:translate(-50%,-50%) scale(1.45);animation-name:gallery-luminous-lamp}
.gallery-scene .gas-light:after{left:44%;top:41%;width:12%;height:18%;background:radial-gradient(ellipse,#fff9dfcc,#ffdc9370 27%,#ffb96b24 56%,transparent 75%)}
@keyframes gallery-luminous-lamp{0%,100%{opacity:.87}16%{opacity:1}30%{opacity:.8}47%{opacity:.96}61%{opacity:.83}79%{opacity:1}}
.gallery-scene .gas-light-layer:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 14% 35%,#ffe2bd24,transparent 40%),radial-gradient(ellipse at 85% 18%,#ffc27d1c,transparent 32%);filter:blur(12px);animation:gallery-light-mist 13s ease-in-out infinite alternate}
.gallery-scene .gas-light-layer:after{content:'';position:absolute;left:8%;top:12%;width:36%;height:77%;transform:rotate(-18deg);transform-origin:0 0;background:linear-gradient(90deg,transparent 5%,#ffdbaf14 25%,#fff1d321 40%,#ffd1a010 62%,transparent 85%);filter:blur(9px);opacity:.8}
@keyframes gallery-light-mist{from{opacity:.65;transform:translateX(-.5%)}to{opacity:1;transform:translateX(.8%)}}
.gallery-scene .gallery-dust{width:calc(var(--dust-size)*1.5);height:calc(var(--dust-size)*1.5);background:#fff0cf;box-shadow:0 0 2px #fff2d7aa,0 0 6px #ffd48d77;animation-name:gallery-visible-dust;mix-blend-mode:screen}
@keyframes gallery-visible-dust{0%{opacity:0;transform:translate(0,0)}15%{opacity:.55}43%{opacity:.9}73%{opacity:.58}100%{opacity:0;transform:translate(calc(var(--dust-x)*1.7),calc(var(--dust-y)*1.7))}}
body>.screen-temperature-grade{background:linear-gradient(270deg,rgba(64,110,182,.29) 0%,rgba(89,123,172,.17) 28%,rgba(151,129,148,.055) 50%,rgba(210,147,88,.17) 74%,rgba(238,158,83,.28) 100%)}
@media(prefers-reduced-motion:reduce){.gallery-scene .gallery-window .caravan-dusk-track,.gallery-scene .gas-light,.gallery-scene .gas-light-layer:before,.gallery-scene .gallery-dust{animation:none}.gallery-scene .gas-light{opacity:.92}.gallery-scene .gallery-dust{opacity:.45}}

/* Thin room-wide suspended haze, layered behind the readable dust specks. */
.gallery-scene .gallery-dust-layer:before,.gallery-scene .gallery-dust-layer:after{content:'';position:absolute;inset:-12%;pointer-events:none;mix-blend-mode:screen;filter:blur(20px);will-change:transform;opacity:.7;background:radial-gradient(ellipse at 24% 57%,#e0e8ed16 0%,#d3dce70a 23%,transparent 47%),radial-gradient(ellipse at 68% 73%,#f2dbc51b 0%,#edd4b90b 25%,transparent 49%),radial-gradient(ellipse at 78% 29%,#ffe5c810 0%,transparent 38%);animation:gallery-room-haze 27s ease-in-out infinite alternate}
.gallery-scene .gallery-dust-layer:after{opacity:.5;background:radial-gradient(ellipse at 43% 45%,#ece2d415 0%,#d8dce709 30%,transparent 58%);animation-duration:39s;animation-delay:-16s;animation-direction:alternate-reverse}
@keyframes gallery-room-haze{from{transform:translate(-2%,-1%) scale(1)}to{transform:translate(3%,1.5%) scale(1.06)}}
@media(prefers-reduced-motion:reduce){.gallery-scene .gallery-dust-layer:before,.gallery-scene .gallery-dust-layer:after{animation:none;will-change:auto}}
