#amamiArrivalRoot{position:fixed;inset:0;z-index:265;display:none;pointer-events:none;color:#fff;font-family:'Zen Maru Gothic',sans-serif}
#amamiArrivalRoot.active{display:block}
#amamiMap{position:absolute;inset:0;background:#0878bd;opacity:0;overflow:hidden;transition:opacity .45s ease;z-index:2}
#amamiMap.show{opacity:1}
#amamiMap img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);animation:amamiMapZoom 3.5s ease-out both}
#amamiMap b{position:absolute;left:50%;top:max(34px,7%);transform:translateX(-50%);white-space:nowrap;padding:8px 18px;border-radius:999px;background:rgba(9,36,66,.78);border:2px solid rgba(255,255,255,.8);font-size:clamp(1.1rem,5vw,1.55rem);font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.45);box-shadow:0 5px 14px rgba(0,0,0,.22)}
@keyframes amamiMapZoom{from{transform:scale(1.02)}to{transform:scale(1.13)}}
#amamiShade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.05),transparent 25%,transparent 68%,rgba(0,0,0,.18))}
#amamiTalk{position:absolute;left:3%;bottom:max(18px,3.5%);width:94%;z-index:8;display:none;align-items:center;gap:11px;padding:10px 18px 24px 10px;border-radius:18px;background:rgba(0,0,0,.84);border:3px solid rgba(255,255,255,.9);box-shadow:0 5px 18px rgba(0,0,0,.35);pointer-events:auto;cursor:pointer}
#amamiTalk.show{display:flex;animation:amamiTalkIn .2s ease-out both}
@keyframes amamiTalkIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
#amamiFace{width:clamp(72px,22vw,112px);aspect-ratio:1;flex:0 0 auto;object-fit:cover;object-position:center top;border-radius:14px;border:2px solid rgba(255,255,255,.8);background:#fff}
#amamiTalk>div{min-width:0;text-align:left}
#amamiWho{display:block;color:#ffea66;font-size:clamp(.82rem,3.4vw,1rem);font-weight:900;margin-bottom:3px}
#amamiText{font-size:clamp(1rem,4.4vw,1.2rem);font-weight:900;line-height:1.48;overflow-wrap:anywhere}
#amamiNext{position:absolute;right:12px;bottom:4px;font-size:.78rem;opacity:.28;transition:opacity .15s}
#amamiNext.ready{opacity:.9;animation:amamiNext 1s ease-in-out infinite}
@keyframes amamiNext{50%{transform:translateY(3px)}}
body.amami-arrival-mode #fieldControls,body.amami-arrival-mode #fieldModeBadge,body.amami-arrival-mode #fieldZoneName{pointer-events:none}
.amami-easy{opacity:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.26))}
.amami-easy .interior-npc-visual{image-rendering:auto}
@media (min-width:481px){#amamiArrivalRoot{left:50%;right:auto;width:480px;transform:translateX(-50%)}}
@media (max-height:620px){#amamiTalk{bottom:8px;padding-top:7px;padding-bottom:21px}#amamiFace{width:68px}#amamiText{font-size:.96rem;line-height:1.42}}
@media (prefers-reduced-motion:reduce){#amamiMap img,#amamiNext.ready{animation:none}}
/* 同じ距離の会話二人。A02既定比1.25。posterの実画素は高さ310/448、下余白70/448。 */
:is(#amamiEpisode1Root,#amamiEpisode2Root,#amamiEpisode3Root,#amamiEpisode4Root,#amamiLateRoot[data-episode="5"],#amamiLateRoot[data-episode="6"],#amamiLateRoot[data-episode="7"]) .amami-dialog-stage{container-type:size;--peer-body:min(72cqw,82cqh);--listener-fill:.987;--listener-pad:.006;--peer-height:calc(var(--peer-body) * 448 / 310);--listener-height:calc(var(--peer-body) / 1.25 / var(--listener-fill))}
:is(#amamiEpisode1Root,#amamiEpisode2Root,#amamiEpisode3Root,#amamiEpisode4Root,#amamiLateRoot[data-episode="5"],#amamiLateRoot[data-episode="6"],#amamiLateRoot[data-episode="7"]) .amami-dialog-stage .amami-dialog-peer{left:70%;top:auto;bottom:calc(8cqh - var(--peer-height) * 70 / 448);height:var(--peer-height);width:auto;max-width:none;object-fit:contain;transform:translate(calc(-50% + var(--motion-x,0%)),var(--motion-y,0%))}
:is(#amamiEpisode1Root,#amamiEpisode2Root,#amamiEpisode3Root,#amamiEpisode4Root,#amamiLateRoot[data-episode="5"],#amamiLateRoot[data-episode="6"],#amamiLateRoot[data-episode="7"]) .amami-dialog-stage .amami-dialog-listener{left:24%;top:auto;bottom:calc(8cqh - var(--listener-height) * var(--listener-pad));height:var(--listener-height);width:auto;max-width:none;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 6px 4px #1234)}
