.chat-widget{--chat-navy: #102846;--chat-primary: #1a365d;--chat-secondary: #2a4a7f;--chat-accent: #4a6fa5;--chat-accent-soft: #dbe7f7;--chat-surface: rgba(255, 255, 255, .98);--chat-surface-soft: rgba(244, 248, 252, .96);--chat-surface-muted: rgba(237, 244, 252, .92);--chat-border: rgba(26, 54, 93, .14);--chat-border-strong: rgba(26, 54, 93, .22);--chat-text: #17324d;--chat-text-soft: rgba(23, 50, 77, .68);--chat-text-inverse: #f6faff;--chat-shadow: 0 24px 60px rgba(16, 40, 70, .18);position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:14px;pointer-events:none}.chat-widget *{box-sizing:border-box}.chat-widget__panel,.chat-widget__bubble{pointer-events:auto}.chat-widget__panel{width:min(420px,calc(100vw - 28px));height:min(680px,calc(100vh - 120px));display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:radial-gradient(circle at top right,rgba(74,111,165,.18),transparent 34%),linear-gradient(180deg,var(--chat-surface),var(--chat-surface-soft));box-shadow:var(--chat-shadow);border:1px solid var(--chat-border);backdrop-filter:blur(14px);transform-origin:bottom right;transition:opacity .22s ease,transform .22s ease}.chat-widget:not(.chat-widget--open) .chat-widget__panel{opacity:0;transform:translateY(12px) scale(.96);visibility:hidden}.chat-widget__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;background:radial-gradient(circle at top right,rgba(111,143,189,.24),transparent 38%),linear-gradient(135deg,var(--chat-navy),var(--chat-primary));color:var(--chat-text-inverse);border-bottom:1px solid rgba(255,255,255,.1)}.chat-widget__brand{display:flex;align-items:center;gap:12px;min-width:0}.chat-widget__brand-mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#6d8fbe,var(--chat-accent));color:var(--chat-text-inverse);font-size:.95rem;font-weight:700;letter-spacing:.04em;box-shadow:inset 0 1px #ffffff38,0 10px 22px #0a1a2b38}.chat-widget__brand-copy{min-width:0}.chat-widget__brand-copy h3{margin:0;font-size:1rem;font-weight:700;letter-spacing:.01em}.chat-widget__brand-copy p{margin:4px 0 0;font-size:.78rem;color:#f6faffc2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-widget__header-actions{display:flex;align-items:center;gap:8px}.chat-widget__icon-button{appearance:none;border:0;width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#ffffff1a;color:var(--chat-text-inverse);cursor:pointer;transition:background .18s ease,transform .18s ease}.chat-widget__icon-button:hover,.chat-widget__icon-button:focus-visible{background:#ffffff2e;transform:translateY(-1px);outline:none}.chat-widget__body{flex:1;display:flex;flex-direction:column;min-height:0}.chat-widget__session-strip{display:flex;gap:10px;overflow-x:auto;padding:14px 18px 12px;border-bottom:1px solid var(--chat-border);background:#ffffffd1;backdrop-filter:blur(10px)}.chat-widget__session-strip::-webkit-scrollbar{height:6px}.chat-widget__session-strip::-webkit-scrollbar-thumb{background:#1a365d2e;border-radius:999px}.chat-widget__session-chip,.chat-widget__session-new{appearance:none;border:1px solid var(--chat-border);background:#fffffff5;color:var(--chat-text);border-radius:18px;padding:10px 12px;min-width:0;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.chat-widget__session-chip{min-width:168px;max-width:210px;text-align:left}.chat-widget__session-chip:hover,.chat-widget__session-chip:focus-visible,.chat-widget__session-new:hover,.chat-widget__session-new:focus-visible{border-color:#4a6fa58f;background:var(--chat-surface-soft);box-shadow:0 10px 18px #1a365d14;transform:translateY(-1px);outline:none}.chat-widget__session-chip--active{border-color:#4a6fa5b3;background:linear-gradient(135deg,#dbe7f7eb,#f0f6fdfa)}.chat-widget__session-chip-title{display:block;font-size:.83rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-widget__session-chip-meta{display:block;margin-top:4px;font-size:.72rem;color:var(--chat-text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-widget__messages{flex:1;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#ffffffd6,#f3f8fcf2),linear-gradient(45deg,rgba(26,54,93,.025) 25%,transparent 25%,transparent 50%,rgba(26,54,93,.025) 50%,rgba(26,54,93,.025) 75%,transparent 75%,transparent);background-size:auto,18px 18px}.chat-widget__messages::-webkit-scrollbar{width:8px}.chat-widget__messages::-webkit-scrollbar-thumb{background:#1a365d2e;border-radius:999px}.chat-widget__message{max-width:88%;display:flex;flex-direction:column;gap:8px}.chat-widget__message--assistant{align-self:flex-start}.chat-widget__message--user{align-self:flex-end}.chat-widget__message-bubble{padding:14px 15px;border-radius:22px;font-size:.92rem;line-height:1.55;box-shadow:0 10px 22px #10284614;white-space:pre-wrap;word-break:break-word}.chat-widget__message--assistant .chat-widget__message-bubble{background:#fffffffa;color:var(--chat-text);border:1px solid rgba(26,54,93,.08);border-top-left-radius:10px}.chat-widget__message--user .chat-widget__message-bubble{background:linear-gradient(135deg,var(--chat-secondary),var(--chat-primary));color:var(--chat-text-inverse);border-top-right-radius:10px}.chat-widget__message-meta{font-size:.72rem;color:var(--chat-text-soft);padding:0 8px}.chat-widget__message-references{display:flex;flex-wrap:wrap;gap:8px;padding:0 8px}.chat-widget__reference{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fffffff5;border:1px solid rgba(26,54,93,.12);color:var(--chat-secondary);text-decoration:none;font-size:.74rem;transition:border-color .18s ease,background .18s ease,transform .18s ease}.chat-widget__reference:hover,.chat-widget__reference:focus-visible{background:var(--chat-accent-soft);border-color:#4a6fa54d;transform:translateY(-1px);outline:none}.chat-widget__empty,.chat-widget__status{margin:auto 0;padding:18px;border-radius:22px;background:#ffffffe6;border:1px solid var(--chat-border);color:var(--chat-text);font-size:.9rem;line-height:1.6}.chat-widget__status--error{color:#8f3545;background:#fff3f5f5;border-color:#8f35452e}.chat-widget__composer{border-top:1px solid var(--chat-border);padding:16px 18px 18px;background:#ffffffe6}.chat-widget__composer-row{display:flex;gap:10px;align-items:flex-end}.chat-widget__textarea{flex:1;min-height:54px;max-height:152px;resize:none;border-radius:18px;border:1px solid var(--chat-border);background:#fffffffa;padding:14px 16px;font:inherit;color:var(--chat-text);line-height:1.45;box-shadow:inset 0 1px 2px #1028460a}.chat-widget__textarea::placeholder{color:#17324d73}.chat-widget__textarea:focus-visible{outline:2px solid rgba(74,111,165,.26);border-color:#4a6fa58f}.chat-widget__send{appearance:none;border:0;width:52px;height:52px;flex:0 0 auto;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--chat-secondary),var(--chat-primary));color:var(--chat-text-inverse);cursor:pointer;box-shadow:0 12px 20px #1a365d3d;transition:transform .18s ease,box-shadow .18s ease}.chat-widget__send:hover,.chat-widget__send:focus-visible{transform:translateY(-1px);box-shadow:0 16px 26px #1a365d42;outline:none}.chat-widget__send[disabled]{opacity:.62;cursor:not-allowed;box-shadow:none;transform:none}.chat-widget__composer-note{margin-top:10px;font-size:.72rem;color:var(--chat-text-soft)}.chat-widget__bubble{appearance:none;border:0;width:68px;height:68px;border-radius:24px;background:radial-gradient(circle at top right,rgba(111,143,189,.3),transparent 45%),linear-gradient(135deg,var(--chat-secondary),var(--chat-primary));color:var(--chat-text-inverse);display:inline-grid;place-items:center;cursor:pointer;box-shadow:0 16px 32px #10284657;transition:transform .18s ease,box-shadow .18s ease}.chat-widget__bubble i{font-size:1.16rem}.chat-widget__bubble:hover,.chat-widget__bubble:focus-visible{transform:translateY(-2px);box-shadow:0 22px 40px #10284661;outline:none}.chat-widget__bubble-badge{position:absolute;top:-4px;right:-4px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#0f2239;color:var(--chat-text-inverse);display:none;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border:1px solid rgba(255,255,255,.2)}.chat-widget__bubble-wrap{position:relative}.chat-widget__bubble-badge.is-visible{display:inline-flex}.chat-widget__typing{display:inline-flex;gap:5px;align-items:center}.chat-widget__typing span{width:7px;height:7px;border-radius:999px;background:#2a4a7f6b;animation:chat-widget-typing 1.1s infinite ease-in-out}.chat-widget__typing span:nth-child(2){animation-delay:.15s}.chat-widget__typing span:nth-child(3){animation-delay:.3s}@keyframes chat-widget-typing{0%,80%,to{opacity:.36;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(max-width:768px){.chat-widget{right:14px;bottom:14px;left:14px;align-items:stretch}.chat-widget__panel{width:100%;height:min(74vh,680px);border-radius:24px}.chat-widget__message{max-width:94%}}[data-theme=dark] .chat-widget{--chat-surface: var(--surface);--chat-surface-soft: var(--surface-2);--chat-surface-muted: var(--surface-3);--chat-border: var(--border);--chat-border-strong: var(--border-strong);--chat-text: var(--text);--chat-text-soft: var(--text-muted);--chat-accent-soft: rgba(143, 176, 218, .18);--chat-shadow: 0 24px 60px rgba(var(--shadow-rgb), .45)}[data-theme=dark] .chat-widget__session-strip{background:#1e293bd1}[data-theme=dark] .chat-widget__session-strip::-webkit-scrollbar-thumb,[data-theme=dark] .chat-widget__messages::-webkit-scrollbar-thumb{background:#94a3b84d}[data-theme=dark] .chat-widget__session-chip,[data-theme=dark] .chat-widget__session-new{background:#1e293be6}[data-theme=dark] .chat-widget__session-chip--active{background:linear-gradient(135deg,#8fb0da29,#243247f2)}[data-theme=dark] .chat-widget__messages{background-image:linear-gradient(180deg,#0f172adb,#16213af5),linear-gradient(45deg,rgba(148,163,184,.04) 25%,transparent 25%,transparent 50%,rgba(148,163,184,.04) 50%,rgba(148,163,184,.04) 75%,transparent 75%,transparent)}[data-theme=dark] .chat-widget__message--assistant .chat-widget__message-bubble{background:var(--surface-2);border-color:var(--border)}[data-theme=dark] .chat-widget__reference{background:var(--surface-2);border-color:var(--border);color:var(--accent-text)}[data-theme=dark] .chat-widget__empty,[data-theme=dark] .chat-widget__status{background:var(--surface-2)}[data-theme=dark] .chat-widget__status--error{color:var(--danger);background:#f871711f;border-color:#f8717147}[data-theme=dark] .chat-widget__composer{background:#16213ae6}[data-theme=dark] .chat-widget__textarea{background:var(--surface-3)}[data-theme=dark] .chat-widget__textarea::placeholder{color:var(--text-subtle)}[data-theme=dark] .chat-widget__typing span{background:#8fb0da80}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget{--chat-surface: var(--surface);--chat-surface-soft: var(--surface-2);--chat-surface-muted: var(--surface-3);--chat-border: var(--border);--chat-border-strong: var(--border-strong);--chat-text: var(--text);--chat-text-soft: var(--text-muted);--chat-accent-soft: rgba(143, 176, 218, .18);--chat-shadow: 0 24px 60px rgba(var(--shadow-rgb), .45)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__session-strip{background:#1e293bd1}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__session-strip::-webkit-scrollbar-thumb,:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__messages::-webkit-scrollbar-thumb{background:#94a3b84d}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__session-chip,:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__session-new{background:#1e293be6}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__session-chip--active{background:linear-gradient(135deg,#8fb0da29,#243247f2)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__messages{background-image:linear-gradient(180deg,#0f172adb,#16213af5),linear-gradient(45deg,rgba(148,163,184,.04) 25%,transparent 25%,transparent 50%,rgba(148,163,184,.04) 50%,rgba(148,163,184,.04) 75%,transparent 75%,transparent)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__message--assistant .chat-widget__message-bubble{background:var(--surface-2);border-color:var(--border)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__reference{background:var(--surface-2);border-color:var(--border);color:var(--accent-text)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__empty,:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__status{background:var(--surface-2)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__status--error{color:var(--danger);background:#f871711f;border-color:#f8717147}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__composer{background:#16213ae6}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__textarea{background:var(--surface-3)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__textarea::placeholder{color:var(--text-subtle)}:root:not([data-theme=light]):not([data-theme=dark]) .chat-widget__typing span{background:#8fb0da80}}
