/* Transparent waist-up artwork sits on the dialogue edge, with the world visible. */
.npc-dialogue-portrait{position:absolute;right:2%;bottom:0;width:46%;height:92%;z-index:4;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;animation:npc-portrait-enter 160ms steps(4,end) both}
.npc-dialogue-portrait[hidden]{display:none}
.npc-dialogue-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;image-rendering:pixelated;filter:drop-shadow(2px 1px 0 #15263399)}
.top-display:has(.npc-dialogue-portrait:not([hidden])) .dialogue .speaker{font-size:14px;line-height:1.2;color:#294963;letter-spacing:.025em}
@keyframes npc-portrait-enter{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
#screen[data-effects="false"] .npc-dialogue-portrait{animation:none}
@media(prefers-reduced-motion:reduce){.npc-dialogue-portrait{animation:none}}
