.chat-widget { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 900; font-size: .95rem; }
.chat-widget-panel { position: absolute; right: 0; bottom: 0; width: 56px; max-width: 90vw; max-height: calc(100vh - 2.5rem); display: flex; flex-direction: column; overflow: hidden; border-radius: 12px; border: 1px solid rgba(255,255,255,.1); background: #221f1c; color: #fff; box-shadow: 0 12px 32px rgb(0 0 0 / 50%); transition: width .4s ease; }
.chat-widget-panel[data-expanded="true"] { width: min(360px, 90vw); }
.chat-widget-resize-handle { position: absolute; top: -6px; left: -6px; width: 20px; height: 20px; cursor: nwse-resize; touch-action: none; z-index: 1; display: none; }
.chat-widget-panel[data-expanded="true"] .chat-widget-resize-handle { display: block; }
.chat-widget-resize-handle::before { content: ''; position: absolute; top: 7px; left: 7px; width: 9px; height: 9px; border-top: 2px solid rgba(255,255,255,.5); border-left: 2px solid rgba(255,255,255,.5); border-radius: 2px 0 0 0; }
.chat-widget-log { min-width: calc(min(360px, 90vw) - 2px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; min-height: 0; max-height: 0; opacity: 0; padding: 0 1rem; transition: max-height .4s ease, opacity .35s ease, padding .4s ease; }
.chat-widget-panel[data-expanded="true"] .chat-widget-log:not(:empty) { max-height: min(50vh, 420px); opacity: 1; padding: 1.6rem 1rem .75rem; }
.chat-widget-log::-webkit-scrollbar,
.chat-widget-input::-webkit-scrollbar { width: 6px; }
.chat-widget-log::-webkit-scrollbar-track,
.chat-widget-input::-webkit-scrollbar-track { background: transparent; }
.chat-widget-log::-webkit-scrollbar-thumb,
.chat-widget-input::-webkit-scrollbar-thumb { background: rgba(255,255,255,.25); border-radius: 3px; }
.chat-widget-log .search-message-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.chat-widget-log .search-bubble { --tail-bg: #2b2825; --tail-border: #383533; position: relative; width: auto; max-width: 80%; padding: .55rem .75rem; border-radius: 14px; background: var(--tail-bg); border: 1px solid var(--tail-border); color: #fff; }
.chat-widget-log .search-message-user .search-bubble { --tail-bg: #3f201c; --tail-border: #6c221b; border-radius: 4px 14px 14px 14px; }
.chat-widget-log .search-message-bot .search-bubble { border-radius: 14px 4px 14px 14px; }
.chat-widget-log .search-bubble::before,
.chat-widget-log .search-bubble::after { content: ''; position: absolute; width: 0; height: 0; border-style: solid; }
.chat-widget-log .search-message-user .search-bubble::before { top: 6px; left: -8px; border-width: 6px 8px 6px 0; border-color: transparent var(--tail-border) transparent transparent; }
.chat-widget-log .search-message-user .search-bubble::after { top: 7px; left: -7px; border-width: 5px 7px 5px 0; border-color: transparent var(--tail-bg) transparent transparent; }
.chat-widget-log .search-message-bot .search-bubble::before { top: 6px; right: -8px; border-width: 6px 0 6px 8px; border-color: transparent transparent transparent var(--tail-border); }
.chat-widget-log .search-message-bot .search-bubble::after { top: 7px; right: -7px; border-width: 5px 0 5px 7px; border-color: transparent transparent transparent var(--tail-bg); }
.chat-widget-log .search-message { margin: 0 0 .75rem; gap: 4px; }
.chat-widget-log .search-message-user { align-items: flex-end; }
.chat-widget-log .search-message-bot { align-items: flex-start; }
.chat-widget-form { display: flex; align-items: flex-end; justify-content: flex-end; gap: .4rem; padding: .5rem; }
.chat-widget-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: #fff; cursor: pointer; flex: none; }
.chat-widget-toggle-icon { display: inline-flex; }
.chat-widget-toggle-icon svg { width: 20px; height: 20px; display: block; fill: currentColor; }
.chat-widget-input { flex: 1; min-width: 0; resize: none; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; border: 0; outline: none; border-radius: 8px; padding: .5rem; font: inherit; font-size: 14px; background: transparent; color: #fff; max-height: 8rem; overflow-y: auto; display: none; }
.chat-widget-panel[data-expanded="true"] .chat-widget-input { display: block; }
.chat-widget-input::placeholder { color: rgba(255,255,255,.42); }
.chat-widget-reset,
.chat-widget-close { position: absolute; top: .4rem; z-index: 2; border: 1px solid rgba(255,255,255,.28); border-radius: 0; padding: .15rem .4rem; background: transparent; color: rgba(255,255,255,.5); font-size: .65rem; line-height: 1.4; cursor: pointer; white-space: nowrap; display: none; }
.chat-widget-reset { left: 1rem; }
.chat-widget-close { right: .9rem; }
.chat-widget-panel[data-expanded="true"]:has(.chat-widget-log:not(:empty)) .chat-widget-reset,
.chat-widget-panel[data-expanded="true"]:has(.chat-widget-log:not(:empty)) .chat-widget-close { display: inline-block; }
.chat-widget-reset:hover,
.chat-widget-close:hover { background: rgba(255,255,255,.08); color: #fff; }
.chat-result-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.chat-result-card { margin: 0; }
.chat-result-link { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: inherit; }
.chat-result-thumb { width: 80px; height: 80px; flex: none; object-fit: cover; border-radius: 6px; background: rgba(255,255,255,.08); }
.chat-result-thumb-empty { display: inline-block; }
.chat-result-body { flex: 1; min-width: 0; }
.chat-result-title { margin: 0; font-size: .95rem; font-weight: 700; color: #fff; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.chat-result-meta { margin: .2rem 0 0; font-size: .8rem; color: rgba(255,255,255,.6); }
