                                                                                   
.map-ambience{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.map-ambience *{pointer-events:none!important}
.ambient-zone{position:absolute;display:block;overflow:visible}
.ambient-zone>svg{display:block;width:100%;height:100%;overflow:visible}
.ambient-star{fill:#ffe8ae;opacity:.4;filter:drop-shadow(0 0 2px #ffe8ae99);transform-box:fill-box;transform-origin:center}
.ambient-foliage{mask-image:radial-gradient(ellipse at 50% 55%,#000 15%,#000b 45%,transparent 73%);opacity:.9}
.ambient-foliage .ambient-paint{transform-origin:50% 95%}
.ambient-flag{clip-path:polygon(8% 0,100% 12%,88% 87%,52% 78%,3% 96%)}
.ambient-flag .ambient-paint{transform-origin:0 0}
.ambient-ripple{transform-box:fill-box;transform-origin:center;opacity:.15}
.ambient-ripple ellipse,.ambient-current,.ambient-flow{fill:none;stroke:#d3fbef;stroke-width:2;stroke-linecap:round}
.ambient-current{opacity:.35}.ambient-flow{opacity:.34;stroke-dasharray:4 10}
@media(prefers-reduced-motion:no-preference){
 .ambient-star{animation:ambient-twinkle var(--duration,9s) ease-in-out var(--delay,0s) infinite}
 .ambient-foliage .ambient-paint{animation:ambient-breeze 9s ease-in-out infinite alternate}
 .ambient-foliage:nth-child(3) .ambient-paint{animation-delay:-4s;animation-duration:11s}
 .ambient-foliage:nth-child(4) .ambient-paint{animation-delay:-6s;animation-duration:10s}
 .ambient-flag .ambient-paint{animation:ambient-flag 6.5s ease-in-out -2s infinite alternate}
 .ambient-ripple{animation:ambient-ripple var(--duration,9s) ease-out var(--delay,0s) infinite}
 .ambient-current{animation:ambient-current 7s ease-in-out -3s infinite alternate}
 .ambient-flow{animation:ambient-flow 5s linear infinite}
 .ambient-zone[data-paused=true],.ambient-zone[data-paused=true] *{animation-play-state:paused!important}
 @keyframes ambient-twinkle{0%,100%{opacity:.22;transform:scale(.85)}48%{opacity:.92;transform:scale(1.3)}}
 @keyframes ambient-breeze{from{transform:rotate(-2deg) skewX(-.6deg)}to{transform:rotate(2.4deg) skewX(.7deg)}}
 @keyframes ambient-flag{from{transform:skewX(-3.5deg) scaleX(.98)}to{transform:skewX(5deg) scaleX(1.03)}}
 @keyframes ambient-ripple{0%{opacity:0;transform:scale(.8)}28%{opacity:.48}100%{opacity:0;transform:scale(1.4)}}
 @keyframes ambient-current{from{opacity:.2;transform:translateX(-5px)}to{opacity:.45;transform:translateX(7px)}}
 @keyframes ambient-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-28}}
}
@media(prefers-reduced-motion:reduce){.map-ambience *{animation:none!important;transition:none!important}}

                                                                                 
.ambient-lamp{border-radius:50%;background:radial-gradient(ellipse,#ffe9b599 0%,#ffc56b55 25%,#ffba4f22 42%,transparent 70%);mix-blend-mode:screen;opacity:.4;transform-origin:center}
.ambient-star-glow .ambient-star{fill:#ffdc8e;filter:drop-shadow(0 0 4px #ffc05cbb)}
.ambient-river-flow{fill:none;stroke:#c8f9ed;stroke-width:2.7;stroke-linecap:round;stroke-dasharray:12 22;opacity:.42}
@media(prefers-reduced-motion:no-preference){
 .ambient-lamp{animation:ambient-lamp 5.5s ease-in-out var(--delay,0s) infinite alternate}
 .ambient-river-flow{animation:ambient-river 4.5s linear infinite}
 @keyframes ambient-lamp{from{opacity:.2;transform:scale(.9)}to{opacity:.85;transform:scale(1.12)}}
 @keyframes ambient-river{from{stroke-dashoffset:0}to{stroke-dashoffset:-68}}
}
.ambient-water-sheen{mask-image:radial-gradient(ellipse,#000 15%,transparent 72%);opacity:.65}
@media(prefers-reduced-motion:no-preference){.ambient-water-sheen .ambient-paint{animation:ambient-water-sheen 7s ease-in-out infinite alternate}@keyframes ambient-water-sheen{from{filter:brightness(.98)}to{filter:brightness(1.1)}}}
.ambient-cascade{fill:none;stroke:#c8f9ed;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:3 11;opacity:.42}
@media(prefers-reduced-motion:no-preference){.ambient-cascade{animation:ambient-cascade 3s linear infinite}@keyframes ambient-cascade{from{stroke-dashoffset:0}to{stroke-dashoffset:-28}}}
