#narration{position:absolute;bottom:0;left:0;right:0;z-index:19;display:flex;align-items:center;gap:calc(14 * var(--u));padding:calc(9 * var(--u)) calc(30 * var(--u));background:#000000ba;color:#fff;font-size:calc(26 * var(--u));line-height:1.35;pointer-events:none}#narration[hidden]{display:none}.narration-dot{flex:0 0 calc(12 * var(--u));height:calc(12 * var(--u));border-radius:50%}.narration-copy{flex:1;min-width:0;overflow:hidden;white-space:nowrap}.narration-sentence{display:block;width:max-content}.narration-speaker{font-weight:700}.narration-ghost{position:absolute;left:calc(56 * var(--u));right:calc(30 * var(--u))}.has-narration #scene-title{bottom:calc(80 * var(--u))}.web-phone #narration{font-size:calc(32 * var(--u))}.web-phone .narration-copy{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.web-phone .narration-sentence{display:inline;width:auto}.web-phone .has-narration #scene-title{bottom:calc(110 * var(--u))}#narration-audio{position:absolute;right:18px;bottom:min(390px,calc(100% - 160px));z-index:24;pointer-events:auto;border:1px solid #aebfcd88;border-radius:8px;background:#18232ddd;color:#fff;padding:8px 12px;font-size:22px;cursor:pointer}#narration-audio[data-hint]:before{content:attr(data-hint);position:absolute;right:100%;white-space:nowrap;font-size:14px;padding:6px;background:#18232ddd}.web-phone #narration-audio{bottom:min(270px,calc(100% - 160px))}[data-narration-speaking=true]:after{content:"🕨";display:inline-block;color:var(--narration-color);font-family:Arial,sans-serif;font-size:18px;margin-left:6px;animation:narration-speaker-pulse 1.4s ease-in-out infinite}.callout[data-narration-speaking=true]:after,#chase-panel[data-narration-speaking=true]:after{position:absolute;top:6px;right:6px}.action-main[data-narration-speaking=true]:after,.callout[data-narration-speaking=true]:after{font-size:max(calc(36 * var(--u)),20px);line-height:1}.action-main[data-narration-speaking=true]:after{flex:none;margin-left:0}.callout[data-narration-speaking=true]:after{top:calc(5 * var(--u));right:calc(8 * var(--u))}.callout[data-narration-speaking=true] .l1{padding-right:calc(max(calc(36 * var(--u)),20px) + 8 * var(--u))}@keyframes narration-speaker-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){[data-narration-speaking=true]:after{animation:none}}
