@tenancy.nz/chat-ui 0.1.57 → 0.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +245 -245
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import * as nt from "react";
|
|
|
17
17
|
import xe, { useRef as Ee, useMemo as Ks, useLayoutEffect as gS, useEffect as ct, createContext as mS, useSyncExternalStore as Zp, useState as we, useCallback as lt, useId as AS, useImperativeHandle as Z1, useContext as y0, isValidElement as Y1, cloneElement as Db } from "react";
|
|
18
18
|
import * as Qg from "react-dom";
|
|
19
19
|
import Yp, { createPortal as w0 } from "react-dom";
|
|
20
|
-
const A8 = '.thread-item:hover .thread-actions,.thread-item:focus-within .thread-actions{opacity:1;pointer-events:auto}@media (max-width: 640px){.composer-wrap{left:0;right:0;width:100%;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:calc(16px + env(safe-area-inset-bottom));z-index:2000}.composer-field{padding:0;width:100%;display:grid;grid-template-columns:1fr auto;align-items:stretch;gap:0}.composer-field textarea{min-width:0;width:100%}.composer-send{flex:0 0 auto}}:root{--bg: #f7f9fc;--panel: #ffffff;--text: #0e0044;--muted: #64748b;--accent: #1a73e8;--accent-2: #1a73e8;--danger: #e11d48;--border: #e5e7eb;--pdf-citations-width: 260px;--brand-blue: #0445b7;--brand-pink: #db2c73;--brand-green: #0cc1a3;--assistant-measure: 68ch}*{box-sizing:border-box}html,body{font-family:Montserrat,Inter,ui-sans-serif,system-ui;overflow-x:hidden;width:100%;margin:0;color:#0e0044}.app{display:grid;grid-template-rows:auto 1fr auto;min-height:100%}.app,.chat-container{overflow-x:hidden}.app-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0}.app-header h1{margin:0;font-size:18px;letter-spacing:.2px;color:#111827}.app-header .subtitle{margin:4px 0 0;color:var(--muted);font-size:12px}.app-main{display:grid;grid-template-columns:1fr;padding:0}.app-footer{padding:10px 16px;color:var(--muted);border-top:1px solid var(--border);font-size:12px;background:var(--panel)}.chat-container{position:relative;width:100%;max-width:none;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-top-left-radius:24px;overflow:hidden;box-shadow:0 0 11.21px #0003}.chat-layout{display:grid;grid-template-columns:240px 1fr;height:calc(100vh - 65px);min-height:calc(100vh - 65px)}.sidebar{border-right:1px solid #c4c4c4;background:#fff;display:flex;flex-direction:column;position:relative;border-top-left-radius:24px;overflow:hidden;height:100%;isolation:isolate}.sidebar-header{display:flex;flex-direction:column;gap:16px;padding:16px 8px;position:relative}.sidebar-heading-row{display:flex;align-items:center;justify-content:space-between;width:100%}.sidebar-logo{height:28px;width:auto;display:block;margin-top:4px;margin-left:4px}.sidebar-new{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#0445b7,#0cc1a3);border:0;color:#fff;width:32px;height:32px;display:inline-grid;place-items:center;border-radius:9999px;cursor:pointer;font-size:18px;font-weight:700;box-shadow:0 0 #0445b738,0 6px 14px #0445b747;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.sidebar-new:not(.tile):hover{transform:translateY(-1px);box-shadow:0 0 0 6px #0445b71f,0 8px 16px #0445b757;filter:saturate(110%)}.sidebar-new:not(.tile):active{transform:translateY(0);box-shadow:0 4px 10px #0445b738}.sidebar-new:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.sidebar-new.tile{width:100%;height:48px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:4px;border:1px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#0cc1a3,#0445b7);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none;box-sizing:border-box;margin-top:4px;margin-bottom:8px;transition:box-shadow .12s ease}.sidebar-new-left{display:flex;align-items:center;gap:10px}.sidebar-new.tile:hover{box-shadow:0 4px 14px #0445b724;filter:none}.sidebar-new.tile:active{box-shadow:0 2px 8px #0445b71a}.sidebar-new.tile .tile-icon{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:32px;background:linear-gradient(56.5deg,#0cc1a3 10.2%,#0445b7 89.8%);color:#fff;padding:4px;flex-shrink:0}.sidebar-new.tile .tile-label{font-weight:700;font-size:16px;color:#0e0044;font-family:Montserrat,sans-serif}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.thread-list{overflow-y:auto;overflow-x:hidden;display:grid;gap:0;padding:0 0 80px;box-sizing:border-box;scrollbar-gutter:stable both-edges;flex:1;min-height:0}.thread-group{display:grid;gap:2px;padding:0 8px 100px}.thread-group-title{color:#0e0044;font-size:12.8px;font-weight:600;padding:8px 0 12px 12px;text-transform:none;letter-spacing:normal;font-family:Montserrat,sans-serif}.thread-group-title-mini{display:none}.thread-empty{color:var(--muted);font-size:12px;padding:12px 8px}.sidebar-loading{padding:8px 6px;display:grid;gap:8px;margin-top:20px}.sidebar-error{padding:8px;border:1px solid #fecaca;background:#fff1f2;color:#7f1d1d;border-radius:8px;display:grid;gap:8px}.sidebar-error .sidebar-error-text{font-size:12px}.thread-item{display:flex;align-items:center;gap:0;padding:0 0 0 4px;border:none;background:#fff;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;width:100%;transition:background .15s ease,box-shadow .15s ease;overflow:hidden;font-family:Montserrat,sans-serif;height:52px;box-sizing:border-box}.thread-item:hover{background:#e7f9f6}.thread-item:active{background:#cef3ed}.thread-item:not(.active):focus-within{outline:2px solid #6f2c91;outline-offset:-2px;box-shadow:0 0 6px #1f1c4f}.thread-item .thread-main:focus-visible{outline:none}.thread-item.active{background:#e7f9f6;padding-left:0;border-left:4px solid #0cc1a3;border-radius:8px}.thread-item .thread-main{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;display:flex;align-items:flex-start;gap:8px;padding:8px 12px;flex:1 1 auto;text-align:left;color:inherit;position:relative;z-index:1;overflow:hidden;height:100%;width:100%;box-sizing:border-box;cursor:pointer}.thread-avatar{width:20px;height:20px;border-radius:128px;border:1px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#0cc1a3,#0445b7);background-origin:border-box;background-clip:content-box,border-box;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:4px}.thread-avatar img{width:144.19%;height:100%;object-fit:cover;margin-left:-28.21%}.thread-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.thread-title{font-size:12px;font-weight:500;color:#0e0044;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px;font-family:Montserrat,sans-serif}.thread-date{font-size:10px;font-weight:500;color:#6e668f;display:flex;align-items:center;gap:4px;line-height:12px;font-family:Montserrat,sans-serif}.thread-date-dot{width:2px;height:2px;border-radius:2px;background:#6e668f;flex-shrink:0;display:inline-block}.thread-item .thread-actions{margin-left:auto;display:grid;align-items:center;justify-items:center;width:28px;height:28px;z-index:2;position:relative;opacity:0;pointer-events:none;transition:opacity .12s ease;margin-right:8px}.kebab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:8px;cursor:pointer;color:#64748b}.kebab-btn:hover{background:#f1f5f9;outline:1px solid #e5e7eb}.kebab-btn:active{background:#e5e7eb}.kebab-btn:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.thread-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 24px #0000001f;padding:6px;z-index:50;max-width:180px}.thread-menu .menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:100%;text-align:left;padding:8px 10px;border-radius:8px;color:#0e0044;font-size:13px;cursor:pointer}.thread-menu .menu-item:hover{background:#f3f4f6}.thread-menu .menu-item.danger{color:#b91c1c}.thread-menu .menu-item.danger:hover{background:#fee2e2}.messages-main{display:flex;flex-direction:column;overflow-y:auto;position:relative;height:100%;background:linear-gradient(46.97deg,#0cc1a31a 10.218%,#0445b71a 89.775%);background-attachment:fixed}.messages{flex:1;overflow:visible;position:relative;display:flex;flex-direction:column;gap:26px;background:transparent;padding:28px 40px;margin:0 auto;width:100%;max-width:1900px;min-height:calc(100vh - 70px)}.messages-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:5;min-height:100vh}.messages-loading .loading-inner{display:inline-flex;align-items:center;gap:16px;padding:8px 16px;border-radius:32px;border:none;background:#fff;box-shadow:0 1px 4px #00000014;color:#0e0044;font-size:15px;font-family:Montserrat,sans-serif;font-weight:400}.messages-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffd9;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:6}.messages-error .messages-error-card{display:grid;gap:10px;max-width:520px;width:calc(100% - 40px);padding:14px 16px;border-radius:12px;border:1px solid #fee2e2;background:#fff1f2;color:#7f1d1d;box-shadow:0 10px 24px #00000014;text-align:center}.messages-error .messages-error-text{font-size:14px}.messages-error .messages-error-actions{display:inline-flex;gap:8px;justify-content:center}.message{display:flex;align-items:flex-start;animation:messageSlideIn .3s ease-out;flex-wrap:wrap}.messages>:last-child:not(.empty-hero){padding-bottom:15px}.message.user{flex-direction:row-reverse}.message.assistant{display:grid;grid-template-columns:36px 1fr;column-gap:16px;align-items:start}.msg-content{margin-bottom:30px;background:#fff;border-radius:0 10px 10px;overflow:hidden;box-shadow:0 1px 3px #0445b70f,0 4px 16px #0445b70a}.message.assistant>.msg-content{grid-column:2;margin-left:0;width:min(100%,74ch);justify-self:start}.message.assistant>.ai-avatar{grid-column:1}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px) and (min-width: 641px){.message.assistant>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 48px);overflow-wrap:anywhere;word-break:break-word}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 48px)}}@media (max-width: 640px){.messages{height:calc(100dvh - 96px);padding:16px 12px 160px;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.message{gap:8px}.message.assistant{display:grid;grid-template-columns:1fr;row-gap:8px}.message.assistant>.ai-avatar{grid-column:1;grid-row:1;justify-self:start}.message.assistant>.msg-content{grid-column:1;grid-row:2;margin-left:0;width:100%;max-width:100%!important;justify-self:stretch}.message.assistant .sources-hud{margin-top:8px}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 44px)!important}.message.assistant .msg-content{margin-left:0;max-width:100%}.sources-hud{margin-top:8px}}.ai-avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:128px;background:#fff;border:1px solid #0cc1a3;box-shadow:none;overflow:hidden}.ai-avatar svg{width:16px;height:16px}.user-avatar,.user-avatar-img{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000f}.user-avatar{display:grid;place-items:center;color:#0e0044;font-weight:600;font-size:13px;background:transparent}.user-avatar-img{object-fit:cover}.bubble{max-width:80%;padding:12px 14px;border-radius:12px;line-height:1.6;white-space:normal;word-wrap:break-word;font-size:14px;color:#1f2937;font-family:Montserrat,Inter,ui-sans-serif,system-ui}.message.user .bubble{background:#fff;color:#0e0044;border:none;box-shadow:none;border-radius:8px 0 8px 8px}.message.assistant .bubble{background:#fff;border:none;color:#0b1324;border-radius:0 8px 8px}.message.assistant .bubble-plain{background:transparent;border:none;border-radius:0;border-bottom:1px solid #e0e0e0;padding:16px;max-width:85ch;width:100%;font-size:14px;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui;line-height:22px;letter-spacing:-.006em;overflow-wrap:anywhere;word-break:break-word;min-width:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.message.assistant .bubble-plain h1,.message.assistant .bubble-plain h2,.message.assistant .bubble-plain h3,.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{color:#0e0044;font-weight:600;font-family:Montserrat,sans-serif;margin:16px 0 8px;line-height:1.35;letter-spacing:-.01em}.message.assistant .bubble-plain h1:first-child,.message.assistant .bubble-plain h2:first-child,.message.assistant .bubble-plain h3:first-child{margin-top:0}.bubble.bubble-plain>h1:first-child,.bubble.bubble-plain>h2:first-child,.bubble.bubble-plain>h3:first-child{margin-bottom:12px}.message.assistant .bubble-plain p{margin:0 0 16px;color:#0e0044}.message.assistant .bubble-plain strong{font-family:Montserrat,sans-serif;font-weight:600;color:#0e0044}.md-section{border:none;border-radius:0;border-bottom:1px solid #e0e0e0;padding:0;margin-bottom:0;background:#fff;transition:background .12s ease}.md-section:first-of-type{margin-top:16px;border-top:1px solid #e0e0e0}.md-section:hover{background:#fafafa}.md-section:active{background:#eee}.md-section:focus-within{background:#f5f5f5;outline:1px solid #6f2c91;outline-offset:-1px;box-shadow:0 0 6px #1f1c4f}.md-section .md-section{border:none;padding:0;margin-bottom:0;background:transparent}.md-collapse-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px;padding:8px 0;margin-bottom:0;height:48px;box-sizing:border-box;transition:all .1s linear}.md-collapse-header:hover{padding-left:4px;padding-right:4px}.md-collapse-header h3.md-h3{margin:0!important;flex:1;font-size:14px;font-weight:600;color:#0e0044;line-height:18px}.md-section-copy{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:8px;cursor:pointer;color:#0e0044;transition:background .12s ease,color .12s ease;border-radius:4px;position:relative}.md-section-copy:hover{background:#eee}.md-section-copy:after{content:"Copy";position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:#0e0044;color:#fff;font-size:14px;font-weight:400;font-family:Montserrat,sans-serif;line-height:normal;padding:12px;border-radius:5px;white-space:nowrap;text-align:center;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10000}.md-section-copy:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0e0044;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10001}.md-section-copy:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.md-section-copy:hover:before{opacity:1}.md-section-content{padding:0 0 16px;font-size:14px;line-height:22px;color:#0e0044}.md-collapse-chevron{flex-shrink:0;color:#0e0044;transition:transform .2s ease;margin-right:12px}.md-collapse-chevron.expanded{transform:rotate(180deg)}.md-collapse-header--loading{cursor:default;opacity:.75}.md-collapse-header--loading:hover h3.md-h3{color:inherit}@keyframes md-section-spin{to{transform:rotate(360deg)}}.md-section-spinner{flex-shrink:0;display:block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(12,193,163,.25);border-top-color:#0cc1a3;animation:md-section-spin .7s linear infinite}.bubble p{margin:0 0 8px}.bubble>*:first-child{margin-top:0}.bubble>*:last-child{margin-bottom:0}.bubble ul,.bubble ol{margin:8px 0 8px 18px;padding:0}.bubble li{margin:0}.bubble h1,.bubble h2,.bubble h3,.bubble h4,.bubble h5,.bubble h6{margin:10px 0 6px;line-height:1.3}.bubble pre{margin:8px 0;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;overflow:auto}.bubble code:not(pre code){background:#f3f4f6;padding:1px 4px;border-radius:4px}.bubble table{border-collapse:collapse;margin:8px 0}.bubble th,.bubble td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain a{color:var(--accent);text-decoration:none}.message.assistant .bubble-plain a:hover{text-decoration:underline;text-underline-offset:2px}.message.assistant .bubble-plain ul,.message.assistant .bubble-plain ol{margin:0 0 8px 21px;padding:0;list-style:disc}.message.assistant .bubble-plain li::marker{color:#0e0044;font-size:8px}.message.assistant .bubble-plain li+li{margin-top:4px}.message.assistant .bubble-plain ul+p{margin:0 0 8px}.message.assistant .bubble-plain blockquote{margin:16px 0;padding:16px 16px 16px 32px;border-left:4px solid #0cc1a3;background:#f5fafc;color:#0e0044;border-radius:4px;font-size:14px;line-height:22px;font-family:Montserrat,sans-serif}.message.assistant .bubble-plain blockquote p{margin:0}.message.assistant .bubble-plain blockquote strong{font-weight:600}.message.assistant .bubble-plain h1{font-size:17px}.message.assistant .bubble-plain h2{font-size:16px;margin-bottom:16px}.message.assistant .bubble-plain h3{font-size:14px;margin-bottom:8px}.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{font-size:14px}.message.assistant .bubble-plain pre{margin:12px 0;padding:12px;background:#0b132405;border:1px solid #e5e7eb;border-radius:8px;overflow:auto;-webkit-overflow-scrolling:touch}.message.assistant .bubble-plain code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px}.message.assistant .bubble-plain table{width:100%;border-collapse:collapse;margin:12px 0}.message.assistant .bubble-plain th{background:#f3f4f6;font-weight:600}.message.assistant .bubble-plain th,.message.assistant .bubble-plain td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain tr:nth-child(2n) td{background:#fafafa}.message.assistant .bubble-plain img{max-width:100%;height:auto;border-radius:6px}.message.assistant .bubble-plain hr{border:0;border-top:1px solid #e5e7eb;margin:14px 0}.avatar{width:28px;height:28px;border-radius:9999px;background:transparent;border:0;display:grid;place-items:center;color:var(--accent);font-size:14px;margin-top:3px}.avatar-star{transform:rotate(12deg)}.bubble-pending{opacity:.8;font-style:italic}.msg-toolbar{display:flex;align-items:center;gap:12px;margin-left:40px}.msg-divider{height:1px;background:#e5e7eb;flex:1}.btn-copy{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-copy:hover{color:#111827;border-color:#cfd8e3}.sources-hud{border:0;background:transparent;padding:0;border-radius:0;width:100%;box-shadow:none;margin-top:8px}.sources-copy{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0;padding:15px 16px;gap:8px}.message.assistant .sources-acc-list{width:100%;max-width:100%;flex-basis:100%;margin-top:10px}.btn-copy.btn-copy-inline svg{color:currentColor;display:block}.sources-actions{display:inline-flex;align-items:center;gap:24px;margin-left:auto}.sources-actions .sep{display:none}.sources-copy .link-btn,.sources-copy .btn-copy-inline{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:4px 6px;margin:-4px -6px;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:18px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border-radius:4px}.sources-copy .link-btn.muted{color:#475569}.sources-copy .link-btn:hover,.sources-copy .btn-copy-inline:hover{text-decoration:none;background:#0e00440d}.link-btn .icon-thumb path{stroke:currentColor;stroke-width:1.8;fill:transparent}.link-btn[aria-pressed=true] .icon-thumb path{fill:currentColor}.rating-inline{display:inline-flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.rating-modern .rating-pill{display:inline-flex;align-items:center;background:transparent;border:1px solid rgba(14,0,68,.1);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:9999px;padding:4px;box-shadow:none;gap:4px;overflow:hidden}.rating-modern .pill-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#0e0044;display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:9999px;cursor:pointer;transition:background .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease;box-shadow:0 1px 2px #0000000d}.rating-modern .pill-btn .label{color:#334155}.rating-modern .pill-btn.thumbs-up{--pill-bg: #f4fffb;--pill-border: #98f2d7;--pill-text: #0f766e}.rating-modern .pill-btn.thumbs-down{--pill-bg: #fff9f4;--pill-border: #ffd9b5;--pill-text: #a45a07}.rating-modern .pill-btn:hover{background:#0e004408;box-shadow:none;transform:none}.rating-modern .pill-btn:hover svg,.rating-modern .pill-btn:hover .label{color:#0e0044}.rating-modern .pill-btn.selected,.rating-modern .pill-btn[aria-pressed=true]{background:#0e0044}.rating-modern .pill-btn.selected svg,.rating-modern .pill-btn[aria-pressed=true] svg,.rating-modern .pill-btn.selected .label,.rating-modern .pill-btn[aria-pressed=true] .label{color:#fff;font-weight:700}.rating-modern .pill-btn:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.rating-modern .pill-btn+.pill-btn{position:relative}.message.assistant .bubble-plain .md-ul{list-style:disc;display:grid;line-height:22px;gap:0;margin-left:21px;padding-left:0}.message.assistant .bubble-plain .md-li{display:list-item}.message.assistant .bubble-plain .md-li-bullet{display:none}.message.assistant .bubble-plain .md-li:last-child{margin-bottom:0}.message.assistant .bubble-plain .md-ul .md-ul{margin-top:4px;margin-bottom:0;gap:0;margin-left:21px;list-style:disc}.message.assistant .bubble-plain .md-li-content{font-size:14px;line-height:22px}.message.assistant .bubble-plain .md-li-content p{margin:0}.message.assistant .bubble-plain .md-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;font-family:Montserrat,sans-serif;color:#0e0044;text-decoration:none;border-radius:4px;padding:1px 8px;transition:background .16s ease,color .16s ease;background:#e7f9f6}.message.assistant .bubble-plain .md-link:hover,.message.assistant .bubble-plain .md-link:focus-visible{background:#e7f9f6b3;color:#0e0044;outline:none}.message.assistant .bubble-plain .md-link .md-link-text{line-height:1.35}.message.assistant .bubble-plain .md-link .md-link-icon{display:inline-flex;color:currentColor;opacity:.9}.message.assistant .bubble-plain .citation-link{color:#0e0044;background:#e7f9f6;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500;font-family:Montserrat,sans-serif;line-height:18px;text-decoration:none;border:1px solid transparent;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.message.assistant .bubble-plain .citation-link:hover{background:#cef3ed}.message.assistant .bubble-plain .citation-link:active{background:#b6ece3}.message.assistant .bubble-plain .citation-link:focus-visible{background:#cef3ed;border-color:#6f2c91;box-shadow:0 0 6px #1f1c4f;outline:none}.citation-link+.citation-link{margin-left:8px}.rating-modern .pill-btn+.pill-btn:before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:1px;height:18px;background:linear-gradient(180deg,#0e00440f,#0e00441f)}.rating-inline .rating-prompt{color:#6b7280;font-size:10px;white-space:nowrap;font-style:italic}.rating-inline .rating-actions{display:inline-flex;align-items:center;gap:8px}.rating-inline .rating-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#e5e7eb,#e5e7eb) border-box;color:#0e0044;padding:6px 10px;border-radius:9999px;display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1;cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,filter .14s ease,background .16s ease;box-shadow:0 1px 2px #0000000d}.rating-inline .rating-btn:hover{background:linear-gradient(#fff,#f9fafb) padding-box,linear-gradient(180deg,#e6eefc,#e7f7f7) border-box;transform:translateY(-1px) scale(1.01);box-shadow:0 6px 18px #0e00441a}.rating-inline .rating-btn:active{transform:translateY(0);box-shadow:0 3px 10px #0e00441a}.rating-inline .rating-btn:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.rating-inline .rating-btn:hover svg,.rating-inline .rating-btn:hover span{color:var(--brand-blue);filter:saturate(110%)}.rating-inline .rating-btn.thumbs-up{background:linear-gradient(#f4fffb,#f4fffb) padding-box,linear-gradient(180deg,#c7f9e9,#98f2d7) border-box;color:#0f766e}.rating-inline .rating-btn.thumbs-up:hover{background:linear-gradient(#f9fffd,#fff) padding-box,linear-gradient(180deg,#bdf6e3,#90ecd2) border-box}.rating-inline .rating-btn.thumbs-down{background:linear-gradient(#fff9f4,#fff9f4) padding-box,linear-gradient(180deg,#fdecc8,#ffd9b5) border-box;color:#a45a07}.rating-inline .rating-btn.thumbs-down:hover{background:linear-gradient(#fffdf8,#fff) padding-box,linear-gradient(180deg,#fde2a9,#ffcea1) border-box}.rating-inline .rating-btn svg{transition:transform .16s ease,color .16s ease,opacity .16s ease}.rating-inline .rating-btn.thumbs-up svg,.rating-inline .rating-btn.thumbs-up span{color:#0f766e}.rating-inline .rating-btn.thumbs-down svg,.rating-inline .rating-btn.thumbs-down span{color:#b45309}.rating-inline .rating-btn.thumbs-up,.rating-inline .rating-btn.thumbs-down{color:inherit;border-color:inherit}@media (max-width: 640px){.rating-inline{width:100%;margin-left:0;gap:8px}.rating-inline .rating-prompt{flex:1 1 auto;white-space:normal}}.msg-subdivider{height:1px;background:#f3f3f3;margin:8px 0}.sources-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.sources-title{font-size:11.5px;color:#0e0044;margin:0 0 8px;letter-spacing:.02em;text-transform:none;font-weight:800}.sources-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.source-item{display:flex;align-items:center;gap:6px}.sources-footnote{font-size:10px;text-align:right;margin-top:6px;font-style:italic;color:#6b7280}.source-link{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(14,0,68,.08);background:transparent;border-radius:10px;padding:8px 12px;font-size:11px;color:#0e0044;cursor:pointer;min-width:200px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .12s ease,background .12s ease,color .12s ease;box-shadow:none}.source-link:hover{border-color:#0e004429;background:#0e004408}.source-icon{color:#0e0044}.source-rank{font-weight:600;color:var(--accent)}.source-name{font-weight:500;color:#0e0044;overflow:hidden;text-overflow:ellipsis}.source-page{color:#0e0044}.source-score{margin-left:auto;font-variant-numeric:tabular-nums;color:#0e0044}.source-open{text-decoration:none;font-size:10px}.btn-copy-inline{border:0;background:transparent;padding:0;color:#1a73e8;display:inline-flex;align-items:center;gap:6px;font-size:12px;margin-top:4px}.btn-copy-inline:hover{text-decoration:underline}.message-divider{height:1px;background:#f3f3f3;margin:10px 0 2px 40px}.message.user{align-items:center;gap:8px}.user-bubble{background:#fff;border:none;color:#0e0044;box-shadow:none;border-radius:8px 0 8px 8px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(#e2e8f0,#e2e8f0) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#274a9a;display:grid;place-items:center;font-size:13px;font-weight:600;font-family:Montserrat,Inter,ui-sans-serif,system-ui;border:1px solid transparent;flex-shrink:0}.user-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-block;flex-shrink:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:2vh 2vw;z-index:1000;visibility:hidden;opacity:0;pointer-events:none;background:#000000e6;transition:opacity .12s ease-in-out,visibility .12s ease-in-out}.modal.modal-fullscreen{padding:0}.modal.modal-fullscreen .modal-content{transition:all .2s linear;max-height:100vh;height:100vh;max-width:100vw;width:100vw}.modal.modal-fullscreen .modal-body{transition:all .2s linear;height:100vh;max-height:100vh}.modal.open{visibility:visible;opacity:1;pointer-events:auto}.modal-content{background:#fff;width:min(92vw,800px);max-width:min(92vw,800px);max-height:680px;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.modal-title{font-weight:600;color:#111827}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#6b7280;border:0;font-size:20px;line-height:1;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:6px;cursor:pointer}.modal-body{height:100%;overflow:hidden;position:relative;padding:0}.modal-body.panning{cursor:grabbing}.pdf-stage canvas{display:block}.pdf-viewer{position:relative;min-height:320px}.pdf-blocker{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:5}.pdf-loading{display:flex;align-items:center;justify-content:center;height:320px}.spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer-wrap{position:sticky;bottom:0;left:0;right:0;width:100%;margin-top:auto;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:16px}.composer{background:transparent;width:100%;padding:0}.composer-field{position:relative;display:flex;align-items:flex-end;gap:0;max-width:1900px;padding:0;background:#fff;border-radius:4px;border:1px solid transparent;box-shadow:0 0 10px #0000001a;min-height:48px;transition:border-color .15s ease,box-shadow .15s ease}.composer-field:hover{border-color:#0e0044}.composer-text-area{flex:1;display:flex;align-items:flex-end;min-width:0}.composer-text-area textarea{flex:1;padding:12px 8px 12px 16px;border:none;border-radius:0;background:transparent;color:#0e0044;font-size:16px;line-height:24px;resize:none;outline:none;font-family:Montserrat,sans-serif;box-shadow:none;overflow-y:hidden}.composer-text-area textarea:focus{color:#0e0044}.composer-actions{display:flex;align-items:center;gap:48px;padding:8px;border-left:1px solid #e0e0e0;flex-shrink:0;align-self:stretch}.mode-dropdown{position:relative;display:flex;align-items:center}.mode-dropdown-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px 6px 4px 8px;cursor:pointer;color:#0e0044;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;white-space:nowrap;border-radius:6px}.mode-dropdown-trigger:hover{background:#0e00440a}.mode-dropdown-chevron{color:#0e0044;transition:transform .18s ease;flex-shrink:0}.mode-dropdown-chevron.open{transform:rotate(180deg)}@keyframes mode-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mode-dropdown-in-upward{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.mode-dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0e004429,0 2px 8px #0e004414;overflow:visible;z-index:2147483647;display:flex;flex-direction:column;padding:0;animation:mode-dropdown-in .18s cubic-bezier(.22,1,.36,1) both;transform-origin:top left}.mode-dropdown-item:first-child{border-radius:8px 8px 0 0}.mode-dropdown-item:last-child{border-radius:0 0 8px 8px}.mode-dropdown-menu--upward{animation-name:mode-dropdown-in-upward;transform-origin:bottom left}.mode-dropdown-item{position:relative;display:flex;align-items:center;gap:8px;background:none;border:none;text-align:left;padding:14px 16px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;color:#0e0044;transition:background .12s ease,color .12s ease;white-space:nowrap;border-radius:0;width:100%}.mode-dropdown-item:disabled{color:#b0b0c0;cursor:default}.mode-dropdown-item--selected{background:transparent;color:#0e0044}.mode-dropdown-check{margin-left:auto;flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#0e0044;display:flex;align-items:center;justify-content:center}.mode-dropdown-item:hover:not(:disabled):not(.mode-dropdown-item--selected){background:#0e00440d;color:#0e0044}.mode-dropdown-item--selected:hover:not(:disabled){background:#0e00440d;color:#0e0044}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):before{content:"";position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#0e0044;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10001}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):after{content:attr(data-tooltip);position:absolute;right:calc(100% + 16px);top:50%;transform:translateY(-50%) translate(4px);background:#0e0044;color:#fff;font-size:14px;font-weight:400;font-family:Montserrat,sans-serif;line-height:normal;padding:12px;border-radius:5px;white-space:normal;max-width:240px;width:max-content;text-align:left;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10000}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):hover:before{opacity:1}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):hover:after{opacity:1;transform:translateY(-50%) translate(0)}@media (min-width: 900px){.composer{width:100%}}.composer-field:focus-within{border-color:#6f2c91;box-shadow:0 0 6px #1f1c4f}.composer-send{padding:4px;border:none;border-radius:4px;background:transparent;color:#0e0044;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;width:32px;height:32px;flex-shrink:0}.composer-send:hover:not(:disabled){background:#0e00440f}.composer-send:disabled{opacity:.35;cursor:not-allowed}.composer-field textarea::placeholder{color:#757575}.empty-hero{display:grid;place-items:center;margin-top:0;min-height:calc(100% - 56px);width:100%;overflow-x:visible}.empty-hero-inner{display:flex;flex-direction:column;align-items:center;max-width:900px;width:100%;margin:0 auto;animation:heroIn .6s cubic-bezier(.22,.61,.36,1) both;overflow:visible}.empty-hero-logo{position:relative;overflow:hidden;z-index:0;border:1px solid #0cc1a3;border-radius:50%}.empty-hero h1,.empty-hero p,.empty-hero .chip-row{position:relative;z-index:2}.empty-hero h1{margin:0;font-family:Montserrat,Inter,ui-sans-serif;font-weight:700;color:#0e0044;font-size:36px;letter-spacing:.2px}.empty-hero p{margin:0;color:#0e0044;font-size:16px;text-align:center}.empty-hero h1.typewriter{display:block;max-width:100%;width:100%;overflow:visible;contain:layout paint}.empty-hero h1.typewriter span{display:inline-block;white-space:nowrap;overflow:hidden;width:0ch;position:relative;padding-right:0;--caret-opacity: 1;--chars: 23;box-shadow:none;animation:typing 2.6s steps(var(--chars),end) forwards,caretBlink 2.6s step-end 1 both,postType 1ms linear 2.6s forwards,shineSlide 8s ease-in-out infinite;background:linear-gradient(90deg,var(--brand-pink) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%}.empty-hero h1.typewriter span:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--text);opacity:var(--caret-opacity);z-index:1}@keyframes typing{0%{width:0ch}to{width:calc(var(--chars) * 1ch)}}@keyframes caretBlink{0%,to{--caret-opacity: 1}50%{--caret-opacity: 0}}.empty-hero-composer{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:32px;width:100%}.composer-in-hero{width:100%;max-width:800px;background:#fff;border:1px solid transparent;box-shadow:0 0 10px #0000001a;border-radius:4px;padding:0;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease}.composer-in-hero:hover{border-color:#0e0044}.composer-in-hero:focus-within{border-color:transparent;box-shadow:0 0 10px #0000001a}.composer-in-hero .composer-field{display:flex;align-items:flex-end;gap:0;min-height:48px}.composer-in-hero .composer-text-area{flex:1;padding:0;min-width:0;display:flex;align-items:flex-end}.composer-in-hero .composer-text-area textarea{flex:1;padding:12px 16px;border:none;background:transparent;font-size:16px;line-height:24px;color:#0e0044;font-family:Montserrat,sans-serif;resize:none;min-height:24px}.composer-in-hero .composer-text-area textarea::placeholder{color:#757575}.composer-in-hero .composer-actions{display:flex;align-items:center;gap:12px;padding:8px 12px;border-left:1px solid #e0e0e0;align-self:stretch}.composer-in-hero .composer-send{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:#0e0044;cursor:pointer;padding:0}.composer-mode-label{text-align:center;font-size:16px;font-weight:500;color:#0e0044}@keyframes postType{to{white-space:normal;width:auto;max-width:100%;overflow:visible;--caret-opacity: 0}}@keyframes shineSlide{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes heroIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.empty-hero h1.typewriter span{animation:none;width:auto;border-right:0}.empty-hero-inner{animation:none}}@media (max-width: 640px){.empty-hero h1.typewriter{overflow:visible}.empty-hero h1.typewriter span{animation:shineSlide 8s ease-in-out infinite;width:auto;max-width:100%;white-space:normal;padding-right:0}.empty-hero h1.typewriter span:after{display:none}}@media (max-width: 520px){.composer-field{flex-direction:column;align-items:stretch}.composer-actions{border-left:none;border-top:1px solid #e0e0e0;align-self:stretch;justify-content:space-between;padding:8px 12px}.composer-in-hero .composer-field{flex-direction:column;align-items:stretch}.composer-in-hero .composer-actions{border-left:none;border-top:1px solid #e0e0e0;align-self:stretch;justify-content:space-between;padding:8px 12px}}.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}.chip{transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.chip:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0445b724;filter:saturate(108%)}.chip:active{transform:translateY(0);box-shadow:0 6px 14px #0445b71f}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#0e0044;border-radius:9999px;padding:8px 14px;font-size:13px;cursor:pointer;border:1px solid transparent;box-shadow:0 1px 2px #00000005;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;font-family:Montserrat,Inter,ui-sans-serif,system-ui;transition:transform .15s ease,box-shadow .15s ease;animation:chipIn .5s ease-out both}.chip:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000000f}.chip:active{transform:translateY(0);box-shadow:0 1px 2px #00000008}@keyframes chipIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chip-row .chip:nth-child(1){animation-delay:.02s}.chip-row .chip:nth-child(2){animation-delay:.06s}.chip-row .chip:nth-child(3){animation-delay:.1s}.chip-row .chip:nth-child(4){animation-delay:.14s}.chip-row .chip:nth-child(5){animation-delay:.18s}.chip:hover{background:linear-gradient(#f8fbff,#f8fbff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box}.skeleton{position:relative;overflow:hidden;background:#f3f4f6}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-line{height:12px;border-radius:6px;margin:8px 0}.skeleton-line.sm{height:10px}.skeleton-line.lg{height:14px}.w40{width:40%}.w60{width:60%}.w80{width:80%}.w100{width:100%}.pdf-thumbs{width:130px;min-width:110px;max-width:160px;border-left:1px solid #eef2f7;background:#fbfbfb;overflow:auto}.pdf-thumbs-list{list-style:none;margin:0;padding:8px;display:grid;gap:8px}.pdf-thumb{display:grid;gap:6px;width:100%;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px;cursor:pointer}.pdf-thumb.active{outline:2px solid #1a73e8;outline-offset:0}.pdf-thumb img{display:block;width:100%;height:auto;border-radius:4px}.thumb-label{font-size:11px;color:#6b7280;justify-self:center}.thumb-skeleton{background:#f3f4f6;border-radius:6px;position:relative;overflow:hidden}.thumb-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}.pdf-citations{flex:0 0 var(--pdf-citations-width);width:var(--pdf-citations-width);border-right:1px solid #eef2f7;background:#fbfbfb;overflow-y:auto;overflow-x:hidden;padding:8px 12px 12px 8px;box-sizing:border-box}.pdf-citations *{max-width:100%;word-break:break-word}.tool-calls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;margin-top:16px}.tool-call-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0445b72e,0 1px 3px #0000001a;font-size:12px;font-family:Montserrat,sans-serif;color:#0e0044;animation:tool-call-pop .35s cubic-bezier(.34,1.4,.64,1) both}.tool-call-pill:nth-child(2){animation-delay:.07s}.tool-call-pill:nth-child(3){animation-delay:.14s}.tool-call-spinner{width:12px;height:12px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#0cc1a3,#0445b7);animation:toolDotBreathe 1.8s ease-in-out infinite}@keyframes toolDotBreathe{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.tool-call-name{font-weight:400;color:#0e0044}.tool-call-input{display:none}@keyframes tool-call-pop{0%{opacity:0;transform:scale(.85) translateY(4px)}70%{opacity:1}to{transform:scale(1) translateY(0)}}.pdf-container{display:flex;width:100%;height:100%;gap:0}.pdf-content{flex:1;overflow:auto;background:#f8fafc;padding:24px 8px 24px 24px}.pdf-toolbar{display:flex;align-items:center;justify-content:center;padding:16px 24px;border-top:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#fff,#f8fafc);gap:8px}.pdf-toolbar-left{display:flex;gap:8px}.pdf-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #00000014,0 1px 3px #0000001a;position:relative;overflow:hidden}.pdf-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0445b714,#0cc1a314);opacity:0;transition:opacity .3s ease;border-radius:12px}.pdf-btn:hover{background:#fffffff2;color:#475569;transform:translateY(-1px);box-shadow:0 8px 30px #0000001f,0 2px 8px #00000026;border-color:#0445b726}.pdf-btn:hover:before{opacity:1}.pdf-btn:active{transform:translateY(0);box-shadow:0 2px 10px #0000001a}.pdf-btn svg{width:20px;height:20px;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.05))}.pdf-btn:hover svg{transform:scale(1.05);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.pdf-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pdf-page-label{font-size:14px;font-weight:600;color:#475569;white-space:nowrap;padding:10px 16px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:12px;box-shadow:0 2px 12px #0000000f,0 1px 3px #00000014;transition:all .2s ease}.typing-hud{display:grid;grid-template-columns:36px 1fr;column-gap:16px;align-items:flex-start;animation:typingSlideIn .3s ease-out}.typing-hud-inner{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;width:120px;border-radius:8px;border:none;background:#fff;box-shadow:0 1px 4px #00000014;color:#0e0044;font-size:12px;font-family:Montserrat,sans-serif;grid-column:2}.typing-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#0cc1a3,#0445b7);animation:pulseDot 1.4s cubic-bezier(.1,.4,.5,1) infinite}.typing-text{color:#0e0044;font-weight:400}@keyframes typingSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.loading-sequence{display:grid;grid-template-columns:36px 1fr;column-gap:16px;align-items:flex-start;animation:typingSlideIn .3s ease-out}.loading-sequence-steps{display:flex;flex-direction:column;align-items:flex-start;gap:0}.loading-sequence-connector{position:relative;width:4px;height:24px;border-radius:2px;overflow:hidden;margin-left:12px;background:#0e00440f;animation:connector-track-in .2s ease-out both}.loading-sequence-connector:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,transparent 0px,transparent 4px,#0cc1a3 4px,#0cc1a3 8px,transparent 8px,transparent 12px);background-size:100% 24px;animation:connector-travel .6s linear infinite;opacity:.85}.loading-sequence-tool{animation:sequence-card-pop .32s cubic-bezier(.34,1.4,.64,1) .15s both}.loading-sequence-tool:last-child .tool-call-pill{box-shadow:0 2px 8px #0445b72e,0 1px 3px #0000001a,0 0 0 2px #0cc1a340}@keyframes connector-track-in{0%{transform:scaleY(0);transform-origin:top;opacity:0}to{transform:scaleY(1);transform-origin:top;opacity:1}}@keyframes connector-travel{0%{background-position:0 0}to{background-position:0 24px}}@keyframes sequence-card-pop{0%{opacity:0;transform:scale(.88) translateY(-4px)}60%{opacity:1}to{transform:scale(1) translateY(0)}}.msg-content:has(.bubble--arriving){animation:bubble-arrive-glow .6s ease-out both}@keyframes bubble-arrive-glow{0%{box-shadow:-1px 1px 4px #0445b71a,0 0 12px #0445b70d,0 0 0 2px #0cc1a380}60%{box-shadow:-1px 1px 4px #0445b71a,0 0 12px #0445b70d,0 0 0 3px #0cc1a333}to{box-shadow:-1px 1px 4px #0445b71a,0 0 12px #0445b70d,0 0 #0cc1a300}}.tool-calls-inline{display:flex;flex-direction:column;gap:6px;margin-top:12px}.pdf-sources{width:100%}.pdf-sources-title{padding:10px 10px 6px;font-size:12px;font-weight:600;color:#374151}.pdf-sources-list{list-style:none;margin:0;padding:0 12px 12px 8px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.pdf-source-item{display:flex;width:100%;text-align:left;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:#111827;cursor:pointer}.pdf-source-item.active{background:#e7f9f6}.pdf-source-rank{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);font-size:12px;color:#374151}.pdf-source-text{display:inline-block;overflow:hidden}.pdf-source-filename{display:block;font-size:12px;font-weight:600;color:#111827}.pdf-source-page{display:block;font-size:11px;color:#6b7280}.pdf-source-snippet{display:block;font-size:11px;color:#6b7280;margin-top:2px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1280px){.modal-content{width:95vw}}@media (max-width: 1024px){.pdf-thumbs,.pdf-citations{display:none}.modal-content{width:96vw;height:92vh}}@media (max-width: 640px){.modal-content{width:98vw;height:92vh;border-radius:10px}}@media (max-width: 900px){.chat-layout{grid-template-columns:0fr 1fr;position:relative}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,320px);max-width:92vw;transform:translate(-100%);transition:transform .2s ease-in-out;z-index:9999;box-shadow:0 10px 30px #0000002e}.chat-container.drawer-open .sidebar{transform:translate(0)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);z-index:900}.mobile-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}.sidebar-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:8px;width:36px;height:36px;display:inline-grid;place-items:center;cursor:pointer}}@media (min-width: 901px){.mobile-bar{display:none}}.older-messages{display:flex;justify-content:center;margin:8px 0}.toasts{position:fixed;top:16px;right:16px;display:grid;gap:10px;z-index:2000}.toast{display:flex;align-items:center;gap:16px;border-radius:4px;padding:16px;font-size:16px;line-height:1.5;border:1px solid rgba(14,0,68,.1);background:#f8fafc;color:#0e0044;box-shadow:0 1px 4px #00000014;font-family:Montserrat,sans-serif}.toast-body{flex:1}.toast-close{flex-shrink:0;background:transparent;border:none;padding:0;cursor:pointer;font-size:20px;color:currentColor;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1}.toast.info{background:#eef2ff;border-color:#c7d2fe;color:#0e0044}.toast.success{background:#e1fcef;border-color:#08522d;color:#08522d}.toast.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.sources-accordion{margin-top:6px;border:0;background:transparent}.sources-acc-header{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:0;border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;color:#6b7280;font-weight:400;cursor:pointer;transition:background .14s ease,color .14s ease;margin-bottom:2px}.sources-acc-header:hover{background:#f3f4f6}.sources-acc-title{font-size:14px;line-height:1.25rem;font-weight:300;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.00938em;top:0;color:#757575;margin:8px 0 4px}.sources-acc-chevron{display:inline-flex;transition:transform .16s ease,color .14s ease;color:#6b7280}.sources-acc-chevron.open{transform:rotate(180deg)}.sources-acc-list{list-style:none;margin:0;padding:0;background:#fff;border-top:1px solid var(--border);border-bottom-left-radius:10px;border-bottom-right-radius:10px}.sources-acc-item+.sources-acc-item{border-top:1px solid #eef2f7}.sources-acc-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:100%;text-align:left;padding:5px 0;display:flex;align-items:baseline;gap:4px;color:#564d7c;cursor:pointer}.sources-acc-link:hover{opacity:.8}.sources-acc-num{flex-shrink:0;font-size:12px;font-weight:400;font-family:Montserrat,sans-serif;color:#564d7c;line-height:20px}.sources-acc-name{flex:1;font-size:12px;font-weight:400;font-family:Montserrat,sans-serif;font-style:italic;color:#564d7c;line-height:20px;margin-right:8px}.sources-acc-page{flex-shrink:0;font-size:12px;font-weight:400;font-family:Montserrat,sans-serif;font-style:normal;color:#564d7c;line-height:20px;white-space:nowrap}.sources-hud{display:none}.disclaimer-modal{width:min(92vw,595px);max-width:min(92vw,595px);border-radius:5px;box-shadow:0 5px 5px #00000040;padding:32px}.disclaimer-header{display:flex;align-items:flex-start;gap:8px;width:100%;margin-bottom:40px}.disclaimer-header-text{flex:1;display:flex;flex-direction:column;gap:10px}.disclaimer-title{margin:0;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:600;font-size:24px;line-height:normal}.disclaimer-body-text{margin:0;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:15px;line-height:normal}.disclaimer-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#0e0044;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.disclaimer-close:hover{background:#0e00440f}.disclaimer-link{color:#0e0044;font-weight:600;text-decoration:underline}.disclaimer-actions{display:flex;justify-content:flex-end;gap:16px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:4px;padding:12px 24px;height:42px;min-width:140px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:700;line-height:18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn-outline{background:#fff;color:#0e0044;border:1px solid #0e0044}.btn-outline:hover{background:#0e00440a}.btn-solid{background:#0e0044;color:#fff;border:1px solid #0e0044}.btn-solid:hover{filter:brightness(.92)}.feedback-modal{width:min(92vw,595px);max-width:min(92vw,595px);border-radius:5px;box-shadow:0 5px 5px #00000040;padding:32px}.feedback-subtitle-text{color:#0e0044!important}.feedback-form{margin-bottom:40px}.feedback-textarea{width:100%;resize:vertical;border-radius:4px;border:1px solid #d5d9e3;outline:none;padding:14px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;color:#0e0044;background:#fff;box-sizing:border-box}.feedback-textarea::placeholder{color:#9aa3b2}.feedback-textarea:focus{border-color:#0e0044;box-shadow:0 0 0 2px #0e00441a}.pipeline-hud .stage.active{background:#0e0044;color:#fff;border-color:#0e0044;box-shadow:0 4px 12px #0e004459;transform:translateY(-1px)}.stages{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;font-weight:600}.stages.small{font-size:11px}.stage.active{color:#0f172a}.stage.pulse{position:relative}.stage.pulse:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-2px;height:2px;background:#0e004440;animation:pulseLine 1.2s ease-in-out infinite}.pipeline-hud .stage.active.pulse:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-4px;height:2px;background:#fff9;animation:pulseLine 1.2s ease-in-out infinite;border-radius:1px}.pipeline-hud .arrow{color:#6b7280;font-weight:300;opacity:.7;font-size:14px}.arrow{opacity:.5}@keyframes pulseLine{0%{transform:scaleX(0);opacity:.6}50%{transform:scaleX(1);opacity:1}to{transform:scaleX(0);opacity:.6}}.pipeline-inline{margin-bottom:8px;display:flex;align-items:center;gap:16px;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:1px solid rgba(4,69,183,.2);border-radius:12px;box-shadow:0 4px 12px #0445b714,0 2px 4px #0445b70f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.pipeline-inline:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(4,69,183,.08),transparent);animation:shimmer 2s infinite}.pipeline-inline .stages{display:flex;align-items:center;gap:12px;font-size:13px;color:#374151;font-weight:500;z-index:1;position:relative}.pipeline-inline .stage{position:relative;padding:4px 8px;border-radius:8px;transition:all .3s ease;background:#fffc;border:1px solid rgba(0,0,0,.05)}.pipeline-inline .stage.active{color:#fff;background:linear-gradient(135deg,#0e0044,#0445b7);box-shadow:0 2px 8px #0445b766,0 0 0 1px #0445b733;transform:scale(1.02);border:1px solid rgba(4,69,183,.3)}.pipeline-inline .stage.active.pulse:after{background:#fff9;animation:pulseLine 1.2s ease-in-out infinite}.pipeline-inline .arrow{color:#6b7280;font-weight:300;opacity:.7;font-size:14px}.pipeline-inline .epic-loader{z-index:1;position:relative;width:40px;height:40px}.professional-loader{width:100%;max-width:none;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;margin:0 auto}.loader-content{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;padding:12px 0}.loader-text-section{display:flex;flex-direction:column;align-items:center;gap:12px}.pipeline-section,.pipeline-section .stages{display:flex;align-items:center;gap:8px}.pipeline-section .stage{position:relative;padding:8px 12px;border-radius:999px;transition:all .3s ease;background:#fffc;border:1px solid rgba(2,6,23,.12);font-size:13px;font-weight:600;color:#374151;white-space:nowrap}.pipeline-section .stage.active{background:#0e0044;color:#fff;border-color:#0e0044;box-shadow:0 4px 12px #0e004459;transform:translateY(-1px)}.pipeline-section .stage.active.pulse:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-4px;height:2px;background:#fff9;animation:pulseLine 1.2s ease-in-out infinite;border-radius:1px}.pipeline-section .arrow{color:#6b7280;font-weight:300;opacity:.7;font-size:14px}.loader-icon{animation:iconPulse 2s ease-in-out infinite}.loader-icon svg{filter:drop-shadow(0 2px 8px rgba(4,69,183,.2))}.loader-icon path{stroke-dasharray:28;stroke-dashoffset:28;animation:drawClock 2s ease-in-out infinite}.loader-text{font-size:15px;font-weight:500;color:#374151;text-align:center;letter-spacing:-.005em;line-height:1.4;max-width:none}.loader-progress{width:100%;max-width:120px}.progress-bar{width:100%;height:3px;background:#0445b71a;border-radius:2px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#0cc1a3cc,#0445b7e6,#0cc1a3cc);border-radius:2px;animation:progressFlow 2.5s ease-in-out infinite;position:relative}.progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShine 2.5s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}@keyframes drawClock{0%{stroke-dashoffset:28;opacity:.3}50%{stroke-dashoffset:14;opacity:.8}to{stroke-dashoffset:0;opacity:.3}}@keyframes textFade{0%,to{opacity:.7}50%{opacity:1}}@keyframes progressFlow{0%{width:0%}60%{width:100%}to{width:100%}}@keyframes progressShine{0%{left:-100%}60%{left:100%}to{left:100%}}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:#0e0044;cursor:pointer;transition:background .15s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background:#0e00440d}.sidebar-toggle-btn:active{background:#0e00441a}.sidebar-toggle-tooltip{position:fixed;z-index:10000;pointer-events:none;white-space:nowrap;display:flex;flex-direction:column;align-items:center}.sidebar-toggle-tooltip-box{background:#0e0044;color:#fff;font-family:Montserrat,sans-serif;font-size:14px;font-weight:400;padding:12px;border-radius:5px}.sidebar-toggle-tooltip-caret{width:0;height:0;border:6px solid transparent;border-bottom-color:#0e0044;margin-bottom:-1px;order:-1}.sidebar-toggle-tooltip--above{flex-direction:column-reverse}.sidebar-toggle-tooltip--above .sidebar-toggle-tooltip-caret{border-bottom-color:transparent;border-top-color:#0e0044;margin-bottom:0;margin-top:-1px;order:1}.sidebar-reopen-btn{position:absolute;top:16px;left:16px;z-index:100;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:#ffffffe6;color:#374151;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000001a}.sidebar-reopen-btn:hover{background:#fffffff2;color:#1f2937;transform:scale(1.05)}@media (min-width: 901px){.chat-container.desktop-sidebar-hidden{grid-template-columns:64px 1fr}.chat-container.desktop-sidebar-hidden .sidebar{width:64px;min-width:64px;padding:16px 8px;align-items:center;overflow:hidden}.chat-container.desktop-sidebar-hidden .sidebar-header{width:100%;align-items:center;gap:16px}.chat-container.desktop-sidebar-hidden .sidebar-logo{display:none}.chat-container.desktop-sidebar-hidden .sidebar-heading-row{justify-content:center}.chat-container.desktop-sidebar-hidden .sidebar-toggle-btn svg{transform:rotate(180deg)}.chat-container.desktop-sidebar-hidden .sidebar-new.tile{width:auto;height:auto;padding:8px;justify-content:center;margin-top:4px;margin-bottom:8px}.chat-container.desktop-sidebar-hidden .sidebar-new.tile .tile-label{display:none}.chat-container.desktop-sidebar-hidden .thread-list{overflow-y:auto;overflow-x:visible;min-height:0;flex:1;scrollbar-width:none}.chat-container.desktop-sidebar-hidden .thread-list::-webkit-scrollbar{display:none}.chat-container.desktop-sidebar-hidden .thread-group{padding:0;gap:8px;justify-items:center}.chat-container.desktop-sidebar-hidden .thread-group-title{font-size:11px;text-align:center;padding:8px 0 4px}.chat-container.desktop-sidebar-hidden .thread-group-title-full{display:none}.chat-container.desktop-sidebar-hidden .thread-group-title-mini{display:inline}.chat-container.desktop-sidebar-hidden .thread-item{width:40px;height:40px;border-radius:50%;justify-content:center;padding-left:0;position:relative;background:transparent}.chat-container.desktop-sidebar-hidden .thread-item.active{background:#e7f9f6;border-left:none;border-radius:8px}.chat-container.desktop-sidebar-hidden .thread-item:hover{background:#e7f9f6;border-radius:8px}.chat-container.desktop-sidebar-hidden .thread-item:active{background:#cef3ed}.chat-container.desktop-sidebar-hidden .thread-item .thread-main{padding:4px;justify-content:center;gap:0}.chat-container.desktop-sidebar-hidden .thread-avatar{width:32px;height:32px;margin-top:0}.chat-container.desktop-sidebar-hidden .thread-text,.chat-container.desktop-sidebar-hidden .thread-item .thread-actions,.chat-container.desktop-sidebar-hidden .sidebar-reopen-btn{display:none}}.thread-tooltip{position:fixed;background:#0e0044;color:#fff;font-size:14px;font-family:Montserrat,sans-serif;font-weight:400;padding:12px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10000;opacity:0;transition:opacity .15s ease}.thread-tooltip:before{content:"";position:absolute;top:50%;left:-6px;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #0e0044}.thread-tooltip.visible{opacity:1}@media (min-width: 901px){.chat-layout.pdf-open.desktop-sidebar-hidden{grid-template-columns:64px 1fr}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar{width:64px;min-width:64px;padding:16px 8px;align-items:center;overflow:hidden}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-logo{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-heading-row{justify-content:center}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-toggle-btn svg{transform:rotate(180deg)}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-new.tile{width:auto;height:auto;padding:8px;justify-content:center;margin-top:4px;margin-bottom:8px}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-new.tile .tile-label{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-list{overflow-y:auto;scrollbar-width:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-list::-webkit-scrollbar{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group{padding:0;gap:8px;justify-items:center}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group-title{font-size:11px;text-align:center;padding:8px 0 4px}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group-title-full{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group-title-mini{display:inline}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item{width:40px;height:40px;border-radius:50%;justify-content:center;padding-left:0;background:transparent}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item.active{background:#e7f9f6;border-left:none;border-radius:8px}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item:hover{background:#e7f9f6;border-radius:8px}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item:active{background:#cef3ed}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item .thread-main{padding:4px;justify-content:center;gap:0}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-avatar{width:32px;height:32px;margin-top:0}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-text,.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item .thread-actions{display:none}.chat-layout.pdf-open .resizable-panels{grid-column:2 / -1}}@media (max-width: 900px){.chat-layout.pdf-open .sidebar{display:none}.chat-layout.pdf-open .resizable-panels{grid-column:1 / -1}}.chat-container.pdf-fullscreen .messages-main{display:none}.chat-container.pdf-fullscreen .pdf-viewer-aside{grid-column:2 / -1}.chat-container.pdf-fullscreen.desktop-sidebar-hidden .pdf-viewer-aside{grid-column:1 / -1}.chat-layout.no-sidebar{grid-template-columns:1fr}.chat-layout.no-sidebar .sidebar{display:none}.chat-layout.no-sidebar .messages-panel{border-left:none}.chat-layout.no-sidebar .messages-main{grid-column:1 / -1}.citations-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.citations-modal{background:#fff;border-radius:5px;box-shadow:0 5px 5px #00000040;max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.citations-modal-header{display:flex;align-items:flex-start;gap:8px;padding:32px 32px 0}.citations-modal-header h3{flex:1;margin:0;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:24px;font-weight:600;color:#0e0044;line-height:normal}.citations-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#0e0044;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.citations-modal-close:hover{background:#0e00440f}.citations-modal-body{padding:16px 32px 32px;overflow-y:auto}.pdf-viewer-aside{height:100%;overflow:hidden}.pdf-aside{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;overflow:hidden}.modal-body--html{flex:1;height:0!important;min-height:0;overflow:auto!important}.modal-body--html *{padding:0 30px}.html-viewer-highlight{position:relative;background-color:#e7f9f6;padding:10px 45px!important}.html-viewer-highlight p.text:first-child{background:transparent!important}.pdf-aside-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.pdf-aside-header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pdf-aside-subtitle{font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.8px;font-weight:600;color:#0e0044;line-height:normal}.pdf-aside-title{font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:700;color:#0e0044;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.pdf-aside-controls{display:flex;align-items:center;gap:16px;margin-left:16px;flex-shrink:0}.pdf-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:4px;color:#0e0044;cursor:pointer;padding:6px;transition:background .15s ease;position:relative}.pdf-icon-btn:hover{background:#0e00440f}.pdf-icon-btn:after,.pdf-close-btn-new:after{content:attr(title);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:#0e0044;color:#fff;font-size:14px;font-weight:400;font-family:Montserrat,sans-serif;line-height:normal;padding:12px;border-radius:5px;white-space:nowrap;text-align:center;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10000}.pdf-icon-btn:before,.pdf-close-btn-new:before{content:"";position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#0e0044;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10001}.pdf-icon-btn:hover:after,.pdf-close-btn-new:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.pdf-icon-btn:hover:before,.pdf-close-btn-new:hover:before{opacity:1}.pdf-close-btn-new{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid #0e0044;border-radius:4px;color:#0e0044;cursor:pointer;padding:6px;transition:background .15s ease;position:relative}.pdf-close-btn-new:hover{background:#0e00440a}.pdf-close-btn{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;cursor:pointer;padding:6px}.pdf-close-btn:hover{background:#ef444426;color:#b91c1c}.viewer-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #e0e0e0;background:#fff;box-shadow:0 0 16px #4343431f;flex-shrink:0}.viewer-footer-left{display:flex;align-items:center;min-width:105px}.viewer-footer-center{display:flex;align-items:center;gap:0}.viewer-footer-right{display:flex;align-items:center;justify-content:flex-end;min-width:105px}.viewer-citations-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;border-radius:4px;padding:12px;height:32px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700;color:#0e0044;cursor:pointer;white-space:nowrap;transition:background .12s ease}.viewer-citations-btn:hover{background:#0e00440d}.viewer-citations-btn:active{background:#0e004414}.viewer-citations-btn--open svg{transform:rotate(180deg)}.citations-dropdown{background:#fff;padding:16px 24px;flex-shrink:0}.citations-dropdown-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#e0e0e0 transparent;padding-bottom:8px}.citations-dropdown-scroll::-webkit-scrollbar{height:8px}.citations-dropdown-scroll::-webkit-scrollbar-track{background:transparent}.citations-dropdown-scroll::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:6px}.citation-card{display:flex;align-items:flex-start;gap:8px;min-width:200px;flex-shrink:0;padding:8px 12px;border-radius:8px;background:#fff;border:1px solid transparent;cursor:pointer;text-align:left;transition:background .12s ease;font-family:Montserrat,sans-serif}.citation-card:hover{background:#e7f9f6}.citation-card--active{background:#e7f9f6;border:1px solid #0cc1a3;border-left:4px solid #0cc1a3}.citation-card-rank{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;border:1px solid #0e0044;border-radius:4px;background:#fff;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;color:#0e0044;line-height:18px;flex-shrink:0}.citation-card-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.citation-card-name{font-size:12px;font-weight:500;color:#0e0044;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citation-card-meta{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:500;color:#6e668f;line-height:12px;white-space:nowrap}.citation-card-dot{width:2px;height:2px;border-radius:2px;background:#6e668f;flex-shrink:0}.viewer-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:none;border-radius:4px;color:#0e0044;cursor:pointer;padding:12px;transition:background .15s ease}.viewer-nav-btn:hover:not(:disabled){background:#0e00440f}.viewer-nav-btn:disabled{opacity:.35;cursor:not-allowed}.viewer-page-info{display:flex;align-items:center;gap:10px;padding:0 8px}.viewer-page-current{display:inline-block;background:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;padding:12px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:500;color:#0e0044;text-align:center;min-width:44px;line-height:24px;cursor:pointer}.viewer-page-sep,.viewer-page-total{font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:500;color:#0e0044}.viewer-page-input{background:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;padding:12px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:500;color:#0e0044;text-align:center;width:60px;outline:none}.viewer-page-input:focus{border-color:#0e0044}.pdf-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.pdf-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.pdf-toolbar-left,.pdf-toolbar-right{display:flex;align-items:center;gap:12px}.pdf-toolbar button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #0000000f,0 1px 3px #00000014;border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden}.pdf-toolbar button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0445b70f,#0cc1a30f);opacity:0;transition:opacity .3s ease;border-radius:10px}.pdf-toolbar button:hover{background:#fffffff2;color:#475569;transform:translateY(-1px);box-shadow:0 6px 24px #0000001a,0 2px 8px #0000001f;border-color:#0445b733}.pdf-toolbar button:hover:before{opacity:1}.pdf-toolbar button:active{transform:translateY(0);box-shadow:0 2px 8px #00000014}.pdf-toolbar button:disabled{opacity:.5;cursor:not-allowed;transform:none}.pdf-toolbar button svg{width:18px;height:18px;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.03))}.pdf-toolbar button:hover svg{transform:scale(1.05);filter:drop-shadow(0 1px 3px rgba(0,0,0,.08))}.resizable-panels,.chat-container.desktop-sidebar-hidden .resizable-panels{grid-column:2 / -1}.panel-separator{background:#f5f5f5;width:24px;cursor:col-resize;border:none;border-radius:0;transition:background .15s ease;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:-5.4px 0 5.4px #0000001a}.panel-separator:hover{background:#ebebeb}.panel-separator:before{content:"";position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:#0e0044;transform:translate(calc(-50% - 3.5px),-50%);box-shadow:0 -8px #0e0044,0 8px #0e0044,7px 0 #0e0044,7px -8px #0e0044,7px 8px #0e0044}.thread-menu{background:#fff;border:1px solid rgba(2,6,23,.12);border-radius:8px;box-shadow:0 8px 24px #0206171f;min-width:160px;padding:4px 0}.thread-menu-item{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:13px;color:#0f172a;cursor:pointer}.thread-menu-item:hover{background:#0206170a}.thread-menu-item.danger{color:#dc2626}.thread-menu-item.danger:hover{background:#dc26260f}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes widget-panel-in{0%{opacity:0;transform:scale(.88) translateY(24px);transform-origin:bottom right}60%{opacity:1}to{opacity:1;transform:scale(1) translateY(0);transform-origin:bottom right}}@keyframes widget-body-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.widget-portal{position:fixed;bottom:24px;right:24px;width:min(740px,calc(100vw - 48px));height:min(800px,calc(100vh - 48px));z-index:9999;display:flex;flex-direction:column;box-shadow:0 0 10px 1px #d9d8d8}@media (max-width: 520px){.widget-portal{top:0;left:0;width:100%;height:100%;bottom:0;right:0}}.widget-root{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;height:auto;width:auto;margin-right:24px}.widget-panel{display:flex;flex-direction:column;flex:1;height:100%;border-radius:8px;overflow:hidden;box-shadow:0 0 100px 10px #f3f3f3;background:#fff;transition:box-shadow .3s ease,border-radius .3s ease}@media (max-width: 520px){.widget-panel{border-radius:0}}.widget-panel--open{animation:widget-panel-in .42s cubic-bezier(.22,1,.36,1) both}.widget-panel--minimized{height:auto;align-self:flex-end;border-radius:12px;box-shadow:0 8px 32px #0445b733,0 2px 8px #0000001a;cursor:pointer}.widget-panel--minimized .widget-header{border-bottom:none;border-radius:40px;padding:8px 16px}.widget-panel--minimized:hover{box-shadow:0 12px 40px #0445b747,0 4px 12px #0000001f;transform:translateY(-2px);transition:box-shadow .2s ease,transform .2s ease}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.widget-header-agent{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.widget-header-avatar-wrap{position:relative;flex-shrink:0}.widget-header-avatar{width:32px;height:32px;border-radius:50%;border:1px solid #0cc1a3;overflow:hidden}.widget-header-avatar img{width:100%;height:100%;object-fit:cover}.widget-header-text{display:flex;flex-direction:column;justify-content:center;min-width:0}.widget-header-name{font-size:14px;font-weight:700;color:#0e0044;line-height:1.2}.widget-header-role{font-size:10px;font-weight:400;color:#0e0044;line-height:1.2}.widget-header-actions{display:flex;align-items:center;flex-shrink:0;margin-left:12px}.widget-open-icon{display:flex;align-items:center;flex-shrink:0}.widget-icon-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;border-radius:4px;cursor:pointer;color:#0e0044}.widget-icon-btn:hover{background:#0000000f}.widget-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;animation:widget-body-in .25s cubic-bezier(.22,1,.36,1) both}.widget-body .chat-container{flex:1;min-height:0;height:100%;border:none;border-radius:0;box-shadow:none;overflow:hidden}.widget-body .resizable-panels{flex:1!important;min-height:0!important;overflow:hidden!important}.widget-body .messages-panel{overflow:hidden!important;border-left:none}.widget-body .messages-main{height:100%;min-height:0;overflow-y:auto}.widget-body .messages{min-height:0;padding:16px 20px}.widget-body .messages-loading{min-height:0}.widget-body .mobile-bar{display:none!important}.widget-online-dot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:#0cc1a3;border:2px solid #fff;animation:widget-dot-pulse 2.4s ease-in-out infinite}@keyframes widget-dot-pulse{0%,to{box-shadow:0 0 #0cc1a380}50%{box-shadow:0 0 0 4px #0cc1a300}}.ts-modal{max-width:760px;max-height:90vh;display:flex;flex-direction:column;padding:0;border-radius:12px;overflow:hidden}.ts-header-badge{display:inline-block;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:100px;background:#0e004412;color:#5a5278;margin-bottom:8px}.ts-header-meta{margin:6px 0 0;font-size:13px;color:#5a5278;font-weight:400}.ts-scroll-body{flex:1;overflow-y:auto;padding:24px 32px 32px}.ts-card{border-radius:10px;margin-bottom:20px}.ts-summary-card{padding:20px;background:#0e004408;border:1px solid rgba(14,0,68,.06)}.ts-summary-text{margin:0;font-size:15px;line-height:1.7;color:#1a1145}.ts-confidence-card{padding:16px 20px;background:#fefce8;border:1px solid #fde68a}.ts-confidence-row{display:flex;align-items:flex-start;gap:12px}.ts-confidence-desc{font-size:13px;line-height:1.5;color:#78350f}.ts-confidence-flags{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(253,230,138,.8)}.ts-flag-card{display:flex;gap:8px;align-items:flex-start}.ts-flag-icon{flex-shrink:0;color:#b45309;margin-top:2px}.ts-flag-text{font-size:13px;line-height:1.5;color:#78350f}.ts-flag-text strong{font-weight:600;color:#92400e}.ts-section{padding:20px 0;border-bottom:1px solid rgba(14,0,68,.06)}.ts-section:last-child{border-bottom:none;padding-bottom:0}.ts-heading{margin:0 0 14px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;color:#8a83a3;text-transform:uppercase;letter-spacing:.1em}.ts-parties{display:flex;align-items:stretch;gap:0}.ts-party-card{flex:1;padding:16px;border-radius:8px;background:#0e004408;border:1px solid rgba(14,0,68,.06)}.ts-party-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3;margin-bottom:6px}.ts-party-name{font-size:15px;font-weight:600;color:#0e0044;line-height:1.3}.ts-party-detail{font-size:13px;color:#5a5278;margin-top:2px}.ts-vs{display:flex;align-items:center;padding:0 14px;font-size:12px;font-weight:600;color:#8a83a3;text-transform:uppercase;letter-spacing:.05em}.ts-details-grid{display:flex;flex-direction:column;gap:0}.ts-info-row{display:flex;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(14,0,68,.04)}.ts-info-row:last-child{border-bottom:none}.ts-info-icon{margin-right:8px;font-size:14px}.ts-info-label{font-size:13px;color:#8a83a3;min-width:160px;flex-shrink:0}.ts-info-value{font-size:14px;color:#1a1145;font-weight:500}.ts-tags{display:flex;flex-wrap:wrap;gap:6px}.ts-tag{display:inline-block;padding:4px 12px;font-size:12px;font-weight:500;border-radius:6px;background:#0e00440d;color:#2d2554}.ts-tag-legal{background:#0445b714;color:#0445b7;font-weight:600;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif}.ts-pill{display:inline-block;padding:3px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:100px;white-space:nowrap}.pill-success{background:#dcfce7;color:#15803d}.pill-warning{background:#fef3c7;color:#a16207}.pill-danger{background:#fee2e2;color:#b91c1c}.pill-neutral{background:#0e00440f;color:#5a5278}.ts-orders-list{display:flex;flex-direction:column;gap:8px}.ts-order-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:8px;background:#0e004405;border:1px solid rgba(14,0,68,.06);transition:background .15s,border-color .15s}.ts-order-card.ts-clickable{cursor:pointer}.ts-order-card.ts-clickable:hover{background:#0e00440d;border-color:#0e00441f}.ts-order-badge{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#0e0044;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.ts-order-text{font-size:14px;line-height:1.6;color:#1a1145;padding-top:2px}.ts-claims-list{display:flex;flex-direction:column;gap:10px}.ts-claim-card{padding:16px;border-radius:8px;background:#0e004405;border:1px solid rgba(14,0,68,.06)}.ts-claim-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ts-claim-type{font-size:14px;font-weight:600;color:#0e0044;text-transform:capitalize}.ts-claim-amounts{display:flex;gap:24px;margin-top:10px}.ts-claim-amount{display:flex;flex-direction:column;gap:1px}.ts-claim-amount-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3}.ts-claim-amount-value{font-size:15px;font-weight:500;color:#2d2554}.ts-claim-amount-awarded{font-weight:700;color:#0e0044}.ts-claim-reason{margin:10px 0 0;font-size:13px;line-height:1.6;color:#5a5278}.ts-awards-bar{display:flex;gap:0;margin-top:14px;border-radius:8px;overflow:hidden;border:1px solid rgba(14,0,68,.08)}.ts-awards-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;background:#0e004405;border-right:1px solid rgba(14,0,68,.06)}.ts-awards-item:last-child{border-right:none}.ts-awards-highlight{background:#0e0044}.ts-awards-item-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3}.ts-awards-highlight .ts-awards-item-label{color:#ffffffb3}.ts-awards-item-value{font-size:16px;font-weight:700;color:#0e0044}.ts-awards-highlight .ts-awards-item-value{color:#fff}.ts-bond-table{margin-top:12px;border-radius:8px;border:1px solid rgba(14,0,68,.06);overflow:hidden}.ts-bond-row{display:flex;justify-content:space-between;font-size:14px;color:#2d2554;padding:10px 16px;border-bottom:1px solid rgba(14,0,68,.04)}.ts-bond-row:last-child{border-bottom:none}.ts-value-bold{font-weight:600;color:#0e0044}.ts-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid rgba(14,0,68,.08)}.ts-table{width:100%;border-collapse:collapse;font-size:13px}.ts-table th{text-align:left;padding:10px 14px;font-weight:600;color:#0e0044;background:#0e00440a;border-bottom:2px solid rgba(14,0,68,.08)}.ts-table td{padding:8px 14px;color:#2d2554;border-bottom:1px solid rgba(14,0,68,.04)}.ts-table tr:last-child td{border-bottom:none}.ts-reason-block{margin-bottom:20px}.ts-reason-block:last-child{margin-bottom:0}.ts-reason-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ts-reason-title{margin:0;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:15px;font-weight:600;color:#0e0044}.ts-page-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0e00440f;border:none;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:600;color:#5a5278;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;flex-shrink:0}.ts-page-chip:hover{background:#0e0044;color:#fff}.ts-paragraphs{display:flex;flex-direction:column;gap:4px}.ts-para{display:flex;align-items:flex-start;gap:12px;padding:8px 12px;border-radius:8px;transition:background .15s}.ts-para.ts-clickable{cursor:pointer}.ts-para.ts-clickable:hover{background:#0e00440a}.ts-para-badge{display:flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:6px;background:#0e00440f;color:#5a5278;font-size:12px;font-weight:700;flex-shrink:0;margin-top:2px}.ts-clickable:hover .ts-para-badge,.ts-clickable:hover .ts-order-badge{background:#0e0044;color:#fff}.ts-para-body{flex:1;min-width:0}.ts-para-body p{margin:0;font-size:14px;line-height:1.7;color:#2d2554}.ts-sub-items{margin:6px 0 0 16px;padding:0;list-style:disc;font-size:13px;color:#5a5278}.ts-sub-items li{margin-bottom:3px;line-height:1.5}.ts-footnotes{margin-top:12px;padding:10px 14px;border-radius:8px;background:#0e004405}.ts-footnote{font-size:12px;color:#5a5278;margin-bottom:4px;line-height:1.5}.ts-footnote:last-child{margin-bottom:0}.ts-footnote sup{font-weight:700;color:#0e0044;margin-right:4px}.ts-ref-group{margin-bottom:14px}.ts-ref-group:last-child{margin-bottom:0}.ts-ref-label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;color:#5a5278}.ts-findings-grid{display:flex;flex-wrap:wrap;gap:8px}.ts-finding-card{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:8px;background:#0e004408;border:1px solid rgba(14,0,68,.05);min-width:140px;flex:1}.ts-finding-alert{background:#fef2f2;border-color:#fecaca}.ts-finding-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3}.ts-finding-alert .ts-finding-label{color:#b91c1c}.ts-finding-value{font-size:15px;font-weight:600;color:#0e0044;text-transform:capitalize}.ts-finding-alert .ts-finding-value{color:#b91c1c}.ts-clickable{cursor:pointer}.sidebar-loading-more{display:flex;justify-content:center;padding:12px 0}.messages-loading-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0;font-size:13px;color:#64748b}.scroll-to-bottom-btn{position:sticky;bottom:80px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;max-width:32px;height:32px;border-radius:50%;border:1px solid #c4c4c4;background:#fff;color:#0e0044;cursor:pointer;box-shadow:0 0 2px #0003;transition:background .15s,box-shadow .15s;margin:0 auto;flex-shrink:0}.scroll-to-bottom-btn:hover{background:#f3f4f6;box-shadow:0 0 4px #00000040}';
|
|
20
|
+
const A8 = '.thread-item:hover .thread-actions,.thread-item:focus-within .thread-actions{opacity:1;pointer-events:auto}@media (max-width: 640px){.composer-wrap{left:0;right:0;width:100%;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:calc(16px + env(safe-area-inset-bottom));z-index:2000}.composer-field{padding:0;width:100%;display:grid;grid-template-columns:1fr auto;align-items:stretch;gap:0}.composer-field textarea{min-width:0;width:100%}.composer-send{flex:0 0 auto}}:root{--bg: #f7f9fc;--panel: #ffffff;--text: #0e0044;--muted: #64748b;--accent: #1a73e8;--accent-2: #1a73e8;--danger: #e11d48;--border: #e5e7eb;--pdf-citations-width: 260px;--brand-blue: #0445b7;--brand-pink: #db2c73;--brand-green: #0cc1a3;--assistant-measure: 68ch}*{box-sizing:border-box}html,body{font-family:Montserrat,Inter,ui-sans-serif,system-ui;overflow-x:hidden;width:100%;margin:0;color:#0e0044}.app{display:grid;grid-template-rows:auto 1fr auto;min-height:100%}.app,.chat-container{overflow-x:hidden}.app-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0}.app-header h1{margin:0;font-size:18px;letter-spacing:.2px;color:#111827}.app-header .subtitle{margin:4px 0 0;color:var(--muted);font-size:12px}.app-main{display:grid;grid-template-columns:1fr;padding:0}.app-footer{padding:10px 16px;color:var(--muted);border-top:1px solid var(--border);font-size:12px;background:var(--panel)}.chat-container{position:relative;width:100%;max-width:none;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-top-left-radius:24px;overflow:hidden;box-shadow:0 0 11.21px #0003}.chat-layout{display:grid;grid-template-columns:240px 1fr;height:calc(100vh - 65px);min-height:calc(100vh - 65px)}.sidebar{border-right:1px solid #c4c4c4;background:#fff;display:flex;flex-direction:column;position:relative;border-top-left-radius:24px;overflow:hidden;height:100%;isolation:isolate}.sidebar-header{display:flex;flex-direction:column;gap:16px;padding:16px 8px;position:relative}.sidebar-heading-row{display:flex;align-items:center;justify-content:space-between;width:100%}.sidebar-logo{height:28px;width:auto;display:block;margin-top:4px;margin-left:4px}.sidebar-new{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#0445b7,#0cc1a3);border:0;color:#fff;width:32px;height:32px;display:inline-grid;place-items:center;border-radius:9999px;cursor:pointer;font-size:18px;font-weight:700;box-shadow:0 0 #0445b738,0 6px 14px #0445b747;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.sidebar-new:not(.tile):hover{transform:translateY(-1px);box-shadow:0 0 0 6px #0445b71f,0 8px 16px #0445b757;filter:saturate(110%)}.sidebar-new:not(.tile):active{transform:translateY(0);box-shadow:0 4px 10px #0445b738}.sidebar-new:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.sidebar-new.tile{width:100%;height:48px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:4px;border:1px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#0cc1a3,#0445b7);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none;box-sizing:border-box;margin-top:4px;margin-bottom:8px;transition:box-shadow .12s ease}.sidebar-new-left{display:flex;align-items:center;gap:10px}.sidebar-new.tile:hover{box-shadow:0 4px 14px #0445b724;filter:none}.sidebar-new.tile:active{box-shadow:0 2px 8px #0445b71a}.sidebar-new.tile .tile-icon{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:32px;background:linear-gradient(56.5deg,#0cc1a3 10.2%,#0445b7 89.8%);color:#fff;padding:4px;flex-shrink:0}.sidebar-new.tile .tile-label{font-weight:700;font-size:16px;color:#0e0044;font-family:Montserrat,sans-serif}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.thread-list{overflow-y:auto;overflow-x:hidden;display:grid;gap:0;padding:0 0 80px;box-sizing:border-box;scrollbar-gutter:stable both-edges;flex:1;min-height:0}.thread-group{display:grid;gap:2px;padding:0 8px 100px}.thread-group-title{color:#0e0044;font-size:12.8px;font-weight:600;padding:8px 0 12px 12px;text-transform:none;letter-spacing:normal;font-family:Montserrat,sans-serif}.thread-group-title-mini{display:none}.thread-empty{color:var(--muted);font-size:12px;padding:12px 8px}.sidebar-loading{padding:8px 6px;display:grid;gap:8px;margin-top:20px}.sidebar-error{padding:8px;border:1px solid #fecaca;background:#fff1f2;color:#7f1d1d;border-radius:8px;display:grid;gap:8px}.sidebar-error .sidebar-error-text{font-size:12px}.thread-item{display:flex;align-items:center;gap:0;padding:0 0 0 4px;border:none;background:#fff;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;width:100%;transition:background .15s ease,box-shadow .15s ease;overflow:hidden;font-family:Montserrat,sans-serif;height:52px;box-sizing:border-box}.thread-item:hover{background:#e7f9f6}.thread-item:active{background:#cef3ed}.thread-item:not(.active):focus-within{outline:2px solid #6f2c91;outline-offset:-2px;box-shadow:0 0 6px #1f1c4f}.thread-item .thread-main:focus-visible{outline:none}.thread-item.active{background:#e7f9f6;padding-left:0;border-left:4px solid #0cc1a3;border-radius:8px}.thread-item .thread-main{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;display:flex;align-items:flex-start;gap:8px;padding:8px 12px;flex:1 1 auto;text-align:left;color:inherit;position:relative;z-index:1;overflow:hidden;height:100%;width:100%;box-sizing:border-box;cursor:pointer}.thread-avatar{width:20px;height:20px;border-radius:128px;border:1px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#0cc1a3,#0445b7);background-origin:border-box;background-clip:content-box,border-box;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:4px}.thread-avatar img{width:144.19%;height:100%;object-fit:cover;margin-left:-28.21%}.thread-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.thread-title{font-size:12px;font-weight:500;color:#0e0044;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px;font-family:Montserrat,sans-serif}.thread-date{font-size:10px;font-weight:500;color:#6e668f;display:flex;align-items:center;gap:4px;line-height:12px;font-family:Montserrat,sans-serif}.thread-date-dot{width:2px;height:2px;border-radius:2px;background:#6e668f;flex-shrink:0;display:inline-block}.thread-item .thread-actions{margin-left:auto;display:grid;align-items:center;justify-items:center;width:28px;height:28px;z-index:2;position:relative;opacity:0;pointer-events:none;transition:opacity .12s ease;margin-right:8px}.kebab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:8px;cursor:pointer;color:#64748b}.kebab-btn:hover{background:#f1f5f9;outline:1px solid #e5e7eb}.kebab-btn:active{background:#e5e7eb}.kebab-btn:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.thread-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 24px #0000001f;padding:6px;z-index:50;max-width:180px}.thread-menu .menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:100%;text-align:left;padding:8px 10px;border-radius:8px;color:#0e0044;font-size:13px;cursor:pointer}.thread-menu .menu-item:hover{background:#f3f4f6}.thread-menu .menu-item.danger{color:#b91c1c}.thread-menu .menu-item.danger:hover{background:#fee2e2}.messages-main{display:flex;flex-direction:column;overflow-y:auto;position:relative;height:100%;background:linear-gradient(46.97deg,#0cc1a31a 10.218%,#0445b71a 89.775%);background-attachment:fixed}.messages{flex:1;overflow:visible;position:relative;display:flex;flex-direction:column;gap:26px;background:transparent;padding:28px 40px;margin:0 auto;width:100%;max-width:1900px;min-height:calc(100vh - 70px)}.messages-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:5;min-height:100vh}.messages-loading .loading-inner{display:inline-flex;align-items:center;gap:16px;padding:8px 16px;border-radius:32px;border:none;background:#fff;box-shadow:0 1px 4px #00000014;color:#0e0044;font-size:15px;font-family:Montserrat,sans-serif;font-weight:400}.messages-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffd9;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:6}.messages-error .messages-error-card{display:grid;gap:10px;max-width:520px;width:calc(100% - 40px);padding:14px 16px;border-radius:12px;border:1px solid #fee2e2;background:#fff1f2;color:#7f1d1d;box-shadow:0 10px 24px #00000014;text-align:center}.messages-error .messages-error-text{font-size:14px}.messages-error .messages-error-actions{display:inline-flex;gap:8px;justify-content:center}.message{display:flex;align-items:flex-start;animation:messageSlideIn .3s ease-out;flex-wrap:wrap}.messages>:last-child:not(.empty-hero){padding-bottom:15px}.message.user{flex-direction:row-reverse}.message.assistant{display:grid;grid-template-columns:36px 1fr;column-gap:16px;align-items:start}.msg-content{margin-bottom:30px;background:#fff;border-radius:0 10px 10px;overflow:hidden;box-shadow:0 1px 3px #0445b70f,0 4px 16px #0445b70a}.message.assistant>.msg-content{grid-column:2;margin-left:0;width:min(100%,74ch);justify-self:start}.message.assistant>.ai-avatar{grid-column:1}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px) and (min-width: 641px){.message.assistant>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 48px);overflow-wrap:anywhere;word-break:break-word}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 48px)}}@media (max-width: 640px){.messages{height:calc(100dvh - 96px);padding:16px 12px 160px;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.message{gap:8px}.message.assistant{display:grid;grid-template-columns:1fr;row-gap:8px}.message.assistant>.ai-avatar{grid-column:1;grid-row:1;justify-self:start}.message.assistant>.msg-content{grid-column:1;grid-row:2;margin-left:0;width:100%;max-width:100%!important;justify-self:stretch}.message.assistant .sources-hud{margin-top:8px}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 44px)!important}.message.assistant .msg-content{margin-left:0;max-width:100%}.sources-hud{margin-top:8px}}.ai-avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:128px;background:#fff;border:1px solid #0cc1a3;box-shadow:none;overflow:hidden}.ai-avatar svg{width:16px;height:16px}.user-avatar,.user-avatar-img{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000f}.user-avatar{display:grid;place-items:center;color:#0e0044;font-weight:600;font-size:13px;background:transparent}.user-avatar-img{object-fit:cover}.bubble{max-width:80%;padding:12px 14px;border-radius:12px;line-height:1.6;white-space:normal;word-wrap:break-word;font-size:14px;color:#1f2937;font-family:Montserrat,Inter,ui-sans-serif,system-ui}.message.user .bubble{background:#fff;color:#0e0044;border:none;box-shadow:none;border-radius:8px 0 8px 8px}.message.assistant .bubble{background:#fff;border:none;color:#0b1324;border-radius:0 8px 8px}.message.assistant .bubble-plain{background:transparent;border:none;border-radius:0;border-bottom:1px solid #e0e0e0;padding:16px;max-width:85ch;width:100%;font-size:14px;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui;line-height:22px;letter-spacing:-.006em;overflow-wrap:anywhere;word-break:break-word;min-width:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.message.assistant .bubble-plain h1,.message.assistant .bubble-plain h2,.message.assistant .bubble-plain h3,.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{color:#0e0044;font-weight:600;font-family:Montserrat,sans-serif;margin:16px 0 8px;line-height:1.35;letter-spacing:-.01em}.message.assistant .bubble-plain h1:first-child,.message.assistant .bubble-plain h2:first-child,.message.assistant .bubble-plain h3:first-child{margin-top:0}.bubble.bubble-plain>h1:first-child,.bubble.bubble-plain>h2:first-child,.bubble.bubble-plain>h3:first-child{margin-bottom:12px}.message.assistant .bubble-plain p{margin:0 0 16px;color:#0e0044}.message.assistant .bubble-plain strong{font-family:Montserrat,sans-serif;font-weight:600;color:#0e0044}.md-section{border:none;border-radius:0;border-bottom:1px solid #e0e0e0;padding:0;margin-bottom:0;background:#fff;transition:background .12s ease}.md-section:first-of-type{margin-top:16px;border-top:1px solid #e0e0e0}.md-section:hover{background:#fafafa}.md-section:active{background:#eee}.md-section:focus-within:not(:has(.md-section-copy:focus)){background:#f5f5f5;outline:1px solid #6f2c91;outline-offset:-1px;box-shadow:0 0 6px #1f1c4f}.md-section .md-section{border:none;padding:0;margin-bottom:0;background:transparent}.md-collapse-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px;padding:8px 0;margin-bottom:0;height:48px;box-sizing:border-box;transition:all .1s linear}.md-collapse-header:hover{padding-left:4px;padding-right:4px}.md-collapse-header h3.md-h3{margin:0!important;flex:1;font-size:14px;font-weight:600;color:#0e0044;line-height:18px}.md-section-copy{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:8px;cursor:pointer;color:#0e0044;transition:background .12s ease,color .12s ease;border-radius:4px;position:relative}.md-section-copy:hover{background:#eee}.md-section-copy:after{content:"Copy";position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:#0e0044;color:#fff;font-size:14px;font-weight:400;font-family:Montserrat,sans-serif;line-height:normal;padding:12px;border-radius:5px;white-space:nowrap;text-align:center;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10000}.md-section-copy:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0e0044;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10001}.md-section-copy:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.md-section-copy:hover:before{opacity:1}.md-section-content{padding:0 0 16px;font-size:14px;line-height:22px;color:#0e0044}.md-collapse-chevron{flex-shrink:0;color:#0e0044;transition:transform .2s ease;margin-right:12px}.md-collapse-chevron.expanded{transform:rotate(180deg)}.md-collapse-header--loading{cursor:default;opacity:.75}.md-collapse-header--loading:hover h3.md-h3{color:inherit}@keyframes md-section-spin{to{transform:rotate(360deg)}}.md-section-spinner{flex-shrink:0;display:block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(12,193,163,.25);border-top-color:#0cc1a3;animation:md-section-spin .7s linear infinite}.bubble p{margin:0 0 8px}.bubble>*:first-child{margin-top:0}.bubble>*:last-child{margin-bottom:0}.bubble ul,.bubble ol{margin:8px 0 8px 18px;padding:0}.bubble li{margin:0}.bubble h1,.bubble h2,.bubble h3,.bubble h4,.bubble h5,.bubble h6{margin:10px 0 6px;line-height:1.3}.bubble pre{margin:8px 0;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;overflow:auto}.bubble code:not(pre code){background:#f3f4f6;padding:1px 4px;border-radius:4px}.bubble table{border-collapse:collapse;margin:8px 0}.bubble th,.bubble td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain a{color:var(--accent);text-decoration:none}.message.assistant .bubble-plain a:hover{text-decoration:underline;text-underline-offset:2px}.message.assistant .bubble-plain ul,.message.assistant .bubble-plain ol{margin:0 0 8px 21px;padding:0;list-style:disc}.message.assistant .bubble-plain li::marker{color:#0e0044;font-size:8px}.message.assistant .bubble-plain li+li{margin-top:4px}.message.assistant .bubble-plain ul+p{margin:0 0 8px}.message.assistant .bubble-plain blockquote{margin:16px 0;padding:16px 16px 16px 32px;border-left:4px solid #0cc1a3;background:#f5fafc;color:#0e0044;border-radius:4px;font-size:14px;line-height:22px;font-family:Montserrat,sans-serif}.message.assistant .bubble-plain blockquote p{margin:0}.message.assistant .bubble-plain blockquote strong{font-weight:600}.message.assistant .bubble-plain h1{font-size:17px}.message.assistant .bubble-plain h2{font-size:16px;margin-bottom:16px}.message.assistant .bubble-plain h3{font-size:14px;margin-bottom:8px}.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{font-size:14px}.message.assistant .bubble-plain pre{margin:12px 0;padding:12px;background:#0b132405;border:1px solid #e5e7eb;border-radius:8px;overflow:auto;-webkit-overflow-scrolling:touch}.message.assistant .bubble-plain code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px}.message.assistant .bubble-plain table{width:100%;border-collapse:collapse;margin:12px 0}.message.assistant .bubble-plain th{background:#f3f4f6;font-weight:600}.message.assistant .bubble-plain th,.message.assistant .bubble-plain td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain tr:nth-child(2n) td{background:#fafafa}.message.assistant .bubble-plain img{max-width:100%;height:auto;border-radius:6px}.message.assistant .bubble-plain hr{border:0;border-top:1px solid #e5e7eb;margin:14px 0}.avatar{width:28px;height:28px;border-radius:9999px;background:transparent;border:0;display:grid;place-items:center;color:var(--accent);font-size:14px;margin-top:3px}.avatar-star{transform:rotate(12deg)}.bubble-pending{opacity:.8;font-style:italic}.msg-toolbar{display:flex;align-items:center;gap:12px;margin-left:40px}.msg-divider{height:1px;background:#e5e7eb;flex:1}.btn-copy{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-copy:hover{color:#111827;border-color:#cfd8e3}.sources-hud{border:0;background:transparent;padding:0;border-radius:0;width:100%;box-shadow:none;margin-top:8px}.sources-copy{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0;padding:15px 16px;gap:8px}.message.assistant .sources-acc-list{width:100%;max-width:100%;flex-basis:100%;margin-top:10px}.btn-copy.btn-copy-inline svg{color:currentColor;display:block}.sources-actions{display:inline-flex;align-items:center;gap:24px;margin-left:auto}.sources-actions .sep{display:none}.sources-copy .link-btn,.sources-copy .btn-copy-inline{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:4px 6px;margin:-4px -6px;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:18px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border-radius:4px}.sources-copy .link-btn.muted{color:#475569}.sources-copy .link-btn:hover,.sources-copy .btn-copy-inline:hover{text-decoration:none;background:#0e00440d}.link-btn .icon-thumb path{stroke:currentColor;stroke-width:1.8;fill:transparent}.link-btn[aria-pressed=true] .icon-thumb path{fill:currentColor}.rating-inline{display:inline-flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.rating-modern .rating-pill{display:inline-flex;align-items:center;background:transparent;border:1px solid rgba(14,0,68,.1);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:9999px;padding:4px;box-shadow:none;gap:4px;overflow:hidden}.rating-modern .pill-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#0e0044;display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:9999px;cursor:pointer;transition:background .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease;box-shadow:0 1px 2px #0000000d}.rating-modern .pill-btn .label{color:#334155}.rating-modern .pill-btn.thumbs-up{--pill-bg: #f4fffb;--pill-border: #98f2d7;--pill-text: #0f766e}.rating-modern .pill-btn.thumbs-down{--pill-bg: #fff9f4;--pill-border: #ffd9b5;--pill-text: #a45a07}.rating-modern .pill-btn:hover{background:#0e004408;box-shadow:none;transform:none}.rating-modern .pill-btn:hover svg,.rating-modern .pill-btn:hover .label{color:#0e0044}.rating-modern .pill-btn.selected,.rating-modern .pill-btn[aria-pressed=true]{background:#0e0044}.rating-modern .pill-btn.selected svg,.rating-modern .pill-btn[aria-pressed=true] svg,.rating-modern .pill-btn.selected .label,.rating-modern .pill-btn[aria-pressed=true] .label{color:#fff;font-weight:700}.rating-modern .pill-btn:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.rating-modern .pill-btn+.pill-btn{position:relative}.message.assistant .bubble-plain .md-ul{list-style:disc;display:grid;line-height:22px;gap:0;margin-left:21px;padding-left:0}.message.assistant .bubble-plain .md-li{display:list-item}.message.assistant .bubble-plain .md-li-bullet{display:none}.message.assistant .bubble-plain .md-li:last-child{margin-bottom:0}.message.assistant .bubble-plain .md-ul .md-ul{margin-top:4px;margin-bottom:0;gap:0;margin-left:21px;list-style:disc}.message.assistant .bubble-plain .md-li-content{font-size:14px;line-height:22px}.message.assistant .bubble-plain .md-li-content p{margin:0}.message.assistant .bubble-plain .md-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;font-family:Montserrat,sans-serif;color:#0e0044;text-decoration:none;border-radius:4px;padding:1px 8px;transition:background .16s ease,color .16s ease;background:#e7f9f6}.message.assistant .bubble-plain .md-link:hover,.message.assistant .bubble-plain .md-link:focus-visible{background:#e7f9f6b3;color:#0e0044;outline:none}.message.assistant .bubble-plain .md-link .md-link-text{line-height:1.35}.message.assistant .bubble-plain .md-link .md-link-icon{display:inline-flex;color:currentColor;opacity:.9}.message.assistant .bubble-plain .citation-link{color:#0e0044;background:#e7f9f6;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500;font-family:Montserrat,sans-serif;line-height:18px;text-decoration:none;border:1px solid transparent;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.message.assistant .bubble-plain .citation-link:hover{background:#cef3ed}.message.assistant .bubble-plain .citation-link:active{background:#b6ece3}.message.assistant .bubble-plain .citation-link:focus-visible{background:#cef3ed;border-color:#6f2c91;box-shadow:0 0 6px #1f1c4f;outline:none}.citation-link+.citation-link{margin-left:8px}.rating-modern .pill-btn+.pill-btn:before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:1px;height:18px;background:linear-gradient(180deg,#0e00440f,#0e00441f)}.rating-inline .rating-prompt{color:#6b7280;font-size:10px;white-space:nowrap;font-style:italic}.rating-inline .rating-actions{display:inline-flex;align-items:center;gap:8px}.rating-inline .rating-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#e5e7eb,#e5e7eb) border-box;color:#0e0044;padding:6px 10px;border-radius:9999px;display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1;cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,filter .14s ease,background .16s ease;box-shadow:0 1px 2px #0000000d}.rating-inline .rating-btn:hover{background:linear-gradient(#fff,#f9fafb) padding-box,linear-gradient(180deg,#e6eefc,#e7f7f7) border-box;transform:translateY(-1px) scale(1.01);box-shadow:0 6px 18px #0e00441a}.rating-inline .rating-btn:active{transform:translateY(0);box-shadow:0 3px 10px #0e00441a}.rating-inline .rating-btn:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.rating-inline .rating-btn:hover svg,.rating-inline .rating-btn:hover span{color:var(--brand-blue);filter:saturate(110%)}.rating-inline .rating-btn.thumbs-up{background:linear-gradient(#f4fffb,#f4fffb) padding-box,linear-gradient(180deg,#c7f9e9,#98f2d7) border-box;color:#0f766e}.rating-inline .rating-btn.thumbs-up:hover{background:linear-gradient(#f9fffd,#fff) padding-box,linear-gradient(180deg,#bdf6e3,#90ecd2) border-box}.rating-inline .rating-btn.thumbs-down{background:linear-gradient(#fff9f4,#fff9f4) padding-box,linear-gradient(180deg,#fdecc8,#ffd9b5) border-box;color:#a45a07}.rating-inline .rating-btn.thumbs-down:hover{background:linear-gradient(#fffdf8,#fff) padding-box,linear-gradient(180deg,#fde2a9,#ffcea1) border-box}.rating-inline .rating-btn svg{transition:transform .16s ease,color .16s ease,opacity .16s ease}.rating-inline .rating-btn.thumbs-up svg,.rating-inline .rating-btn.thumbs-up span{color:#0f766e}.rating-inline .rating-btn.thumbs-down svg,.rating-inline .rating-btn.thumbs-down span{color:#b45309}.rating-inline .rating-btn.thumbs-up,.rating-inline .rating-btn.thumbs-down{color:inherit;border-color:inherit}@media (max-width: 640px){.rating-inline{width:100%;margin-left:0;gap:8px}.rating-inline .rating-prompt{flex:1 1 auto;white-space:normal}}.msg-subdivider{height:1px;background:#f3f3f3;margin:8px 0}.sources-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.sources-title{font-size:11.5px;color:#0e0044;margin:0 0 8px;letter-spacing:.02em;text-transform:none;font-weight:800}.sources-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.source-item{display:flex;align-items:center;gap:6px}.sources-footnote{font-size:10px;text-align:right;margin-top:6px;font-style:italic;color:#6b7280}.source-link{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(14,0,68,.08);background:transparent;border-radius:10px;padding:8px 12px;font-size:11px;color:#0e0044;cursor:pointer;min-width:200px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .12s ease,background .12s ease,color .12s ease;box-shadow:none}.source-link:hover{border-color:#0e004429;background:#0e004408}.source-icon{color:#0e0044}.source-rank{font-weight:600;color:var(--accent)}.source-name{font-weight:500;color:#0e0044;overflow:hidden;text-overflow:ellipsis}.source-page{color:#0e0044}.source-score{margin-left:auto;font-variant-numeric:tabular-nums;color:#0e0044}.source-open{text-decoration:none;font-size:10px}.btn-copy-inline{border:0;background:transparent;padding:0;color:#1a73e8;display:inline-flex;align-items:center;gap:6px;font-size:12px;margin-top:4px}.btn-copy-inline:hover{text-decoration:underline}.message-divider{height:1px;background:#f3f3f3;margin:10px 0 2px 40px}.message.user{align-items:center;gap:8px}.user-bubble{background:#fff;border:none;color:#0e0044;box-shadow:none;border-radius:8px 0 8px 8px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(#e2e8f0,#e2e8f0) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#274a9a;display:grid;place-items:center;font-size:13px;font-weight:600;font-family:Montserrat,Inter,ui-sans-serif,system-ui;border:1px solid transparent;flex-shrink:0}.user-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-block;flex-shrink:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:2vh 2vw;z-index:1000;visibility:hidden;opacity:0;pointer-events:none;background:#000000e6;transition:opacity .12s ease-in-out,visibility .12s ease-in-out}.modal.modal-fullscreen{padding:0}.modal.modal-fullscreen .modal-content{transition:all .2s linear;max-height:100vh;height:100vh;max-width:100vw;width:100vw}.modal.modal-fullscreen .modal-body{transition:all .2s linear;height:100vh;max-height:100vh}.modal.open{visibility:visible;opacity:1;pointer-events:auto}.modal-content{background:#fff;width:min(92vw,800px);max-width:min(92vw,800px);max-height:680px;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.modal-title{font-weight:600;color:#111827}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#6b7280;border:0;font-size:20px;line-height:1;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:6px;cursor:pointer}.modal-body{height:100%;overflow:hidden;position:relative;padding:0}.modal-body.panning{cursor:grabbing}.pdf-stage canvas{display:block}.pdf-viewer{position:relative;min-height:320px}.pdf-blocker{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:5}.pdf-loading{display:flex;align-items:center;justify-content:center;height:320px}.spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer-wrap{position:sticky;bottom:0;left:0;right:0;width:100%;margin-top:auto;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:16px}.composer{background:transparent;width:100%;padding:0}.composer-field{position:relative;display:flex;align-items:flex-end;gap:0;max-width:1900px;padding:0;background:#fff;border-radius:4px;border:1px solid transparent;box-shadow:0 0 10px #0000001a;min-height:48px;transition:border-color .15s ease,box-shadow .15s ease}.composer-field:hover{border-color:#0e0044}.composer-text-area{flex:1;display:flex;align-items:flex-end;min-width:0}.composer-text-area textarea{flex:1;padding:12px 8px 12px 16px;border:none;border-radius:0;background:transparent;color:#0e0044;font-size:16px;line-height:24px;resize:none;outline:none;font-family:Montserrat,sans-serif;box-shadow:none;overflow-y:hidden}.composer-text-area textarea:focus{color:#0e0044}.composer-actions{display:flex;align-items:center;gap:48px;padding:8px;border-left:1px solid #e0e0e0;flex-shrink:0;align-self:stretch}.mode-dropdown{position:relative;display:flex;align-items:center}.mode-dropdown-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px 6px 4px 8px;cursor:pointer;color:#0e0044;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;white-space:nowrap;border-radius:6px}.mode-dropdown-trigger:hover{background:#0e00440a}.mode-dropdown-chevron{color:#0e0044;transition:transform .18s ease;flex-shrink:0}.mode-dropdown-chevron.open{transform:rotate(180deg)}@keyframes mode-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mode-dropdown-in-upward{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.mode-dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0e004429,0 2px 8px #0e004414;overflow:visible;z-index:2147483647;display:flex;flex-direction:column;padding:0;animation:mode-dropdown-in .18s cubic-bezier(.22,1,.36,1) both;transform-origin:top left}.mode-dropdown-item:first-child{border-radius:8px 8px 0 0}.mode-dropdown-item:last-child{border-radius:0 0 8px 8px}.mode-dropdown-menu--upward{animation-name:mode-dropdown-in-upward;transform-origin:bottom left}.mode-dropdown-item{position:relative;display:flex;align-items:center;gap:8px;background:none;border:none;text-align:left;padding:14px 16px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;color:#0e0044;background:#fff!important;transition:background .12s ease,color .12s ease;white-space:nowrap;border-radius:0;width:100%}.mode-dropdown-item:disabled{color:#b0b0c0;cursor:default}.mode-dropdown-item--selected{background:transparent;color:#0e0044}.mode-dropdown-check{margin-left:auto;flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#0e0044;display:flex;align-items:center;justify-content:center}.mode-dropdown-item:hover:not(:disabled):not(.mode-dropdown-item--selected){background:#0e00440d;color:#0e0044}.mode-dropdown-item--selected:hover:not(:disabled){background:#0e00440d;color:#0e0044}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):before{content:"";position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#0e0044;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10001}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):after{content:attr(data-tooltip);position:absolute;right:calc(100% + 16px);top:50%;transform:translateY(-50%) translate(4px);background:#0e0044;color:#fff;font-size:14px;font-weight:400;font-family:Montserrat,sans-serif;line-height:normal;padding:12px;border-radius:5px;white-space:normal;max-width:240px;width:max-content;text-align:left;pointer-events:none;text-transform:none!important;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10000}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):hover:before{opacity:1}.mode-dropdown-item[data-tooltip]:not([data-tooltip=""]):hover:after{opacity:1;transform:translateY(-50%) translate(0)}@media (min-width: 900px){.composer{width:100%}}.composer-field:focus-within{border-color:#6f2c91;box-shadow:0 0 6px #1f1c4f}.composer-send{padding:4px;border:none;border-radius:4px;background:transparent;color:#0e0044;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;width:32px;height:32px;flex-shrink:0}.composer-send:hover:not(:disabled){background:#0e00440f}.composer-send:disabled{opacity:.35;cursor:not-allowed}.composer-field textarea::placeholder{color:#757575}.empty-hero{display:grid;place-items:center;margin-top:0;min-height:calc(100% - 56px);width:100%;overflow-x:visible}.empty-hero-inner{display:flex;flex-direction:column;align-items:center;max-width:900px;width:100%;margin:0 auto;animation:heroIn .6s cubic-bezier(.22,.61,.36,1) both;overflow:visible}.empty-hero-logo{position:relative;overflow:hidden;z-index:0;border:1px solid #0cc1a3;border-radius:50%}.empty-hero h1,.empty-hero p,.empty-hero .chip-row{position:relative;z-index:2}.empty-hero h1{margin:0;font-family:Montserrat,Inter,ui-sans-serif;font-weight:700;color:#0e0044;font-size:36px;letter-spacing:.2px}.empty-hero p{margin:0;color:#0e0044;font-size:16px;text-align:center}.empty-hero h1.typewriter{display:block;max-width:100%;width:100%;overflow:visible;contain:layout paint}.empty-hero h1.typewriter span{display:inline-block;white-space:nowrap;overflow:hidden;width:0ch;position:relative;padding-right:0;--caret-opacity: 1;--chars: 23;box-shadow:none;animation:typing 2.6s steps(var(--chars),end) forwards,caretBlink 2.6s step-end 1 both,postType 1ms linear 2.6s forwards,shineSlide 8s ease-in-out infinite;background:linear-gradient(90deg,var(--brand-pink) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%}.empty-hero h1.typewriter span:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--text);opacity:var(--caret-opacity);z-index:1}@keyframes typing{0%{width:0ch}to{width:calc(var(--chars) * 1ch)}}@keyframes caretBlink{0%,to{--caret-opacity: 1}50%{--caret-opacity: 0}}.empty-hero-composer{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:32px;width:100%}.composer-in-hero{width:100%;max-width:800px;background:#fff;border:1px solid transparent;box-shadow:0 0 10px #0000001a;border-radius:4px;padding:0;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease}.composer-in-hero:hover{border-color:#0e0044}.composer-in-hero:focus-within{border-color:transparent;box-shadow:0 0 10px #0000001a}.composer-in-hero .composer-field{display:flex;align-items:flex-end;gap:0;min-height:48px}.composer-in-hero .composer-text-area{flex:1;padding:0;min-width:0;display:flex;align-items:flex-end}.composer-in-hero .composer-text-area textarea{flex:1;padding:12px 16px;border:none;background:transparent;font-size:16px;line-height:24px;color:#0e0044;font-family:Montserrat,sans-serif;resize:none;min-height:24px}.composer-in-hero .composer-text-area textarea::placeholder{color:#757575}.composer-in-hero .composer-actions{display:flex;align-items:center;gap:12px;padding:8px 12px;border-left:1px solid #e0e0e0;align-self:stretch}.composer-in-hero .composer-send{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:#0e0044;cursor:pointer;padding:0}.composer-mode-label{text-align:center;font-size:16px;font-weight:500;color:#0e0044}@keyframes postType{to{white-space:normal;width:auto;max-width:100%;overflow:visible;--caret-opacity: 0}}@keyframes shineSlide{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes heroIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.empty-hero h1.typewriter span{animation:none;width:auto;border-right:0}.empty-hero-inner{animation:none}}@media (max-width: 640px){.empty-hero h1.typewriter{overflow:visible}.empty-hero h1.typewriter span{animation:shineSlide 8s ease-in-out infinite;width:auto;max-width:100%;white-space:normal;padding-right:0}.empty-hero h1.typewriter span:after{display:none}}@media (max-width: 520px){.composer-field{flex-direction:column;align-items:stretch}.composer-actions{border-left:none;border-top:1px solid #e0e0e0;align-self:stretch;justify-content:space-between;padding:8px 12px}.composer-in-hero .composer-field{flex-direction:column;align-items:stretch}.composer-in-hero .composer-actions{border-left:none;border-top:1px solid #e0e0e0;align-self:stretch;justify-content:space-between;padding:8px 12px}}.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}.chip{transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.chip:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0445b724;filter:saturate(108%)}.chip:active{transform:translateY(0);box-shadow:0 6px 14px #0445b71f}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#0e0044;border-radius:9999px;padding:8px 14px;font-size:13px;cursor:pointer;border:1px solid transparent;box-shadow:0 1px 2px #00000005;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;font-family:Montserrat,Inter,ui-sans-serif,system-ui;transition:transform .15s ease,box-shadow .15s ease;animation:chipIn .5s ease-out both}.chip:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000000f}.chip:active{transform:translateY(0);box-shadow:0 1px 2px #00000008}@keyframes chipIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chip-row .chip:nth-child(1){animation-delay:.02s}.chip-row .chip:nth-child(2){animation-delay:.06s}.chip-row .chip:nth-child(3){animation-delay:.1s}.chip-row .chip:nth-child(4){animation-delay:.14s}.chip-row .chip:nth-child(5){animation-delay:.18s}.chip:hover{background:linear-gradient(#f8fbff,#f8fbff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box}.skeleton{position:relative;overflow:hidden;background:#f3f4f6}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-line{height:12px;border-radius:6px;margin:8px 0}.skeleton-line.sm{height:10px}.skeleton-line.lg{height:14px}.w40{width:40%}.w60{width:60%}.w80{width:80%}.w100{width:100%}.pdf-thumbs{width:130px;min-width:110px;max-width:160px;border-left:1px solid #eef2f7;background:#fbfbfb;overflow:auto}.pdf-thumbs-list{list-style:none;margin:0;padding:8px;display:grid;gap:8px}.pdf-thumb{display:grid;gap:6px;width:100%;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px;cursor:pointer}.pdf-thumb.active{outline:2px solid #1a73e8;outline-offset:0}.pdf-thumb img{display:block;width:100%;height:auto;border-radius:4px}.thumb-label{font-size:11px;color:#6b7280;justify-self:center}.thumb-skeleton{background:#f3f4f6;border-radius:6px;position:relative;overflow:hidden}.thumb-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}.pdf-citations{flex:0 0 var(--pdf-citations-width);width:var(--pdf-citations-width);border-right:1px solid #eef2f7;background:#fbfbfb;overflow-y:auto;overflow-x:hidden;padding:8px 12px 12px 8px;box-sizing:border-box}.pdf-citations *{max-width:100%;word-break:break-word}.tool-calls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;margin-top:16px}.tool-call-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0445b72e,0 1px 3px #0000001a;font-size:12px;font-family:Montserrat,sans-serif;color:#0e0044;animation:tool-call-pop .35s cubic-bezier(.34,1.4,.64,1) both}.tool-call-pill:nth-child(2){animation-delay:.07s}.tool-call-pill:nth-child(3){animation-delay:.14s}.tool-call-spinner{width:12px;height:12px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#0cc1a3,#0445b7);animation:toolDotBreathe 1.8s ease-in-out infinite}@keyframes toolDotBreathe{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.tool-call-name{font-weight:400;color:#0e0044}.tool-call-input{display:none}@keyframes tool-call-pop{0%{opacity:0;transform:scale(.85) translateY(4px)}70%{opacity:1}to{transform:scale(1) translateY(0)}}.pdf-container{display:flex;width:100%;height:100%;gap:0}.pdf-content{flex:1;overflow:auto;background:#f8fafc;padding:24px 8px 24px 24px}.pdf-toolbar{display:flex;align-items:center;justify-content:center;padding:16px 24px;border-top:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#fff,#f8fafc);gap:8px}.pdf-toolbar-left{display:flex;gap:8px}.pdf-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #00000014,0 1px 3px #0000001a;position:relative;overflow:hidden}.pdf-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0445b714,#0cc1a314);opacity:0;transition:opacity .3s ease;border-radius:12px}.pdf-btn:hover{background:#fffffff2;color:#475569;transform:translateY(-1px);box-shadow:0 8px 30px #0000001f,0 2px 8px #00000026;border-color:#0445b726}.pdf-btn:hover:before{opacity:1}.pdf-btn:active{transform:translateY(0);box-shadow:0 2px 10px #0000001a}.pdf-btn svg{width:20px;height:20px;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.05))}.pdf-btn:hover svg{transform:scale(1.05);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.pdf-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pdf-page-label{font-size:14px;font-weight:600;color:#475569;white-space:nowrap;padding:10px 16px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:12px;box-shadow:0 2px 12px #0000000f,0 1px 3px #00000014;transition:all .2s ease}.typing-hud{display:grid;grid-template-columns:36px 1fr;column-gap:16px;align-items:flex-start;animation:typingSlideIn .3s ease-out}.typing-hud-inner{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;width:120px;border-radius:8px;border:none;background:#fff;box-shadow:0 1px 4px #00000014;color:#0e0044;font-size:12px;font-family:Montserrat,sans-serif;grid-column:2}.typing-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#0cc1a3,#0445b7);animation:pulseDot 1.4s cubic-bezier(.1,.4,.5,1) infinite}.typing-text{color:#0e0044;font-weight:400}@keyframes typingSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.loading-sequence{display:grid;grid-template-columns:36px 1fr;column-gap:16px;align-items:flex-start;animation:typingSlideIn .3s ease-out}.loading-sequence-steps{display:flex;flex-direction:column;align-items:flex-start;gap:0}.loading-sequence-connector{position:relative;width:4px;height:24px;border-radius:2px;overflow:hidden;margin-left:12px;background:#0e00440f;animation:connector-track-in .2s ease-out both}.loading-sequence-connector:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,transparent 0px,transparent 4px,#0cc1a3 4px,#0cc1a3 8px,transparent 8px,transparent 12px);background-size:100% 24px;animation:connector-travel .6s linear infinite;opacity:.85}.loading-sequence-tool{animation:sequence-card-pop .32s cubic-bezier(.34,1.4,.64,1) .15s both}.loading-sequence-tool:last-child .tool-call-pill{box-shadow:0 2px 8px #0445b72e,0 1px 3px #0000001a,0 0 0 2px #0cc1a340}@keyframes connector-track-in{0%{transform:scaleY(0);transform-origin:top;opacity:0}to{transform:scaleY(1);transform-origin:top;opacity:1}}@keyframes connector-travel{0%{background-position:0 0}to{background-position:0 24px}}@keyframes sequence-card-pop{0%{opacity:0;transform:scale(.88) translateY(-4px)}60%{opacity:1}to{transform:scale(1) translateY(0)}}.msg-content:has(.bubble--arriving){animation:bubble-arrive-glow .6s ease-out both}@keyframes bubble-arrive-glow{0%{box-shadow:-1px 1px 4px #0445b71a,0 0 12px #0445b70d,0 0 0 2px #0cc1a380}60%{box-shadow:-1px 1px 4px #0445b71a,0 0 12px #0445b70d,0 0 0 3px #0cc1a333}to{box-shadow:-1px 1px 4px #0445b71a,0 0 12px #0445b70d,0 0 #0cc1a300}}.tool-calls-inline{display:flex;flex-direction:column;gap:6px;margin-top:12px}.pdf-sources{width:100%}.pdf-sources-title{padding:10px 10px 6px;font-size:12px;font-weight:600;color:#374151}.pdf-sources-list{list-style:none;margin:0;padding:0 12px 12px 8px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.pdf-source-item{display:flex;width:100%;text-align:left;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:#111827;cursor:pointer}.pdf-source-item.active{background:#e7f9f6}.pdf-source-rank{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);font-size:12px;color:#374151}.pdf-source-text{display:inline-block;overflow:hidden}.pdf-source-filename{display:block;font-size:12px;font-weight:600;color:#111827}.pdf-source-page{display:block;font-size:11px;color:#6b7280}.pdf-source-snippet{display:block;font-size:11px;color:#6b7280;margin-top:2px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1280px){.modal-content{width:95vw}}@media (max-width: 1024px){.pdf-thumbs,.pdf-citations{display:none}.modal-content{width:96vw;height:92vh}}@media (max-width: 640px){.modal-content{width:98vw;height:92vh;border-radius:10px}}@media (max-width: 900px){.chat-layout{grid-template-columns:0fr 1fr;position:relative}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,320px);max-width:92vw;transform:translate(-100%);transition:transform .2s ease-in-out;z-index:9999;box-shadow:0 10px 30px #0000002e}.chat-container.drawer-open .sidebar{transform:translate(0)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);z-index:900}.mobile-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}.sidebar-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:8px;width:36px;height:36px;display:inline-grid;place-items:center;cursor:pointer}}@media (min-width: 901px){.mobile-bar{display:none}}.older-messages{display:flex;justify-content:center;margin:8px 0}.toasts{position:fixed;top:16px;right:16px;display:grid;gap:10px;z-index:2000}.toast{display:flex;align-items:center;gap:16px;border-radius:4px;padding:16px;font-size:16px;line-height:1.5;border:1px solid rgba(14,0,68,.1);background:#f8fafc;color:#0e0044;box-shadow:0 1px 4px #00000014;font-family:Montserrat,sans-serif}.toast-body{flex:1}.toast-close{flex-shrink:0;background:transparent;border:none;padding:0;cursor:pointer;font-size:20px;color:currentColor;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1}.toast.info{background:#eef2ff;border-color:#c7d2fe;color:#0e0044}.toast.success{background:#e1fcef;border-color:#08522d;color:#08522d}.toast.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.sources-accordion{margin-top:6px;border:0;background:transparent}.sources-acc-header{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:0;border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;color:#6b7280;font-weight:400;cursor:pointer;transition:background .14s ease,color .14s ease;margin-bottom:2px}.sources-acc-header:hover{background:#f3f4f6}.sources-acc-title{font-size:14px;line-height:1.25rem;font-weight:300;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.00938em;top:0;color:#757575;margin:8px 0 4px}.sources-acc-chevron{display:inline-flex;transition:transform .16s ease,color .14s ease;color:#6b7280}.sources-acc-chevron.open{transform:rotate(180deg)}.sources-acc-list{list-style:none;margin:0;padding:0;background:#fff;border-top:1px solid var(--border);border-bottom-left-radius:10px;border-bottom-right-radius:10px}.sources-acc-item+.sources-acc-item{border-top:1px solid #eef2f7}.sources-acc-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;width:100%;text-align:left;padding:5px 0;display:flex;align-items:baseline;gap:4px;color:#564d7c;cursor:pointer}.sources-acc-link:hover{opacity:.8}.sources-acc-num{flex-shrink:0;font-size:12px;font-weight:400;font-family:Montserrat,sans-serif;color:#564d7c;line-height:20px}.sources-acc-name{flex:1;font-size:12px;font-weight:400;font-family:Montserrat,sans-serif;font-style:italic;color:#564d7c;line-height:20px;margin-right:8px}.sources-acc-page{flex-shrink:0;font-size:12px;font-weight:400;font-family:Montserrat,sans-serif;font-style:normal;color:#564d7c;line-height:20px;white-space:nowrap}.sources-hud{display:none}.disclaimer-modal{width:min(92vw,595px);max-width:min(92vw,595px);border-radius:5px;box-shadow:0 5px 5px #00000040;padding:32px}.disclaimer-header{display:flex;align-items:flex-start;gap:8px;width:100%;margin-bottom:40px}.disclaimer-header-text{flex:1;display:flex;flex-direction:column;gap:10px}.disclaimer-title{margin:0;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:600;font-size:24px;line-height:normal}.disclaimer-body-text{margin:0;color:#0e0044;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:15px;line-height:normal}.disclaimer-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#0e0044;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.disclaimer-close:hover{background:#0e00440f}.disclaimer-link{color:#0e0044;font-weight:600;text-decoration:underline}.disclaimer-actions{display:flex;justify-content:flex-end;gap:16px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:4px;padding:12px 24px;height:42px;min-width:140px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:700;line-height:18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn-outline{background:#fff;color:#0e0044;border:1px solid #0e0044}.btn-outline:hover{background:#0e00440a}.btn-solid{background:#0e0044;color:#fff;border:1px solid #0e0044}.btn-solid:hover{filter:brightness(.92)}.feedback-modal{width:min(92vw,595px);max-width:min(92vw,595px);border-radius:5px;box-shadow:0 5px 5px #00000040;padding:32px}.feedback-subtitle-text{color:#0e0044!important}.feedback-form{margin-bottom:40px}.feedback-textarea{width:100%;resize:vertical;border-radius:4px;border:1px solid #d5d9e3;outline:none;padding:14px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;color:#0e0044;background:#fff;box-sizing:border-box}.feedback-textarea::placeholder{color:#9aa3b2}.feedback-textarea:focus{border-color:#0e0044;box-shadow:0 0 0 2px #0e00441a}.pipeline-hud .stage.active{background:#0e0044;color:#fff;border-color:#0e0044;box-shadow:0 4px 12px #0e004459;transform:translateY(-1px)}.stages{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;font-weight:600}.stages.small{font-size:11px}.stage.active{color:#0f172a}.stage.pulse{position:relative}.stage.pulse:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-2px;height:2px;background:#0e004440;animation:pulseLine 1.2s ease-in-out infinite}.pipeline-hud .stage.active.pulse:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-4px;height:2px;background:#fff9;animation:pulseLine 1.2s ease-in-out infinite;border-radius:1px}.pipeline-hud .arrow{color:#6b7280;font-weight:300;opacity:.7;font-size:14px}.arrow{opacity:.5}@keyframes pulseLine{0%{transform:scaleX(0);opacity:.6}50%{transform:scaleX(1);opacity:1}to{transform:scaleX(0);opacity:.6}}.pipeline-inline{margin-bottom:8px;display:flex;align-items:center;gap:16px;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:1px solid rgba(4,69,183,.2);border-radius:12px;box-shadow:0 4px 12px #0445b714,0 2px 4px #0445b70f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.pipeline-inline:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(4,69,183,.08),transparent);animation:shimmer 2s infinite}.pipeline-inline .stages{display:flex;align-items:center;gap:12px;font-size:13px;color:#374151;font-weight:500;z-index:1;position:relative}.pipeline-inline .stage{position:relative;padding:4px 8px;border-radius:8px;transition:all .3s ease;background:#fffc;border:1px solid rgba(0,0,0,.05)}.pipeline-inline .stage.active{color:#fff;background:linear-gradient(135deg,#0e0044,#0445b7);box-shadow:0 2px 8px #0445b766,0 0 0 1px #0445b733;transform:scale(1.02);border:1px solid rgba(4,69,183,.3)}.pipeline-inline .stage.active.pulse:after{background:#fff9;animation:pulseLine 1.2s ease-in-out infinite}.pipeline-inline .arrow{color:#6b7280;font-weight:300;opacity:.7;font-size:14px}.pipeline-inline .epic-loader{z-index:1;position:relative;width:40px;height:40px}.professional-loader{width:100%;max-width:none;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;margin:0 auto}.loader-content{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;padding:12px 0}.loader-text-section{display:flex;flex-direction:column;align-items:center;gap:12px}.pipeline-section,.pipeline-section .stages{display:flex;align-items:center;gap:8px}.pipeline-section .stage{position:relative;padding:8px 12px;border-radius:999px;transition:all .3s ease;background:#fffc;border:1px solid rgba(2,6,23,.12);font-size:13px;font-weight:600;color:#374151;white-space:nowrap}.pipeline-section .stage.active{background:#0e0044;color:#fff;border-color:#0e0044;box-shadow:0 4px 12px #0e004459;transform:translateY(-1px)}.pipeline-section .stage.active.pulse:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-4px;height:2px;background:#fff9;animation:pulseLine 1.2s ease-in-out infinite;border-radius:1px}.pipeline-section .arrow{color:#6b7280;font-weight:300;opacity:.7;font-size:14px}.loader-icon{animation:iconPulse 2s ease-in-out infinite}.loader-icon svg{filter:drop-shadow(0 2px 8px rgba(4,69,183,.2))}.loader-icon path{stroke-dasharray:28;stroke-dashoffset:28;animation:drawClock 2s ease-in-out infinite}.loader-text{font-size:15px;font-weight:500;color:#374151;text-align:center;letter-spacing:-.005em;line-height:1.4;max-width:none}.loader-progress{width:100%;max-width:120px}.progress-bar{width:100%;height:3px;background:#0445b71a;border-radius:2px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#0cc1a3cc,#0445b7e6,#0cc1a3cc);border-radius:2px;animation:progressFlow 2.5s ease-in-out infinite;position:relative}.progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShine 2.5s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}@keyframes drawClock{0%{stroke-dashoffset:28;opacity:.3}50%{stroke-dashoffset:14;opacity:.8}to{stroke-dashoffset:0;opacity:.3}}@keyframes textFade{0%,to{opacity:.7}50%{opacity:1}}@keyframes progressFlow{0%{width:0%}60%{width:100%}to{width:100%}}@keyframes progressShine{0%{left:-100%}60%{left:100%}to{left:100%}}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:#0e0044;cursor:pointer;transition:background .15s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background:#0e00440d}.sidebar-toggle-btn:active{background:#0e00441a}.sidebar-toggle-tooltip{position:fixed;z-index:10000;pointer-events:none;white-space:nowrap;display:flex;flex-direction:column;align-items:center}.sidebar-toggle-tooltip-box{background:#0e0044;color:#fff;font-family:Montserrat,sans-serif;font-size:14px;font-weight:400;padding:12px;border-radius:5px}.sidebar-toggle-tooltip-caret{width:0;height:0;border:6px solid transparent;border-bottom-color:#0e0044;margin-bottom:-1px;order:-1}.sidebar-toggle-tooltip--above{flex-direction:column-reverse}.sidebar-toggle-tooltip--above .sidebar-toggle-tooltip-caret{border-bottom-color:transparent;border-top-color:#0e0044;margin-bottom:0;margin-top:-1px;order:1}.sidebar-reopen-btn{position:absolute;top:16px;left:16px;z-index:100;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:#ffffffe6;color:#374151;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000001a}.sidebar-reopen-btn:hover{background:#fffffff2;color:#1f2937;transform:scale(1.05)}@media (min-width: 901px){.chat-container.desktop-sidebar-hidden{grid-template-columns:64px 1fr}.chat-container.desktop-sidebar-hidden .sidebar{width:64px;min-width:64px;padding:16px 8px;align-items:center;overflow:hidden}.chat-container.desktop-sidebar-hidden .sidebar-header{width:100%;align-items:center;gap:16px}.chat-container.desktop-sidebar-hidden .sidebar-logo{display:none}.chat-container.desktop-sidebar-hidden .sidebar-heading-row{justify-content:center}.chat-container.desktop-sidebar-hidden .sidebar-toggle-btn svg{transform:rotate(180deg)}.chat-container.desktop-sidebar-hidden .sidebar-new.tile{width:auto;height:auto;padding:8px;justify-content:center;margin-top:4px;margin-bottom:8px}.chat-container.desktop-sidebar-hidden .sidebar-new.tile .tile-label{display:none}.chat-container.desktop-sidebar-hidden .thread-list{overflow-y:auto;overflow-x:visible;min-height:0;flex:1;scrollbar-width:none}.chat-container.desktop-sidebar-hidden .thread-list::-webkit-scrollbar{display:none}.chat-container.desktop-sidebar-hidden .thread-group{padding:0;gap:8px;justify-items:center}.chat-container.desktop-sidebar-hidden .thread-group-title{font-size:11px;text-align:center;padding:8px 0 4px}.chat-container.desktop-sidebar-hidden .thread-group-title-full{display:none}.chat-container.desktop-sidebar-hidden .thread-group-title-mini{display:inline}.chat-container.desktop-sidebar-hidden .thread-item{width:40px;height:40px;border-radius:50%;justify-content:center;padding-left:0;position:relative;background:transparent}.chat-container.desktop-sidebar-hidden .thread-item.active{background:#e7f9f6;border-left:none;border-radius:8px}.chat-container.desktop-sidebar-hidden .thread-item:hover{background:#e7f9f6;border-radius:8px}.chat-container.desktop-sidebar-hidden .thread-item:active{background:#cef3ed}.chat-container.desktop-sidebar-hidden .thread-item .thread-main{padding:4px;justify-content:center;gap:0}.chat-container.desktop-sidebar-hidden .thread-avatar{width:32px;height:32px;margin-top:0}.chat-container.desktop-sidebar-hidden .thread-text,.chat-container.desktop-sidebar-hidden .thread-item .thread-actions,.chat-container.desktop-sidebar-hidden .sidebar-reopen-btn{display:none}}.thread-tooltip{position:fixed;background:#0e0044;color:#fff;font-size:14px;font-family:Montserrat,sans-serif;font-weight:400;padding:12px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:10000;opacity:0;transition:opacity .15s ease}.thread-tooltip:before{content:"";position:absolute;top:50%;left:-6px;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #0e0044}.thread-tooltip.visible{opacity:1}@media (min-width: 901px){.chat-layout.pdf-open.desktop-sidebar-hidden{grid-template-columns:64px 1fr}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar{width:64px;min-width:64px;padding:16px 8px;align-items:center;overflow:hidden}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-logo{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-heading-row{justify-content:center}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-toggle-btn svg{transform:rotate(180deg)}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-new.tile{width:auto;height:auto;padding:8px;justify-content:center;margin-top:4px;margin-bottom:8px}.chat-layout.pdf-open.desktop-sidebar-hidden .sidebar-new.tile .tile-label{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-list{overflow-y:auto;scrollbar-width:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-list::-webkit-scrollbar{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group{padding:0;gap:8px;justify-items:center}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group-title{font-size:11px;text-align:center;padding:8px 0 4px}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group-title-full{display:none}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-group-title-mini{display:inline}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item{width:40px;height:40px;border-radius:50%;justify-content:center;padding-left:0;background:transparent}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item.active{background:#e7f9f6;border-left:none;border-radius:8px}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item:hover{background:#e7f9f6;border-radius:8px}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item:active{background:#cef3ed}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item .thread-main{padding:4px;justify-content:center;gap:0}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-avatar{width:32px;height:32px;margin-top:0}.chat-layout.pdf-open.desktop-sidebar-hidden .thread-text,.chat-layout.pdf-open.desktop-sidebar-hidden .thread-item .thread-actions{display:none}.chat-layout.pdf-open .resizable-panels{grid-column:2 / -1}}@media (max-width: 900px){.chat-layout.pdf-open .sidebar{display:none}.chat-layout.pdf-open .resizable-panels{grid-column:1 / -1}}.chat-container.pdf-fullscreen .messages-main{display:none}.chat-container.pdf-fullscreen .pdf-viewer-aside{grid-column:2 / -1}.chat-container.pdf-fullscreen.desktop-sidebar-hidden .pdf-viewer-aside{grid-column:1 / -1}.chat-layout.no-sidebar{grid-template-columns:1fr}.chat-layout.no-sidebar .sidebar{display:none}.chat-layout.no-sidebar .messages-panel{border-left:none}.chat-layout.no-sidebar .messages-main{grid-column:1 / -1}.citations-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.citations-modal{background:#fff;border-radius:5px;box-shadow:0 5px 5px #00000040;max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.citations-modal-header{display:flex;align-items:flex-start;gap:8px;padding:32px 32px 0}.citations-modal-header h3{flex:1;margin:0;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:24px;font-weight:600;color:#0e0044;line-height:normal}.citations-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#0e0044;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.citations-modal-close:hover{background:#0e00440f}.citations-modal-body{padding:16px 32px 32px;overflow-y:auto}.pdf-viewer-aside{height:100%;overflow:hidden}.pdf-aside{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;overflow:hidden}.modal-body--html{flex:1;height:0!important;min-height:0;overflow:auto!important}.modal-body--html *{padding:0 30px}.html-viewer-highlight{position:relative;background-color:#e7f9f6;padding:10px 45px!important}.html-viewer-highlight p.text:first-child{background:transparent!important}.pdf-aside-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.pdf-aside-header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pdf-aside-subtitle{font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:12.8px;font-weight:600;color:#0e0044;line-height:normal}.pdf-aside-title{font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:700;color:#0e0044;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.pdf-aside-controls{display:flex;align-items:center;gap:16px;margin-left:16px;flex-shrink:0}.pdf-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:4px;color:#0e0044;cursor:pointer;padding:6px;transition:background .15s ease;position:relative}.pdf-icon-btn:hover{background:#0e00440f}.pdf-icon-btn:after,.pdf-close-btn-new:after{content:attr(title);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:#0e0044;color:#fff;font-size:14px;font-weight:400;font-family:Montserrat,sans-serif;line-height:normal;padding:12px;border-radius:5px;white-space:nowrap;text-align:center;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10000}.pdf-icon-btn:before,.pdf-close-btn-new:before{content:"";position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#0e0044;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10001}.pdf-icon-btn:hover:after,.pdf-close-btn-new:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.pdf-icon-btn:hover:before,.pdf-close-btn-new:hover:before{opacity:1}.pdf-close-btn-new{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid #0e0044;border-radius:4px;color:#0e0044;cursor:pointer;padding:6px;transition:background .15s ease;position:relative}.pdf-close-btn-new:hover{background:#0e00440a}.pdf-close-btn{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;cursor:pointer;padding:6px}.pdf-close-btn:hover{background:#ef444426;color:#b91c1c}.viewer-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #e0e0e0;background:#fff;box-shadow:0 0 16px #4343431f;flex-shrink:0}.viewer-footer-left{display:flex;align-items:center;min-width:105px}.viewer-footer-center{display:flex;align-items:center;gap:0}.viewer-footer-right{display:flex;align-items:center;justify-content:flex-end;min-width:105px}.viewer-citations-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;border-radius:4px;padding:12px;height:32px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700;color:#0e0044;cursor:pointer;white-space:nowrap;transition:background .12s ease}.viewer-citations-btn:hover{background:#0e00440d}.viewer-citations-btn:active{background:#0e004414}.viewer-citations-btn--open svg{transform:rotate(180deg)}.citations-dropdown{background:#fff;padding:16px 24px;flex-shrink:0}.citations-dropdown-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#e0e0e0 transparent;padding-bottom:8px}.citations-dropdown-scroll::-webkit-scrollbar{height:8px}.citations-dropdown-scroll::-webkit-scrollbar-track{background:transparent}.citations-dropdown-scroll::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:6px}.citation-card{display:flex;align-items:flex-start;gap:8px;min-width:200px;flex-shrink:0;padding:8px 12px;border-radius:8px;background:#fff;border:1px solid transparent;cursor:pointer;text-align:left;transition:background .12s ease;font-family:Montserrat,sans-serif}.citation-card:hover{background:#e7f9f6}.citation-card--active{background:#e7f9f6;border:1px solid #0cc1a3;border-left:4px solid #0cc1a3}.citation-card-rank{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;border:1px solid #0e0044;border-radius:4px;background:#fff;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;color:#0e0044;line-height:18px;flex-shrink:0}.citation-card-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.citation-card-name{font-size:12px;font-weight:500;color:#0e0044;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citation-card-meta{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:500;color:#6e668f;line-height:12px;white-space:nowrap}.citation-card-dot{width:2px;height:2px;border-radius:2px;background:#6e668f;flex-shrink:0}.viewer-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:none;border-radius:4px;color:#0e0044;cursor:pointer;padding:12px;transition:background .15s ease}.viewer-nav-btn:hover:not(:disabled){background:#0e00440f}.viewer-nav-btn:disabled{opacity:.35;cursor:not-allowed}.viewer-page-info{display:flex;align-items:center;gap:10px;padding:0 8px}.viewer-page-current{display:inline-block;background:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;padding:12px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:500;color:#0e0044;text-align:center;min-width:44px;line-height:24px;cursor:pointer}.viewer-page-sep,.viewer-page-total{font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:500;color:#0e0044}.viewer-page-input{background:#f5f5f5;border:1px solid #f5f5f5;border-radius:4px;padding:12px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:500;color:#0e0044;text-align:center;width:60px;outline:none}.viewer-page-input:focus{border-color:#0e0044}.pdf-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.pdf-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.pdf-toolbar-left,.pdf-toolbar-right{display:flex;align-items:center;gap:12px}.pdf-toolbar button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #0000000f,0 1px 3px #00000014;border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden}.pdf-toolbar button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0445b70f,#0cc1a30f);opacity:0;transition:opacity .3s ease;border-radius:10px}.pdf-toolbar button:hover{background:#fffffff2;color:#475569;transform:translateY(-1px);box-shadow:0 6px 24px #0000001a,0 2px 8px #0000001f;border-color:#0445b733}.pdf-toolbar button:hover:before{opacity:1}.pdf-toolbar button:active{transform:translateY(0);box-shadow:0 2px 8px #00000014}.pdf-toolbar button:disabled{opacity:.5;cursor:not-allowed;transform:none}.pdf-toolbar button svg{width:18px;height:18px;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.03))}.pdf-toolbar button:hover svg{transform:scale(1.05);filter:drop-shadow(0 1px 3px rgba(0,0,0,.08))}.resizable-panels,.chat-container.desktop-sidebar-hidden .resizable-panels{grid-column:2 / -1}.panel-separator{background:#f5f5f5;width:24px;cursor:col-resize;border:none;border-radius:0;transition:background .15s ease;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:-5.4px 0 5.4px #0000001a}.panel-separator:hover{background:#ebebeb}.panel-separator:before{content:"";position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:#0e0044;transform:translate(calc(-50% - 3.5px),-50%);box-shadow:0 -8px #0e0044,0 8px #0e0044,7px 0 #0e0044,7px -8px #0e0044,7px 8px #0e0044}.thread-menu{background:#fff;border:1px solid rgba(2,6,23,.12);border-radius:8px;box-shadow:0 8px 24px #0206171f;min-width:160px;padding:4px 0}.thread-menu-item{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:13px;color:#0f172a;cursor:pointer}.thread-menu-item:hover{background:#0206170a}.thread-menu-item.danger{color:#dc2626}.thread-menu-item.danger:hover{background:#dc26260f}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes widget-panel-in{0%{opacity:0;transform:scale(.88) translateY(24px);transform-origin:bottom right}60%{opacity:1}to{opacity:1;transform:scale(1) translateY(0);transform-origin:bottom right}}@keyframes widget-body-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.widget-portal{position:fixed;bottom:24px;right:24px;width:min(740px,calc(100vw - 48px));height:min(800px,calc(100vh - 48px));z-index:9999;display:flex;flex-direction:column;box-shadow:0 0 10px 1px #d9d8d8}@media (max-width: 520px){.widget-portal{top:0;left:0;width:100%;height:100%;bottom:0;right:0}}.widget-root{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;height:auto;width:auto;margin-right:24px}.widget-panel{display:flex;flex-direction:column;flex:1;height:100%;border-radius:8px;overflow:hidden;box-shadow:0 0 100px 10px #f3f3f3;background:#fff;transition:box-shadow .3s ease,border-radius .3s ease}@media (max-width: 520px){.widget-panel{border-radius:0}}.widget-panel--open{animation:widget-panel-in .42s cubic-bezier(.22,1,.36,1) both}.widget-panel--minimized{height:auto;align-self:flex-end;border-radius:12px;box-shadow:0 8px 32px #0445b733,0 2px 8px #0000001a;cursor:pointer}.widget-panel--minimized .widget-header{border-bottom:none;border-radius:40px;padding:8px 16px}.widget-panel--minimized:hover{box-shadow:0 12px 40px #0445b747,0 4px 12px #0000001f;transform:translateY(-2px);transition:box-shadow .2s ease,transform .2s ease}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.widget-header-agent{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.widget-header-avatar-wrap{position:relative;flex-shrink:0}.widget-header-avatar{width:32px;height:32px;border-radius:50%;border:1px solid #0cc1a3;overflow:hidden}.widget-header-avatar img{width:100%;height:100%;object-fit:cover}.widget-header-text{display:flex;flex-direction:column;justify-content:center;min-width:0}.widget-header-name{font-size:14px;font-weight:700;color:#0e0044;line-height:1.2}.widget-header-role{font-size:10px;font-weight:400;color:#0e0044;line-height:1.2}.widget-header-actions{display:flex;align-items:center;flex-shrink:0;margin-left:12px}.widget-open-icon{display:flex;align-items:center;flex-shrink:0}.widget-icon-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;border-radius:4px;cursor:pointer;color:#0e0044}.widget-icon-btn:hover{background:#0000000f}.widget-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;animation:widget-body-in .25s cubic-bezier(.22,1,.36,1) both}.widget-body .chat-container{flex:1;min-height:0;height:100%;border:none;border-radius:0;box-shadow:none;overflow:hidden}.widget-body .resizable-panels{flex:1!important;min-height:0!important;overflow:hidden!important}.widget-body .messages-panel{overflow:hidden!important;border-left:none}.widget-body .messages-main{height:100%;min-height:0;overflow-y:auto}.widget-body .messages{min-height:0;padding:16px 20px}.widget-body .messages-loading{min-height:0}.widget-body .mobile-bar{display:none!important}.widget-online-dot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:#0cc1a3;border:2px solid #fff;animation:widget-dot-pulse 2.4s ease-in-out infinite}@keyframes widget-dot-pulse{0%,to{box-shadow:0 0 #0cc1a380}50%{box-shadow:0 0 0 4px #0cc1a300}}.ts-modal{max-width:760px;max-height:90vh;display:flex;flex-direction:column;padding:0;border-radius:12px;overflow:hidden}.ts-header-badge{display:inline-block;padding:3px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:100px;background:#0e004412;color:#5a5278;margin-bottom:8px}.ts-header-meta{margin:6px 0 0;font-size:13px;color:#5a5278;font-weight:400}.ts-scroll-body{flex:1;overflow-y:auto;padding:24px 32px 32px}.ts-card{border-radius:10px;margin-bottom:20px}.ts-summary-card{padding:20px;background:#0e004408;border:1px solid rgba(14,0,68,.06)}.ts-summary-text{margin:0;font-size:15px;line-height:1.7;color:#1a1145}.ts-confidence-card{padding:16px 20px;background:#fefce8;border:1px solid #fde68a}.ts-confidence-row{display:flex;align-items:flex-start;gap:12px}.ts-confidence-desc{font-size:13px;line-height:1.5;color:#78350f}.ts-confidence-flags{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(253,230,138,.8)}.ts-flag-card{display:flex;gap:8px;align-items:flex-start}.ts-flag-icon{flex-shrink:0;color:#b45309;margin-top:2px}.ts-flag-text{font-size:13px;line-height:1.5;color:#78350f}.ts-flag-text strong{font-weight:600;color:#92400e}.ts-section{padding:20px 0;border-bottom:1px solid rgba(14,0,68,.06)}.ts-section:last-child{border-bottom:none;padding-bottom:0}.ts-heading{margin:0 0 14px;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;color:#8a83a3;text-transform:uppercase;letter-spacing:.1em}.ts-parties{display:flex;align-items:stretch;gap:0}.ts-party-card{flex:1;padding:16px;border-radius:8px;background:#0e004408;border:1px solid rgba(14,0,68,.06)}.ts-party-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3;margin-bottom:6px}.ts-party-name{font-size:15px;font-weight:600;color:#0e0044;line-height:1.3}.ts-party-detail{font-size:13px;color:#5a5278;margin-top:2px}.ts-vs{display:flex;align-items:center;padding:0 14px;font-size:12px;font-weight:600;color:#8a83a3;text-transform:uppercase;letter-spacing:.05em}.ts-details-grid{display:flex;flex-direction:column;gap:0}.ts-info-row{display:flex;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(14,0,68,.04)}.ts-info-row:last-child{border-bottom:none}.ts-info-icon{margin-right:8px;font-size:14px}.ts-info-label{font-size:13px;color:#8a83a3;min-width:160px;flex-shrink:0}.ts-info-value{font-size:14px;color:#1a1145;font-weight:500}.ts-tags{display:flex;flex-wrap:wrap;gap:6px}.ts-tag{display:inline-block;padding:4px 12px;font-size:12px;font-weight:500;border-radius:6px;background:#0e00440d;color:#2d2554}.ts-tag-legal{background:#0445b714;color:#0445b7;font-weight:600;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif}.ts-pill{display:inline-block;padding:3px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:100px;white-space:nowrap}.pill-success{background:#dcfce7;color:#15803d}.pill-warning{background:#fef3c7;color:#a16207}.pill-danger{background:#fee2e2;color:#b91c1c}.pill-neutral{background:#0e00440f;color:#5a5278}.ts-orders-list{display:flex;flex-direction:column;gap:8px}.ts-order-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:8px;background:#0e004405;border:1px solid rgba(14,0,68,.06);transition:background .15s,border-color .15s}.ts-order-card.ts-clickable{cursor:pointer}.ts-order-card.ts-clickable:hover{background:#0e00440d;border-color:#0e00441f}.ts-order-badge{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#0e0044;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.ts-order-text{font-size:14px;line-height:1.6;color:#1a1145;padding-top:2px}.ts-claims-list{display:flex;flex-direction:column;gap:10px}.ts-claim-card{padding:16px;border-radius:8px;background:#0e004405;border:1px solid rgba(14,0,68,.06)}.ts-claim-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ts-claim-type{font-size:14px;font-weight:600;color:#0e0044;text-transform:capitalize}.ts-claim-amounts{display:flex;gap:24px;margin-top:10px}.ts-claim-amount{display:flex;flex-direction:column;gap:1px}.ts-claim-amount-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3}.ts-claim-amount-value{font-size:15px;font-weight:500;color:#2d2554}.ts-claim-amount-awarded{font-weight:700;color:#0e0044}.ts-claim-reason{margin:10px 0 0;font-size:13px;line-height:1.6;color:#5a5278}.ts-awards-bar{display:flex;gap:0;margin-top:14px;border-radius:8px;overflow:hidden;border:1px solid rgba(14,0,68,.08)}.ts-awards-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;background:#0e004405;border-right:1px solid rgba(14,0,68,.06)}.ts-awards-item:last-child{border-right:none}.ts-awards-highlight{background:#0e0044}.ts-awards-item-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3}.ts-awards-highlight .ts-awards-item-label{color:#ffffffb3}.ts-awards-item-value{font-size:16px;font-weight:700;color:#0e0044}.ts-awards-highlight .ts-awards-item-value{color:#fff}.ts-bond-table{margin-top:12px;border-radius:8px;border:1px solid rgba(14,0,68,.06);overflow:hidden}.ts-bond-row{display:flex;justify-content:space-between;font-size:14px;color:#2d2554;padding:10px 16px;border-bottom:1px solid rgba(14,0,68,.04)}.ts-bond-row:last-child{border-bottom:none}.ts-value-bold{font-weight:600;color:#0e0044}.ts-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid rgba(14,0,68,.08)}.ts-table{width:100%;border-collapse:collapse;font-size:13px}.ts-table th{text-align:left;padding:10px 14px;font-weight:600;color:#0e0044;background:#0e00440a;border-bottom:2px solid rgba(14,0,68,.08)}.ts-table td{padding:8px 14px;color:#2d2554;border-bottom:1px solid rgba(14,0,68,.04)}.ts-table tr:last-child td{border-bottom:none}.ts-reason-block{margin-bottom:20px}.ts-reason-block:last-child{margin-bottom:0}.ts-reason-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ts-reason-title{margin:0;font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;font-size:15px;font-weight:600;color:#0e0044}.ts-page-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0e00440f;border:none;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:600;color:#5a5278;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;flex-shrink:0}.ts-page-chip:hover{background:#0e0044;color:#fff}.ts-paragraphs{display:flex;flex-direction:column;gap:4px}.ts-para{display:flex;align-items:flex-start;gap:12px;padding:8px 12px;border-radius:8px;transition:background .15s}.ts-para.ts-clickable{cursor:pointer}.ts-para.ts-clickable:hover{background:#0e00440a}.ts-para-badge{display:flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:6px;background:#0e00440f;color:#5a5278;font-size:12px;font-weight:700;flex-shrink:0;margin-top:2px}.ts-clickable:hover .ts-para-badge,.ts-clickable:hover .ts-order-badge{background:#0e0044;color:#fff}.ts-para-body{flex:1;min-width:0}.ts-para-body p{margin:0;font-size:14px;line-height:1.7;color:#2d2554}.ts-sub-items{margin:6px 0 0 16px;padding:0;list-style:disc;font-size:13px;color:#5a5278}.ts-sub-items li{margin-bottom:3px;line-height:1.5}.ts-footnotes{margin-top:12px;padding:10px 14px;border-radius:8px;background:#0e004405}.ts-footnote{font-size:12px;color:#5a5278;margin-bottom:4px;line-height:1.5}.ts-footnote:last-child{margin-bottom:0}.ts-footnote sup{font-weight:700;color:#0e0044;margin-right:4px}.ts-ref-group{margin-bottom:14px}.ts-ref-group:last-child{margin-bottom:0}.ts-ref-label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;color:#5a5278}.ts-findings-grid{display:flex;flex-wrap:wrap;gap:8px}.ts-finding-card{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:8px;background:#0e004408;border:1px solid rgba(14,0,68,.05);min-width:140px;flex:1}.ts-finding-alert{background:#fef2f2;border-color:#fecaca}.ts-finding-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a83a3}.ts-finding-alert .ts-finding-label{color:#b91c1c}.ts-finding-value{font-size:15px;font-weight:600;color:#0e0044;text-transform:capitalize}.ts-finding-alert .ts-finding-value{color:#b91c1c}.ts-clickable{cursor:pointer}.sidebar-loading-more{display:flex;justify-content:center;padding:12px 0}.messages-loading-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0;font-size:13px;color:#64748b}.scroll-to-bottom-btn{position:sticky;bottom:80px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;max-width:32px;height:32px;border-radius:50%;border:1px solid #c4c4c4;background:#fff;color:#0e0044;cursor:pointer;box-shadow:0 0 2px #0003;transition:background .15s,box-shadow .15s;margin:0 auto;flex-shrink:0}.scroll-to-bottom-btn:hover{background:#f3f4f6;box-shadow:0 0 4px #00000040}';
|
|
21
21
|
var Ad = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
22
22
|
function eo(n) {
|
|
23
23
|
return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
|
|
@@ -148,14 +148,14 @@ function xS() {
|
|
|
148
148
|
}
|
|
149
149
|
return null;
|
|
150
150
|
}
|
|
151
|
-
var D = Object.assign, q = 0,
|
|
151
|
+
var D = Object.assign, q = 0, R, B, ee, U, k, M, Q;
|
|
152
152
|
function T() {
|
|
153
153
|
}
|
|
154
154
|
T.__reactDisabledLog = !0;
|
|
155
155
|
function W() {
|
|
156
156
|
{
|
|
157
157
|
if (q === 0) {
|
|
158
|
-
|
|
158
|
+
R = console.log, B = console.info, ee = console.warn, U = console.error, k = console.group, M = console.groupCollapsed, Q = console.groupEnd;
|
|
159
159
|
var O = {
|
|
160
160
|
configurable: !0,
|
|
161
161
|
enumerable: !0,
|
|
@@ -185,7 +185,7 @@ function xS() {
|
|
|
185
185
|
};
|
|
186
186
|
Object.defineProperties(console, {
|
|
187
187
|
log: D({}, O, {
|
|
188
|
-
value:
|
|
188
|
+
value: R
|
|
189
189
|
}),
|
|
190
190
|
info: D({}, O, {
|
|
191
191
|
value: B
|
|
@@ -2159,8 +2159,8 @@ function lw({
|
|
|
2159
2159
|
const { interactionState: z, mountedGroups: D } = ar();
|
|
2160
2160
|
for (const q of D.keys())
|
|
2161
2161
|
if (q.id === F) {
|
|
2162
|
-
const
|
|
2163
|
-
if (
|
|
2162
|
+
const R = D.get(q);
|
|
2163
|
+
if (R) {
|
|
2164
2164
|
let B = !1;
|
|
2165
2165
|
switch (z.state) {
|
|
2166
2166
|
case "active": {
|
|
@@ -2171,7 +2171,7 @@ function lw({
|
|
|
2171
2171
|
}
|
|
2172
2172
|
}
|
|
2173
2173
|
return {
|
|
2174
|
-
flexGrow:
|
|
2174
|
+
flexGrow: R.layout[G] ?? 1,
|
|
2175
2175
|
pointerEvents: B ? "none" : void 0
|
|
2176
2176
|
};
|
|
2177
2177
|
}
|
|
@@ -2221,8 +2221,8 @@ function lw({
|
|
|
2221
2221
|
const { mountedGroups: D } = ar();
|
|
2222
2222
|
for (const q of D.keys())
|
|
2223
2223
|
if (q.id === A) {
|
|
2224
|
-
const
|
|
2225
|
-
|
|
2224
|
+
const R = D.get(q);
|
|
2225
|
+
R && (R.derivedPanelConstraints = jm(q));
|
|
2226
2226
|
}
|
|
2227
2227
|
},
|
|
2228
2228
|
toggleSeparatorDisabled: (F, G) => {
|
|
@@ -2261,9 +2261,9 @@ function lw({
|
|
|
2261
2261
|
separators: G.separators
|
|
2262
2262
|
};
|
|
2263
2263
|
L.current = D;
|
|
2264
|
-
const q = QS(D),
|
|
2265
|
-
if (
|
|
2266
|
-
const { defaultLayoutDeferred: U, derivedPanelConstraints: k, layout: M } =
|
|
2264
|
+
const q = QS(D), R = ar().mountedGroups.get(D);
|
|
2265
|
+
if (R) {
|
|
2266
|
+
const { defaultLayoutDeferred: U, derivedPanelConstraints: k, layout: M } = R;
|
|
2267
2267
|
!U && k.length > 0 && (m(M), x(M));
|
|
2268
2268
|
}
|
|
2269
2269
|
const B = $s.addListener(
|
|
@@ -2560,9 +2560,9 @@ function cw({
|
|
|
2560
2560
|
F.forEach(
|
|
2561
2561
|
({ derivedPanelConstraints: G, layout: z, separatorToPanels: D }, q) => {
|
|
2562
2562
|
if (q.id === x) {
|
|
2563
|
-
const
|
|
2564
|
-
if (
|
|
2565
|
-
const B =
|
|
2563
|
+
const R = D.get(j);
|
|
2564
|
+
if (R) {
|
|
2565
|
+
const B = R[0], ee = q.panels.indexOf(B);
|
|
2566
2566
|
u(
|
|
2567
2567
|
XS({
|
|
2568
2568
|
layout: z,
|
|
@@ -9750,7 +9750,7 @@ function Dj() {
|
|
|
9750
9750
|
}
|
|
9751
9751
|
}
|
|
9752
9752
|
}
|
|
9753
|
-
var C = l, N = c, j = o, H = a, X = e, L = u, F = r, G = g, z = f, D = t, q = s,
|
|
9753
|
+
var C = l, N = c, j = o, H = a, X = e, L = u, F = r, G = g, z = f, D = t, q = s, R = i, B = h, ee = !1;
|
|
9754
9754
|
function U(ne) {
|
|
9755
9755
|
return ee || (ee = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), k(ne) || E(ne) === l;
|
|
9756
9756
|
}
|
|
@@ -9790,7 +9790,7 @@ function Dj() {
|
|
|
9790
9790
|
function Re(ne) {
|
|
9791
9791
|
return E(ne) === h;
|
|
9792
9792
|
}
|
|
9793
|
-
pt.AsyncMode = C, pt.ConcurrentMode = N, pt.ContextConsumer = j, pt.ContextProvider = H, pt.Element = X, pt.ForwardRef = L, pt.Fragment = F, pt.Lazy = G, pt.Memo = z, pt.Portal = D, pt.Profiler = q, pt.StrictMode =
|
|
9793
|
+
pt.AsyncMode = C, pt.ConcurrentMode = N, pt.ContextConsumer = j, pt.ContextProvider = H, pt.Element = X, pt.ForwardRef = L, pt.Fragment = F, pt.Lazy = G, pt.Memo = z, pt.Portal = D, pt.Profiler = q, pt.StrictMode = R, pt.Suspense = B, pt.isAsyncMode = U, pt.isConcurrentMode = k, pt.isContextConsumer = M, pt.isContextProvider = Q, pt.isElement = T, pt.isForwardRef = W, pt.isFragment = J, pt.isLazy = $, pt.isMemo = V, pt.isPortal = oe, pt.isProfiler = ye, pt.isStrictMode = ve, pt.isSuspense = Re, pt.isValidElementType = y, pt.typeOf = E;
|
|
9794
9794
|
}()), pt;
|
|
9795
9795
|
}
|
|
9796
9796
|
var ey;
|
|
@@ -9985,7 +9985,7 @@ function Bj() {
|
|
|
9985
9985
|
}
|
|
9986
9986
|
function A(k) {
|
|
9987
9987
|
function M(Q, T, W, J, $, V) {
|
|
9988
|
-
var oe = Q[T], ye =
|
|
9988
|
+
var oe = Q[T], ye = R(oe);
|
|
9989
9989
|
if (ye !== k) {
|
|
9990
9990
|
var ve = B(oe);
|
|
9991
9991
|
return new m(
|
|
@@ -10006,7 +10006,7 @@ function Bj() {
|
|
|
10006
10006
|
return new m("Property `" + $ + "` of component `" + W + "` has invalid PropType notation inside arrayOf.");
|
|
10007
10007
|
var V = Q[T];
|
|
10008
10008
|
if (!Array.isArray(V)) {
|
|
10009
|
-
var oe =
|
|
10009
|
+
var oe = R(V);
|
|
10010
10010
|
return new m("Invalid " + J + " `" + $ + "` of type " + ("`" + oe + "` supplied to `" + W + "`, expected an array."));
|
|
10011
10011
|
}
|
|
10012
10012
|
for (var ye = 0; ye < V.length; ye++) {
|
|
@@ -10022,7 +10022,7 @@ function Bj() {
|
|
|
10022
10022
|
function k(M, Q, T, W, J) {
|
|
10023
10023
|
var $ = M[Q];
|
|
10024
10024
|
if (!o($)) {
|
|
10025
|
-
var V =
|
|
10025
|
+
var V = R($);
|
|
10026
10026
|
return new m("Invalid " + W + " `" + J + "` of type " + ("`" + V + "` supplied to `" + T + "`, expected a single ReactElement."));
|
|
10027
10027
|
}
|
|
10028
10028
|
return null;
|
|
@@ -10033,7 +10033,7 @@ function Bj() {
|
|
|
10033
10033
|
function k(M, Q, T, W, J) {
|
|
10034
10034
|
var $ = M[Q];
|
|
10035
10035
|
if (!n.isValidElementType($)) {
|
|
10036
|
-
var V =
|
|
10036
|
+
var V = R($);
|
|
10037
10037
|
return new m("Invalid " + W + " `" + J + "` of type " + ("`" + V + "` supplied to `" + T + "`, expected a single ReactElement type."));
|
|
10038
10038
|
}
|
|
10039
10039
|
return null;
|
|
@@ -10071,7 +10071,7 @@ function Bj() {
|
|
|
10071
10071
|
function M(Q, T, W, J, $) {
|
|
10072
10072
|
if (typeof k != "function")
|
|
10073
10073
|
return new m("Property `" + $ + "` of component `" + W + "` has invalid PropType notation inside objectOf.");
|
|
10074
|
-
var V = Q[T], oe =
|
|
10074
|
+
var V = Q[T], oe = R(V);
|
|
10075
10075
|
if (oe !== "object")
|
|
10076
10076
|
return new m("Invalid " + J + " `" + $ + "` of type " + ("`" + oe + "` supplied to `" + W + "`, expected an object."));
|
|
10077
10077
|
for (var ye in V)
|
|
@@ -10119,7 +10119,7 @@ function Bj() {
|
|
|
10119
10119
|
}
|
|
10120
10120
|
function G(k) {
|
|
10121
10121
|
function M(Q, T, W, J, $) {
|
|
10122
|
-
var V = Q[T], oe =
|
|
10122
|
+
var V = Q[T], oe = R(V);
|
|
10123
10123
|
if (oe !== "object")
|
|
10124
10124
|
return new m("Invalid " + J + " `" + $ + "` of type `" + oe + "` " + ("supplied to `" + W + "`, expected `object`."));
|
|
10125
10125
|
for (var ye in k) {
|
|
@@ -10136,7 +10136,7 @@ function Bj() {
|
|
|
10136
10136
|
}
|
|
10137
10137
|
function z(k) {
|
|
10138
10138
|
function M(Q, T, W, J, $) {
|
|
10139
|
-
var V = Q[T], oe =
|
|
10139
|
+
var V = Q[T], oe = R(V);
|
|
10140
10140
|
if (oe !== "object")
|
|
10141
10141
|
return new m("Invalid " + J + " `" + $ + "` of type `" + oe + "` " + ("supplied to `" + W + "`, expected `object`."));
|
|
10142
10142
|
var ye = e({}, Q[T], k);
|
|
@@ -10193,14 +10193,14 @@ Valid keys: ` + JSON.stringify(Object.keys(k), null, " ")
|
|
|
10193
10193
|
function q(k, M) {
|
|
10194
10194
|
return k === "symbol" ? !0 : M ? M["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && M instanceof Symbol : !1;
|
|
10195
10195
|
}
|
|
10196
|
-
function
|
|
10196
|
+
function R(k) {
|
|
10197
10197
|
var M = typeof k;
|
|
10198
10198
|
return Array.isArray(k) ? "array" : k instanceof RegExp ? "object" : q(M, k) ? "symbol" : M;
|
|
10199
10199
|
}
|
|
10200
10200
|
function B(k) {
|
|
10201
10201
|
if (typeof k > "u" || k === null)
|
|
10202
10202
|
return "" + k;
|
|
10203
|
-
var M =
|
|
10203
|
+
var M = R(k);
|
|
10204
10204
|
if (M === "object") {
|
|
10205
10205
|
if (k instanceof Date)
|
|
10206
10206
|
return "date";
|
|
@@ -16895,7 +16895,7 @@ function r5(n, e, t) {
|
|
|
16895
16895
|
return T === null || Te(T) ? G(T) : Je(T) ? (n.consume(T), F) : t(T);
|
|
16896
16896
|
}
|
|
16897
16897
|
function G(T) {
|
|
16898
|
-
return T === 45 && i === 2 ? (n.consume(T),
|
|
16898
|
+
return T === 45 && i === 2 ? (n.consume(T), R) : T === 60 && i === 1 ? (n.consume(T), B) : T === 62 && i === 4 ? (n.consume(T), M) : T === 63 && i === 3 ? (n.consume(T), k) : T === 93 && i === 5 ? (n.consume(T), U) : Te(T) && (i === 6 || i === 7) ? (n.exit("htmlFlowData"), n.check(e5, Q, z)(T)) : T === null || Te(T) ? (n.exit("htmlFlowData"), z(T)) : (n.consume(T), G);
|
|
16899
16899
|
}
|
|
16900
16900
|
function z(T) {
|
|
16901
16901
|
return n.check(t5, D, Q)(T);
|
|
@@ -16906,7 +16906,7 @@ function r5(n, e, t) {
|
|
|
16906
16906
|
function q(T) {
|
|
16907
16907
|
return T === null || Te(T) ? z(T) : (n.enter("htmlFlowData"), G(T));
|
|
16908
16908
|
}
|
|
16909
|
-
function
|
|
16909
|
+
function R(T) {
|
|
16910
16910
|
return T === 45 ? (n.consume(T), k) : G(T);
|
|
16911
16911
|
}
|
|
16912
16912
|
function B(T) {
|
|
@@ -16975,7 +16975,7 @@ function o5(n, e, t) {
|
|
|
16975
16975
|
return k === 45 ? (n.consume(k), f) : h(k);
|
|
16976
16976
|
}
|
|
16977
16977
|
function f(k) {
|
|
16978
|
-
return k === 62 ?
|
|
16978
|
+
return k === 62 ? R(k) : k === 45 ? p(k) : h(k);
|
|
16979
16979
|
}
|
|
16980
16980
|
function g(k) {
|
|
16981
16981
|
const M = "CDATA[";
|
|
@@ -16988,16 +16988,16 @@ function o5(n, e, t) {
|
|
|
16988
16988
|
return k === 93 ? (n.consume(k), A) : m(k);
|
|
16989
16989
|
}
|
|
16990
16990
|
function A(k) {
|
|
16991
|
-
return k === 62 ?
|
|
16991
|
+
return k === 62 ? R(k) : k === 93 ? (n.consume(k), A) : m(k);
|
|
16992
16992
|
}
|
|
16993
16993
|
function w(k) {
|
|
16994
|
-
return k === null || k === 62 ?
|
|
16994
|
+
return k === null || k === 62 ? R(k) : Te(k) ? (a = w, B(k)) : (n.consume(k), w);
|
|
16995
16995
|
}
|
|
16996
16996
|
function y(k) {
|
|
16997
16997
|
return k === null ? t(k) : k === 63 ? (n.consume(k), E) : Te(k) ? (a = y, B(k)) : (n.consume(k), y);
|
|
16998
16998
|
}
|
|
16999
16999
|
function E(k) {
|
|
17000
|
-
return k === 62 ?
|
|
17000
|
+
return k === 62 ? R(k) : y(k);
|
|
17001
17001
|
}
|
|
17002
17002
|
function C(k) {
|
|
17003
17003
|
return sr(k) ? (n.consume(k), N) : t(k);
|
|
@@ -17006,13 +17006,13 @@ function o5(n, e, t) {
|
|
|
17006
17006
|
return k === 45 || qn(k) ? (n.consume(k), N) : j(k);
|
|
17007
17007
|
}
|
|
17008
17008
|
function j(k) {
|
|
17009
|
-
return Te(k) ? (a = j, B(k)) : Je(k) ? (n.consume(k), j) :
|
|
17009
|
+
return Te(k) ? (a = j, B(k)) : Je(k) ? (n.consume(k), j) : R(k);
|
|
17010
17010
|
}
|
|
17011
17011
|
function H(k) {
|
|
17012
17012
|
return k === 45 || qn(k) ? (n.consume(k), H) : k === 47 || k === 62 || It(k) ? X(k) : t(k);
|
|
17013
17013
|
}
|
|
17014
17014
|
function X(k) {
|
|
17015
|
-
return k === 47 ? (n.consume(k),
|
|
17015
|
+
return k === 47 ? (n.consume(k), R) : k === 58 || k === 95 || sr(k) ? (n.consume(k), L) : Te(k) ? (a = X, B(k)) : Je(k) ? (n.consume(k), X) : R(k);
|
|
17016
17016
|
}
|
|
17017
17017
|
function L(k) {
|
|
17018
17018
|
return k === 45 || k === 46 || k === 58 || k === 95 || qn(k) ? (n.consume(k), L) : F(k);
|
|
@@ -17032,7 +17032,7 @@ function o5(n, e, t) {
|
|
|
17032
17032
|
function q(k) {
|
|
17033
17033
|
return k === 47 || k === 62 || It(k) ? X(k) : t(k);
|
|
17034
17034
|
}
|
|
17035
|
-
function
|
|
17035
|
+
function R(k) {
|
|
17036
17036
|
return k === 62 ? (n.consume(k), n.exit("htmlTextData"), n.exit("htmlText"), e) : t(k);
|
|
17037
17037
|
}
|
|
17038
17038
|
function B(k) {
|
|
@@ -17662,7 +17662,7 @@ function Y5(n, e, t) {
|
|
|
17662
17662
|
}
|
|
17663
17663
|
function j(F, G) {
|
|
17664
17664
|
return z;
|
|
17665
|
-
function z(D, q,
|
|
17665
|
+
function z(D, q, R) {
|
|
17666
17666
|
let B, ee, U, k;
|
|
17667
17667
|
return Array.isArray(D) ? (
|
|
17668
17668
|
/* c8 ignore next 1 */
|
|
@@ -17687,7 +17687,7 @@ function Y5(n, e, t) {
|
|
|
17687
17687
|
}
|
|
17688
17688
|
}
|
|
17689
17689
|
function Q($) {
|
|
17690
|
-
return B = $, ee = 0, $.length === 0 ?
|
|
17690
|
+
return B = $, ee = 0, $.length === 0 ? R : T($[ee]);
|
|
17691
17691
|
}
|
|
17692
17692
|
function T($) {
|
|
17693
17693
|
return V;
|
|
@@ -17707,7 +17707,7 @@ function Y5(n, e, t) {
|
|
|
17707
17707
|
return F(U, k), q;
|
|
17708
17708
|
}
|
|
17709
17709
|
function J($) {
|
|
17710
|
-
return k.restore(), ++ee < B.length ? T(B[ee]) :
|
|
17710
|
+
return k.restore(), ++ee < B.length ? T(B[ee]) : R;
|
|
17711
17711
|
}
|
|
17712
17712
|
}
|
|
17713
17713
|
}
|
|
@@ -17718,9 +17718,9 @@ function Y5(n, e, t) {
|
|
|
17718
17718
|
const F = g(), G = c.previous, z = c.currentConstruct, D = c.events.length, q = Array.from(o);
|
|
17719
17719
|
return {
|
|
17720
17720
|
from: D,
|
|
17721
|
-
restore:
|
|
17721
|
+
restore: R
|
|
17722
17722
|
};
|
|
17723
|
-
function
|
|
17723
|
+
function R() {
|
|
17724
17724
|
r = F, c.previous = G, c.currentConstruct = z, c.events.length = D, o = q, L();
|
|
17725
17725
|
}
|
|
17726
17726
|
}
|
|
@@ -17945,7 +17945,7 @@ function iR(n) {
|
|
|
17945
17945
|
label: U,
|
|
17946
17946
|
labelText: ee,
|
|
17947
17947
|
lineEnding: F,
|
|
17948
|
-
link: l(
|
|
17948
|
+
link: l(R),
|
|
17949
17949
|
listItem: l(),
|
|
17950
17950
|
listOrdered: l(),
|
|
17951
17951
|
listUnordered: l(),
|
|
@@ -18195,7 +18195,7 @@ function iR(n) {
|
|
|
18195
18195
|
const Z = this.resume(), ie = this.stack[this.stack.length - 1];
|
|
18196
18196
|
ie.value = Z;
|
|
18197
18197
|
}
|
|
18198
|
-
function
|
|
18198
|
+
function R() {
|
|
18199
18199
|
const Z = this.stack[this.stack.length - 1];
|
|
18200
18200
|
if (this.data.inReference) {
|
|
18201
18201
|
const ie = this.data.referenceType || "shortcut";
|
|
@@ -22691,14 +22691,14 @@ function Qz({
|
|
|
22691
22691
|
return z;
|
|
22692
22692
|
}, [l.sources]), { numberById: g, numberedContent: m } = xe.useMemo(() => {
|
|
22693
22693
|
const z = /\[([^\]]*(?:\[[^\]]*\][^\]]*)*)\]\(([^)]+)\)/g, D = /* @__PURE__ */ new Map(), q = l.content || "";
|
|
22694
|
-
let
|
|
22694
|
+
let R = 1, B;
|
|
22695
22695
|
for (; (B = z.exec(q)) !== null; ) {
|
|
22696
22696
|
const U = B[2];
|
|
22697
22697
|
if (!U.includes("is_citable=true")) continue;
|
|
22698
22698
|
const k = U.match(/[?&]id=([^&)\s]+)/);
|
|
22699
22699
|
if (!k) continue;
|
|
22700
22700
|
const M = decodeURIComponent(k[1]);
|
|
22701
|
-
D.has(M) || D.set(M,
|
|
22701
|
+
D.has(M) || D.set(M, R++);
|
|
22702
22702
|
}
|
|
22703
22703
|
const ee = q.replace(
|
|
22704
22704
|
/\[([^\]]*(?:\[[^\]]*\][^\]]*)*)\]\(([^)]+)\)/g,
|
|
@@ -22714,11 +22714,11 @@ function Qz({
|
|
|
22714
22714
|
);
|
|
22715
22715
|
return { numberById: D, numberedContent: ee };
|
|
22716
22716
|
}, [l.content]), x = xe.useMemo(() => {
|
|
22717
|
-
var
|
|
22717
|
+
var R, B, ee, U, k, M, Q;
|
|
22718
22718
|
const z = [], D = /* @__PURE__ */ new Map(), q = Array.from(g.entries()).sort(([, T], [, W]) => T - W).map(([T]) => T);
|
|
22719
22719
|
for (const T of q) {
|
|
22720
22720
|
const W = f.get(T);
|
|
22721
|
-
if (!W || !W.is_public || ((
|
|
22721
|
+
if (!W || !W.is_public || ((R = W.metadata) == null ? void 0 : R.type) === "definition" || !W.html_file && !(W.original_file_name || W.filename || "").toLowerCase().endsWith(".pdf")) continue;
|
|
22722
22722
|
let J;
|
|
22723
22723
|
if (W.html_file) {
|
|
22724
22724
|
const V = ((B = W.metadata) == null ? void 0 : B.act) || W.original_file_name || W.filename, oe = ((ee = W.metadata) == null ? void 0 : ee.section) || "";
|
|
@@ -22751,11 +22751,11 @@ function Qz({
|
|
|
22751
22751
|
const ee = document.createElement("span");
|
|
22752
22752
|
ee.textContent = B.textContent, B.replaceWith(ee);
|
|
22753
22753
|
});
|
|
22754
|
-
const q = D.innerHTML,
|
|
22754
|
+
const q = D.innerHTML, R = D.innerText;
|
|
22755
22755
|
try {
|
|
22756
22756
|
const B = new ClipboardItem({
|
|
22757
22757
|
"text/html": new Blob([q], { type: "text/html" }),
|
|
22758
|
-
"text/plain": new Blob([
|
|
22758
|
+
"text/plain": new Blob([R], { type: "text/plain" })
|
|
22759
22759
|
});
|
|
22760
22760
|
navigator.clipboard.write([B]).then(() => {
|
|
22761
22761
|
L(!0), setTimeout(() => L(!1), 1500);
|
|
@@ -22843,10 +22843,10 @@ function Qz({
|
|
|
22843
22843
|
/* @__PURE__ */ b.jsx("span", { className: "md-link-icon", "aria-hidden": !0, children: /* @__PURE__ */ b.jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ b.jsx("path", { d: "M1.33333 12C0.966667 12 0.652778 11.8694 0.391667 11.6083C0.130556 11.3472 0 11.0333 0 10.6667V1.33333C0 0.966667 0.130556 0.652778 0.391667 0.391667C0.652778 0.130556 0.966667 0 1.33333 0H5.33333C5.52222 0 5.68056 0.0638889 5.80833 0.191667C5.93611 0.319444 6 0.477778 6 0.666667C6 0.855556 5.93611 1.01389 5.80833 1.14167C5.68056 1.26944 5.52222 1.33333 5.33333 1.33333H1.33333V10.6667H10.6667V6.66667C10.6667 6.47778 10.7306 6.31944 10.8583 6.19167C10.9861 6.06389 11.1444 6 11.3333 6C11.5222 6 11.6806 6.06389 11.8083 6.19167C11.9361 6.31944 12 6.47778 12 6.66667V10.6667C12 11.0333 11.8694 11.3472 11.6083 11.6083C11.3472 11.8694 11.0333 12 10.6667 12H1.33333ZM10.6667 2.26667L4.93333 8C4.81111 8.12222 4.65556 8.18333 4.46667 8.18333C4.27778 8.18333 4.12222 8.12222 4 8C3.87778 7.87778 3.81667 7.72222 3.81667 7.53333C3.81667 7.34444 3.87778 7.18889 4 7.06667L9.73333 1.33333H8C7.81111 1.33333 7.65278 1.26944 7.525 1.14167C7.39722 1.01389 7.33333 0.855556 7.33333 0.666667C7.33333 0.477778 7.39722 0.319444 7.525 0.191667C7.65278 0.0638889 7.81111 0 8 0H11.3333C11.5222 0 11.6806 0.0638889 11.8083 0.191667C11.9361 0.319444 12 0.477778 12 0.666667V4C12 4.18889 11.9361 4.34722 11.8083 4.475C11.6806 4.60278 11.5222 4.66667 11.3333 4.66667C11.1444 4.66667 10.9861 4.60278 10.8583 4.475C10.7306 4.34722 10.6667 4.18889 10.6667 4V2.26667Z", fill: "currentColor" }) }) })
|
|
22844
22844
|
] });
|
|
22845
22845
|
}
|
|
22846
|
-
}, { sections: D, footer: q } = Hz(m),
|
|
22846
|
+
}, { sections: D, footer: q } = Hz(m), R = D.length - 1;
|
|
22847
22847
|
return /* @__PURE__ */ b.jsxs(b.Fragment, { children: [
|
|
22848
22848
|
D.map((B, ee) => {
|
|
22849
|
-
const U = ee ===
|
|
22849
|
+
const U = ee === R;
|
|
22850
22850
|
return B.heading === null || Uz(B.heading) ? /* @__PURE__ */ b.jsxs(xe.Fragment, { children: [
|
|
22851
22851
|
B.heading && /* @__PURE__ */ b.jsx("h3", { className: "md-h3", children: B.heading }),
|
|
22852
22852
|
B.body && /* @__PURE__ */ b.jsx(nf, { remarkPlugins: [rf], components: z, children: B.body })
|
|
@@ -22867,7 +22867,7 @@ function Qz({
|
|
|
22867
22867
|
r.length > 0 && /* @__PURE__ */ b.jsx("div", { className: "tool-calls tool-calls-inline", children: r.map(({ toolName: z, toolCallId: D, input: q }) => /* @__PURE__ */ b.jsxs("div", { className: "tool-call-pill", children: [
|
|
22868
22868
|
/* @__PURE__ */ b.jsx("div", { className: "tool-call-spinner" }),
|
|
22869
22869
|
/* @__PURE__ */ b.jsxs("span", { className: "tool-call-name", children: [
|
|
22870
|
-
z.split("_").map((
|
|
22870
|
+
z.split("_").map((R) => R.substring(1, 0).toUpperCase().concat(R.substring(1))).join(" "),
|
|
22871
22871
|
q ? ":" : ""
|
|
22872
22872
|
] }),
|
|
22873
22873
|
/* @__PURE__ */ b.jsx("span", { className: "tool-call-input", children: q })
|
|
@@ -22936,12 +22936,12 @@ function Qz({
|
|
|
22936
22936
|
)
|
|
22937
22937
|
] }),
|
|
22938
22938
|
A && x.length > 0 && /* @__PURE__ */ b.jsx("ol", { id: `sources-list-${l.id}`, className: "sources-acc-list", children: x.map((z, D) => {
|
|
22939
|
-
const q = z.pageMin != null && z.pageMax != null && z.pageMin === z.pageMax,
|
|
22939
|
+
const q = z.pageMin != null && z.pageMax != null && z.pageMin === z.pageMax, R = z.pageMin == null || z.pageMax == null ? void 0 : q ? `Page ${z.pageMin}` : `Pages ${z.pageMin}–${z.pageMax}`, B = z.sectionLabel || (z.source_type === "Tribunal Order" ? (xd(z.original_file_name || "") ?? "").replace(/\.[^.]+$/, "").toUpperCase() : tx(z.original_file_name || ""));
|
|
22940
22940
|
return /* @__PURE__ */ b.jsx("li", { className: "sources-acc-item", children: /* @__PURE__ */ b.jsxs(
|
|
22941
22941
|
"button",
|
|
22942
22942
|
{
|
|
22943
22943
|
className: "sources-acc-link",
|
|
22944
|
-
title: `Open ${B}${
|
|
22944
|
+
title: `Open ${B}${R ? ` ${R}` : ""}`,
|
|
22945
22945
|
onClick: () => {
|
|
22946
22946
|
var Q, T, W, J, $;
|
|
22947
22947
|
const ee = (Q = z.items.find((V) => typeof V.page_number == "number")) == null ? void 0 : Q.page_number, U = (W = (T = z.items[0]) == null ? void 0 : T.metadata) == null ? void 0 : W.id, M = !!z.html_file ? x.filter((V) => V.html_file && V.html_file === z.html_file).flatMap((V) => V.items) : z.items;
|
|
@@ -22953,7 +22953,7 @@ function Qz({
|
|
|
22953
22953
|
"."
|
|
22954
22954
|
] }),
|
|
22955
22955
|
/* @__PURE__ */ b.jsx("span", { className: "sources-acc-name", children: B }),
|
|
22956
|
-
|
|
22956
|
+
R && /* @__PURE__ */ b.jsx("span", { className: "sources-acc-page", children: R })
|
|
22957
22957
|
]
|
|
22958
22958
|
}
|
|
22959
22959
|
) }, z.key);
|
|
@@ -26691,32 +26691,32 @@ jo = new WeakMap(), wi = new WeakMap(), zt = new WeakMap(), gc = new WeakMap(),
|
|
|
26691
26691
|
mustExec: !0
|
|
26692
26692
|
});
|
|
26693
26693
|
}, CA = function(e, t) {
|
|
26694
|
-
const [r, i] = this.parentDimensions, s = this.x, a = this.y, o = this.width, l = this.height, c = Ge.MIN_SIZE / r, u = Ge.MIN_SIZE / i, h = I(this, Oe, pf).call(this, this.rotation), p = (
|
|
26694
|
+
const [r, i] = this.parentDimensions, s = this.x, a = this.y, o = this.width, l = this.height, c = Ge.MIN_SIZE / r, u = Ge.MIN_SIZE / i, h = I(this, Oe, pf).call(this, this.rotation), p = (R, B) => [h[0] * R + h[2] * B, h[1] * R + h[3] * B], f = I(this, Oe, pf).call(this, 360 - this.rotation), g = (R, B) => [f[0] * R + f[2] * B, f[1] * R + f[3] * B];
|
|
26695
26695
|
let m, x, A = !1, w = !1;
|
|
26696
26696
|
switch (e) {
|
|
26697
26697
|
case "topLeft":
|
|
26698
|
-
A = !0, m = (
|
|
26698
|
+
A = !0, m = (R, B) => [0, 0], x = (R, B) => [R, B];
|
|
26699
26699
|
break;
|
|
26700
26700
|
case "topMiddle":
|
|
26701
|
-
m = (
|
|
26701
|
+
m = (R, B) => [R / 2, 0], x = (R, B) => [R / 2, B];
|
|
26702
26702
|
break;
|
|
26703
26703
|
case "topRight":
|
|
26704
|
-
A = !0, m = (
|
|
26704
|
+
A = !0, m = (R, B) => [R, 0], x = (R, B) => [0, B];
|
|
26705
26705
|
break;
|
|
26706
26706
|
case "middleRight":
|
|
26707
|
-
w = !0, m = (
|
|
26707
|
+
w = !0, m = (R, B) => [R, B / 2], x = (R, B) => [0, B / 2];
|
|
26708
26708
|
break;
|
|
26709
26709
|
case "bottomRight":
|
|
26710
|
-
A = !0, m = (
|
|
26710
|
+
A = !0, m = (R, B) => [R, B], x = (R, B) => [0, 0];
|
|
26711
26711
|
break;
|
|
26712
26712
|
case "bottomMiddle":
|
|
26713
|
-
m = (
|
|
26713
|
+
m = (R, B) => [R / 2, B], x = (R, B) => [R / 2, 0];
|
|
26714
26714
|
break;
|
|
26715
26715
|
case "bottomLeft":
|
|
26716
|
-
A = !0, m = (
|
|
26716
|
+
A = !0, m = (R, B) => [0, B], x = (R, B) => [R, 0];
|
|
26717
26717
|
break;
|
|
26718
26718
|
case "middleLeft":
|
|
26719
|
-
w = !0, m = (
|
|
26719
|
+
w = !0, m = (R, B) => [0, B / 2], x = (R, B) => [R, B / 2];
|
|
26720
26720
|
break;
|
|
26721
26721
|
}
|
|
26722
26722
|
const y = m(o, l), E = x(o, l);
|
|
@@ -26730,14 +26730,14 @@ jo = new WeakMap(), wi = new WeakMap(), zt = new WeakMap(), gc = new WeakMap(),
|
|
|
26730
26730
|
} = t);
|
|
26731
26731
|
else {
|
|
26732
26732
|
const {
|
|
26733
|
-
screenX:
|
|
26733
|
+
screenX: R,
|
|
26734
26734
|
screenY: B
|
|
26735
26735
|
} = t, [ee, U] = d(this, Lo);
|
|
26736
|
-
[L, F] = this.screenToPageTranslation(
|
|
26736
|
+
[L, F] = this.screenToPageTranslation(R - ee, B - U), d(this, Lo)[0] = R, d(this, Lo)[1] = B;
|
|
26737
26737
|
}
|
|
26738
26738
|
if ([L, F] = g(L / r, F / i), A) {
|
|
26739
|
-
const
|
|
26740
|
-
H = X = Math.max(Math.min(Math.hypot(E[0] - y[0] - L, E[1] - y[1] - F) /
|
|
26739
|
+
const R = Math.hypot(o, l);
|
|
26740
|
+
H = X = Math.max(Math.min(Math.hypot(E[0] - y[0] - L, E[1] - y[1] - F) / R, 1 / o, 1 / l), c / o, u / l);
|
|
26741
26741
|
} else w ? H = Math.max(c, Math.min(1, Math.abs(E[0] - y[0] - L))) / o : X = Math.max(u, Math.min(1, Math.abs(E[1] - y[1] - F))) / l;
|
|
26742
26742
|
const G = Ge._round(o * H), z = Ge._round(l * X);
|
|
26743
26743
|
C = p(...x(G, z));
|
|
@@ -27919,21 +27919,21 @@ function Sm(n, e, t, r, i, s, a, o) {
|
|
|
27919
27919
|
if (g >= w)
|
|
27920
27920
|
return;
|
|
27921
27921
|
const y = c[s], E = c[s + 1], C = c[s + 2], N = c[a], j = c[a + 1], H = c[a + 2], X = c[o], L = c[o + 1], F = c[o + 2], G = Math.round(g), z = Math.round(w);
|
|
27922
|
-
let D, q,
|
|
27922
|
+
let D, q, R, B, ee, U, k, M;
|
|
27923
27923
|
for (let Q = G; Q <= z; Q++) {
|
|
27924
27924
|
if (Q < x) {
|
|
27925
27925
|
const V = Q < g ? 0 : (g - Q) / (g - x);
|
|
27926
|
-
D = f - (f - m) * V, q = y - (y - N) * V,
|
|
27926
|
+
D = f - (f - m) * V, q = y - (y - N) * V, R = E - (E - j) * V, B = C - (C - H) * V;
|
|
27927
27927
|
} else {
|
|
27928
27928
|
let V;
|
|
27929
|
-
Q > w ? V = 1 : x === w ? V = 0 : V = (x - Q) / (x - w), D = m - (m - A) * V, q = N - (N - X) * V,
|
|
27929
|
+
Q > w ? V = 1 : x === w ? V = 0 : V = (x - Q) / (x - w), D = m - (m - A) * V, q = N - (N - X) * V, R = j - (j - L) * V, B = H - (H - F) * V;
|
|
27930
27930
|
}
|
|
27931
27931
|
let T;
|
|
27932
27932
|
Q < g ? T = 0 : Q > w ? T = 1 : T = (g - Q) / (g - w), ee = f - (f - A) * T, U = y - (y - X) * T, k = E - (E - L) * T, M = C - (C - F) * T;
|
|
27933
27933
|
const W = Math.round(Math.min(D, ee)), J = Math.round(Math.max(D, ee));
|
|
27934
27934
|
let $ = h * Q + W * 4;
|
|
27935
27935
|
for (let V = W; V <= J; V++)
|
|
27936
|
-
T = (D - V) / (D - ee), T < 0 ? T = 0 : T > 1 && (T = 1), u[$++] = q - (q - U) * T | 0, u[$++] =
|
|
27936
|
+
T = (D - V) / (D - ee), T < 0 ? T = 0 : T > 1 && (T = 1), u[$++] = q - (q - U) * T | 0, u[$++] = R - (R - k) * T | 0, u[$++] = B - (B - M) * T | 0, u[$++] = 255;
|
|
27937
27937
|
}
|
|
27938
27938
|
}
|
|
27939
27939
|
function ND(n, e, t) {
|
|
@@ -28038,8 +28038,8 @@ const E1 = {
|
|
|
28038
28038
|
let E = g, C = m, N = !1, j = !1;
|
|
28039
28039
|
const H = Math.ceil(l * w), X = Math.ceil(c * y), L = Math.ceil(g * w), F = Math.ceil(m * y);
|
|
28040
28040
|
H >= L ? E = l : N = !0, X >= F ? C = c : j = !0;
|
|
28041
|
-
const G = this.getSizeAndScale(E, this.ctx.canvas.width, w), z = this.getSizeAndScale(C, this.ctx.canvas.height, y), D = e.cachedCanvases.getCanvas("pattern", G.size, z.size), q = D.context,
|
|
28042
|
-
if (
|
|
28041
|
+
const G = this.getSizeAndScale(E, this.ctx.canvas.width, w), z = this.getSizeAndScale(C, this.ctx.canvas.height, y), D = e.cachedCanvases.getCanvas("pattern", G.size, z.size), q = D.context, R = o.createCanvasGraphics(q);
|
|
28042
|
+
if (R.groupLevel = e.groupLevel, this.setFillAndStrokeStyleToContext(R, i, a), q.translate(-G.scale * u, -z.scale * h), R.transform(G.scale, 0, 0, z.scale, 0, 0), q.save(), this.clipBbox(R, u, h, p, f), R.baseTransform = Bt(R.ctx), R.executeOperatorList(r), R.endDrawing(), q.restore(), N || j) {
|
|
28043
28043
|
const B = D.canvas;
|
|
28044
28044
|
N && (E = l), j && (C = c);
|
|
28045
28045
|
const ee = this.getSizeAndScale(E, this.ctx.canvas.width, w), U = this.getSizeAndScale(C, this.ctx.canvas.height, y), k = ee.size, M = U.size, Q = e.cachedCanvases.getCanvas("pattern-workaround", k, M), T = Q.context, W = N ? Math.floor(g / l) : 0, J = j ? Math.floor(m / c) : 0;
|
|
@@ -28843,23 +28843,23 @@ const kb = class kb {
|
|
|
28843
28843
|
const X = (j.isSpace ? l : 0) + o, L = j.fontChar, F = j.accent;
|
|
28844
28844
|
let G, z, D = j.width;
|
|
28845
28845
|
if (p) {
|
|
28846
|
-
const
|
|
28847
|
-
D =
|
|
28846
|
+
const R = j.vmetric || g, B = -(j.vmetric ? R[1] : D * 0.5) * m, ee = R[2] * m;
|
|
28847
|
+
D = R ? -R[0] : D, G = B / a, z = (C + ee) / a;
|
|
28848
28848
|
} else
|
|
28849
28849
|
G = C / a, z = 0;
|
|
28850
28850
|
if (r.remeasure && D > 0) {
|
|
28851
|
-
const
|
|
28852
|
-
if (D <
|
|
28853
|
-
const B = D /
|
|
28851
|
+
const R = s.measureText(L).width * 1e3 / i * a;
|
|
28852
|
+
if (D < R && this.isFontSubpixelAAEnabled) {
|
|
28853
|
+
const B = D / R;
|
|
28854
28854
|
H = !0, s.save(), s.scale(B, 1), G /= B;
|
|
28855
|
-
} else D !==
|
|
28855
|
+
} else D !== R && (G += (D - R) / 2e3 * i / a);
|
|
28856
28856
|
}
|
|
28857
28857
|
if (this.contentVisible && (j.isInFont || r.missingFile)) {
|
|
28858
28858
|
if (x && !F)
|
|
28859
28859
|
s.fillText(L, G, z);
|
|
28860
28860
|
else if (this.paintChar(L, G, z, A, w), F) {
|
|
28861
|
-
const
|
|
28862
|
-
this.paintChar(F.fontChar,
|
|
28861
|
+
const R = G + i * F.offset.x / a, B = z - i * F.offset.y / a;
|
|
28862
|
+
this.paintChar(F.fontChar, R, B, A, w);
|
|
28863
28863
|
}
|
|
28864
28864
|
}
|
|
28865
28865
|
const q = p ? D * m - X * c : D * m + X * c;
|
|
@@ -30681,10 +30681,10 @@ function fF(n = {}) {
|
|
|
30681
30681
|
docId: t
|
|
30682
30682
|
} = e, r = n.url ? gF(n.url) : null, i = n.data ? mF(n.data) : null, s = n.httpHeaders || null, a = n.withCredentials === !0, o = n.password ?? null, l = n.range instanceof sC ? n.range : null, c = Number.isInteger(n.rangeChunkSize) && n.rangeChunkSize > 0 ? n.rangeChunkSize : oF;
|
|
30683
30683
|
let u = n.worker instanceof rc ? n.worker : null;
|
|
30684
|
-
const h = n.verbosity, p = typeof n.docBaseUrl == "string" && !Fg(n.docBaseUrl) ? n.docBaseUrl : null, f = typeof n.cMapUrl == "string" ? n.cMapUrl : null, g = n.cMapPacked !== !1, m = n.CMapReaderFactory || dF, x = typeof n.standardFontDataUrl == "string" ? n.standardFontDataUrl : null, A = n.StandardFontDataFactory || pF, w = n.stopAtErrors !== !0, y = Number.isInteger(n.maxImageSize) && n.maxImageSize > -1 ? n.maxImageSize : -1, E = n.isEvalSupported !== !1, C = typeof n.isOffscreenCanvasSupported == "boolean" ? n.isOffscreenCanvasSupported : !Vn, N = typeof n.isImageDecoderSupported == "boolean" ? n.isImageDecoderSupported : !Vn && (ur.platform.isFirefox || !globalThis.chrome), j = Number.isInteger(n.canvasMaxAreaInBytes) ? n.canvasMaxAreaInBytes : -1, H = typeof n.disableFontFace == "boolean" ? n.disableFontFace : Vn, X = n.fontExtraProperties === !0, L = n.enableXfa === !0, F = n.ownerDocument || globalThis.document, G = n.disableRange === !0, z = n.disableStream === !0, D = n.disableAutoFetch === !0, q = n.pdfBug === !0,
|
|
30684
|
+
const h = n.verbosity, p = typeof n.docBaseUrl == "string" && !Fg(n.docBaseUrl) ? n.docBaseUrl : null, f = typeof n.cMapUrl == "string" ? n.cMapUrl : null, g = n.cMapPacked !== !1, m = n.CMapReaderFactory || dF, x = typeof n.standardFontDataUrl == "string" ? n.standardFontDataUrl : null, A = n.StandardFontDataFactory || pF, w = n.stopAtErrors !== !0, y = Number.isInteger(n.maxImageSize) && n.maxImageSize > -1 ? n.maxImageSize : -1, E = n.isEvalSupported !== !1, C = typeof n.isOffscreenCanvasSupported == "boolean" ? n.isOffscreenCanvasSupported : !Vn, N = typeof n.isImageDecoderSupported == "boolean" ? n.isImageDecoderSupported : !Vn && (ur.platform.isFirefox || !globalThis.chrome), j = Number.isInteger(n.canvasMaxAreaInBytes) ? n.canvasMaxAreaInBytes : -1, H = typeof n.disableFontFace == "boolean" ? n.disableFontFace : Vn, X = n.fontExtraProperties === !0, L = n.enableXfa === !0, F = n.ownerDocument || globalThis.document, G = n.disableRange === !0, z = n.disableStream === !0, D = n.disableAutoFetch === !0, q = n.pdfBug === !0, R = n.CanvasFactory || uF, B = n.FilterFactory || hF, ee = n.enableHWA === !0, U = l ? l.length : n.length ?? NaN, k = typeof n.useSystemFonts == "boolean" ? n.useSystemFonts : !Vn && !H, M = typeof n.useWorkerFetch == "boolean" ? n.useWorkerFetch : m === Gk && A === Zk && f && x && Yu(f, document.baseURI) && Yu(x, document.baseURI), Q = null;
|
|
30685
30685
|
$z(h);
|
|
30686
30686
|
const T = {
|
|
30687
|
-
canvasFactory: new
|
|
30687
|
+
canvasFactory: new R({
|
|
30688
30688
|
ownerDocument: F,
|
|
30689
30689
|
enableHWA: ee
|
|
30690
30690
|
}),
|
|
@@ -37903,7 +37903,7 @@ function $F({ fileUrl: n, pageNumber: e, onMeta: t, scrollBehavior: r = "auto",
|
|
|
37903
37903
|
let q = 0;
|
|
37904
37904
|
for (; D.clientWidth <= 1 && q < 20; )
|
|
37905
37905
|
await new Promise(requestAnimationFrame), q++;
|
|
37906
|
-
const
|
|
37906
|
+
const R = await z.getPage(1), B = (R.rotate + 180) % 360, ee = R.getViewport({ scale: 1, rotation: B - 180 }), U = 0, k = D.clientWidth, M = Math.max(1, k - U);
|
|
37907
37907
|
return Math.max(0.1, M / ee.width);
|
|
37908
37908
|
}, []), L = lt(async () => {
|
|
37909
37909
|
if (!E.current) {
|
|
@@ -37911,15 +37911,15 @@ function $F({ fileUrl: n, pageNumber: e, onMeta: t, scrollBehavior: r = "auto",
|
|
|
37911
37911
|
try {
|
|
37912
37912
|
const z = w.current, D = l, q = y.current;
|
|
37913
37913
|
if (!z || !D || !q) return;
|
|
37914
|
-
const
|
|
37915
|
-
j.current =
|
|
37914
|
+
const R = await X();
|
|
37915
|
+
j.current = R;
|
|
37916
37916
|
for (let B = 0; B < 6 && !(A.current.length >= D && x.current.length >= D && A.current[D - 1] && x.current[D - 1]); B++)
|
|
37917
37917
|
await new Promise(requestAnimationFrame);
|
|
37918
37918
|
for (let B = 1; B <= D; B++) {
|
|
37919
37919
|
let ee = x.current[B - 1], U = A.current[B - 1];
|
|
37920
37920
|
if ((!ee || !U) && (await new Promise(requestAnimationFrame), ee = x.current[B - 1], U = A.current[B - 1], !ee || !U))
|
|
37921
37921
|
continue;
|
|
37922
|
-
const k = await z.getPage(B), M = (k.rotate + 180) % 360, Q = k.getViewport({ scale:
|
|
37922
|
+
const k = await z.getPage(B), M = (k.rotate + 180) % 360, Q = k.getViewport({ scale: R, rotation: M - 180 }), T = k.getViewport({ scale: 1, rotation: M - 180 }), W = window.devicePixelRatio || 1, J = ee.getContext("2d");
|
|
37923
37923
|
ee.width = Math.floor(Q.width * W), ee.height = Math.floor(Q.height * W), ee.style.width = "100%", ee.style.maxWidth = "100%", ee.style.height = "auto", ee.style.aspectRatio = `${Q.width} / ${Q.height}`, ee.style.display = "block", J.setTransform(W, 0, 0, W, 0, 0), await k.render({ canvasContext: J, viewport: Q }).promise, U.setAttribute("data-vw", String(T.width)), U.setAttribute("data-vh", String(T.height)), U.querySelectorAll(".hl-layer").forEach((ye) => ye.remove()), U.setAttribute("data-highlights-cleared", "true");
|
|
37924
37924
|
const V = C.current, oe = V && V[B - 1] != null ? String(V[B - 1]).trim() : "";
|
|
37925
37925
|
U.setAttribute("data-page-index", String(B)), U.setAttribute("data-page-label", oe);
|
|
@@ -37930,12 +37930,12 @@ function $F({ fileUrl: n, pageNumber: e, onMeta: t, scrollBehavior: r = "auto",
|
|
|
37930
37930
|
}
|
|
37931
37931
|
}, [X, l]), F = lt((z, D) => {
|
|
37932
37932
|
try {
|
|
37933
|
-
let q = z.l,
|
|
37933
|
+
let q = z.l, R = z.t, B = z.r, ee = z.b;
|
|
37934
37934
|
if (z.coord_origin === "BOTTOMLEFT") {
|
|
37935
|
-
const $ =
|
|
37936
|
-
|
|
37935
|
+
const $ = R;
|
|
37936
|
+
R = D - ee, ee = D - $;
|
|
37937
37937
|
}
|
|
37938
|
-
const U = Math.min(q, B), k = Math.min(
|
|
37938
|
+
const U = Math.min(q, B), k = Math.min(R, ee), M = Math.max(q, B), Q = Math.max(R, ee), T = M - U, W = Q - k;
|
|
37939
37939
|
if (T <= 0 || W <= 0)
|
|
37940
37940
|
return console.warn("Invalid bbox dimensions:", { width: T, height: W, bbox: z }), null;
|
|
37941
37941
|
const J = document.createElement("div");
|
|
@@ -38052,11 +38052,11 @@ __VARIANT__
|
|
|
38052
38052
|
} catch (U) {
|
|
38053
38053
|
console.error("Failed to redraw highlights:", U);
|
|
38054
38054
|
}
|
|
38055
|
-
},
|
|
38055
|
+
}, R = setTimeout(q, 200), B = { id: 0 }, ee = () => {
|
|
38056
38056
|
clearTimeout(B.id), B.id = setTimeout(q, 200);
|
|
38057
38057
|
};
|
|
38058
38058
|
return window.addEventListener("resize", ee), () => {
|
|
38059
|
-
clearTimeout(
|
|
38059
|
+
clearTimeout(R), clearTimeout(B.id), window.removeEventListener("resize", ee);
|
|
38060
38060
|
};
|
|
38061
38061
|
}, [i, l, g, F]), ct(() => {
|
|
38062
38062
|
let z = !1;
|
|
@@ -38064,20 +38064,20 @@ __VARIANT__
|
|
|
38064
38064
|
try {
|
|
38065
38065
|
h(!0), console.debug("[SimplePdfViewer] start load", { fileUrl: n }), await _F();
|
|
38066
38066
|
const D = H(n), q = `${D}::${s || ""}::${a || ""}::${o || ""}`;
|
|
38067
|
-
let
|
|
38068
|
-
if (!
|
|
38067
|
+
let R = U1.get(q);
|
|
38068
|
+
if (!R) {
|
|
38069
38069
|
const ee = {};
|
|
38070
|
-
s && (ee["x-client-id"] = s), a && (ee["x-api-key"] = a), o && (ee.authorization = `Bearer ${o}`),
|
|
38070
|
+
s && (ee["x-client-id"] = s), a && (ee["x-api-key"] = a), o && (ee.authorization = `Bearer ${o}`), R = await XF({
|
|
38071
38071
|
url: D,
|
|
38072
38072
|
httpHeaders: Object.keys(ee).length > 0 ? ee : void 0
|
|
38073
|
-
}).promise, z || U1.set(q,
|
|
38073
|
+
}).promise, z || U1.set(q, R);
|
|
38074
38074
|
}
|
|
38075
38075
|
if (z) return;
|
|
38076
|
-
w.current =
|
|
38077
|
-
const B =
|
|
38076
|
+
w.current = R;
|
|
38077
|
+
const B = R.numPages;
|
|
38078
38078
|
c(B), t == null || t({ numPages: B });
|
|
38079
38079
|
try {
|
|
38080
|
-
const ee = await
|
|
38080
|
+
const ee = await R.getPageLabels();
|
|
38081
38081
|
if (C.current = ee || null, ee && ee.length === B) {
|
|
38082
38082
|
const U = /* @__PURE__ */ new Map();
|
|
38083
38083
|
for (let k = 0; k < ee.length; k++) {
|
|
@@ -38104,49 +38104,49 @@ __VARIANT__
|
|
|
38104
38104
|
}, [n, s, a, L, t, H]), ct(() => {
|
|
38105
38105
|
const z = y.current;
|
|
38106
38106
|
if (!z) return;
|
|
38107
|
-
let D = z.clientWidth, q,
|
|
38107
|
+
let D = z.clientWidth, q, R = 0;
|
|
38108
38108
|
const B = new ResizeObserver((ee) => {
|
|
38109
38109
|
var M;
|
|
38110
38110
|
const U = (M = ee[0]) == null ? void 0 : M.contentRect;
|
|
38111
38111
|
if (!U) return;
|
|
38112
38112
|
const k = Math.round(U.width);
|
|
38113
|
-
Math.abs(k - D) <= 24 || (D = k, clearTimeout(q), cancelAnimationFrame(
|
|
38114
|
-
|
|
38113
|
+
Math.abs(k - D) <= 24 || (D = k, clearTimeout(q), cancelAnimationFrame(R), q = setTimeout(() => {
|
|
38114
|
+
R = requestAnimationFrame(() => {
|
|
38115
38115
|
L();
|
|
38116
38116
|
});
|
|
38117
38117
|
}, 80));
|
|
38118
38118
|
});
|
|
38119
38119
|
return B.observe(z), () => {
|
|
38120
|
-
B.disconnect(), clearTimeout(q), cancelAnimationFrame(
|
|
38120
|
+
B.disconnect(), clearTimeout(q), cancelAnimationFrame(R);
|
|
38121
38121
|
};
|
|
38122
38122
|
}, [L]), ct(() => {
|
|
38123
38123
|
if (!e || e < 1 || e > (l || 0)) return;
|
|
38124
38124
|
const z = y.current, D = C.current, q = N.current;
|
|
38125
|
-
let
|
|
38125
|
+
let R = e;
|
|
38126
38126
|
if (D && q) {
|
|
38127
38127
|
const M = q.get(e);
|
|
38128
|
-
if (typeof M == "number")
|
|
38128
|
+
if (typeof M == "number") R = M;
|
|
38129
38129
|
else
|
|
38130
38130
|
for (let Q = 0; Q < D.length; Q++)
|
|
38131
38131
|
if (String(D[Q]).trim() === String(e)) {
|
|
38132
|
-
|
|
38132
|
+
R = Q + 1;
|
|
38133
38133
|
break;
|
|
38134
38134
|
}
|
|
38135
38135
|
} else if (D) {
|
|
38136
38136
|
for (let M = 0; M < D.length; M++)
|
|
38137
38137
|
if (String(D[M]).trim() === String(e)) {
|
|
38138
|
-
|
|
38138
|
+
R = M + 1;
|
|
38139
38139
|
break;
|
|
38140
38140
|
}
|
|
38141
38141
|
}
|
|
38142
38142
|
console.debug("[SimplePdfViewer] goTo", {
|
|
38143
38143
|
requested: e,
|
|
38144
|
-
resolvedInternal:
|
|
38145
|
-
labelAtResolved: D && D[
|
|
38146
|
-
beforeNeighbor: D && D[
|
|
38147
|
-
afterNeighbor: D && D[
|
|
38148
|
-
}),
|
|
38149
|
-
const B =
|
|
38144
|
+
resolvedInternal: R,
|
|
38145
|
+
labelAtResolved: D && D[R - 1],
|
|
38146
|
+
beforeNeighbor: D && D[R - 2],
|
|
38147
|
+
afterNeighbor: D && D[R]
|
|
38148
|
+
}), R = Math.max(1, Math.min(l, R));
|
|
38149
|
+
const B = R - 1, ee = A.current[B];
|
|
38150
38150
|
if (!z || !ee) return;
|
|
38151
38151
|
const U = () => {
|
|
38152
38152
|
if (ee.clientHeight <= 0) {
|
|
@@ -38217,7 +38217,7 @@ function e8({
|
|
|
38217
38217
|
}, q = () => {
|
|
38218
38218
|
const U = parseInt(H, 10);
|
|
38219
38219
|
!isNaN(U) && U >= 1 && (!s || U <= s) && u(U), j(!1), X("");
|
|
38220
|
-
},
|
|
38220
|
+
}, R = (U) => {
|
|
38221
38221
|
U.key === "Enter" ? q() : U.key === "Escape" && (j(!1), X(""));
|
|
38222
38222
|
}, B = () => {
|
|
38223
38223
|
q();
|
|
@@ -38382,7 +38382,7 @@ __VARIANT__
|
|
|
38382
38382
|
type: "number",
|
|
38383
38383
|
value: H,
|
|
38384
38384
|
onChange: D,
|
|
38385
|
-
onKeyDown:
|
|
38385
|
+
onKeyDown: R,
|
|
38386
38386
|
onBlur: B,
|
|
38387
38387
|
className: "viewer-page-input",
|
|
38388
38388
|
autoFocus: !0,
|
|
@@ -38532,12 +38532,12 @@ function r8({
|
|
|
38532
38532
|
const M = Math.max(0, Math.min(k.length - 1, U));
|
|
38533
38533
|
H(M), (T = k[M]) == null || T.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
38534
38534
|
const Q = k[M];
|
|
38535
|
-
Q != null && Q.id &&
|
|
38535
|
+
Q != null && Q.id && R(`#${Q.id}`), requestAnimationFrame(() => {
|
|
38536
38536
|
var J;
|
|
38537
38537
|
const W = (J = z.current) == null ? void 0 : J.querySelector(".citation-card--active");
|
|
38538
38538
|
W == null || W.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
38539
38539
|
});
|
|
38540
|
-
}, []), [q,
|
|
38540
|
+
}, []), [q, R] = we(), B = async (U) => {
|
|
38541
38541
|
if (U.stopPropagation(), !!a)
|
|
38542
38542
|
try {
|
|
38543
38543
|
const k = {};
|
|
@@ -38555,7 +38555,7 @@ function r8({
|
|
|
38555
38555
|
}, ee = lt((U) => {
|
|
38556
38556
|
if (!F.current) return;
|
|
38557
38557
|
const k = U.startsWith("#") ? U.slice(1) : U, M = F.current.querySelector(`#${CSS.escape(k)}`) ?? F.current.querySelector(U.startsWith("#") ? U : `#${k}`);
|
|
38558
|
-
M && (M.scrollIntoView({ behavior: "smooth", block: "start" }),
|
|
38558
|
+
M && (M.scrollIntoView({ behavior: "smooth", block: "start" }), R(U));
|
|
38559
38559
|
}, []);
|
|
38560
38560
|
return ct(() => {
|
|
38561
38561
|
if (!A || !F.current || !t) return;
|
|
@@ -38564,7 +38564,7 @@ function r8({
|
|
|
38564
38564
|
var J;
|
|
38565
38565
|
if (U) return;
|
|
38566
38566
|
const T = t.startsWith("#") ? t.slice(1) : t, W = (J = F.current) == null ? void 0 : J.querySelector(`#${CSS.escape(T)}`);
|
|
38567
|
-
W ? (W.scrollIntoView({ behavior: "smooth", block: "start" }),
|
|
38567
|
+
W ? (W.scrollIntoView({ behavior: "smooth", block: "start" }), R(t)) : ++k < M && setTimeout(Q, 50);
|
|
38568
38568
|
};
|
|
38569
38569
|
return requestAnimationFrame(Q), () => {
|
|
38570
38570
|
U = !0;
|
|
@@ -39290,17 +39290,17 @@ function d8({
|
|
|
39290
39290
|
ct(() => {
|
|
39291
39291
|
y.current = p;
|
|
39292
39292
|
}), ct(() => {
|
|
39293
|
-
var
|
|
39294
|
-
(
|
|
39293
|
+
var P;
|
|
39294
|
+
(P = y.current) == null || P.call(y, x);
|
|
39295
39295
|
}, [x]);
|
|
39296
39296
|
const [E, C] = we("lite"), N = Ee(!1);
|
|
39297
39297
|
ct(() => {
|
|
39298
|
-
if (
|
|
39299
|
-
const
|
|
39300
|
-
|
|
39301
|
-
}, [n == null ? void 0 : n.package]);
|
|
39298
|
+
if (!(n != null && n.package)) return;
|
|
39299
|
+
const P = nS[n.package] ?? ["lite"];
|
|
39300
|
+
!N.current && P.includes("research") && (C("research"), N.current = !0), P.includes(E) || C(P[P.length - 1]);
|
|
39301
|
+
}, [n == null ? void 0 : n.package, E]);
|
|
39302
39302
|
const [j, H] = we([]), [X, L] = we({}), { toasts: F, pushToast: G, removeToast: z } = $S(), [D, q] = we(""), {
|
|
39303
|
-
messages:
|
|
39303
|
+
messages: R,
|
|
39304
39304
|
sendMessage: B,
|
|
39305
39305
|
addToolOutput: ee,
|
|
39306
39306
|
setMessages: U,
|
|
@@ -39315,8 +39315,8 @@ function d8({
|
|
|
39315
39315
|
clientId: t,
|
|
39316
39316
|
conversationId: x,
|
|
39317
39317
|
mode: E,
|
|
39318
|
-
onError: (
|
|
39319
|
-
const K =
|
|
39318
|
+
onError: (P) => {
|
|
39319
|
+
const K = P instanceof Jp ? P.status === 429 ? "You're sending messages too quickly. Please retry in a moment." : P.status >= 500 ? "Server error while processing your message." : P.status === 401 || P.status === 403 ? "Unauthorized. Please sign in." : P.message || "Request failed" : P.message || "Unknown error";
|
|
39320
39320
|
G(K, "error"), $(K);
|
|
39321
39321
|
}
|
|
39322
39322
|
}), J = k === "streaming" || k === "submitted", [, $] = we(null), [V, oe] = we({ open: !1 }), [ye, ve] = we(null), Re = Ee(null), ne = Ee(!0), kt = Ee(!1), tn = Ee([]), ut = Ee(!0), Er = Ee(null), Nr = Ee(null), Vt = Ee(null), Yn = Ee(!1), pr = Ee(0), [ui, di] = we(50), [sa, En] = we(!1), [Nn, Z] = we(!0), ie = Ee(!0);
|
|
@@ -39324,17 +39324,17 @@ function d8({
|
|
|
39324
39324
|
V.open ? (ie.current = Nn, Z(!1)) : Z(ie.current);
|
|
39325
39325
|
}, [V.open]);
|
|
39326
39326
|
const Le = !Nn, [Me, Ye] = we(null), [Dt, dt] = we(null), [Et, Ot] = we(!1), [Kt, Qe] = we(null), [dn, hn] = we(!1), [hi, Ft] = we(!0), [mt, fr] = we(null), [ms, As] = we(!1), [bs, Rl] = we(!1), [ro, ku] = we(!1), [Cu, Cp] = we(!1), [Sp, Su] = we(!1), [Eb, Ip] = we(!1), [Ep, Np] = we(), [O, te] = we(!1), [de, Ne] = we(null), [et, it] = we(null), Xe = Ee(null), He = Ee(null), pn = Ee(null), Lt = "Ask anything tenancy related…", [qt, Tn] = we(""), gr = Ee(null), pi = Ee(null), _t = Ks(() => {
|
|
39327
|
-
const
|
|
39328
|
-
if (!
|
|
39329
|
-
const K =
|
|
39327
|
+
const P = R[R.length - 1];
|
|
39328
|
+
if (!P || P.role !== "assistant") return null;
|
|
39329
|
+
const K = P.parts;
|
|
39330
39330
|
return K ? K.find(
|
|
39331
39331
|
(le) => le.type === "dynamic-tool" && le.toolName === "gather_discovery_info" && le.state === "input-available"
|
|
39332
39332
|
) ?? null : null;
|
|
39333
|
-
}, [
|
|
39333
|
+
}, [R]), zl = Ks(() => {
|
|
39334
39334
|
if (!J) return [];
|
|
39335
|
-
const
|
|
39336
|
-
if (!
|
|
39337
|
-
const K =
|
|
39335
|
+
const P = R[R.length - 1];
|
|
39336
|
+
if (!P || P.role !== "assistant") return tn.current;
|
|
39337
|
+
const K = P.parts;
|
|
39338
39338
|
if (!K) return tn.current;
|
|
39339
39339
|
const le = K.filter((se) => {
|
|
39340
39340
|
var Ke, $t, Mt, Xn;
|
|
@@ -39352,9 +39352,9 @@ function d8({
|
|
|
39352
39352
|
const Ae = K.find((Ke) => Ke.toolCallId === se.toolCallId);
|
|
39353
39353
|
return Ae && Ae.state !== "output-available" && Ae.state !== "output-error";
|
|
39354
39354
|
}) : tn.current;
|
|
39355
|
-
}, [
|
|
39356
|
-
const
|
|
39357
|
-
return
|
|
39355
|
+
}, [R, J]), aa = Ks(() => {
|
|
39356
|
+
const P = R.filter((se) => se.role === "user" || se.role === "assistant"), K = P.length, le = Math.max(0, K - ui);
|
|
39357
|
+
return P.slice(le).map((se) => {
|
|
39358
39358
|
const Ae = se.parts, Ke = Ae ? Ae.filter((nn) => nn.type === "text").map((nn) => nn.text || "").join("") : typeof se.content == "string" ? se.content : "", $t = T(se), Mt = W(se), Xn = Mt ? X[Mt] ?? null : null;
|
|
39359
39359
|
return {
|
|
39360
39360
|
id: Mt || se.id,
|
|
@@ -39365,19 +39365,19 @@ function d8({
|
|
|
39365
39365
|
createdAt: se.createdAt ? se.createdAt.getTime() : Date.now()
|
|
39366
39366
|
};
|
|
39367
39367
|
});
|
|
39368
|
-
}, [
|
|
39368
|
+
}, [R, ui, X, T, W]), Iu = Math.max(0, R.filter((P) => P.role === "user" || P.role === "assistant").length - ui), rS = Ks(() => {
|
|
39369
39369
|
var le;
|
|
39370
39370
|
if (!J) return !1;
|
|
39371
|
-
const
|
|
39371
|
+
const P = aa[aa.length - 1], K = !!(P && P.role === "assistant" && (((le = P.content) == null ? void 0 : le.trim()) || "").length > 0);
|
|
39372
39372
|
return K && (kt.current = !0), K;
|
|
39373
|
-
}, [aa, J]), Tp = !hi && !dn &&
|
|
39373
|
+
}, [aa, J]), Tp = !hi && !dn && R.filter((P) => P.role !== "system").length === 0;
|
|
39374
39374
|
ct(() => {
|
|
39375
39375
|
e && Promise.resolve(e()).then(Np).catch(() => Np(void 0));
|
|
39376
39376
|
}, [e]), ct(() => {
|
|
39377
|
-
const
|
|
39377
|
+
const P = !D.trim().length && !O, K = () => {
|
|
39378
39378
|
gr.current && (window.clearInterval(gr.current), gr.current = null), pi.current && (window.clearTimeout(pi.current), pi.current = null);
|
|
39379
39379
|
};
|
|
39380
|
-
if (K(), !
|
|
39380
|
+
if (K(), !P) {
|
|
39381
39381
|
Tn("");
|
|
39382
39382
|
return;
|
|
39383
39383
|
}
|
|
@@ -39390,39 +39390,39 @@ function d8({
|
|
|
39390
39390
|
};
|
|
39391
39391
|
}, [D, O]);
|
|
39392
39392
|
const Eu = lt(() => {
|
|
39393
|
-
const
|
|
39394
|
-
|
|
39393
|
+
const P = Re.current;
|
|
39394
|
+
P && requestAnimationFrame(() => {
|
|
39395
39395
|
try {
|
|
39396
|
-
|
|
39396
|
+
P.scrollTop = P.scrollHeight;
|
|
39397
39397
|
} catch {
|
|
39398
39398
|
}
|
|
39399
39399
|
});
|
|
39400
39400
|
}, []), Nb = Ee(() => {
|
|
39401
39401
|
}), iS = lt(() => {
|
|
39402
|
-
const
|
|
39403
|
-
if (!
|
|
39404
|
-
const le =
|
|
39402
|
+
const P = Re.current;
|
|
39403
|
+
if (!P) return;
|
|
39404
|
+
const le = P.scrollHeight - P.scrollTop - P.clientHeight <= 80;
|
|
39405
39405
|
ne.current = le;
|
|
39406
|
-
const se =
|
|
39407
|
-
Su(se > 300 && Ae),
|
|
39406
|
+
const se = P.scrollHeight - P.scrollTop - P.clientHeight, Ae = P.scrollHeight > P.clientHeight + 400;
|
|
39407
|
+
Su(se > 300 && Ae), P.scrollTop < 100 && Nb.current();
|
|
39408
39408
|
}, []);
|
|
39409
39409
|
ct(() => {
|
|
39410
39410
|
ne.current && Eu();
|
|
39411
39411
|
}, [aa, Eu]);
|
|
39412
|
-
const Ug = lt((
|
|
39413
|
-
|
|
39414
|
-
const K = window.getComputedStyle(
|
|
39415
|
-
|
|
39412
|
+
const Ug = lt((P) => {
|
|
39413
|
+
P.style.height = "auto";
|
|
39414
|
+
const K = window.getComputedStyle(P), le = parseFloat(K.lineHeight || "20") || 20, se = parseFloat(K.paddingTop || "0") || 0, Ae = parseFloat(K.paddingBottom || "0") || 0, Ke = parseFloat(K.borderTopWidth || "0") || 0, $t = parseFloat(K.borderBottomWidth || "0") || 0, Mt = le * 9 + se + Ae + Ke + $t;
|
|
39415
|
+
P.style.maxHeight = `${Mt}px`, P.style.height = `${Math.min(P.scrollHeight, Math.ceil(Mt))}px`, P.style.overflowY = P.scrollHeight > Mt ? "auto" : "hidden";
|
|
39416
39416
|
}, []), Dl = lt(() => {
|
|
39417
|
-
const
|
|
39418
|
-
|
|
39417
|
+
const P = Nr.current, K = Vt.current;
|
|
39418
|
+
P && (P.offsetParent !== null ? Ug(P) : (P.style.height = "", P.style.maxHeight = "", P.style.overflowY = "")), K && (K.offsetParent !== null ? Ug(K) : (K.style.height = "", K.style.maxHeight = "", K.style.overflowY = ""));
|
|
39419
39419
|
}, [Ug]);
|
|
39420
39420
|
ct(() => {
|
|
39421
39421
|
Dl();
|
|
39422
39422
|
}, [D, Dl]), ct(() => {
|
|
39423
39423
|
requestAnimationFrame(() => Dl());
|
|
39424
39424
|
}, [Tp, Dl]), ct(() => {
|
|
39425
|
-
const
|
|
39425
|
+
const P = (le) => {
|
|
39426
39426
|
if (!de) return;
|
|
39427
39427
|
const se = Xe.current;
|
|
39428
39428
|
if (!se) {
|
|
@@ -39433,13 +39433,13 @@ function d8({
|
|
|
39433
39433
|
}, K = () => {
|
|
39434
39434
|
de && (Ne(null), it(null));
|
|
39435
39435
|
};
|
|
39436
|
-
return document.addEventListener("click",
|
|
39437
|
-
document.removeEventListener("click",
|
|
39436
|
+
return document.addEventListener("click", P), window.addEventListener("resize", K), window.addEventListener("scroll", K, !0), () => {
|
|
39437
|
+
document.removeEventListener("click", P), window.removeEventListener("resize", K), window.removeEventListener("scroll", K, !0);
|
|
39438
39438
|
};
|
|
39439
39439
|
}, [de]);
|
|
39440
|
-
const Nu = lt(async (
|
|
39440
|
+
const Nu = lt(async (P) => {
|
|
39441
39441
|
var le, se;
|
|
39442
|
-
A(
|
|
39442
|
+
A(P), Q.current = P, U([]), $(null), fr(null), di(50), hn(!0);
|
|
39443
39443
|
const K = ++pr.current;
|
|
39444
39444
|
try {
|
|
39445
39445
|
try {
|
|
@@ -39448,7 +39448,7 @@ function d8({
|
|
|
39448
39448
|
}
|
|
39449
39449
|
const Ae = new AbortController();
|
|
39450
39450
|
pn.current = Ae;
|
|
39451
|
-
const { messages: Ke, hasMore: $t } = await M.getMessages(
|
|
39451
|
+
const { messages: Ke, hasMore: $t } = await M.getMessages(P, 5, void 0, { signal: Ae.signal });
|
|
39452
39452
|
if (!ut.current || K !== pr.current) return;
|
|
39453
39453
|
ku($t);
|
|
39454
39454
|
const Mt = {};
|
|
@@ -39478,7 +39478,7 @@ function d8({
|
|
|
39478
39478
|
ct(() => {
|
|
39479
39479
|
var le;
|
|
39480
39480
|
ut.current = !0;
|
|
39481
|
-
let
|
|
39481
|
+
let P = !1;
|
|
39482
39482
|
try {
|
|
39483
39483
|
(le = He.current) == null || le.abort();
|
|
39484
39484
|
} catch {
|
|
@@ -39488,7 +39488,7 @@ function d8({
|
|
|
39488
39488
|
try {
|
|
39489
39489
|
Ot(!0), Qe(null);
|
|
39490
39490
|
const { conversations: se, hasMore: Ae } = await M.listConversations({ limit: 30 }, { signal: K.signal });
|
|
39491
|
-
if (
|
|
39491
|
+
if (P || !ut.current) return;
|
|
39492
39492
|
if (H(se), As(Ae), Yn.current) {
|
|
39493
39493
|
Yn.current = !1;
|
|
39494
39494
|
return;
|
|
@@ -39496,13 +39496,13 @@ function d8({
|
|
|
39496
39496
|
x ? await Nu(x) : !s && se.length > 0 && await Nu(se[0].id);
|
|
39497
39497
|
} catch (se) {
|
|
39498
39498
|
if (se instanceof DOMException && se.name === "AbortError") return;
|
|
39499
|
-
!
|
|
39499
|
+
!P && ut.current && Qe(se instanceof Error ? se.message : "Failed to load conversations");
|
|
39500
39500
|
} finally {
|
|
39501
|
-
!
|
|
39501
|
+
!P && ut.current && (Ot(!1), Ft(!1));
|
|
39502
39502
|
}
|
|
39503
39503
|
})(), () => {
|
|
39504
39504
|
var se;
|
|
39505
|
-
|
|
39505
|
+
P = !0, ut.current = !1;
|
|
39506
39506
|
try {
|
|
39507
39507
|
K.abort();
|
|
39508
39508
|
} catch {
|
|
@@ -39519,10 +39519,10 @@ function d8({
|
|
|
39519
39519
|
(K = He.current) == null || K.abort();
|
|
39520
39520
|
} catch {
|
|
39521
39521
|
}
|
|
39522
|
-
const
|
|
39523
|
-
He.current =
|
|
39522
|
+
const P = new AbortController();
|
|
39523
|
+
He.current = P, Ot(!0), Qe(null);
|
|
39524
39524
|
try {
|
|
39525
|
-
const { conversations: le, hasMore: se } = await M.listConversations({ limit: 30 }, { signal:
|
|
39525
|
+
const { conversations: le, hasMore: se } = await M.listConversations({ limit: 30 }, { signal: P.signal });
|
|
39526
39526
|
if (!ut.current) return;
|
|
39527
39527
|
H(le), As(se);
|
|
39528
39528
|
} catch (le) {
|
|
@@ -39546,12 +39546,12 @@ function d8({
|
|
|
39546
39546
|
}, [M, bs, ms, j]), oS = lt(async () => {
|
|
39547
39547
|
var se;
|
|
39548
39548
|
if (Cu || !ro || !x) return;
|
|
39549
|
-
const
|
|
39550
|
-
if (
|
|
39549
|
+
const P = R.filter((Ae) => Ae.role !== "system");
|
|
39550
|
+
if (P.length === 0) return;
|
|
39551
39551
|
Cp(!0);
|
|
39552
39552
|
const K = Re.current, le = (K == null ? void 0 : K.scrollHeight) ?? 0;
|
|
39553
39553
|
try {
|
|
39554
|
-
const Ae =
|
|
39554
|
+
const Ae = P[0], Ke = ((se = Ae.metadata) == null ? void 0 : se.created_at) || (Ae.createdAt instanceof Date ? Ae.createdAt.toISOString() : Ae.createdAt), { messages: $t, hasMore: Mt } = await M.getMessages(x, 20, Ke);
|
|
39555
39555
|
if (!ut.current) return;
|
|
39556
39556
|
if (ku(Mt), $t.length > 0) {
|
|
39557
39557
|
const Xn = {};
|
|
@@ -39573,10 +39573,10 @@ function d8({
|
|
|
39573
39573
|
} finally {
|
|
39574
39574
|
ut.current && Cp(!1);
|
|
39575
39575
|
}
|
|
39576
|
-
}, [M, Cu, ro, x,
|
|
39576
|
+
}, [M, Cu, ro, x, R, U]);
|
|
39577
39577
|
Nb.current = oS;
|
|
39578
|
-
const Tb = lt(async (
|
|
39579
|
-
|
|
39578
|
+
const Tb = lt(async (P) => {
|
|
39579
|
+
P.preventDefault();
|
|
39580
39580
|
const K = D.trim();
|
|
39581
39581
|
if (!K || J) return;
|
|
39582
39582
|
q(""), $(null), ne.current = !0, kt.current = !1, tn.current = [];
|
|
@@ -39592,31 +39592,31 @@ function d8({
|
|
|
39592
39592
|
return;
|
|
39593
39593
|
}
|
|
39594
39594
|
await B({ text: K });
|
|
39595
|
-
}, [D, J, M, B, Q, G, q]), lS = lt((
|
|
39595
|
+
}, [D, J, M, B, Q, G, q]), lS = lt((P) => {
|
|
39596
39596
|
_t && ee({
|
|
39597
39597
|
toolCallId: _t.toolCallId,
|
|
39598
|
-
output:
|
|
39598
|
+
output: P
|
|
39599
39599
|
});
|
|
39600
|
-
}, [_t, ee]), jb = lt(async (
|
|
39601
|
-
const se = X[
|
|
39602
|
-
L((Ae) => ({ ...Ae, [
|
|
39600
|
+
}, [_t, ee]), jb = lt(async (P, K, le) => {
|
|
39601
|
+
const se = X[P];
|
|
39602
|
+
L((Ae) => ({ ...Ae, [P]: K }));
|
|
39603
39603
|
try {
|
|
39604
|
-
await M.setMessageFeedback(
|
|
39604
|
+
await M.setMessageFeedback(P, K, le ?? null);
|
|
39605
39605
|
} catch {
|
|
39606
|
-
L((Ae) => ({ ...Ae, [
|
|
39606
|
+
L((Ae) => ({ ...Ae, [P]: se })), G("Failed to save feedback", "error");
|
|
39607
39607
|
}
|
|
39608
|
-
}, [M, X, G]), cS = lt((
|
|
39609
|
-
jb(
|
|
39608
|
+
}, [M, X, G]), cS = lt((P, K, le) => {
|
|
39609
|
+
jb(P, K, le ?? null).then(() => {
|
|
39610
39610
|
G(
|
|
39611
39611
|
K === "helpful" ? "Thanks for your feedback: Helpful" : "Thanks for your feedback: Not helpful",
|
|
39612
39612
|
K === "helpful" ? "success" : "info"
|
|
39613
39613
|
);
|
|
39614
39614
|
});
|
|
39615
|
-
}, [jb, G]), uS = lt(({ numPages:
|
|
39616
|
-
oe((
|
|
39615
|
+
}, [jb, G]), uS = lt(({ numPages: P }) => ve(P), []), Wg = Ee(null), Ob = lt(() => {
|
|
39616
|
+
oe((P) => {
|
|
39617
39617
|
var le, se;
|
|
39618
|
-
const K = !
|
|
39619
|
-
return K ? (le = Wg.current) == null || le.collapse() : (se = Wg.current) == null || se.expand(), { ...
|
|
39618
|
+
const K = !P.fullscreen;
|
|
39619
|
+
return K ? (le = Wg.current) == null || le.collapse() : (se = Wg.current) == null || se.expand(), { ...P, fullscreen: K };
|
|
39620
39620
|
});
|
|
39621
39621
|
}, []), Lb = /* @__PURE__ */ b.jsx("div", { className: "ai-avatar", "aria-hidden": !0, children: /* @__PURE__ */ b.jsx("img", { src: sf, alt: "", style: { width: "100%", height: "100%", objectFit: "cover" } }) });
|
|
39622
39622
|
return /* @__PURE__ */ b.jsxs(b.Fragment, { children: [
|
|
@@ -39633,10 +39633,10 @@ function d8({
|
|
|
39633
39633
|
className: "sidebar-toggle-btn",
|
|
39634
39634
|
type: "button",
|
|
39635
39635
|
onClick: () => {
|
|
39636
|
-
Z((
|
|
39636
|
+
Z((P) => !P), dt(null);
|
|
39637
39637
|
},
|
|
39638
|
-
onMouseEnter: (
|
|
39639
|
-
const K =
|
|
39638
|
+
onMouseEnter: (P) => {
|
|
39639
|
+
const K = P.currentTarget.getBoundingClientRect(), le = K.top > 80;
|
|
39640
39640
|
dt({ top: le ? K.top - 8 : K.bottom + 8, left: K.left + K.width / 2, above: le });
|
|
39641
39641
|
},
|
|
39642
39642
|
onMouseLeave: () => dt(null),
|
|
@@ -39652,12 +39652,12 @@ function d8({
|
|
|
39652
39652
|
title: "New chat",
|
|
39653
39653
|
onClick: async () => {
|
|
39654
39654
|
try {
|
|
39655
|
-
const
|
|
39656
|
-
A(
|
|
39655
|
+
const P = await M.createConversation();
|
|
39656
|
+
A(P.id), Q.current = P.id, U([]);
|
|
39657
39657
|
const { conversations: K, hasMore: le } = await M.listConversations({ limit: 30 });
|
|
39658
39658
|
H(K), As(le);
|
|
39659
|
-
} catch (
|
|
39660
|
-
$(
|
|
39659
|
+
} catch (P) {
|
|
39660
|
+
$(P instanceof Error ? P.message : "Failed to create conversation");
|
|
39661
39661
|
}
|
|
39662
39662
|
},
|
|
39663
39663
|
children: [
|
|
@@ -39667,8 +39667,8 @@ function d8({
|
|
|
39667
39667
|
}
|
|
39668
39668
|
)
|
|
39669
39669
|
] }),
|
|
39670
|
-
/* @__PURE__ */ b.jsxs("div", { className: "thread-list", onScroll: (
|
|
39671
|
-
const K =
|
|
39670
|
+
/* @__PURE__ */ b.jsxs("div", { className: "thread-list", onScroll: (P) => {
|
|
39671
|
+
const K = P.currentTarget;
|
|
39672
39672
|
K.scrollHeight - K.scrollTop - K.clientHeight < 100 && aS();
|
|
39673
39673
|
}, children: [
|
|
39674
39674
|
Et && /* @__PURE__ */ b.jsxs("div", { className: "sidebar-loading", role: "status", "aria-live": "polite", children: [
|
|
@@ -39686,14 +39686,14 @@ function d8({
|
|
|
39686
39686
|
/* @__PURE__ */ b.jsx("span", { className: "thread-group-title-full", children: "Your chats" }),
|
|
39687
39687
|
/* @__PURE__ */ b.jsx("span", { className: "thread-group-title-mini", children: "Chats" })
|
|
39688
39688
|
] }),
|
|
39689
|
-
j.map((
|
|
39689
|
+
j.map((P) => /* @__PURE__ */ b.jsxs(
|
|
39690
39690
|
"div",
|
|
39691
39691
|
{
|
|
39692
|
-
className: `thread-item${x ===
|
|
39692
|
+
className: `thread-item${x === P.id ? " active" : ""}`,
|
|
39693
39693
|
onMouseEnter: (K) => {
|
|
39694
39694
|
if (!Le) return;
|
|
39695
39695
|
const le = K.currentTarget.getBoundingClientRect();
|
|
39696
|
-
Ye({ text:
|
|
39696
|
+
Ye({ text: P.title || "New chat", top: le.top + le.height / 2, left: le.right + 8 });
|
|
39697
39697
|
},
|
|
39698
39698
|
onMouseLeave: () => Ye(null),
|
|
39699
39699
|
children: [
|
|
@@ -39702,19 +39702,19 @@ function d8({
|
|
|
39702
39702
|
{
|
|
39703
39703
|
className: "thread-main",
|
|
39704
39704
|
onClick: () => {
|
|
39705
|
-
Nu(
|
|
39705
|
+
Nu(P.id), En(!1);
|
|
39706
39706
|
},
|
|
39707
|
-
title:
|
|
39708
|
-
"aria-current": x ===
|
|
39707
|
+
title: P.title || "New chat",
|
|
39708
|
+
"aria-current": x === P.id ? "true" : void 0,
|
|
39709
39709
|
children: [
|
|
39710
39710
|
/* @__PURE__ */ b.jsx("div", { className: "thread-avatar", "aria-hidden": !0, children: /* @__PURE__ */ b.jsx("img", { src: sf, alt: "" }) }),
|
|
39711
39711
|
/* @__PURE__ */ b.jsxs("div", { className: "thread-text", children: [
|
|
39712
39712
|
/* @__PURE__ */ b.jsxs("div", { className: "thread-title", children: [
|
|
39713
|
-
(
|
|
39714
|
-
(
|
|
39713
|
+
(P.title || "New chat").slice(0, 36),
|
|
39714
|
+
(P.title || "").length > 36 ? "…" : ""
|
|
39715
39715
|
] }),
|
|
39716
39716
|
/* @__PURE__ */ b.jsx("div", { className: "thread-date", children: (() => {
|
|
39717
|
-
const K =
|
|
39717
|
+
const K = P.updated_at ? Date.parse(P.updated_at) : Date.now(), le = new Date(K), se = `${le.getDate().toString().padStart(2, "0")}/${(le.getMonth() + 1).toString().padStart(2, "0")}/${le.getFullYear()}`, Ae = le.getHours(), Ke = `${(Ae + 11) % 12 + 1}:${le.getMinutes().toString().padStart(2, "0")}${Ae >= 12 ? "pm" : "am"}`;
|
|
39718
39718
|
return /* @__PURE__ */ b.jsxs(b.Fragment, { children: [
|
|
39719
39719
|
/* @__PURE__ */ b.jsx("span", { children: se }),
|
|
39720
39720
|
/* @__PURE__ */ b.jsx("span", { className: "thread-date-dot", "aria-hidden": !0 }),
|
|
@@ -39734,7 +39734,7 @@ function d8({
|
|
|
39734
39734
|
onClick: (K) => {
|
|
39735
39735
|
K.stopPropagation();
|
|
39736
39736
|
const se = K.currentTarget.getBoundingClientRect();
|
|
39737
|
-
it({ top: se.bottom + 8, left: se.right - 160 }), Ne((Ae) => Ae ===
|
|
39737
|
+
it({ top: se.bottom + 8, left: se.right - 160 }), Ne((Ae) => Ae === P.id ? null : P.id);
|
|
39738
39738
|
},
|
|
39739
39739
|
children: /* @__PURE__ */ b.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": !0, children: [
|
|
39740
39740
|
/* @__PURE__ */ b.jsx("circle", { cx: "12", cy: "5", r: "1.8", fill: "#64748b" }),
|
|
@@ -39745,7 +39745,7 @@ function d8({
|
|
|
39745
39745
|
) })
|
|
39746
39746
|
]
|
|
39747
39747
|
},
|
|
39748
|
-
|
|
39748
|
+
P.id
|
|
39749
39749
|
))
|
|
39750
39750
|
] }),
|
|
39751
39751
|
bs && /* @__PURE__ */ b.jsx("div", { className: "sidebar-loading-more", role: "status", children: /* @__PURE__ */ b.jsx("span", { className: "spinner", "aria-hidden": !0, style: { width: 16, height: 16 } }) })
|
|
@@ -39764,10 +39764,10 @@ function d8({
|
|
|
39764
39764
|
role: "menuitem",
|
|
39765
39765
|
className: "thread-menu-item danger",
|
|
39766
39766
|
onClick: async () => {
|
|
39767
|
-
const
|
|
39767
|
+
const P = de;
|
|
39768
39768
|
Ne(null), it(null);
|
|
39769
39769
|
try {
|
|
39770
|
-
await M.deleteConversation(
|
|
39770
|
+
await M.deleteConversation(P), H((K) => K.filter((le) => le.id !== P)), x === P && (A(null), Q.current = null, U([]));
|
|
39771
39771
|
} catch {
|
|
39772
39772
|
G("Failed to delete conversation", "error");
|
|
39773
39773
|
}
|
|
@@ -39780,8 +39780,8 @@ function d8({
|
|
|
39780
39780
|
sa && /* @__PURE__ */ b.jsx("div", { className: "drawer-backdrop", onClick: () => En(!1), "aria-hidden": !0 }),
|
|
39781
39781
|
!Nn && !s && /* @__PURE__ */ b.jsx("button", { className: "sidebar-reopen-btn", type: "button", onClick: () => Z(!0), "aria-label": "Show conversations sidebar", title: "Show sidebar", children: /* @__PURE__ */ b.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ b.jsx("path", { d: "M3 6h18M3 12h18M3 18h18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }) }),
|
|
39782
39782
|
/* @__PURE__ */ b.jsxs(lw, { direction: "horizontal", className: "resizable-panels", children: [
|
|
39783
|
-
/* @__PURE__ */ b.jsx(Lm, { defaultSize: s && V.open ? 0 : 50, minSize: s && V.open ? 0 : 30, collapsible: !0, collapsedSize: 0, panelRef: Wg, className: "messages-panel", onResize: (
|
|
39784
|
-
|
|
39783
|
+
/* @__PURE__ */ b.jsx(Lm, { defaultSize: s && V.open ? 0 : 50, minSize: s && V.open ? 0 : 30, collapsible: !0, collapsedSize: 0, panelRef: Wg, className: "messages-panel", onResize: (P) => {
|
|
39784
|
+
P.asPercentage > 0 && V.fullscreen && oe((K) => ({ ...K, fullscreen: !1 }));
|
|
39785
39785
|
}, children: /* @__PURE__ */ b.jsxs("section", { className: "messages-main", ref: Re, onScroll: iS, children: [
|
|
39786
39786
|
/* @__PURE__ */ b.jsx("div", { className: "mobile-bar", children: /* @__PURE__ */ b.jsx("button", { className: "sidebar-toggle", type: "button", onClick: () => En(!0), "aria-label": "Open conversations", children: /* @__PURE__ */ b.jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": !0, children: /* @__PURE__ */ b.jsx("path", { d: "M3 6h18M3 12h18M3 18h18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }) }) }),
|
|
39787
39787
|
/* @__PURE__ */ b.jsxs("div", { className: "messages", children: [
|
|
@@ -39817,19 +39817,19 @@ function d8({
|
|
|
39817
39817
|
ref: Nr,
|
|
39818
39818
|
placeholder: qt,
|
|
39819
39819
|
value: D,
|
|
39820
|
-
onChange: (
|
|
39820
|
+
onChange: (P) => q(P.target.value),
|
|
39821
39821
|
onFocus: () => te(!0),
|
|
39822
39822
|
onBlur: () => te(!1),
|
|
39823
|
-
onKeyDown: (
|
|
39823
|
+
onKeyDown: (P) => {
|
|
39824
39824
|
var K, le;
|
|
39825
|
-
if (
|
|
39826
|
-
|
|
39827
|
-
const se =
|
|
39825
|
+
if (P.key === "Enter" && P.shiftKey) {
|
|
39826
|
+
P.preventDefault();
|
|
39827
|
+
const se = P.currentTarget, Ae = se.selectionStart ?? se.value.length, Ke = se.selectionEnd ?? se.value.length, $t = se.value.slice(0, Ae) + `
|
|
39828
39828
|
` + se.value.slice(Ke);
|
|
39829
39829
|
q($t), requestAnimationFrame(() => {
|
|
39830
39830
|
se.selectionStart = se.selectionEnd = Ae + 1, Dl();
|
|
39831
39831
|
});
|
|
39832
|
-
} else
|
|
39832
|
+
} else P.key === "Enter" && !P.shiftKey && (P.preventDefault(), typeof ((K = P.currentTarget.form) == null ? void 0 : K.requestSubmit) == "function" ? P.currentTarget.form.requestSubmit() : (le = P.currentTarget.form) == null || le.dispatchEvent(new Event("submit", { cancelable: !0, bubbles: !0 })));
|
|
39833
39833
|
},
|
|
39834
39834
|
rows: 1,
|
|
39835
39835
|
disabled: J
|
|
@@ -39850,18 +39850,18 @@ function d8({
|
|
|
39850
39850
|
] })
|
|
39851
39851
|
] }) }) })
|
|
39852
39852
|
] }) }),
|
|
39853
|
-
Iu > 0 && /* @__PURE__ */ b.jsx("div", { className: "older-messages", children: /* @__PURE__ */ b.jsxs("button", { className: "chip", type: "button", onClick: () => di((
|
|
39853
|
+
Iu > 0 && /* @__PURE__ */ b.jsx("div", { className: "older-messages", children: /* @__PURE__ */ b.jsxs("button", { className: "chip", type: "button", onClick: () => di((P) => P + 50), "aria-label": `Show older messages (${Iu})`, children: [
|
|
39854
39854
|
"Show older messages (",
|
|
39855
39855
|
Iu,
|
|
39856
39856
|
")"
|
|
39857
39857
|
] }) }),
|
|
39858
|
-
aa.map((
|
|
39858
|
+
aa.map((P, K) => {
|
|
39859
39859
|
var Ke;
|
|
39860
39860
|
const le = K === aa.length - 1, se = le && kt.current ? zl : [], Ae = le && J;
|
|
39861
|
-
return
|
|
39861
|
+
return P.role === "assistant" && !((Ke = P.content) != null && Ke.trim()) && !se.length ? null : /* @__PURE__ */ b.jsx("div", { className: `message ${P.role}`, children: /* @__PURE__ */ b.jsx(
|
|
39862
39862
|
Qz,
|
|
39863
39863
|
{
|
|
39864
|
-
message:
|
|
39864
|
+
message: P,
|
|
39865
39865
|
docsBase: g,
|
|
39866
39866
|
user: n,
|
|
39867
39867
|
isStreaming: Ae,
|
|
@@ -39889,7 +39889,7 @@ function d8({
|
|
|
39889
39889
|
},
|
|
39890
39890
|
onSubmitFeedback: cS
|
|
39891
39891
|
}
|
|
39892
|
-
) },
|
|
39892
|
+
) }, P.id || K);
|
|
39893
39893
|
}),
|
|
39894
39894
|
J && !rS && !kt.current && !_t && /* @__PURE__ */ b.jsxs("div", { className: "loading-sequence", role: "status", "aria-live": "polite", children: [
|
|
39895
39895
|
Lb,
|
|
@@ -39898,13 +39898,13 @@ function d8({
|
|
|
39898
39898
|
/* @__PURE__ */ b.jsx("span", { "aria-hidden": !0, className: "typing-dot" }),
|
|
39899
39899
|
/* @__PURE__ */ b.jsx("span", { className: "typing-text", children: "Thinking…" })
|
|
39900
39900
|
] }),
|
|
39901
|
-
zl.map((
|
|
39901
|
+
zl.map((P) => /* @__PURE__ */ b.jsxs(xe.Fragment, { children: [
|
|
39902
39902
|
/* @__PURE__ */ b.jsx("div", { className: "loading-sequence-connector", "aria-hidden": !0 }),
|
|
39903
39903
|
/* @__PURE__ */ b.jsxs("div", { className: "tool-call-pill loading-sequence-tool", children: [
|
|
39904
39904
|
/* @__PURE__ */ b.jsx("div", { className: "tool-call-spinner" }),
|
|
39905
|
-
/* @__PURE__ */ b.jsx("span", { className: "tool-call-name", children:
|
|
39905
|
+
/* @__PURE__ */ b.jsx("span", { className: "tool-call-name", children: P.toolName.split("_").map((K) => K.charAt(0).toUpperCase() + K.slice(1)).join(" ") })
|
|
39906
39906
|
] })
|
|
39907
|
-
] },
|
|
39907
|
+
] }, P.toolCallId))
|
|
39908
39908
|
] })
|
|
39909
39909
|
] }),
|
|
39910
39910
|
_t && /* @__PURE__ */ b.jsxs("div", { className: "message assistant", "aria-live": "polite", children: [
|
|
@@ -39939,8 +39939,8 @@ function d8({
|
|
|
39939
39939
|
{
|
|
39940
39940
|
className: "composer-field",
|
|
39941
39941
|
onFocusCapture: () => Ip(!0),
|
|
39942
|
-
onBlurCapture: (
|
|
39943
|
-
|
|
39942
|
+
onBlurCapture: (P) => {
|
|
39943
|
+
P.currentTarget.contains(document.activeElement) || Ip(!1);
|
|
39944
39944
|
},
|
|
39945
39945
|
children: [
|
|
39946
39946
|
/* @__PURE__ */ b.jsxs("div", { className: "composer-text-area", children: [
|
|
@@ -39952,20 +39952,20 @@ function d8({
|
|
|
39952
39952
|
ref: Vt,
|
|
39953
39953
|
placeholder: qt,
|
|
39954
39954
|
value: D,
|
|
39955
|
-
onChange: (
|
|
39955
|
+
onChange: (P) => q(P.target.value),
|
|
39956
39956
|
onFocus: () => te(!0),
|
|
39957
39957
|
onBlur: () => te(!1),
|
|
39958
|
-
onKeyDown: (
|
|
39959
|
-
if (
|
|
39960
|
-
|
|
39961
|
-
const K =
|
|
39958
|
+
onKeyDown: (P) => {
|
|
39959
|
+
if (P.key === "Enter" && P.shiftKey) {
|
|
39960
|
+
P.preventDefault();
|
|
39961
|
+
const K = P.currentTarget, le = K.selectionStart ?? K.value.length, se = K.selectionEnd ?? K.value.length, Ae = K.value.slice(0, le) + `
|
|
39962
39962
|
` + K.value.slice(se);
|
|
39963
39963
|
q(Ae), requestAnimationFrame(() => {
|
|
39964
39964
|
K.selectionStart = K.selectionEnd = le + 1, Dl();
|
|
39965
39965
|
});
|
|
39966
|
-
} else if (
|
|
39967
|
-
|
|
39968
|
-
const K = Er.current ||
|
|
39966
|
+
} else if (P.key === "Enter" && !P.shiftKey) {
|
|
39967
|
+
P.preventDefault();
|
|
39968
|
+
const K = Er.current || P.currentTarget.closest("form");
|
|
39969
39969
|
if (!K) return;
|
|
39970
39970
|
typeof K.requestSubmit == "function" ? K.requestSubmit() : K.dispatchEvent(new Event("submit", { cancelable: !0, bubbles: !0 }));
|
|
39971
39971
|
}
|
|
@@ -40010,7 +40010,7 @@ function d8({
|
|
|
40010
40010
|
apiKey: m,
|
|
40011
40011
|
authToken: Ep,
|
|
40012
40012
|
fullscreen: V.fullscreen || !1,
|
|
40013
|
-
onClose: () => oe((
|
|
40013
|
+
onClose: () => oe((P) => ({ ...P, open: !1 })),
|
|
40014
40014
|
onToggleFullscreen: Ob
|
|
40015
40015
|
}
|
|
40016
40016
|
) : /* @__PURE__ */ b.jsx(
|
|
@@ -40025,21 +40025,21 @@ function d8({
|
|
|
40025
40025
|
clientId: t,
|
|
40026
40026
|
apiKey: m,
|
|
40027
40027
|
authToken: Ep,
|
|
40028
|
-
onClose: () => oe((
|
|
40029
|
-
onChangePage: (
|
|
40028
|
+
onClose: () => oe((P) => ({ ...P, open: !1 })),
|
|
40029
|
+
onChangePage: (P) => oe((K) => ({ ...K, page: P, jumpTick: (K.jumpTick || 0) + 1 })),
|
|
40030
40030
|
onMeta: uS,
|
|
40031
40031
|
fullscreen: V.fullscreen || !1,
|
|
40032
40032
|
onToggleFullscreen: Ob,
|
|
40033
40033
|
onShowAISummary: (() => {
|
|
40034
40034
|
var se, Ae;
|
|
40035
|
-
const
|
|
40035
|
+
const P = (V.sources || []).find(
|
|
40036
40036
|
(Ke) => {
|
|
40037
40037
|
var $t, Mt, Xn;
|
|
40038
40038
|
return (($t = Ke.metadata) == null ? void 0 : $t.type) === "primary_summary" && ((Mt = Ke.metadata) == null ? void 0 : Mt.outline) && ((Xn = Ke.metadata) == null ? void 0 : Xn.order_metadata);
|
|
40039
40039
|
}
|
|
40040
40040
|
);
|
|
40041
|
-
if (!
|
|
40042
|
-
const K = (se =
|
|
40041
|
+
if (!P) return null;
|
|
40042
|
+
const K = (se = P.metadata) == null ? void 0 : se.outline, le = (Ae = P.metadata) == null ? void 0 : Ae.order_metadata;
|
|
40043
40043
|
return (Ke) => /* @__PURE__ */ b.jsx(
|
|
40044
40044
|
c8,
|
|
40045
40045
|
{
|