/* Conversations: bounded panes, readable text, stable controls. */
#asst-panel{box-sizing:border-box;z-index:10020;top:calc(var(--assistant-vtop,0px) + 12px);bottom:auto;left:auto;right:12px;width:min(420px,calc(100vw - 24px));height:min(700px,calc(var(--assistant-vheight,100dvh) - 24px));max-height:calc(var(--assistant-vheight,100dvh) - 24px);display:flex;flex-direction:column;overflow:hidden}
#asst-panel[hidden]{display:none!important}
#asst-panel>*{min-width:0}
#asst-panel .asst-head{flex:0 0 auto;min-height:64px;padding:10px 12px;gap:8px;background:#1b0d18;position:relative;z-index:1}
#asst-panel .asst-head-txt{min-width:0;overflow-wrap:anywhere}
#asst-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:78px;min-height:44px;margin:0;padding:8px;border:1px solid #79435e;border-radius:12px;font-size:13px;background:#2a1323;color:#fff;cursor:pointer}
#asst-panel .asst-tools{flex:0 0 auto;margin:0;border-bottom:1px solid #593047;max-height:34%;overflow:auto;overscroll-behavior:contain;background:#190c16}
#asst-panel .asst-tools>summary{padding:10px 14px;cursor:pointer;color:#f8c2dc;font-size:13px;min-height:40px;box-sizing:border-box;position:sticky;top:0;background:#190c16;z-index:1}
#asst-panel .asst-tools .asst-notice{line-height:1.45}
#asst-panel .assistant-memory{max-height:none;overflow:visible}
#asst-panel .asst-tools input[type=file]{font-size:13px;width:100%;min-width:0;box-sizing:border-box}
#asst-panel .asst-tools button,#asst-panel .asst-tools a{white-space:normal;overflow-wrap:anywhere;max-width:100%}
#asst-log{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px;gap:12px;scrollbar-gutter:stable}
#asst-log>*{flex-shrink:0;min-width:0;max-width:100%;overflow-wrap:anywhere}
#asst-log .asst-msg{max-width:90%;white-space:pre-wrap;line-height:1.55}
#asst-log img,#asst-log video{max-width:100%;height:auto}
#asst-form{flex:0 0 auto;display:flex;align-items:center;gap:8px;width:100%;max-width:none;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#190c16}
#asst-input{width:0;flex:1 1 0;min-width:0;max-width:100%;margin:0;font-size:16px;min-height:44px;box-sizing:border-box}
#asst-form .asst-send{width:44px;height:44px;min-width:44px;flex:0 0 44px;margin:0;align-self:center}
#asst-panel button:focus-visible,#asst-panel summary:focus-visible{outline:2px solid #ffd670;outline-offset:-3px}
#asst-panel button:disabled{opacity:.55;cursor:wait}
body[data-page=messages] main>.two-col{align-items:stretch;grid-template-columns:minmax(210px,300px) minmax(0,1fr)}
body[data-page=messages] main>.two-col>div:first-child{min-width:0;background:#1b0d18;border:1px solid #593047;border-radius:20px;padding:16px;box-sizing:border-box}
#convs{max-height:560px;overflow:auto;overscroll-behavior:contain}
#convs .conv-item{display:block;width:100%;box-sizing:border-box;text-align:left;white-space:normal;overflow-wrap:anywhere;margin:0 0 8px;padding:12px;min-height:62px;border-radius:12px}
body[data-page=messages] .two-col>.chat{min-height:0;min-width:0;height:clamp(360px,65dvh,740px);box-sizing:border-box;overflow:hidden;padding:16px;gap:10px}
body[data-page=messages] .chat>.note{flex:0 0 auto;font-size:12px;line-height:1.45;margin:0;color:var(--muted)}
#direct-chat-heading{flex:0 0 auto;font-size:16px;line-height:1.4;margin:0;padding-bottom:10px;border-bottom:1px solid #593047;overflow-wrap:anywhere}
#chatlog{flex:1 1 0;min-height:0;max-height:none;height:auto!important;overflow:auto;overscroll-behavior:contain;margin:0;padding:4px;scrollbar-gutter:stable}
#chatlog>*{flex-shrink:0;min-width:0}
#chatlog .bubble{max-width:88%;overflow-wrap:anywhere;white-space:normal;line-height:1.5;padding:10px 14px}
#chatlog .bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}
#chatlog .bubble small{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere;color:inherit;opacity:.85}
#chatform{display:flex;flex:0 0 auto;align-items:center;width:100%;min-width:0;max-width:none;margin:0!important;gap:8px}
#chatinput{width:0;min-width:0;flex:1 1 0;margin:0;font-size:16px;box-sizing:border-box;min-height:44px}
#chatform button{flex:0 0 auto;min-height:44px;margin:0;max-width:42%;padding:10px 14px;white-space:normal;overflow-wrap:anywhere}
#direct-chat-status{flex:0 0 auto;margin:0;font-size:13px;overflow-wrap:anywhere;max-height:80px;overflow:auto}
#direct-chat-status:empty{display:none}
#group-log{min-height:0!important;flex:1 1 0;height:auto!important;overflow:auto}
.group-chat{height:clamp(400px,72dvh,800px);min-height:0;overflow:hidden;box-sizing:border-box}
#group-header,#group-actions,#group-older,#group-form,#group-status{flex-shrink:0}
#group-actions{max-height:110px;overflow:auto}
#group-input{resize:none;max-height:100px;font-size:16px}
@media(max-width:760px){body[data-page=messages] main>.two-col{grid-template-columns:minmax(0,1fr);gap:14px}body[data-page=messages] main>.two-col>div:first-child{padding:12px}#convs{max-height:180px}body[data-page=messages] .two-col>.chat{height:clamp(330px,65dvh,620px);padding:12px}#group-header p{max-height:55px;overflow:auto}.group-chat{height:clamp(380px,70dvh,700px)}}
@media(max-height:480px){#asst-panel .asst-head-txt small{display:none}#asst-panel .asst-head{min-height:48px;padding:4px 10px}#asst-panel .asst-tools{max-height:26%}#asst-panel .asst-tools>summary{padding:6px 12px;min-height:30px}#asst-form{padding-top:6px;padding-bottom:6px}}
