/* Natural details height is animated by accordion-ui.js, with reduced-motion support. */
details{box-sizing:border-box}
.boss-scene,.tower-intro{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:440px;min-height:min(65dvh,580px);padding:22px 14px;text-align:center;isolation:isolate}
.boss-scene::before,.tower-intro::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:18px;background:linear-gradient(#111324dd,#0b071de6);border:1px solid #9c73b380}
.boss-scene img{width:min(100%,280px);max-height:38dvh;aspect-ratio:1;object-fit:cover;border:2px solid #aa6de4;border-radius:18px;box-shadow:0 0 35px #702aa854}
.boss-scene blockquote{margin:20px 0 10px;max-width:380px;color:#fff1cc;font-size:clamp(20px,5vw,28px);font-weight:800;line-height:1.35;text-wrap:balance}
.boss-scene .boss-wait{display:none}.boss-scene.waiting img,.boss-scene.waiting blockquote,.boss-scene.waiting .eyebrow{display:none}.boss-scene.waiting .boss-wait{display:block;color:#ded1f7;font-size:18px}
.boss-scene img,.boss-scene blockquote{animation:boss-scene-arrive .35s ease-out both}
.tower-intro{background:linear-gradient(#09071d80,#130b21eb),url('assets/locations/void-tower.webp') center/cover;border-radius:18px;overflow:hidden}
.tower-intro h2{font-size:30px;margin:15px}.tower-intro strong{display:block;font-size:46px;color:#d3acff}.tower-intro progress{width:80%;max-width:300px;margin:18px 0}.tower-intro p{max-width:340px;line-height:1.6}
@keyframes boss-scene-arrive{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.boss-scene img,.boss-scene blockquote{animation:none}}
