.avatar-chat{display:grid;gap:18px;min-width:0;width:100%;color:var(--yoru-text,inherit)}
.avatar-chat-speech{display:flex;align-items:flex-start;gap:12px;min-width:0;text-align:left}
.avatar-chat-portrait{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border-radius:16px;background:var(--yoru-tool,#7772);border:1px solid var(--yoru-story-border,#8885);font-size:18px}
.avatar-chat-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avatar-chat-portrait img[hidden]{display:none}
.avatar-chat-copy{min-width:0;flex:1;border:1px solid var(--yoru-story-border,#8884);border-radius:4px 16px 16px;padding:12px 16px;background:var(--yoru-tool,#7771)}
.avatar-chat-copy strong{display:block;font-size:.8em;margin-bottom:6px;color:var(--yoru-muted,inherit)}
.avatar-chat-copy>div,.avatar-chat-narration{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}
.avatar-chat-narration:empty{display:none}
.portrait-input{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid #8885;border-radius:10px}
.portrait-input label{flex:1 1 180px;min-width:0}.portrait-input input[type=file]{max-width:100%;font-size:12px}
.portrait-input img{width:56px;height:56px;object-fit:cover;border-radius:12px}.portrait-input small{flex-basis:100%;font-size:12px;opacity:.8}
.avatar-chat-controls{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid #8885;border-radius:12px}.avatar-chat-controls label{display:grid;gap:6px}
.avatar-chat-dialog{width:min(640px,calc(100vw - 24px));box-sizing:border-box;max-height:90dvh;overflow:auto;border:1px solid #8886;border-radius:18px;padding:22px;background:var(--yoru-tool,#232632);color:var(--yoru-text,#eee)}
.avatar-chat-dialog::backdrop{background:#0009}.avatar-chat-dialog label{display:grid;gap:8px;margin:12px 0}.avatar-chat-dialog footer{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.avatar-cast-row{display:grid;gap:8px;padding:12px;margin:10px 0;border:1px solid #8885;border-radius:12px}
@media(max-width:600px){.avatar-chat-portrait{flex-basis:38px;width:38px;height:38px;border-radius:12px}.avatar-chat-speech{gap:8px}.avatar-chat-copy{padding:10px 12px}.avatar-chat{gap:14px}}
