/* Conversation layout, matching the supplied chat reference in monochrome. */
.messages{padding:24px 8% 16px;overflow-x:hidden;scroll-behavior:smooth}
.chat-thread{min-height:100%;max-width:900px;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;gap:16px}
.chat-thread .message{display:flex;width:100%;max-width:none;margin:0;gap:0;flex-shrink:0}
.chat-thread .message.user{justify-content:flex-end}
.chat-thread .message.assistant{justify-content:flex-start}
.bubble{max-width:85%;width:fit-content;padding:15px 19px;background:#202020;color:#ffffff;border-radius:27px;min-width:0}
.user .bubble{background:#f5f5f5;color:#000000;border-radius:28px}
.bubble>p{font-size:16px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.bubble .message-tag{font-size:9px;line-height:1.6;border:0;padding:0;margin:8px 0 0;color:#bfbfbf;display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}
.bubble .message-tag svg{width:13px;height:13px}
.user .bubble .message-tag{color:#444444}
.chat-time{display:block;align-self:center;font-size:11px;line-height:1.5;color:#b5b5b5;font-weight:400;margin:20px 0 7px;flex-shrink:0}
.composer-wrap{padding:18px 5.5% 14px;position:relative}
.composer{position:relative;display:flex;align-items:flex-end;gap:9px;min-height:68px;padding:15px 17px;border:1px solid transparent;border-radius:35px;background:#303030;box-shadow:none}
.composer:focus-within{border-color:#666666}
.composer textarea{flex:1;width:auto;min-width:0;min-height:34px;max-height:120px;overflow-y:auto;padding:4px 0;margin:0;line-height:26px;font-size:16px;resize:none}
.composer textarea::placeholder{color:#b5b5b5}
.composer textarea:focus-visible{outline:none}
.composer .icon-button{width:34px;height:34px;color:#ffffff;flex-shrink:0;border-radius:50%}
.composer .attach-toggle svg{width:24px;height:24px}
.composer .composer-voice svg{width:18px;height:18px}
.composer .send-button{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#ffffff;color:#000000}
.composer .send-button:disabled{display:none}
.composer-caption{font-size:9px;color:#aaaaaa;line-height:1.7;margin:9px 0 0}
.attach-menu{position:absolute;left:0;bottom:calc(100% + 12px);min-width:205px;padding:7px;border:1px solid #444444;border-radius:15px;background:#242424;box-shadow:0 10px 40px #00000066;z-index:4}
.attach-menu button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 11px;text-align:left;border-radius:9px;color:#ffffff;font-size:12px}
.attach-menu button:hover{background:#383838}
.attach-menu svg{width:18px;height:18px}
.attachments:empty{display:none}
.attachment{max-width:100%}.attachment span{overflow-wrap:anywhere;min-width:0}
.session>div{min-width:0;flex:1}.session strong{max-width:100%}.sessions{overflow-x:hidden}
@media(max-width:760px){
  .messages{padding:18px 15px 12px}
  .chat-thread{gap:14px}
  .bubble{max-width:92%;padding:13px 16px;border-radius:23px}
  .bubble>p{font-size:15px;line-height:1.75}
  .user .bubble{max-width:87%;border-radius:25px}
  .composer-wrap{padding:13px 12px 10px}
  .composer{padding:11px 12px;gap:5px;min-height:60px;border-radius:31px}
  .composer textarea{font-size:16px}
  .composer .icon-button,.composer .send-button{width:30px;height:34px}
  .composer .send-button{height:30px;margin-bottom:2px}
  .composer-caption{font-size:8px}
  .chat-time{margin-top:14px}
}

/* Approved-library chat controls, within the existing monochrome layout. */
.chat-controls{flex-wrap:wrap;gap:10px}.chat-controls label{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:11px}.chat-controls select{max-width:290px;min-width:150px;padding:7px;border:1px solid #444;border-radius:8px;background:#191919;color:#fff;font:inherit}.answer-text{white-space:pre-wrap;overflow-wrap:anywhere}.answer-sources{display:grid;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #444}.answer-sources button{background:transparent;border:0;color:inherit;text-align:left;text-decoration:underline;font:inherit;cursor:pointer}.answer-sources small{color:#aaa}.answer-sources strong{font-size:12px}@media(max-width:760px){.chat-controls label{margin-left:0;width:100%}.chat-controls select{flex:1;min-width:0;max-width:100%}}
