body.is-ending{background:#08040b;color:#fff0d6}body.is-ending>header,body.is-ending>footer{display:none}body.is-ending>main{padding:0;max-width:none;width:100%;min-height:100dvh}.ending-scene{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;isolation:isolate;animation:ending-in 1s ease}.ending-return{background:#765239 url('assets/living-cafe.webp') center/cover no-repeat}.ending-shade{position:absolute;inset:0;background:linear-gradient(transparent 25%,#160e17e8 100%);z-index:2;pointer-events:none}.return-light{position:absolute;inset:0;background:#fff8dd;animation:return-awake 4s ease forwards;z-index:3;pointer-events:none}.ending-copy{position:absolute;bottom:11%;left:8%;right:8%;z-index:6;animation:ending-words 2s ease both;animation-delay:2s;text-shadow:0 3px 16px #08040b}.ending-copy>span{font-size:11px;letter-spacing:4px;color:#e8b97a}.ending-copy h1{font:clamp(30px,4.5vw,57px)/1.4 var(--serif);margin:20px 0}.ending-copy p{font:clamp(14px,1.5vw,20px)/2 var(--serif);color:#fff1dc;max-width:850px}.ending-copy small{font-size:11px;color:#d2baa5;display:block;margin-top:22px}.ending-skip{position:absolute;right:4%;top:25px;z-index:10;color:#fff0cf;background:#1a111dbb;border:1px solid #cb9a6255;padding:13px 20px;font-size:12px;min-height:44px}.ending-abyss{background:radial-gradient(ellipse at 50% 100%,#fc6826 0,#811a20 24%,#250c21 53%,#04020b 85%)}.ending-abyss .ending-shade{background:linear-gradient(transparent 0 40%,#0a030bba)}.abyss-rings{position:absolute;width:75vw;height:75vw;left:12.5vw;top:-50vw;border-radius:50%;border:2px solid #fdab5622;box-shadow:0 0 90px #b62c2220,inset 0 0 90px #8e2c2220}.falling-soul{position:absolute;top:9%;left:50%;width:min(24vw,250px);height:53vh;transform:translateX(-50%);z-index:4;animation:soul-fall 7s cubic-bezier(.35,.02,.75,.55) forwards;transform-origin:center}.ending-soul{width:100%;height:100%;object-fit:contain;filter:brightness(0) drop-shadow(0 0 7px #b8e6ff) drop-shadow(0 0 18px #65bdff);animation:soul-dissolve 7s ease forwards}.hellfire{position:absolute;inset:50% 0 0;z-index:3;pointer-events:none}.hellfire i{position:absolute;bottom:-20%;left:var(--x);height:calc(60% + var(--i)*3%);width:15%;border-radius:70% 25% 60% 25%;background:linear-gradient(to top,#ffed9277,#ff8b2acc,#ca2c3266,transparent);transform-origin:50% 100%;animation:fire-rise calc(2.1s + var(--i)*.07s) ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.18s);filter:blur(2px)}.soul-embers{position:absolute;inset:10% 0 0;z-index:5;pointer-events:none}.soul-embers i{position:absolute;left:var(--x);top:15%;width:4px;height:4px;border-radius:50%;background:#ffe7a9;box-shadow:0 0 9px #ff7733;opacity:0;animation:soul-ember 4s ease-out forwards;animation-delay:calc(3.3s + var(--i)*.07s)}@keyframes ending-in{from{opacity:0}to{opacity:1}}@keyframes return-awake{0%,25%{opacity:1}100%{opacity:0}}@keyframes ending-words{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes soul-fall{0%{transform:translate(-50%,-10%) rotate(-5deg) scale(1)}55%{transform:translate(-50%,40%) rotate(13deg) scale(.8)}100%{transform:translate(-50%,120%) rotate(25deg) scale(.3)}}@keyframes soul-dissolve{0%,40%{opacity:1;clip-path:inset(0)}75%{opacity:.7;clip-path:inset(0 0 40%)}100%{opacity:0;clip-path:inset(0 0 100%)}}@keyframes fire-rise{from{transform:scaleY(.75) skew(-9deg);opacity:.65}to{transform:scaleY(1.2) skew(9deg);opacity:1}}@keyframes soul-ember{0%{opacity:0;transform:translate(0,0)}20%{opacity:1}100%{opacity:0;transform:translate(calc((var(--i) - 10)*14px),52vh)}}@media(max-width:680px){.ending-copy{left:7%;right:7%;bottom:9%}.ending-copy h1{font-size:32px}.ending-copy p{font-size:14px}.falling-soul{width:40vw;height:45vh;top:12%}.ending-skip{font-size:10px;padding:10px 14px;top:17px}.hellfire{top:40%}}@media(prefers-reduced-motion:reduce){.ending-scene,.ending-copy,.falling-soul,.ending-soul,.hellfire i,.soul-embers i{animation:none!important}.return-light{display:none}.falling-soul{opacity:0}.ending-copy{opacity:1}.soul-embers i{opacity:.4}.hellfire i{opacity:.7}}
