:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-synthesis:none;color-scheme:light;--panel:#fff;--panel-soft:#f4f4f5;--hover:#f0eef6;--ink:#202124;--muted:#85858e;--line:#eae9ee;--accent:#7962cf;--accent-hover:#6b54c4;--selected:#8774dc;--incoming:#fff;--outgoing:#e9e3ff;--outgoing-ink:#302740;--outgoing-muted:#796891;--quote:#ded5f7;--chat-bg:#e8e4f1;--pattern-opacity:.38;--action:#f7f4ff;--danger:#a54343;--shadow:0 3px 14px #19142410}
:root[data-theme="dark"]{color-scheme:dark;--panel:#202020;--panel-soft:#2c2c2c;--hover:#2b2b2d;--ink:#f1f1f1;--muted:#a0a0a5;--line:#303032;--accent:#a18cf2;--accent-hover:#b3a0ff;--selected:#8270d6;--incoming:#222223;--outgoing:#7463b9;--outgoing-ink:#fff;--outgoing-muted:#e0d9ff;--quote:#8d7dcd;--chat-bg:#08080a;--pattern-opacity:.32;--action:#29252f;--danger:#f1b0a8;--shadow:0 3px 15px #0002}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{color:var(--ink);font-size:14px;line-height:1.45;background:var(--chat-bg)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,p{margin:0}[hidden]{display:none!important}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}button svg,a svg{pointer-events:none}button{border:0}input,textarea{color:inherit}input::placeholder,textarea::placeholder{color:var(--muted)}.messenger{height:100dvh;display:grid;grid-template-columns:350px minmax(0,1fr)}
.sidebar{position:relative;min-height:0;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);z-index:3}.sidebar-header{height:68px;flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px}.icon-button{width:40px;height:40px;border-radius:50%;background:transparent;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--muted)}.icon-button:hover{background:var(--hover);color:var(--ink)}.icon-button svg{width:23px;height:23px}.sidebar-brand{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:650;letter-spacing:-.5px;white-space:nowrap}.sidebar-brand img{border-radius:7px}.sidebar-brand b{color:var(--accent);font-weight:500}.private-tag{margin-left:auto;display:flex;align-items:center;gap:3px;font-size:8px;letter-spacing:1px;color:var(--muted)}.private-tag svg{width:14px;height:14px}.search-wrap{position:relative;margin:2px 16px 12px}.search-wrap>svg{position:absolute;left:15px;top:13px;width:21px;height:21px;color:var(--muted)}.search-wrap input{height:46px;width:100%;padding:0 15px 0 47px;border:1px solid transparent;border-radius:25px;background:var(--panel-soft);font-size:14px;outline:none}.search-wrap input:focus{border-color:var(--accent)}.folders{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--line);flex:none;overflow-x:auto;scrollbar-width:none}.folders button{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;flex:1;white-space:nowrap;padding:13px 5px 15px;background:transparent;color:var(--muted);font-size:12px;font-weight:600}.folders button.active{color:var(--accent)}.folders button.active:after{position:absolute;content:"";bottom:0;left:9px;right:9px;height:3px;border-radius:4px 4px 0 0;background:var(--accent)}.folders button span{font-size:10px;background:var(--panel-soft);color:var(--muted);border-radius:20px;min-width:17px;padding:1px 4px}.folders button.active span{background:var(--accent);color:var(--panel)}.chat-list{padding:9px 8px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chat-item{display:flex;align-items:center;width:100%;text-align:left;gap:12px;padding:12px 10px;min-height:80px;border-radius:12px;background:transparent;margin-bottom:2px}.chat-item:hover{background:var(--hover)}.chat-item.selected{background:var(--selected);color:#fff}.avatar{width:50px;height:50px;flex:none;border-radius:50%;display:grid;place-items:center;background:#e0a948;color:#fff;font-weight:650;font-size:18px;letter-spacing:-.5px}.avatar.tone-0{background:#e4bb41;color:#292415}.avatar.tone-1{background:#799cc4}.avatar.tone-2{background:#c98d80}.avatar.tone-3{background:#849b84}.avatar.tone-4{background:#ac8dbd}.avatar.tone-5{background:#ba9c6d}.inbox-avatar{background:var(--panel-soft);color:var(--accent)}.inbox-avatar svg{width:26px;height:26px}.selected .inbox-avatar{background:#ffffff25;color:#fff}.chat-copy{min-width:0;flex:1}.chat-line{display:flex;align-items:center;gap:7px;min-width:0}.chat-name{font-size:14px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.chat-time{font-size:10px;color:var(--muted);white-space:nowrap;flex:none}.chat-preview{font-size:12px;line-height:20px;margin-top:5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.chat-preview-row{display:flex;align-items:center;gap:8px;min-width:0}.chat-preview-row .chat-preview{flex:1}.chat-counter{background:var(--accent);color:var(--panel);border-radius:18px;padding:2px 6px;min-width:20px;flex:none;font-weight:600;font-size:10px;text-align:center}.selected .chat-counter{background:#fff;color:#7761c6}.selected .chat-preview,.selected .chat-time{color:#f0ecff}.list-loading{padding:20px;text-align:center;color:var(--muted)}.sidebar-footer{display:flex;align-items:center;gap:11px;padding:15px 18px;border-top:1px solid var(--line);flex:none}.profile-avatar{width:37px;height:37px;display:grid;place-items:center;background:var(--panel-soft);color:var(--accent);border-radius:50%;font-size:16px;font-weight:600}.sidebar-footer>div{flex:1;min-width:0}.sidebar-footer strong{display:block;font-weight:600;font-size:12px}.sidebar-footer #sidebar-status{display:block;color:var(--muted);font-size:10px;margin-top:2px}.analysis-control{width:34px;height:34px;color:var(--accent);background:var(--panel-soft)}.analysis-control svg{width:18px;height:18px;stroke-width:2.3}.workspace-menu{position:absolute;z-index:5;top:58px;left:12px;right:12px;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:8px;box-shadow:0 12px 65px #0004;max-height:calc(100dvh - 95px);overflow-y:auto}.menu-title{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;padding:4px 8px 9px}.menu-title .icon-button{font-size:24px;width:30px;height:30px;font-weight:400}.theme-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;padding:10px 10px 18px;border-bottom:1px solid var(--line);margin-bottom:6px}.theme-switch{display:flex;gap:3px;padding:3px;border-radius:8px;background:var(--panel-soft)}.theme-switch button{padding:5px 7px;border-radius:5px;font-size:10px;background:transparent;color:var(--muted)}.theme-switch button[aria-pressed="true"]{color:var(--accent);background:var(--panel)}.menu-item{width:100%;display:block;text-align:left;padding:12px 10px;border-radius:8px;font-size:13px;background:transparent;cursor:pointer}.menu-item:hover{background:var(--hover)}.connection-details summary{list-style:none}.connection-details summary:after{content:"⌄";float:right}.connection-details>div{white-space:pre-line;font-size:11px;line-height:1.9;color:var(--muted);padding:4px 12px 14px;overflow-wrap:anywhere}#logout{color:var(--danger)}
.conversation{min-width:0;min-height:0;position:relative;display:flex;flex-direction:column;background:var(--chat-bg)}.conversation:before{content:"";position:absolute;inset:0;background-image:url('/static/chat-pattern.svg');background-size:420px;opacity:var(--pattern-opacity);pointer-events:none}.conversation>*{position:relative}.conversation-header{height:73px;min-height:73px;display:flex;align-items:center;gap:13px;padding:10px 28px;background:var(--panel);border-bottom:1px solid var(--line);z-index:2}.conversation-header .avatar{width:43px;height:43px;font-size:16px}.conversation-heading{flex:1;min-width:0}.conversation-heading h1{font-size:16px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.2px}.conversation-heading p{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;gap:7px}.mobile-back{display:none}.review-banner{display:flex;align-items:center;gap:13px;background:var(--panel);padding:11px 25px;border-bottom:1px solid var(--line);flex:none;z-index:1}.review-symbol{display:grid;place-items:center;color:var(--accent);font-size:30px;width:30px;line-height:1;flex:none}.review-banner>div{flex:1;min-width:0;border-left:3px solid var(--accent);padding-left:10px}.review-banner strong{display:block;font-size:12px;font-weight:600;color:var(--accent)}.review-banner>div>span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.review-count{padding:5px 10px;border-radius:15px;background:var(--panel-soft);color:var(--accent);font-size:10px;white-space:nowrap}.notice{padding:10px 28px;font-size:12px;background:var(--action);color:var(--ink);border-bottom:1px solid var(--line);flex:none}.notice.paused{color:var(--accent)}.message-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:24px 40px 20px;scroll-behavior:smooth}.message-list{max-width:880px;margin:0 auto}.date-divider{text-align:center;margin:2px 0 22px;position:sticky;top:0;z-index:1;pointer-events:none}.date-divider span{display:inline-block;border-radius:20px;padding:5px 12px;background:var(--panel);color:var(--muted);font-size:10px;font-weight:500;box-shadow:var(--shadow)}.case-thread{display:flex;flex-direction:column;gap:12px;margin-bottom:35px;min-width:0}.incoming-row{display:flex;gap:9px;align-items:flex-end;padding-right:70px}.sender-avatar{width:30px;height:30px;font-size:11px;margin-bottom:1px}.incoming-bubble{background:var(--incoming);color:var(--ink);padding:12px 15px 9px;border-radius:16px 16px 16px 5px;max-width:690px;min-width:150px;box-shadow:var(--shadow);overflow:hidden}.message-author{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--accent);margin-bottom:5px}.message-author .author-username{color:var(--muted);font-size:10px;font-weight:400}.source-chat{display:block;color:var(--muted);font-size:10px;margin-bottom:5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%}.source-chat:hover{color:var(--accent)}.question{font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.message-time{text-align:right;font-size:10px;color:var(--muted);margin-top:5px}.media-toggle{display:flex;align-items:center;gap:7px;margin-top:10px;border-radius:7px;padding:8px 11px;background:var(--panel-soft);color:var(--accent);font-size:12px}.attachments{display:flex;flex-direction:column;gap:8px;margin-top:10px}.attachments img,.attachments video{display:block;width:auto;max-width:100%;max-height:420px;border-radius:8px;object-fit:contain}.attachments audio{width:100%;max-width:100%}.answer-group{align-self:flex-end;width:min(660px,88%);min-width:0}.outgoing-bubble{background:var(--outgoing);color:var(--outgoing-ink);border-radius:16px 16px 5px 16px;padding:12px 14px 10px;box-shadow:var(--shadow)}.answer-quote{border-left:3px solid var(--outgoing-ink);background:var(--quote);padding:6px 10px;border-radius:3px 7px 7px 3px;font-size:11px;margin-bottom:12px}.answer-quote strong{display:block;font-weight:600}.answer-quote span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:2px;opacity:.9}.answer-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 8px;font-size:10px}.draft-label{display:flex;align-items:center;gap:5px;font-weight:650;text-transform:uppercase;letter-spacing:.7px}.draft-label svg{width:13px;height:13px}.case-badge{font-size:10px;color:var(--outgoing-muted)}.draft-input{display:block;width:100%;background:transparent;border:1px solid transparent;border-radius:5px;resize:vertical;font-size:14px;line-height:1.6;padding:3px 0;min-height:80px;max-height:440px;overflow-y:auto;color:var(--outgoing-ink)}.draft-input:focus{border-color:#ffffff35;outline:none;background:#ffffff0a}.draft-input::placeholder{color:var(--outgoing-muted);opacity:.85}.draft-input:disabled{opacity:1}.answer-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:6px;color:var(--outgoing-muted);font-size:10px;min-height:16px}.edited-label{color:var(--outgoing-ink);font-weight:550}.draft-disclaimer{margin-left:auto}.case-error{padding:8px 0;font-size:12px;line-height:1.6;white-space:pre-wrap;color:var(--outgoing-ink);font-weight:550}.case-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.case-controls button{border-radius:8px;padding:8px 11px;font-size:11px;font-weight:550;white-space:nowrap}.subtle-button{background:var(--panel);color:var(--muted);box-shadow:var(--shadow)}.subtle-button:hover:not(:disabled){background:var(--hover);color:var(--ink)}.send-button{display:flex;gap:7px;align-items:center;background:var(--selected);color:#fff;box-shadow:var(--shadow)}.send-button:hover:not(:disabled){filter:brightness(1.1)}.send-button svg{width:16px;height:16px}.answer-context{background:var(--panel);color:var(--muted);border-radius:10px;margin-top:8px;font-size:11px;box-shadow:var(--shadow);overflow:hidden}.answer-context summary{padding:10px 13px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}.answer-context summary:after{content:"⌄";font-size:14px}.answer-context[open] summary:after{content:"⌃"}.answer-context p{white-space:pre-wrap;font-size:12px;line-height:1.7;overflow-wrap:anywhere;padding:0 13px 12px}.answer-context a{display:block;padding:4px 13px 10px;color:var(--accent);overflow-wrap:anywhere}.answer-context a:hover{text-decoration:underline}.sentry-fields{padding:0 13px 13px}.sentry-fields input{display:block;width:100%;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:10px;font-size:12px}.sentry-fields button{padding:9px 10px;font-size:11px;border-radius:7px;background:var(--selected);color:white}.sentry-fields p{padding:10px 0 0;font-size:10px}.archive-note{font-size:11px;color:var(--muted);text-align:right;margin-top:9px;background:var(--panel);padding:8px 12px;border-radius:9px}.empty-state{max-width:370px;position:relative;margin:clamp(45px,12vh,140px) auto;text-align:center;background:var(--panel);padding:34px 30px;border-radius:22px;box-shadow:var(--shadow)}.empty-emblem{width:66px;height:66px;color:var(--accent);margin:0 auto 18px}.empty-emblem svg{width:64px;height:64px;stroke-width:2}.empty-state h2{font-size:21px;letter-spacing:-.5px;font-weight:600}.empty-state p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px}.empty-foot{display:block;margin-top:21px;color:var(--accent);font-size:10px}.pagination{max-width:880px;margin:18px auto 0;display:flex;justify-content:center;gap:15px;align-items:center;font-size:10px;color:var(--muted)}.pagination>span:not(:empty){background:var(--panel);padding:5px 10px;border-radius:15px}.page-button{background:var(--panel);color:var(--accent);border-radius:20px;padding:8px 14px;font-size:11px}.conversation-footer{display:flex;align-items:center;gap:7px;flex:none;padding:11px 25px;background:var(--panel);color:var(--muted);font-size:10px;border-top:1px solid var(--line)}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);flex:none}.status-dot.on{background:var(--accent)}.footer-divider{margin:0 3px}.footer-ai{margin-left:auto;font-size:10px}.toast{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);z-index:10;background:var(--ink);color:var(--panel);padding:12px 20px;border-radius:12px;max-width:min(450px,90vw);box-shadow:0 4px 25px #0003;font-size:13px}
@media(min-width:1500px){.messenger{grid-template-columns:380px minmax(0,1fr)}.chat-name{font-size:15px}.chat-preview{font-size:13px}.chat-item{padding:14px 12px}.message-scroll{padding-left:70px;padding-right:70px}.question,.draft-input{font-size:15px}}
@media(max-width:1100px){.messenger{grid-template-columns:310px minmax(0,1fr)}.private-tag{display:none}.sidebar-header{padding:10px 13px}.chat-name{font-size:13px}.chat-item{gap:10px;padding:12px 9px}.avatar{width:45px;height:45px;font-size:16px}.message-scroll{padding:20px}.incoming-row{padding-right:25px}.answer-group{width:92%}.conversation-header{padding:10px 18px}.footer-ai{display:none}.folders button{font-size:11px}.review-banner{padding:11px 18px}}
@media(max-width:760px){.messenger{display:block}.sidebar{height:100dvh;width:100%;border:0}.conversation{position:fixed;inset:0;z-index:4;display:none}.chat-open .conversation{display:flex}.chat-open .sidebar{visibility:hidden}.private-tag{display:flex}.sidebar-header{padding:10px 16px}.chat-item{padding:13px 11px;min-height:80px}.avatar{width:51px;height:51px;font-size:18px}.chat-name{font-size:15px}.chat-preview{font-size:13px}.folders button{font-size:13px;padding:14px 8px 16px}.mobile-back{display:inline-flex;width:32px}.conversation-header{height:67px;min-height:67px;gap:9px;padding:8px 12px}.conversation-header .avatar{width:39px;height:39px;font-size:14px}.conversation-heading h1{font-size:14px}.conversation-heading p{font-size:10px}.header-actions{gap:0}.header-actions .icon-button{width:34px}.review-banner{padding:10px 15px;gap:9px}.review-banner>div>span{font-size:10px}.review-banner strong{font-size:11px}.review-symbol{font-size:26px;width:24px}.review-count{font-size:9px;padding:4px 8px}.message-scroll{padding:20px 12px}.incoming-row{padding-right:18px;gap:6px}.sender-avatar{width:24px;height:24px;font-size:9px}.incoming-bubble{padding:10px 12px 8px}.question,.draft-input{font-size:14px}.answer-group{width:calc(100% - 30px)}.outgoing-bubble{padding:11px 12px 9px}.case-controls{gap:5px}.case-controls button{padding:8px 9px;font-size:10px}.case-thread{margin-bottom:29px}.conversation-footer{font-size:9px;padding:10px 16px max(10px,env(safe-area-inset-bottom))}.notice{padding:10px 15px;font-size:11px}.empty-state{margin-top:12vh;padding:28px 24px;max-width:310px}.sidebar-footer{padding-bottom:max(15px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.message-scroll{scroll-behavior:auto}}
.chat-counter.plain-counter{background:transparent;color:var(--muted);border-radius:0;padding:2px 0;font-weight:400;font-variant-numeric:tabular-nums}
.selected .chat-counter.plain-counter{background:transparent;color:#f0ecff}
.answer-group{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:6px}
.answer-group>.outgoing-bubble{flex:0 0 100%;width:100%;min-width:0}
.answer-group>.case-controls{display:contents}
.answer-group>.case-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;font-size:11px;line-height:18px;box-shadow:none}
.answer-group>.archive-note{display:flex;align-items:center;width:max-content;max-width:100%;min-height:32px;margin:0;padding:7px 10px;border-radius:8px;font-size:11px;line-height:18px;box-shadow:none}
.answer-group>.answer-context{width:max-content;max-width:100%;margin:0;border-radius:8px;box-shadow:none}
.answer-group>.answer-context>summary{height:32px;padding:0 10px;gap:8px;font-size:11px;line-height:18px}
.answer-group>.answer-context>summary:after{width:12px;text-align:center;line-height:1;flex:none}
.answer-group>.answer-context[open]{flex:0 0 100%;width:100%}
.workspace-tabs{display:flex;gap:4px;margin:0 16px 12px;padding:4px;border-radius:11px;background:var(--panel-soft);flex:none}
.workspace-tabs a{flex:1;padding:8px 12px;border-radius:8px;text-align:center;font-size:12px;font-weight:550;white-space:nowrap;color:var(--muted)}
.workspace-tabs a:hover{color:var(--ink)}.workspace-tabs a[aria-current="page"]{background:var(--panel);color:var(--accent)}
