/* Atmospheric decoration never captures a pointer or filters type. The two
   cached, low-resolution fog planes animate transforms/opacity, not filters. */
.atmosphere-zone{pointer-events:none;overflow:hidden;contain:paint}
.atmosphere-layer{position:absolute;pointer-events:none;user-select:none}
.atmosphere-fog{width:115%;height:53%;background:url('/assets/atmosphere-mist.svg') center/100% 100% no-repeat;image-rendering:pixelated;opacity:.35;animation:mist-crossing 39s ease-in-out infinite alternate}
.atmosphere-fog.far{left:-24%;top:12%;opacity:.24;animation-name:mist-return;animation-duration:57s;animation-delay:-23s}
.atmosphere-fog.near{left:8%;bottom:0;animation-delay:-11s}
.atmosphere-glow{width:35%;height:65%;left:39%;top:10%;background:radial-gradient(ellipse,rgba(181,131,59,.24),rgba(158,108,43,.065) 28%,transparent 65%);animation:lamp-breath 7.8s ease-in-out infinite alternate}
.atmosphere-ember{width:2px;height:3px;left:54%;top:68%;background:#d3ad67;opacity:0;box-shadow:0 0 6px #b47a3f66;animation:ember-rise 11s linear infinite;animation-delay:-2s}
.atmosphere-ember:nth-of-type(5){left:60%;top:75%;animation-delay:-8s;animation-duration:14s;width:1px}
.atmosphere-ember:nth-of-type(6){left:41%;top:58%;animation-delay:-5s;animation-duration:17s;width:1px;height:2px}
.atmosphere-ember:nth-of-type(7){left:76%;top:70%;animation-delay:-10s;animation-duration:19s}
@keyframes mist-crossing{from{transform:translate3d(-3%,2%,0) scale(1);opacity:.25}to{transform:translate3d(5%,-4%,0) scale(1.06);opacity:.48}}
@keyframes mist-return{from{transform:translate3d(8%,4%,0) scale(1.07);opacity:.18}to{transform:translate3d(-4%,-2%,0) scale(1);opacity:.34}}
@keyframes lamp-breath{0%,19%{opacity:.48;transform:scale(.96)}25%{opacity:.6}33%{opacity:.51}72%{opacity:.85}100%{opacity:.7;transform:scale(1.04)}}
@keyframes ember-rise{0%,8%{opacity:0;transform:translate3d(0,15px,0)}20%{opacity:.58}61%{opacity:.32}88%,100%{opacity:0;transform:translate3d(-24px,-69px,0)}}
@keyframes page-settle{from{opacity:.38;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ink-arrive{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}
html[data-atmosphere-state="running"] [data-entered]{animation:page-settle .75s cubic-bezier(.2,.65,.3,1) both}
html:not([data-atmosphere-state="running"]) .atmosphere-layer,
[data-atmosphere-offscreen="true"] .atmosphere-layer,
.reduce-motion .atmosphere-layer{animation-play-state:paused!important}
html:not([data-atmosphere-state="running"]) [data-entered]{animation:none!important}
@media(max-width:700px){.atmosphere-fog{height:46%}.atmosphere-ember:nth-of-type(n+6){display:none}}
@media(prefers-reduced-motion:reduce){.atmosphere-layer,[data-entered]{animation:none!important;transform:none!important}.atmosphere-ember{display:none!important}}
