.game-dialog[data-panel="npc"]{width:min(760px,calc(100vw - 32px));height:auto;max-height:calc(100svh - 40px)}
.game-dialog[data-panel="npc"] .panel-body{padding:22px;overflow:auto}
.game-dialog[data-panel="npc"] .panel-header{padding:17px 22px 13px}
.game-dialog[data-panel="npc"] .panel-header h2{font-size:22px}
.game-dialog[data-panel="npc"] .panel-feedback:empty{display:none}
.npc-dialogue{display:grid;grid-template-columns:215px minmax(0,1fr);gap:25px;align-items:start}
.npc-portrait{margin:0;padding:7px;background:#fff8e7;border:2px solid #c6b4b8;box-shadow:3px 3px 0 #e1cfbe}
.npc-portrait img{display:block;width:100%;aspect-ratio:1;object-fit:cover;image-rendering:auto}
.npc-portrait figcaption{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0 8px;color:#76657a}
.npc-portrait small{font-size:10px;color:#9b8795}.npc-portrait strong{font-size:18px;font-weight:600}
.npc-speech{padding-top:5px;min-width:0}.npc-greeting{display:block;font-size:10px;color:#a0849c;margin:0 0 16px}
.npc-speech h3{font-size:19px!important;line-height:1.6;margin:0 0 14px;color:#7a647f;font-weight:600}
.npc-speech>p{font:14px/2 var(--pixel-type);color:#807080;margin:0 0 18px;word-break:keep-all;overflow-wrap:anywhere}
.npc-dialogue-hint{font-size:10px;line-height:1.9;padding:10px 12px;background:#edf0dc;border-left:3px solid #afc29b;color:#849074;word-break:keep-all}
.npc-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}.npc-actions button{min-height:44px}.npc-actions .primary-button{flex:1}
.npc-goodbye{display:block;margin:13px 0 0 auto;min-height:40px;font-size:10px}
.npc-host{display:flex;align-items:center;gap:12px;padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid #dbcbd0;flex-shrink:0;color:#806b86}
.npc-host img{width:52px;height:52px;object-fit:cover;border:2px solid #cbb5c5;image-rendering:auto}.npc-host>div{display:flex;flex-direction:column;gap:5px}.npc-host small{font-size:9px;color:#a28b9f}.npc-host b{font-size:14px}.npc-host>span{margin-left:auto;font-size:10px;color:#a38e9f}
@media(max-width:600px){
  .game-dialog[data-panel="npc"]{width:calc(100vw - 22px);max-height:calc(100svh - 28px)}
  .game-dialog[data-panel="npc"] .panel-header{padding:13px 15px 10px}.game-dialog[data-panel="npc"] .panel-header h2{font-size:18px}
  .game-dialog[data-panel="npc"] .panel-body{padding:15px}
  .npc-dialogue{grid-template-columns:1fr;gap:17px}.npc-portrait{display:flex;align-items:center;gap:15px;padding:6px}.npc-portrait img{width:96px;height:96px;flex-shrink:0}.npc-portrait figcaption{align-items:flex-start;padding:8px;gap:10px}
  .npc-speech{padding-top:0}.npc-greeting{margin-bottom:10px;font-size:9px}.npc-speech h3{font-size:17px!important;margin-bottom:10px}.npc-speech>p{font-size:13px;line-height:1.95;margin-bottom:14px}.npc-actions{margin-top:17px}.npc-actions button{font-size:11px!important}.npc-dialogue-hint{font-size:9px}.npc-goodbye{margin-top:8px}.npc-host img{width:40px;height:40px}.npc-host>span{font-size:8px;max-width:110px;line-height:1.7}.npc-host{gap:10px;padding-bottom:9px;margin-bottom:10px}
}
@media(max-height:520px) and (orientation:landscape){.npc-dialogue{grid-template-columns:130px minmax(0,1fr);gap:18px}.npc-portrait{display:block}.npc-portrait img{width:100%;height:auto}.npc-portrait figcaption{padding:6px;gap:5px}.npc-portrait strong{font-size:14px}.npc-speech>p{font-size:12px;line-height:1.8}.npc-actions{margin-top:12px}}
