/* One coordinate system for the control rail at every viewport width. */
.stage>.controls{position:absolute;inset:0;width:100%;height:100%;transform:none;pointer-events:none;z-index:7}
.stage>.controls #chapters{left:auto;right:22px;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:12px}
.stage>.controls #chapters button{width:44px;height:44px;min-width:44px;padding:0;pointer-events:auto}
.stage>.controls>#replay{left:24px;bottom:24px;width:44px;height:44px;padding:0;pointer-events:auto}
#chat-launch{right:20px;bottom:20px;padding:3px;width:56px;height:56px;justify-content:center}
#chat-launch>span{display:none}#chat-launch img{width:46px;height:46px}
#final-message{top:calc(92px + env(safe-area-inset-top));left:50%;width:min(900px,calc(100% - 130px));font-size:clamp(28px,5vw,62px);line-height:1.06;transform:translateX(-50%);margin:0;text-wrap:balance}
.faq-list{counter-reset:question;display:grid;gap:14px}
.faq-list details{counter-increment:question;border:1px solid #e8e2eb25;border-radius:22px;background:linear-gradient(115deg,#3e256b75,#21162e80);backdrop-filter:blur(22px);overflow:hidden;box-shadow:inset 0 1px #ffffff0c;transition:border-color .35s,background .35s,box-shadow .35s}
.faq-list details:hover,.faq-list details[open]{border-color:#d8c0f66b;box-shadow:inset 0 1px #fff2,0 12px 40px #0002;background:linear-gradient(115deg,#57378480,#251b3580)}
.faq-list summary{gap:16px;padding:24px;align-items:center}
.faq-list summary:before{content:'0' counter(question);font:500 11px Inter,sans-serif;letter-spacing:.1em;color:#c8a8ee;flex:none}
.faq-list summary>span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid #e8e2eb32;background:#e8e2eb08;font-size:20px;transition:transform .4s,background .4s}
.faq-list details[open] summary>span{transform:rotate(45deg);background:#e8e2eb20}
.faq-answer{overflow:hidden}.faq-list details p{padding-left:60px}
.loop-end{display:block;position:relative;height:180svh;padding:0;background:radial-gradient(ellipse at 50% 50%,#3e256b99,#130c1e 72%)}
.loop-sticky{position:sticky;top:0;height:100svh;overflow:hidden}#loop-collar{position:absolute;inset:0;pointer-events:none}#loop-collar #scene{transform:none!important;opacity:1!important;height:100%;width:100%}
.loop-veil{transition:opacity .16s;background:radial-gradient(ellipse,#3e256b70,#130c1eaa)}
.am-device>figcaption:empty{display:none}
@media(max-width:900px){
 .stage>.controls #chapters{left:50%;right:auto;top:auto;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);flex-direction:row;gap:8px}
 .stage>.controls #chapters button{width:42px;height:42px;min-width:42px}
 .stage>.controls>#replay{left:14px;bottom:calc(20px + env(safe-area-inset-bottom));width:36px;height:42px}
 #chat-launch{width:46px;height:46px;right:12px;bottom:calc(18px + env(safe-area-inset-bottom))}#chat-launch img{width:38px;height:38px}
 #assembled-hint{bottom:calc(100px + env(safe-area-inset-bottom))}
 #final-message{top:calc(100px + env(safe-area-inset-top));width:calc(100% - 50px);font-size:clamp(27px,5.8vw,45px)}
}
@media(max-width:420px){.stage>.controls #chapters{gap:5px}.stage>.controls #chapters button{width:36px;height:40px;min-width:36px}.stage>.controls>#replay{left:8px;width:30px}#chat-launch{right:8px;width:40px;height:40px}#chat-launch img{width:34px;height:34px}.faq-list summary{padding:20px 16px;gap:10px}.faq-list details p{padding-left:44px}.faq-list summary:before{font-size:9px}}
@media(max-height:550px) and (min-width:760px){#final-message{top:76px;font-size:30px}.stage>.controls #chapters{right:16px;left:auto;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:5px}.stage>.controls #chapters button{width:36px;height:36px;min-width:36px}}
@media(prefers-reduced-motion:reduce){.loop-end{height:0;overflow:hidden}.faq-list details{transition:none}}

.am-stage-caption{display:none}
@media (max-width:620px) and (min-height:501px){
 .hero-intro{top:calc(82px + env(safe-area-inset-top));padding:0 14px}
 .hero-intro h1{font-size:clamp(24px,7.4vw,30px);line-height:1.12;max-width:100%;letter-spacing:-.045em}
 .hero-eyebrow{margin-bottom:8px}
 .hero-subtitle{font-size:11px;line-height:1.45;margin:8px auto 0}
}
