/* Independent alpha layers; the public page's layout and copy remain the baseline. */
.character-stage{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/2;background:#80c8ff}
.anime-world .character-stage>.stage-background{display:block;width:100%;height:100%;max-height:none;object-fit:cover;animation:none;transform:none}
.character-stage .actor{position:absolute;display:block;bottom:1.5%;height:90%;width:auto;max-width:none;max-height:none;object-fit:contain;transform-origin:50% 96%;filter:drop-shadow(0 10px 5px #18395728)}
.character-stage .actor:nth-of-type(1){left:1%;height:88%}
.character-stage .actor:nth-of-type(2){left:27%;height:92%}
.character-stage .actor:nth-of-type(3){left:49%;height:91%}
.character-stage .actor:nth-of-type(4){right:0%;height:85%}
.character-stage .flag-mark{position:absolute;width:3.2%;height:11%;left:4.1%;top:10%;filter:brightness(0) invert(1);transform:skewY(12deg)}
.character-stage .scene-control{position:absolute;right:12px;bottom:12px;z-index:5;border:1px solid #ffffff80;background:#152d49d9;color:white;border-radius:30px;padding:9px 14px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;min-height:40px;backdrop-filter:blur(12px)}
.character-stage .scene-control:focus-visible{outline:3px solid #e8ff60;outline-offset:3px}
.anime-world .anime-lab .character-stage{aspect-ratio:3/2}
.lab-stage .actor:nth-of-type(1){left:2%;height:79%;bottom:2%}
.lab-stage .actor:nth-of-type(2){left:auto;right:8%;height:67%;bottom:2%}
.adventure-speech{position:absolute;z-index:4;top:3%;left:3%;width:45%;margin:0;border:2px solid #193657;border-radius:20px;background:#fffef8f5;padding:14px 18px;color:#18304e;box-shadow:0 5px 0 #19365720;transition:opacity .35s,translate .35s;opacity:.86;translate:0 4px}
.adventure-speech:after{content:'';position:absolute;bottom:-10px;left:25%;width:16px;height:16px;rotate:45deg;background:#fffef8;border-right:2px solid #193657;border-bottom:2px solid #193657}
.adventure-speech.is-speaking{opacity:1;translate:0 0}
.adventure-speech small{display:block;color:#3154df;font-size:11px;font-weight:800;margin-bottom:4px}
.adventure-speech span{display:block;font-size:clamp(12px,1.8vw,22px);font-weight:800;line-height:1.6}
.adventure-speech.iroha{left:auto;right:3%;top:10%}
.adventure-speech.iroha small{color:#d64767}
.anime-world .product-brand .app-title-logo,.anime-world .app-title-logo{display:block;width:min(640px,100%);height:auto;max-height:none;object-fit:contain}
.hero-layer-stage{position:absolute;inset:0;background:transparent;aspect-ratio:auto;overflow:visible}
.hero-layer-stage .actor:nth-of-type(1){left:59%;height:58%;bottom:-2%}
.hero-layer-stage .actor:nth-of-type(2){left:75%;height:45%;bottom:5%}
.hero-layer-stage .actor:nth-of-type(3){left:87%;height:19%;bottom:29%;filter:none}
.hero-layer-stage .scene-control{bottom:22px;right:24px;pointer-events:auto}
.rider-scene.motion-ready .hero-original-strip{display:none!important}
.anime-world .rider-scene.motion-ready .scene-riders{animation:none!important;transform:none!important}
.anime-world .anime-ensemble>img.motion-fallback,.anime-world .anime-lab>img.motion-fallback{display:none}
.character-stage.loading{display:none}
@media(max-width:700px){
 .adventure-speech{border-radius:12px;padding:7px 9px;top:2%;width:47%;left:1%}
 .adventure-speech.iroha{right:1%;top:10%}
 .adventure-speech small{font-size:9px;margin:0}
 .adventure-speech span{font-size:11px;line-height:1.5}
 .lab-stage .actor:nth-of-type(1){height:70%}
 .lab-stage .actor:nth-of-type(2){height:59%;right:6%}
 .character-stage .scene-control{padding:5px 10px;right:6px;bottom:6px;min-height:32px;font-size:10px}
 .hero-layer-stage{top:calc(50% - 28.125vw);height:56.25vw;bottom:auto}
 .hero-layer-stage .scene-control{bottom:0;right:8px}
}
@media(prefers-reduced-motion:reduce){.adventure-speech{opacity:1;translate:none;transition:none}}

.inline-bolt{display:inline-block;width:14px;height:20px;vertical-align:middle}.brand-mark{object-fit:contain}

#riders,#laboratory{scroll-margin-top:90px}

.anime-world .founder-portrait.has-frames{aspect-ratio:3/4;overflow:visible}.founder-portrait.has-frames>img{display:none!important}.founder-portrait .team-stage{height:100%;width:100%;aspect-ratio:auto;background:transparent;overflow:visible}.founder-portrait .team-stage .actor{height:100%;width:100%;left:0;right:auto;bottom:0;object-fit:contain}.founder-portrait .team-stage .scene-control{bottom:-10px;font-size:10px;padding:4px 8px;min-height:28px}.quest-mascot{object-fit:contain}
.anime-world .anime-ensemble .character-stage .flag-mark{width:3.2%;height:11%;max-height:none;object-fit:contain;left:4.1%;top:10%;filter:brightness(0) invert(1);transform:skewY(12deg);animation:none}
.cast-stage .actor:nth-of-type(3){left:46%}.cast-stage .actor:nth-of-type(4){right:-2%}

/* The frame renderer owns character poses; CSS never deforms their bodies. */
.anime-world .quest-mascot,.character-stage .actor{animation:none!important}
