/* A shared conversation surface; diary and library practice retain their own layout. */
.conversation.free-talk{background:#fbfaf7}
.free-talk .conversation-head{min-height:72px;height:auto;padding:9px 16px;background:#fbfaf7;border-bottom:1px solid #ece5df}
.free-talk .conversation-head>.sei-conversation-face{width:54px;height:64px}
.free-talk .conversation-head .sei-portrait img{top:-57%}
/* The four-column sprite already starts at the top of each character's head. */
.conversation .conversation-head .sei-portrait:not(.sei-0) img{top:0}
.free-talk .conversation-head .sei-0 img{top:-16%}
.free-talk .sei-face-stage{flex:0 1 22dvh;min-height:94px;max-height:230px;margin:4px 16px}
.free-talk.sei-typing .sei-face-stage{flex-basis:14dvh;min-height:64px}
.free-talk .messages{padding:12px 20px 18px;scroll-behavior:smooth}
.free-talk .hint-message{font-size:.875rem;margin:6px 0 14px}
.free-talk .chat-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0;padding:12px 0;border-bottom:1px solid #eee9e5}
.free-talk .chat-row.user{align-items:flex-start;justify-content:flex-start}
.free-talk .chat-speaker{font-size:.8rem;font-weight:750;color:var(--friend-color,#73579d)}
.free-talk .chat-row.user .chat-speaker{color:#6f6863}
.free-talk .friend-message,.free-talk .user-message{max-width:100%;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#302d33;font-size:1rem;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
.free-talk .user-message{color:#4e4947}
.free-talk .talk-correction{max-width:100%;margin:3px 0 0;color:#706778;font-size:.85rem;line-height:1.5}
.free-talk .talk-correction summary{display:list-item;width:max-content;max-width:100%;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.free-talk .talk-correction span{display:block;margin-top:5px;overflow-wrap:anywhere}
.free-talk .talk-correction button{margin-top:5px;min-height:36px;padding:5px 11px;border:1px solid #d9d0e3;border-radius:9px;background:#fff;color:#62517b;font:inherit;cursor:pointer}
.free-talk .talk-correction :focus-visible{outline:2px solid var(--friend-color,#73579d);outline-offset:3px}
.free-talk .speak-bar{margin-top:auto;margin-bottom:max(8px,env(safe-area-inset-bottom));background:#fff;box-shadow:0 -3px 15px rgba(56,45,62,.06)}
.free-talk .speak-bar input{font-size:1rem}
@media(max-height:450px){.free-talk .sei-face-stage{min-height:64px;flex-basis:14dvh}.free-talk .conversation-head{min-height:58px}}
