/* v266. The centre remains quiet; all ornament sits behind combatants. */
.terrain-reveal-pane{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none;will-change:opacity}
#battleArena .terrain-transition-flash{display:none!important}
.terrain-living{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:layout paint;isolation:isolate;color:var(--realm-color);mask-image:linear-gradient(to right,#000 0%,#0009 15%,#0002 32% 68%,#0009 85%,#000 100%)}
.realm-light,.realm-haze,.realm-pollen{position:absolute;inset:0;pointer-events:none}
.realm-light{background:radial-gradient(ellipse at 0% 10%,var(--realm-wash),transparent 42%),radial-gradient(ellipse at 100% 95%,var(--realm-wash),transparent 40%);opacity:.17;animation:realmArrival 3.8s ease-out both}
.realm-haze{background:radial-gradient(ellipse at 10% 90%,var(--realm-color),transparent 33%),radial-gradient(ellipse at 92% 12%,var(--realm-wash),transparent 34%);opacity:.08;animation:realmBreath 14s ease-in-out infinite alternate}
.realm-engraving{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.12;opacity:.33;stroke-linecap:round;stroke-linejoin:round;animation:realmEtch 3.2s ease-out both}
.realm-detail{position:absolute;left:var(--x);top:var(--y);width:23px;height:18px;opacity:0;animation:realmFloat 17s linear infinite;animation-delay:var(--lag);color:var(--realm-color)}
.realm-detail svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2;overflow:visible}
.realm-pollen{background-image:radial-gradient(circle at 5% 20%,#e8dca8aa 0 1px,transparent 2px),radial-gradient(circle at 94% 62%,#e8dca877 0 1px,transparent 2px),radial-gradient(circle at 12% 83%,#d9cda577 0 1px,transparent 2px);opacity:.35;animation:realmPollen 11s ease-in-out infinite alternate}
[data-realm="forest"] .realm-light{background:conic-gradient(from 155deg at 6% -10%,transparent,#b3b66a44 7deg,transparent 16deg,#91b56355 23deg,transparent 34deg),radial-gradient(ellipse at 100% 30%,#6b995c,transparent 45%);opacity:.28}
[data-realm="forest"] .realm-detail{animation-name:realmLeaf;width:26px;height:19px}
[data-realm="marsh"] .realm-detail{top:calc(77% + var(--n)*1.3%);width:100px;height:23px;animation:realmRing 9s ease-out infinite;animation-delay:var(--lag)}
[data-realm="marsh"] .realm-haze{inset:76% 0 0;background:repeating-linear-gradient(175deg,transparent 0 17px,#90c6ca33 18px,transparent 20px 31px);opacity:.5;animation:realmWater 12s ease-in-out infinite alternate}
[data-realm="mist"] .realm-haze{inset:0 -15%;background:radial-gradient(ellipse at 0% 40%,#c8b4dd66,transparent 47%),radial-gradient(ellipse at 100% 70%,#a1b6ce66,transparent 50%);animation:realmMist 19s ease-in-out infinite alternate;opacity:.35}
[data-realm="mist"] .realm-detail{width:52px;height:80px;animation-duration:24s;opacity:.1}
[data-realm="grave"] .realm-detail{width:16px;height:28px;animation-name:realmSoul;animation-duration:19s;filter:drop-shadow(0 0 4px #b2dac766)}
[data-realm="grave"] .realm-haze{inset:75% 0 0;opacity:.2}
[data-realm="ruins"] .realm-detail{width:12px;height:17px;animation-name:realmDust;animation-duration:22s}
[data-realm="ruins"] .realm-light{background:linear-gradient(112deg,#cdbd6e44,transparent 24% 79%,#9e8c6444);opacity:.4}
[data-realm="stormspire"] .realm-detail{width:100px;height:34px;animation-name:realmGust;animation-duration:13s}
[data-realm="stormspire"] .realm-haze{background:repeating-linear-gradient(115deg,transparent 0 54px,#aecedd19 55px,transparent 57px 110px);opacity:.3;animation-name:realmWater}
[data-realm="volcano"] .realm-engraving{stroke-width:.21;filter:drop-shadow(0 0 3px #e99153);opacity:.7}
[data-realm="volcano"] .realm-detail{width:9px;height:11px;animation-name:realmSoul;animation-duration:9s}
[data-realm="volcano"] .realm-haze{inset:70% 0 0;opacity:.18;animation:realmHeat 5s ease-in-out infinite alternate}
[data-realm="burning"] .realm-detail{animation-name:realmAsh;animation-duration:12s;width:21px;height:18px}
[data-realm="burning"] .realm-haze{background:radial-gradient(ellipse at 0% 100%,#b8a16f55,transparent 50%),radial-gradient(ellipse at 100% 100%,#c48a4855,transparent 50%);animation-name:realmMist;opacity:.3}
[data-realm="blighted"] .realm-detail{animation-name:realmSpore;animation-duration:23s;width:26px;height:26px}
[data-realm="blighted"] .realm-haze{background:radial-gradient(ellipse at 0% 80%,#aec45e66,transparent 40%),radial-gradient(ellipse at 100% 60%,#8972a955,transparent 40%);animation-name:realmMist;opacity:.25}
[data-realm="obsidian"] .realm-detail{width:20px;height:33px;animation:realmGlint 14s ease-in-out infinite;animation-delay:var(--lag)}
[data-realm="obsidian"] .realm-engraving{stroke-width:.17;opacity:.5}
[data-realm="obsidian"] .realm-haze{inset:70% 0 0;animation-name:realmMist;opacity:.18}
@keyframes realmArrival{0%{opacity:0}35%{opacity:.32}100%{opacity:.17}}
@keyframes realmEtch{0%{stroke-dasharray:0 100;opacity:0}65%{stroke-dasharray:100 0;opacity:.5}100%{stroke-dasharray:100 0;opacity:.33}}
@keyframes realmBreath{from{transform:translateY(2%);opacity:.05}to{transform:translateY(-2%);opacity:.12}}
@keyframes realmFloat{0%{transform:translateY(25px);opacity:0}30%,65%{opacity:.45}100%{transform:translate(12px,-45px);opacity:0}}
@keyframes realmLeaf{0%{transform:translate(-12px,-65px) rotate(-40deg);opacity:0}25%,65%{opacity:.6}50%{transform:translate(22px,20px) rotate(10deg)}100%{transform:translate(-6px,120px) rotate(110deg);opacity:0}}
@keyframes realmRing{0%{transform:scale(.3);opacity:0}20%{opacity:.5}100%{transform:scale(1.5);opacity:0}}
@keyframes realmWater{from{transform:translate(-1%,2%)}to{transform:translate(2%,-2%)}}
@keyframes realmMist{from{transform:translate(-3%,3%)}to{transform:translate(5%,-4%)}}
@keyframes realmSoul{0%{transform:translate(0,80px) scale(.6);opacity:0}25%,60%{opacity:.55}100%{transform:translate(12px,-90px) scale(1);opacity:0}}
@keyframes realmDust{0%{transform:translateY(-20px) rotate(0);opacity:0}25%,70%{opacity:.4}100%{transform:translate(8px,65px) rotate(65deg);opacity:0}}
@keyframes realmGust{0%{transform:translate(-55px,15px) rotate(-10deg);opacity:0}35%{opacity:.4}100%{transform:translate(75px,-25px) rotate(5deg);opacity:0}}
@keyframes realmHeat{from{transform:skewX(-2deg) scaleY(.94)}to{transform:skewX(2deg) scaleY(1.04)}}
@keyframes realmAsh{0%{transform:translate(0,65px) rotate(-20deg);opacity:0}30%,60%{opacity:.55}100%{transform:translate(30px,-85px) rotate(140deg);opacity:0}}
@keyframes realmSpore{0%{transform:translate(0,35px) rotate(-10deg);opacity:0}30%,60%{opacity:.45}100%{transform:translate(-15px,-55px) rotate(40deg);opacity:0}}
@keyframes realmGlint{0%,100%{opacity:.05;transform:translateY(0)}45%{opacity:.55;transform:translateY(-4px)}60%{opacity:.12}}
@keyframes realmPollen{from{transform:translateY(5px);opacity:.2}to{transform:translate(8px,-12px);opacity:.55}}
#storyAtmosphereHost[data-paused="true"] .terrain-living *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.terrain-living *{animation:none!important}.realm-detail{opacity:.18}.realm-engraving{stroke-dasharray:none}.realm-haze{opacity:.08}}

#battleArena #storyAtmosphereHost{z-index:2;right:291px}

#battleArena .arena-terrain-layer.is-revealing::after{display:none}
.terrain-reveal-pane::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#06121b90,#07121b9c 40%,#06111b80);pointer-events:none}

/* Fast playback keeps terrain identity without full-screen ambient compositing. */
#battleArena[data-fx-detail=light] .terrain-living *,#battleArena[data-fx-detail=minimal] .terrain-living *{animation:none!important;filter:none!important}
#battleArena[data-fx-detail=light] .realm-detail{opacity:.2}
#battleArena[data-fx-detail=light] .realm-detail:nth-of-type(n+4),#battleArena[data-fx-detail=light] .realm-haze,#battleArena[data-fx-detail=light] .realm-pollen,#battleArena[data-fx-detail=minimal] .realm-detail,#battleArena[data-fx-detail=minimal] .realm-haze,#battleArena[data-fx-detail=minimal] .realm-pollen{display:none!important}
