.floor-effect{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;justify-content:center;align-items:stretch;overflow:hidden;pointer-events:none;background:#080808f5;color:#eeeeee;border:1px solid #eeeeee;animation:effect-arrive .24s ease-out both}.floor-effect.death{border-color:#eeeeee;color:#eeeeee}.effect-grain{position:absolute;inset:0;z-index:2;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 3px,#080808 4px 5px);pointer-events:none}.effect-caption,.effect-heading{position:relative;z-index:3;text-align:center;padding:18px 24px}.effect-heading>span{display:block;font:10px Courier New,monospace;letter-spacing:.22em;margin-bottom:14px}.effect-heading>strong{font:700 clamp(17px,2vw,27px) Georgia,serif;letter-spacing:.08em}.effect-caption h2{margin:0 0 8px;font:28px Georgia,serif}.effect-caption p{margin:0;font-size:12px;line-height:1.6;color:#eeeeee}.effect-scene{display:block;width:100%;max-height:430px;flex:0 1 auto;min-height:0}.effect-skip{position:absolute;z-index:4;right:14px;top:10px;color:#eeeeee;background:#080808c9;padding:7px 9px;border:1px solid #eeeeee;font-size:10px;pointer-events:auto}.effect-skip span{margin-left:7px;font-size:16px}.effect-explorer{transform-origin:300px 350px}.death .effect-explorer{animation:explorer-lost 2.6s ease-in both}.safe .effect-explorer{animation:explorer-breathe 2.6s ease-out both}.effect-haze{animation:haze-drift 2.8s ease-in-out both}.gate-drop{animation:gate-drop 2.6s cubic-bezier(.6,0,.9,.6) both}.axe-swing{transform-origin:300px -110px;animation:axe-swing 2.6s ease-in-out both}.pit-open{transform-origin:300px 361px;animation:pit-open 2.6s ease-in both}.scene-pit .effect-explorer{animation:explorer-fall 2.6s ease-in both}.rock-fall{animation:rock-fall 2.2s cubic-bezier(.5,0,.9,.6) both;animation-delay:calc(var(--i) * 35ms)}.wall-hand{animation:hands-reach 2.6s ease-in-out both;transform-origin:300px 290px}.hand-1{animation-delay:80ms}.hand-2{animation-delay:.16s}.curse-seal{transform-origin:300px 244px;animation:curse-close 2.6s ease-in both}.bat-cross{animation:bat-cross 2.1s ease-in-out both;animation-delay:calc(var(--i) * 40ms)}.bones-rise{animation:bones-rise 2.6s ease-out both}.poison-rise{animation:poison-rise 2.5s ease-out both;animation-delay:calc(var(--i) * 45ms)}.abyss-eye{transform-origin:300px 204px;animation:eye-open 2.6s ease-in-out both}.torch-flare{transform-origin:220px 214px;animation:torch-flare 2.6s ease-out both}.flame-core{animation-delay:.1s}.door-left{animation:door-left 2.6s ease-in-out both}.door-right{animation:door-right 2.6s ease-in-out both}.ward-turn{transform-origin:300px 335px;animation:ward-turn 2.6s ease-out both}.bridge-build{animation:bridge-build 1.8s ease-out both;animation-delay:calc(var(--i) * 75ms)}.stone-step{animation:stone-step 2s ease-out both;animation-delay:calc(var(--i) * .13s)}.chain-lift{animation:chain-lift 2.6s ease-in-out both}.spirit-drift{animation:spirit-drift 2.4s ease-in-out both;animation-delay:calc(var(--i) * 55ms)}.stair-reveal{animation:stair-reveal 1.8s ease-out both;animation-delay:calc(var(--i) * .1s)}.arrow-miss{animation:arrow-miss 1.6s ease-in both;animation-delay:calc(var(--i) * .18s)}.scene-arrows .effect-explorer{animation:explorer-duck 2.6s ease-in-out both}.ember-rise{animation:ember-rise 2.5s ease-out both;animation-delay:calc(var(--i) * 25ms)}@keyframes effect-arrive{0%{opacity:0}to{opacity:1}}@keyframes explorer-lost{0%,35%{opacity:1}85%,to{opacity:.08;transform:scale(.9)}}@keyframes explorer-breathe{0%,to{transform:translateY(0)}45%{transform:translateY(-4px)}}@keyframes haze-drift{0%{transform:translateX(-30px);opacity:.1}to{transform:translateX(20px);opacity:.4}}@keyframes gate-drop{0%,20%{transform:translateY(-350px)}52%{transform:translateY(40px)}60%{transform:translateY(22px)}70%,to{transform:translateY(35px)}}@keyframes axe-swing{0%{transform:rotate(-64deg)}45%{transform:rotate(48deg)}75%{transform:rotate(-22deg)}to{transform:rotate(4deg)}}@keyframes pit-open{0%,15%{transform:scaleX(.05) scaleY(.1);opacity:0}60%,to{transform:scale(1);opacity:1}}@keyframes explorer-fall{0%,32%{transform:translateY(0);opacity:1}80%,to{transform:translateY(120px) scale(.2) rotate(25deg);opacity:0}}@keyframes rock-fall{0%{transform:translateY(-100px) rotate(-5deg)}75%,to{transform:translateY(425px) rotate(8deg)}}@keyframes hands-reach{0%{transform:scaleX(1.8);opacity:0}55%,to{transform:scaleX(1);opacity:1}}@keyframes curse-close{0%{transform:scale(1.5) rotate(-35deg);opacity:0}45%{opacity:.9}to{transform:scale(.5) rotate(65deg);opacity:.4}}@keyframes bat-cross{0%{transform:translateY(-30px) scale(1);opacity:0}25%{opacity:1}to{transform:translate(900px,60px) scale(1.5);opacity:.9}}@keyframes bones-rise{0%,15%{transform:translateY(190px);opacity:0}70%,to{transform:translateY(-30px);opacity:1}}@keyframes poison-rise{0%{transform:translateY(40px) scale(1);opacity:0}to{transform:translateY(-200px) scale(1.3);opacity:.48}}@keyframes eye-open{0%,15%{transform:scaleY(.01);opacity:0}65%,to{transform:scaleY(1);opacity:1}}@keyframes torch-flare{0%{transform:scale(.1);opacity:.1}45%{transform:scale(1.2);opacity:1}65%{transform:scale(.95,1.1)}to{transform:scale(1);opacity:.9}}@keyframes door-left{0%,15%{transform:translateX(0)}90%,to{transform:translateX(-145px)}}@keyframes door-right{0%,15%{transform:translateX(0)}90%,to{transform:translateX(145px)}}@keyframes ward-turn{0%{transform:scale(.2) rotate(-15deg);opacity:0}65%,to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes bridge-build{0%{transform:translateY(100px);opacity:0}70%,to{transform:translateY(0);opacity:1}}@keyframes stone-step{0%{transform:translateY(50px);opacity:0}55%{transform:translateY(-8px);opacity:1}to{transform:translateY(0);opacity:1}}@keyframes chain-lift{0%,10%{transform:translateY(0)}90%,to{transform:translateY(-190px)}}@keyframes spirit-drift{0%{transform:translate(-15px,80px);opacity:0}35%{opacity:.85}to{transform:translate(15px,-35px);opacity:.6}}@keyframes stair-reveal{0%{transform:translateY(35px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes arrow-miss{0%{transform:translateX(0)}to{transform:translateX(1000px)}}@keyframes explorer-duck{0%,to{transform:scaleY(1)}25%,65%{transform:scaleY(.65)}}@keyframes ember-rise{0%{transform:translateY(30px);opacity:0}25%{opacity:1}to{transform:translate(var(--drift),var(--rise));opacity:0}}.animation-gallery{width:min(880px,94vw);max-width:880px;max-height:90vh;overflow-y:auto}.animation-gallery .dialog-heading h2{font:24px Georgia,serif;margin:0}.effect-preview{position:relative;min-height:390px;margin:20px 0}.effect-preview .effect-scene{max-height:285px}.effect-library{display:grid;grid-template-columns:1fr 1fr;gap:24px}.effect-library h3{font:18px Georgia,serif;color:#eeeeee}.effect-library button{display:flex;align-items:center;gap:14px;width:100%;padding:12px 8px;border:0;border-bottom:1px solid #080808;background:transparent;text-align:left;color:#eeeeee;font-size:12px}.effect-library button span{font:10px Courier New,monospace;color:#eeeeee}.effect-library button[aria-pressed=true]{background:#080808;color:#eeeeee}@media (max-width:600px){.effect-heading{padding:40px 16px 8px}.effect-caption{padding:10px 14px 25px}.effect-caption h2{font-size:23px}.effect-library{gap:12px}.effect-library button{font-size:11px;gap:7px}.animation-gallery{padding:20px 14px}.effect-preview{min-height:330px}}@media (prefers-reduced-motion:reduce){.floor-effect,.floor-effect *{animation:none!important;transition:none!important}.scene-pit .effect-explorer{opacity:.35}}