@tenancy.nz/chat-ui 0.1.33 → 0.1.35

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 CHANGED
@@ -14,10 +14,10 @@ var wn = (n, t, e, i) => ({
14
14
  }
15
15
  });
16
16
  import * as Ut from "react";
17
- import kt, { useState as fe, useCallback as Bn, isValidElement as Wy, cloneElement as Fm, useEffect as si, useMemo as ja, useRef as Fe } from "react";
17
+ import kt, { useState as fe, useCallback as Bn, isValidElement as Wy, cloneElement as Fm, useRef as Me, useEffect as si, useMemo as ja } from "react";
18
18
  import * as Mf from "react-dom";
19
19
  import Jh, { createPortal as jx } from "react-dom";
20
- const WO = ':root{--bg: #f7f9fc;--panel: #ffffff;--text: #0b1324;--muted: #64748b;--accent: #1a73e8;--accent-2: #1a73e8;--danger: #e11d48;--border: #e5e7eb;--pdf-citations-width: 260px;--brand-blue: #0445B7;--brand-pink: #DB2C73;--brand-green: #0CC1A3}*{box-sizing:border-box}html,body{font-family:Montserrat,Inter,ui-sans-serif,system-ui;overflow-x:hidden;width:100%;margin:0}.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{width:100%;max-width:none;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;overflow:hidden;box-shadow:none}.chat-layout{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 65px);min-height:calc(100vh - 65px)}.sidebar{border-right:1px solid var(--border);background:#fff;padding:10px;display:flex;flex-direction:column;gap:10px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#0f172a;padding:8px 20px 8px 12px;border-radius:12px;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;margin-top:6px;margin-right:6px}.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:hover{transform:translateY(-1px);box-shadow:0 0 0 6px #0445b71f,0 8px 16px #0445b757;filter:saturate(110%)}.sidebar-new:active{transform:translateY(0);box-shadow:0 4px 10px #0445b738}.sidebar-new:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.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:6px;padding:6px 20px 26px 8px;box-sizing:border-box;scrollbar-gutter:stable both-edges;max-height:100vh}.thread-group{display:grid;gap:6px}.thread-group-title{color:#94a3b8;font-size:11px;padding:8px 6px 0;text-transform:uppercase;letter-spacing:.04em}.thread-empty{color:var(--muted);font-size:12px;padding:12px 8px}.sidebar-loading{padding:8px 6px;display:grid;gap:8px}.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:12px;padding:12px 18px 12px 12px;border:none;background:none;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;width:calc(100% - 6px);transition:all .2s ease;margin-right:6px;overflow:hidden}.thread-item:hover{background:#f1f5f9}.thread-item.active{background:#e0f2fe}.thread-icon{flex-shrink:0}.thread-text{flex:1;min-width:0;overflow:hidden;width:100%}.thread-title{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.thread-date{font-size:12px;color:var(--accent);font-weight:500}.messages-main{display:flex;flex-direction:column;overflow:auto;position:relative;height:100vh;min-height:100vh}.messages{overflow:auto;padding:28px 40px 100px;display:flex;flex-direction:column;gap:20px;background:#fff;position:relative;margin:0 auto;overflow:visible;width:100%;max-width:1280px;min-height:100vh}.messages-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fffc;-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:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.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;gap:12px;align-items:flex-start;animation:messageSlideIn .3s ease-out;flex-wrap:wrap}.messages>:last-child{padding-bottom:200px}.message.user{flex-direction:row-reverse}.message.assistant{flex-direction:row}.message .msg-subdivider,.message .sources-copy,.message .sources-hud{flex-basis:100%}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{flex:0 0 auto;align-self:flex-start;margin-left:40px;width:100%;max-width:min(72ch,calc(100% - 40px))}@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>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 44px);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% - 44px)!important}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{margin-left:0;max-width:100%}.sources-hud{margin-top:8px}}.ai-avatar{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#0445b7,#0cc1a3);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0445b726}.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:#0b1324;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:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#0b1324;border:1px solid transparent;border-bottom-right-radius:4px}.message.assistant .bubble{background:#fff;border:1px solid #e5e7eb;color:#0b1324;border-bottom-left-radius:4px}.message.assistant .bubble-plain{background:transparent;border:0;padding:0;max-width:72ch;font-size:14px;color:#0b1324;font-family:Montserrat,Inter,ui-sans-serif,system-ui;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;min-width:0}.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:#0b1324;font-weight:600}.message.assistant .bubble-plain p{color:#0b1324}.message.assistant .bubble-plain p,.bubble p{margin:0 0 8px}.bubble>*:first-child{margin-top:0}.bubble>*:last-child{margin-bottom:0}.bubble p{margin:0 0 8px}.bubble ul,.bubble ol{margin:8px 0 8px 18px;padding:0}.bubble li{margin:4px 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:underline;text-underline-offset:2px}.message.assistant .bubble-plain{line-height:1.65}.message.assistant .bubble-plain p{margin:0 0 12px}.message.assistant .bubble-plain ul,.message.assistant .bubble-plain ol{margin:0 0 12px 20px;padding:0}.message.assistant .bubble-plain li+li{margin-top:4px}.message.assistant .bubble-plain blockquote{margin:12px 0;padding:10px 12px;border-left:4px solid #dbeafe;background:#f8fafc;color:#0b1324;border-radius:6px}.message.assistant .bubble-plain h1{font-size:20px;margin:0 0 16px}.message.assistant .bubble-plain h2{font-size:18px;margin:0 0 16px}.message.assistant .bubble-plain h3{font-size:16px;margin:14px 0 6px}.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{font-size:14px;margin:0 0 16px}.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{margin-top:0;border:1px solid #dbe7ff;background:#f8fafc;padding:6px 6px 8px;border-radius:8px;width:100%}.sources-copy{display:flex;align-items:center;gap:6px;margin:0 0 6px}.msg-subdivider{height:1px;background:#f3f3f3;margin:10px 0 6px}.sources-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.sources-title{font-size:10px;color:#6b7280;margin:0;text-transform:uppercase;letter-spacing:.04em}.sources-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.source-item{display:flex;align-items:center;gap:4px}.source-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;cursor:pointer;min-width:160px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link:hover{border-color:#d1d5db;background:#f9fafb}.source-rank{font-weight:600;color:var(--accent)}.source-name{font-weight:500;color:#0b1324;overflow:hidden;text-overflow:ellipsis}.source-page{color:#6b7280}.source-score{margin-left:auto;font-variant-numeric:tabular-nums;color:#6b7280}.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}.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:#e8f0fe;border:1px solid #dbe7ff;color:#0b1324;box-shadow:0 1px 2px #0000000a,0 3px 10px #0445b71a}.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:#ffffff8c;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);transition:opacity .12s ease-in-out,visibility .12s ease-in-out}.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:680px;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{padding:0;background:transparent;position:fixed;width:calc(100% - 540px);bottom:30px}.composer-field{position:relative;display:flex;align-items:stretch;gap:0;max-width:1280px;margin:0 auto;padding:0 40px}.composer-field textarea{flex:1;padding:14px 18px;border:1px solid var(--border);border-radius:12px 0 0 12px;border-right:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4;resize:none;outline:none;font-family:inherit;max-height:80px;min-height:48px;transition:all .2s ease}.composer-field textarea:focus{border-color:var(--accent)}.composer-field:focus-within textarea{border-color:var(--accent)}.composer-field:focus-within .composer-send{border-color:var(--accent)}.composer-send:hover{border-color:var(--accent)}.composer-field textarea::placeholder{color:var(--muted)}.composer-send{padding:0 14px;border:1px solid var(--border);border-left:0;border-radius:0 12px 12px 0;background:#0e0044;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:48px;height:auto;align-self:stretch}.composer .composer-send{background:#0e0044!important;color:#fff!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.composer-send:hover:not(:disabled){background:#160060;transform:translateY(-1px);box-shadow:0 4px 12px #0e004459}.composer-send:disabled{background:#0e0044;opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.empty-hero{display:grid;place-items:center;margin-top:0;min-height:calc(100% - 56px);width:100%;overflow-x:visible;max-width:100vw}.empty-hero-inner{text-align:center;max-width:min(900px,100%);width:100%;margin:0 auto;animation:heroIn .6s cubic-bezier(.22,.61,.36,1) both;overflow:visible;max-width:100vw}.empty-hero-logo{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:16px;overflow:visible;z-index:0}.empty-hero-logo svg{width:clamp(112px,17.6vw,176px);height:auto;overflow:visible;filter:drop-shadow(0 10px 24px rgba(4,69,183,.18))}.empty-hero-logo>svg,.empty-hero-logo svg{position:relative;z-index:0}.empty-hero h1,.empty-hero p,.empty-hero .chip-row{position:relative;z-index:2}.empty-hero-logo svg>g{transform-box:view-box;transform-origin:center;transform:rotate(var(--g, 0deg));will-change:transform}.empty-hero h1{margin:0;font-family:Montserrat,Inter,ui-sans-serif;font-weight:800;color:#0b1324;font-size:36px;letter-spacing:.2px}.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}.empty-hero p{margin:0 0 24px;color:#64748b;font-size:16px}@keyframes typing{0%{width:0ch}to{width:calc(var(--chars) * 1ch)}}@keyframes caretBlink{0%,to{--caret-opacity: 1}50%{--caret-opacity: 0}}@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}}.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:800px;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:#0b1324;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}.pdf-container{display:flex;width:100%;height:100%;gap:0}.pdf-content{flex:1;min-width:0;overflow:hidden;padding:0 16px}.pdf-toolbar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 8px #00000008;padding:8px 12px}.pdf-toolbar-left{display:flex;gap:8px}.pdf-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);color:#111827;width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;cursor:pointer}.pdf-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-page-label{font-size:13px;color:#374151}.typing-hud{display:flex;justify-content:flex-start;align-items:flex-start;margin:16px 0;animation:typingSlideIn .3s ease-out}.typing-hud-inner{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.typing-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#5446e6,#1a73e8);box-shadow:0 0 0 2px #1a73e81f;animation:pulseDot 1.4s ease-in-out infinite}.typing-text{opacity:.9}@keyframes typingSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes pulseDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.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 rgba(0,0,0,.08);background:transparent;color:#111827;cursor:pointer}.pdf-source-item.active{background:#1976d214}.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: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:1000;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:8px;z-index:2000}.toast{background:#111827;color:#fff;border-radius:8px;padding:10px 12px;font-size:13px;box-shadow:0 10px 20px #0003}.toast.error{background:#b91c1c}.toast.success{background:#065f46}';
20
+ const WO = ':root{--bg: #f7f9fc;--panel: #ffffff;--text: #0b1324;--muted: #64748b;--accent: #1a73e8;--accent-2: #1a73e8;--danger: #e11d48;--border: #e5e7eb;--pdf-citations-width: 260px;--brand-blue: #0445B7;--brand-pink: #DB2C73;--brand-green: #0CC1A3}*{box-sizing:border-box}html,body{font-family:Montserrat,Inter,ui-sans-serif,system-ui;overflow-x:hidden;width:100%;margin:0}.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{width:100%;max-width:none;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;overflow:hidden;box-shadow:none}.chat-layout{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 65px);min-height:calc(100vh - 65px)}.sidebar{border-right:1px solid var(--border);background:#fff;padding:10px;display:flex;flex-direction:column;gap:10px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#0f172a;padding:8px 20px 8px 12px;border-radius:12px;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;margin-top:6px;margin-right:6px}.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:hover{transform:translateY(-1px);box-shadow:0 0 0 6px #0445b71f,0 8px 16px #0445b757;filter:saturate(110%)}.sidebar-new:active{transform:translateY(0);box-shadow:0 4px 10px #0445b738}.sidebar-new:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.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:6px;padding:6px 20px 26px 8px;box-sizing:border-box;scrollbar-gutter:stable both-edges;max-height:100vh}.thread-group{display:grid;gap:6px}.thread-group-title{color:#94a3b8;font-size:11px;padding:8px 6px 0;text-transform:uppercase;letter-spacing:.04em}.thread-empty{color:var(--muted);font-size:12px;padding:12px 8px}.sidebar-loading{padding:8px 6px;display:grid;gap:8px}.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:12px;padding:12px 18px 12px 12px;border:none;background:none;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;width:calc(100% - 6px);transition:all .2s ease;margin-right:6px;overflow:hidden}.thread-item:hover{background:#f1f5f9}.thread-item.active{background:#e0f2fe}.thread-icon{flex-shrink:0}.thread-text{flex:1;min-width:0;overflow:hidden;width:100%}.thread-title{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.thread-date{font-size:12px;color:var(--accent);font-weight:500}.messages-main{display:flex;flex-direction:column;overflow:auto;position:relative;height:100vh;min-height:100vh}.messages{overflow:auto;padding:28px 40px 100px;display:flex;flex-direction:column;gap:20px;background:#fff;position:relative;margin:0 auto;overflow:visible;width:100%;max-width:1280px;min-height:100vh}.messages-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fffc;-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:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.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;gap:12px;align-items:flex-start;animation:messageSlideIn .3s ease-out;flex-wrap:wrap}.messages>:last-child:not(.empty-hero){padding-bottom:200px}.message.user{flex-direction:row-reverse}.message.assistant{flex-direction:row}.message .msg-subdivider,.message .sources-copy,.message .sources-hud{flex-basis:100%}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{flex:0 0 auto;align-self:flex-start;margin-left:40px;width:100%;max-width:min(72ch,calc(100% - 40px))}@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>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 44px);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% - 44px)!important}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{margin-left:0;max-width:100%}.sources-hud{margin-top:8px}}.ai-avatar{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#0445b7,#0cc1a3);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0445b726}.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:#0b1324;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:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#0b1324;border:1px solid transparent;border-bottom-right-radius:4px}.message.assistant .bubble{background:#fff;border:1px solid #e5e7eb;color:#0b1324;border-bottom-left-radius:4px}.message.assistant .bubble-plain{background:transparent;border:0;padding:0;max-width:72ch;font-size:14px;color:#0b1324;font-family:Montserrat,Inter,ui-sans-serif,system-ui;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;min-width:0}.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:#0b1324;font-weight:600}.message.assistant .bubble-plain p{color:#0b1324}.message.assistant .bubble-plain p,.bubble p{margin:0 0 8px}.bubble>*:first-child{margin-top:0}.bubble>*:last-child{margin-bottom:0}.bubble p{margin:0 0 8px}.bubble ul,.bubble ol{margin:8px 0 8px 18px;padding:0}.bubble li{margin:4px 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:underline;text-underline-offset:2px}.message.assistant .bubble-plain{line-height:1.65}.message.assistant .bubble-plain p{margin:0 0 12px}.message.assistant .bubble-plain ul,.message.assistant .bubble-plain ol{margin:0 0 12px 20px;padding:0}.message.assistant .bubble-plain li+li{margin-top:4px}.message.assistant .bubble-plain blockquote{margin:12px 0;padding:10px 12px;border-left:4px solid #dbeafe;background:#f8fafc;color:#0b1324;border-radius:6px}.message.assistant .bubble-plain h1{font-size:20px;margin:0 0 16px}.message.assistant .bubble-plain h2{font-size:18px;margin:0 0 16px}.message.assistant .bubble-plain h3{font-size:16px;margin:14px 0 6px}.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{font-size:14px;margin:0 0 16px}.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{margin-top:0;border:1px solid #dbe7ff;background:#f8fafc;padding:6px 6px 8px;border-radius:8px;width:100%}.sources-copy{display:flex;align-items:center;gap:6px;margin:0 0 6px}.msg-subdivider{height:1px;background:#f3f3f3;margin:10px 0 6px}.sources-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.sources-title{font-size:10px;color:#6b7280;margin:0;text-transform:uppercase;letter-spacing:.04em}.sources-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.source-item{display:flex;align-items:center;gap:4px}.source-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;cursor:pointer;min-width:160px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link:hover{border-color:#d1d5db;background:#f9fafb}.source-rank{font-weight:600;color:var(--accent)}.source-name{font-weight:500;color:#0b1324;overflow:hidden;text-overflow:ellipsis}.source-page{color:#6b7280}.source-score{margin-left:auto;font-variant-numeric:tabular-nums;color:#6b7280}.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}.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:#e8f0fe;border:1px solid #dbe7ff;color:#0b1324;box-shadow:0 1px 2px #0000000a,0 3px 10px #0445b71a}.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:#ffffff8c;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);transition:opacity .12s ease-in-out,visibility .12s ease-in-out}.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:680px;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{padding:0;background:transparent;position:fixed;width:calc(100% - 540px);bottom:30px}.composer-field{position:relative;display:flex;align-items:stretch;gap:0;max-width:1280px;margin:0 auto;padding:0 40px}.composer-field textarea{flex:1;padding:14px 18px;border:1px solid var(--border);border-radius:12px 0 0 12px;border-right:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4;resize:none;outline:none;font-family:inherit;max-height:80px;min-height:48px;transition:all .2s ease}.composer-field textarea:focus{border-color:var(--accent)}.composer-field:focus-within textarea{border-color:var(--accent)}.composer-field:focus-within .composer-send{border-color:var(--accent)}.composer-send:hover{border-color:var(--accent)}.composer-field textarea::placeholder{color:var(--muted)}.composer-send{padding:0 14px;border:1px solid var(--border);border-left:0;border-radius:0 12px 12px 0;background:#0e0044;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:48px;height:auto;align-self:stretch}.composer .composer-send{background:#0e0044!important;color:#fff!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.composer-send:hover:not(:disabled){background:#160060;transform:translateY(-1px);box-shadow:0 4px 12px #0e004459}.composer-send:disabled{background:#0e0044;opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.empty-hero{display:grid;place-items:center;margin-top:0;min-height:calc(100% - 56px);width:100%;overflow-x:visible;max-width:100vw}.empty-hero-inner{text-align:center;max-width:min(900px,100%);width:100%;margin:0 auto;animation:heroIn .6s cubic-bezier(.22,.61,.36,1) both;overflow:visible;max-width:100vw}.empty-hero-logo{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:16px;overflow:visible;z-index:0}.empty-hero-logo svg{width:clamp(112px,17.6vw,176px);height:auto;overflow:visible;filter:drop-shadow(0 10px 24px rgba(4,69,183,.18))}.empty-hero-logo>svg,.empty-hero-logo svg{position:relative;z-index:0}.empty-hero h1,.empty-hero p,.empty-hero .chip-row{position:relative;z-index:2}.empty-hero-logo svg>g{transform-box:view-box;transform-origin:center;transform:rotate(var(--g, 0deg));will-change:transform}.empty-hero h1{margin:0;font-family:Montserrat,Inter,ui-sans-serif;font-weight:800;color:#0b1324;font-size:36px;letter-spacing:.2px}.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}.empty-hero p{margin:0 0 24px;color:#64748b;font-size:16px}@keyframes typing{0%{width:0ch}to{width:calc(var(--chars) * 1ch)}}@keyframes caretBlink{0%,to{--caret-opacity: 1}50%{--caret-opacity: 0}}@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}}.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:800px;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:#0b1324;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}.pdf-container{display:flex;width:100%;height:100%;gap:0}.pdf-content{flex:1;min-width:0;overflow:hidden;padding:0 16px}.pdf-toolbar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 8px #00000008;padding:8px 12px}.pdf-toolbar-left{display:flex;gap:8px}.pdf-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);color:#111827;width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;cursor:pointer}.pdf-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-page-label{font-size:13px;color:#374151}.typing-hud{display:flex;justify-content:flex-start;align-items:flex-start;margin:16px 0;animation:typingSlideIn .3s ease-out}.typing-hud-inner{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.typing-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#5446e6,#1a73e8);box-shadow:0 0 0 2px #1a73e81f;animation:pulseDot 1.4s ease-in-out infinite}.typing-text{opacity:.9}@keyframes typingSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes pulseDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.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 rgba(0,0,0,.08);background:transparent;color:#111827;cursor:pointer}.pdf-source-item.active{background:#1976d214}.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: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:1000;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:8px;z-index:2000}.toast{background:#111827;color:#fff;border-radius:8px;padding:10px 12px;font-size:13px;box-shadow:0 10px 20px #0003}.toast.error{background:#b91c1c}.toast.success{background:#065f46}';
21
21
  var Wc = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
22
22
  function Aa(n) {
23
23
  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
@@ -279,18 +279,18 @@ function Bx() {
279
279
  if (In && At && typeof In.stack == "string") {
280
280
  for (var Lt = In.stack.split(`
281
281
  `), vn = At.stack.split(`
282
- `), Re = Lt.length - 1, Le = vn.length - 1; Re >= 1 && Le >= 0 && Lt[Re] !== vn[Le]; )
283
- Le--;
284
- for (; Re >= 1 && Le >= 0; Re--, Le--)
285
- if (Lt[Re] !== vn[Le]) {
286
- if (Re !== 1 || Le !== 1)
282
+ `), Re = Lt.length - 1, De = vn.length - 1; Re >= 1 && De >= 0 && Lt[Re] !== vn[De]; )
283
+ De--;
284
+ for (; Re >= 1 && De >= 0; Re--, De--)
285
+ if (Lt[Re] !== vn[De]) {
286
+ if (Re !== 1 || De !== 1)
287
287
  do
288
- if (Re--, Le--, Le < 0 || Lt[Re] !== vn[Le]) {
288
+ if (Re--, De--, De < 0 || Lt[Re] !== vn[De]) {
289
289
  var ui = `
290
290
  ` + Lt[Re].replace(" at new ", " at ");
291
291
  return P.displayName && ui.includes("<anonymous>") && (ui = ui.replace("<anonymous>", P.displayName)), typeof P == "function" && bt.set(P, ui), ui;
292
292
  }
293
- while (Re >= 1 && Le >= 0);
293
+ while (Re >= 1 && De >= 0);
294
294
  break;
295
295
  }
296
296
  }
@@ -475,8 +475,8 @@ function Bx() {
475
475
  Bt[Jt] === void 0 && (Bt[Jt] = Re[Jt]);
476
476
  }
477
477
  if (Lt || vn) {
478
- var Le = typeof P == "function" ? P.displayName || P.name || "Unknown" : P;
479
- Lt && Et(Bt, Le), vn && qt(Bt, Le);
478
+ var De = typeof P == "function" ? P.displayName || P.name || "Unknown" : P;
479
+ Lt && Et(Bt, De), vn && qt(Bt, De);
480
480
  }
481
481
  return ae(P, Lt, vn, Xt, At, X.current, Bt);
482
482
  }
@@ -603,9 +603,9 @@ Check the top-level render call using <` + it + ">.");
603
603
  var Re;
604
604
  P === null ? Re = "null" : Yi(P) ? Re = "array" : P !== void 0 && P.$$typeof === t ? (Re = "<" + (N(P.type) || "Unknown") + " />", Lt = " Did you accidentally export a JSX literal instead of a component?") : Re = typeof P, w("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Re, Lt);
605
605
  }
606
- var Le = Te(P, V, it, Xt, Jt);
607
- if (Le == null)
608
- return Le;
606
+ var De = Te(P, V, it, Xt, Jt);
607
+ if (De == null)
608
+ return De;
609
609
  if (Bt) {
610
610
  var ui = V.children;
611
611
  if (ui !== void 0)
@@ -633,7 +633,7 @@ React keys must be passed directly to JSX without using spread:
633
633
  <%s key={someKey} {...props} />`, If, no, Lx, no), _a[no + If] = !0;
634
634
  }
635
635
  }
636
- return P === i ? ds(Le) : ki(Le), Le;
636
+ return P === i ? ds(De) : ki(De), De;
637
637
  }
638
638
  }
639
639
  function eo(P, V, it) {
@@ -5373,33 +5373,37 @@ const R0 = "chatui_tour_done_v1", HS = () => {
5373
5373
  }
5374
5374
  };
5375
5375
  function WS() {
5376
- const [n, t] = fe(HS());
5376
+ const [n, t] = fe(!1), e = Me(HS());
5377
5377
  si(() => {
5378
- const l = () => t(!0);
5379
- return window.addEventListener("start-chat-tour", l), () => window.removeEventListener("start-chat-tour", l);
5378
+ const u = () => {
5379
+ requestAnimationFrame(() => requestAnimationFrame(() => {
5380
+ l(!0), t(!0);
5381
+ }));
5382
+ };
5383
+ return window.addEventListener("start-chat-tour", u), () => window.removeEventListener("start-chat-tour", u);
5380
5384
  }, []), si(() => {
5381
- var h;
5385
+ var d;
5382
5386
  if (!n) return;
5383
- const l = "tour-overflow-fix";
5384
- let u = document.getElementById(l);
5385
- u || (u = document.createElement("style"), u.id = l, u.textContent = ".messages-main{overflow:auto !important;}", document.head.appendChild(u));
5387
+ const u = "tour-overflow-fix";
5388
+ let h = document.getElementById(u);
5389
+ h || (h = document.createElement("style"), h.id = u, h.textContent = ".messages-main{overflow:auto !important;}", document.head.appendChild(h));
5386
5390
  try {
5387
- (h = document.querySelector(".messages-main")) == null || h.style.removeProperty("overflow");
5391
+ (d = document.querySelector(".messages-main")) == null || d.style.removeProperty("overflow");
5388
5392
  } catch {
5389
5393
  }
5390
5394
  return () => {
5391
- var d;
5395
+ var f;
5392
5396
  try {
5393
- u && u.remove();
5397
+ h && h.remove();
5394
5398
  } catch {
5395
5399
  }
5396
5400
  try {
5397
- (d = document.querySelector(".messages-main")) == null || d.style.removeProperty("overflow");
5401
+ (f = document.querySelector(".messages-main")) == null || f.style.removeProperty("overflow");
5398
5402
  } catch {
5399
5403
  }
5400
5404
  };
5401
5405
  }, [n]);
5402
- const e = ja(() => [
5406
+ const i = ja(() => [
5403
5407
  {
5404
5408
  target: ".chat-container",
5405
5409
  placement: "center",
@@ -5439,55 +5443,102 @@ function WS() {
5439
5443
  content: "Create a fresh conversation anytime to keep topics organized.",
5440
5444
  placement: "right"
5441
5445
  }
5442
- ], []), i = Fe(null), r = ja(() => {
5443
- var d, f;
5444
- const l = ((f = (d = i.current) == null ? void 0 : d.getRootNode) == null ? void 0 : f.call(d)) || document, u = (p) => {
5445
- var g;
5446
+ ], []), r = Me(null), s = ja(() => {
5447
+ var f, p;
5448
+ const u = ((p = (f = r.current) == null ? void 0 : f.getRootNode) == null ? void 0 : p.call(f)) || document, h = (g) => {
5449
+ var m;
5446
5450
  try {
5447
- return ((g = l.querySelector) == null ? void 0 : g.call(l, p)) ?? null;
5451
+ return ((m = u.querySelector) == null ? void 0 : m.call(u, g)) ?? null;
5448
5452
  } catch {
5449
5453
  return null;
5450
5454
  }
5451
- }, h = u(".chat-container") || i.current;
5452
- return e.map((p, g) => {
5453
- const m = typeof p.target == "string" ? p.target : "", v = m ? u(m) : null;
5454
- return v ? { ...p, target: v } : (console.debug("[tour] step", g, "missing target in root:", m, "-> fallback to chat container"), { ...p, target: h ?? document.body, placement: "center" });
5455
+ }, d = h(".chat-container") || r.current;
5456
+ return i.map((g, m) => {
5457
+ const v = typeof g.target == "string" ? g.target : "", b = v ? h(v) : null;
5458
+ return b ? { ...g, target: b } : (console.debug("[tour] step", m, "missing target in root:", v, "-> fallback to chat container"), { ...g, target: d ?? document.body, placement: "center" });
5455
5459
  });
5456
- }, [e, n]), s = Bn((l) => {
5457
- var d;
5458
- const { status: u } = l;
5459
- if (u === Nt.FINISHED || u === Nt.SKIPPED) {
5460
+ }, [i, n]), o = Bn((u) => {
5461
+ var f;
5462
+ const { status: h } = u;
5463
+ if (h === Nt.FINISHED || h === Nt.SKIPPED) {
5460
5464
  US(), t(!1);
5461
5465
  try {
5462
- (d = document.querySelector(".messages-main")) == null || d.style.removeProperty("overflow");
5466
+ (f = document.querySelector(".messages-main")) == null || f.style.removeProperty("overflow");
5463
5467
  } catch {
5464
5468
  }
5465
5469
  }
5466
- }, []), [o, a] = fe(!1);
5470
+ }, []), [a, l] = fe(!1);
5467
5471
  return si(() => {
5468
- if (!n) {
5469
- a(!1);
5472
+ var p, g;
5473
+ if (!e.current || n) {
5474
+ l(!1);
5470
5475
  return;
5471
5476
  }
5472
- let l = 0, u = 0;
5473
- return l = requestAnimationFrame(() => {
5474
- u = requestAnimationFrame(() => a(!0));
5475
- }), () => {
5477
+ const u = ((g = (p = r.current) == null ? void 0 : p.getRootNode) == null ? void 0 : g.call(p)) || document, h = (m) => {
5478
+ var v;
5476
5479
  try {
5477
- cancelAnimationFrame(l);
5480
+ return ((v = u.querySelector) == null ? void 0 : v.call(u, m)) ?? null;
5478
5481
  } catch {
5482
+ return null;
5479
5483
  }
5484
+ }, d = i.map((m) => typeof m.target == "string" ? m.target : "").filter(Boolean), f = d.map((m) => h(m)).filter(Boolean);
5485
+ if (f.length !== d.length) {
5486
+ const m = new MutationObserver(() => {
5487
+ const b = d.map((w) => h(w)).filter(Boolean);
5488
+ if (b.length === d.length) {
5489
+ try {
5490
+ m.disconnect();
5491
+ } catch {
5492
+ }
5493
+ const w = new IntersectionObserver((E, T) => {
5494
+ if (E.every((_) => _.isIntersecting)) {
5495
+ try {
5496
+ T.disconnect();
5497
+ } catch {
5498
+ }
5499
+ requestAnimationFrame(() => requestAnimationFrame(() => {
5500
+ l(!0), t(!0);
5501
+ }));
5502
+ }
5503
+ }, { root: u instanceof ShadowRoot ? u : null, threshold: 0 });
5504
+ b.forEach((E) => w.observe(E));
5505
+ }
5506
+ }), v = u instanceof Document ? u.documentElement : u;
5480
5507
  try {
5481
- cancelAnimationFrame(u);
5508
+ m.observe(v, { childList: !0, subtree: !0 });
5482
5509
  } catch {
5483
5510
  }
5484
- };
5485
- }, [n]), /* @__PURE__ */ I.jsxs(I.Fragment, { children: [
5486
- /* @__PURE__ */ I.jsx("span", { ref: i, style: { position: "absolute", inset: 0, pointerEvents: "none" }, "aria-hidden": !0 }),
5487
- n && o && /* @__PURE__ */ I.jsx(
5511
+ return () => {
5512
+ try {
5513
+ m.disconnect();
5514
+ } catch {
5515
+ }
5516
+ };
5517
+ } else {
5518
+ const m = new IntersectionObserver((v, b) => {
5519
+ if (v.every((E) => E.isIntersecting)) {
5520
+ try {
5521
+ b.disconnect();
5522
+ } catch {
5523
+ }
5524
+ requestAnimationFrame(() => requestAnimationFrame(() => {
5525
+ l(!0), t(!0);
5526
+ }));
5527
+ }
5528
+ }, { root: u instanceof ShadowRoot ? u : null, threshold: 0 });
5529
+ return f.forEach((v) => m.observe(v)), () => {
5530
+ try {
5531
+ m.disconnect();
5532
+ } catch {
5533
+ }
5534
+ };
5535
+ }
5536
+ }, [i, n]), /* @__PURE__ */ I.jsxs(I.Fragment, { children: [
5537
+ /* @__PURE__ */ I.jsx("span", { ref: r, style: { position: "absolute", inset: 0, pointerEvents: "none" }, "aria-hidden": !0 }),
5538
+ n && a && /* @__PURE__ */ I.jsx(
5488
5539
  $S,
5489
5540
  {
5490
- steps: r,
5541
+ steps: s,
5491
5542
  run: n,
5492
5543
  continuous: !0,
5493
5544
  showSkipButton: !0,
@@ -5502,7 +5553,7 @@ function WS() {
5502
5553
  }
5503
5554
  },
5504
5555
  spotlightClicks: !0,
5505
- callback: s
5556
+ callback: o
5506
5557
  }
5507
5558
  )
5508
5559
  ] });
@@ -5577,14 +5628,14 @@ Hn.prototype.property = "";
5577
5628
  Hn.prototype.spaceSeparated = !1;
5578
5629
  Hn.prototype.space = void 0;
5579
5630
  let JS = 0;
5580
- const Tt = Ea(), Ne = Ea(), xp = Ea(), G = Ea(), pe = Ea(), $a = Ea(), Wn = Ea();
5631
+ const Tt = Ea(), Fe = Ea(), xp = Ea(), G = Ea(), pe = Ea(), $a = Ea(), Wn = Ea();
5581
5632
  function Ea() {
5582
5633
  return 2 ** ++JS;
5583
5634
  }
5584
5635
  const Ap = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5585
5636
  __proto__: null,
5586
5637
  boolean: Tt,
5587
- booleanish: Ne,
5638
+ booleanish: Fe,
5588
5639
  commaOrSpaceSeparated: Wn,
5589
5640
  commaSeparated: $a,
5590
5641
  number: G,
@@ -5637,10 +5688,10 @@ function rc(n) {
5637
5688
  const O0 = rc({
5638
5689
  properties: {
5639
5690
  ariaActiveDescendant: null,
5640
- ariaAtomic: Ne,
5691
+ ariaAtomic: Fe,
5641
5692
  ariaAutoComplete: null,
5642
- ariaBusy: Ne,
5643
- ariaChecked: Ne,
5693
+ ariaBusy: Fe,
5694
+ ariaChecked: Fe,
5644
5695
  ariaColCount: G,
5645
5696
  ariaColIndex: G,
5646
5697
  ariaColSpan: G,
@@ -5648,36 +5699,36 @@ const O0 = rc({
5648
5699
  ariaCurrent: null,
5649
5700
  ariaDescribedBy: pe,
5650
5701
  ariaDetails: null,
5651
- ariaDisabled: Ne,
5702
+ ariaDisabled: Fe,
5652
5703
  ariaDropEffect: pe,
5653
5704
  ariaErrorMessage: null,
5654
- ariaExpanded: Ne,
5705
+ ariaExpanded: Fe,
5655
5706
  ariaFlowTo: pe,
5656
- ariaGrabbed: Ne,
5707
+ ariaGrabbed: Fe,
5657
5708
  ariaHasPopup: null,
5658
- ariaHidden: Ne,
5709
+ ariaHidden: Fe,
5659
5710
  ariaInvalid: null,
5660
5711
  ariaKeyShortcuts: null,
5661
5712
  ariaLabel: null,
5662
5713
  ariaLabelledBy: pe,
5663
5714
  ariaLevel: G,
5664
5715
  ariaLive: null,
5665
- ariaModal: Ne,
5666
- ariaMultiLine: Ne,
5667
- ariaMultiSelectable: Ne,
5716
+ ariaModal: Fe,
5717
+ ariaMultiLine: Fe,
5718
+ ariaMultiSelectable: Fe,
5668
5719
  ariaOrientation: null,
5669
5720
  ariaOwns: pe,
5670
5721
  ariaPlaceholder: null,
5671
5722
  ariaPosInSet: G,
5672
- ariaPressed: Ne,
5673
- ariaReadOnly: Ne,
5723
+ ariaPressed: Fe,
5724
+ ariaReadOnly: Fe,
5674
5725
  ariaRelevant: null,
5675
- ariaRequired: Ne,
5726
+ ariaRequired: Fe,
5676
5727
  ariaRoleDescription: pe,
5677
5728
  ariaRowCount: G,
5678
5729
  ariaRowIndex: G,
5679
5730
  ariaRowSpan: G,
5680
- ariaSelected: Ne,
5731
+ ariaSelected: Fe,
5681
5732
  ariaSetSize: G,
5682
5733
  ariaSort: null,
5683
5734
  ariaValueMax: G,
@@ -5731,7 +5782,7 @@ const QS = rc({
5731
5782
  cols: G,
5732
5783
  colSpan: null,
5733
5784
  content: null,
5734
- contentEditable: Ne,
5785
+ contentEditable: Fe,
5735
5786
  controls: Tt,
5736
5787
  controlsList: pe,
5737
5788
  coords: G | $a,
@@ -5745,7 +5796,7 @@ const QS = rc({
5745
5796
  dirName: null,
5746
5797
  disabled: Tt,
5747
5798
  download: xp,
5748
- draggable: Ne,
5799
+ draggable: Fe,
5749
5800
  encType: null,
5750
5801
  enterKeyHint: null,
5751
5802
  fetchPriority: null,
@@ -5916,7 +5967,7 @@ const QS = rc({
5916
5967
  sizes: null,
5917
5968
  slot: null,
5918
5969
  span: G,
5919
- spellCheck: Ne,
5970
+ spellCheck: Fe,
5920
5971
  src: null,
5921
5972
  srcDoc: null,
5922
5973
  srcLang: null,
@@ -5931,7 +5982,7 @@ const QS = rc({
5931
5982
  type: null,
5932
5983
  typeMustMatch: Tt,
5933
5984
  useMap: null,
5934
- value: Ne,
5985
+ value: Fe,
5935
5986
  width: G,
5936
5987
  wrap: null,
5937
5988
  writingSuggestions: null,
@@ -6023,7 +6074,7 @@ const QS = rc({
6023
6074
  // `<table>`
6024
6075
  scheme: null,
6025
6076
  // `<meta>`
6026
- scrolling: Ne,
6077
+ scrolling: Fe,
6027
6078
  // `<frame>`. Use overflow in the child context
6028
6079
  standby: null,
6029
6080
  // `<object>`
@@ -18262,7 +18313,7 @@ class oI {
18262
18313
  const qh = {
18263
18314
  DATA: 1,
18264
18315
  ERROR: 2
18265
- }, De = {
18316
+ }, Ne = {
18266
18317
  CANCEL: 1,
18267
18318
  CANCEL_COMPLETE: 2,
18268
18319
  CLOSE: 3,
@@ -18357,7 +18408,7 @@ class Cc {
18357
18408
  return this.streamControllers[s].pullCall = h, l.postMessage({
18358
18409
  sourceName: o,
18359
18410
  targetName: a,
18360
- stream: De.PULL,
18411
+ stream: Ne.PULL,
18361
18412
  streamId: s,
18362
18413
  desiredSize: u.desiredSize
18363
18414
  }), h.promise;
@@ -18368,7 +18419,7 @@ class Cc {
18368
18419
  return this.streamControllers[s].cancelCall = h, this.streamControllers[s].isClosed = !0, l.postMessage({
18369
18420
  sourceName: o,
18370
18421
  targetName: a,
18371
- stream: De.CANCEL,
18422
+ stream: Ne.CANCEL,
18372
18423
  streamId: s,
18373
18424
  reason: Ln(u)
18374
18425
  }), h.promise;
@@ -18439,7 +18490,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18439
18490
  this.desiredSize -= h, f > 0 && this.desiredSize <= 0 && (this.sinkCapability = Promise.withResolvers(), this.ready = this.sinkCapability.promise), s.postMessage({
18440
18491
  sourceName: i,
18441
18492
  targetName: r,
18442
- stream: De.ENQUEUE,
18493
+ stream: Ne.ENQUEUE,
18443
18494
  streamId: e,
18444
18495
  chunk: u
18445
18496
  }, d);
@@ -18448,7 +18499,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18448
18499
  this.isCancelled || (this.isCancelled = !0, s.postMessage({
18449
18500
  sourceName: i,
18450
18501
  targetName: r,
18451
- stream: De.CLOSE,
18502
+ stream: Ne.CLOSE,
18452
18503
  streamId: e
18453
18504
  }), delete o.streamSinks[e]);
18454
18505
  },
@@ -18456,7 +18507,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18456
18507
  je(u instanceof Error, "error must have a valid reason"), !this.isCancelled && (this.isCancelled = !0, s.postMessage({
18457
18508
  sourceName: i,
18458
18509
  targetName: r,
18459
- stream: De.ERROR,
18510
+ stream: Ne.ERROR,
18460
18511
  streamId: e,
18461
18512
  reason: Ln(u)
18462
18513
  }));
@@ -18472,7 +18523,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18472
18523
  s.postMessage({
18473
18524
  sourceName: i,
18474
18525
  targetName: r,
18475
- stream: De.START_COMPLETE,
18526
+ stream: Ne.START_COMPLETE,
18476
18527
  streamId: e,
18477
18528
  success: !0
18478
18529
  });
@@ -18480,7 +18531,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18480
18531
  s.postMessage({
18481
18532
  sourceName: i,
18482
18533
  targetName: r,
18483
- stream: De.START_COMPLETE,
18534
+ stream: Ne.START_COMPLETE,
18484
18535
  streamId: e,
18485
18536
  reason: Ln(u)
18486
18537
  });
@@ -18488,18 +18539,18 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18488
18539
  }, yw = function(t) {
18489
18540
  const e = t.streamId, i = this.sourceName, r = t.sourceName, s = this.comObj, o = this.streamControllers[e], a = this.streamSinks[e];
18490
18541
  switch (t.stream) {
18491
- case De.START_COMPLETE:
18542
+ case Ne.START_COMPLETE:
18492
18543
  t.success ? o.startCall.resolve() : o.startCall.reject(Ln(t.reason));
18493
18544
  break;
18494
- case De.PULL_COMPLETE:
18545
+ case Ne.PULL_COMPLETE:
18495
18546
  t.success ? o.pullCall.resolve() : o.pullCall.reject(Ln(t.reason));
18496
18547
  break;
18497
- case De.PULL:
18548
+ case Ne.PULL:
18498
18549
  if (!a) {
18499
18550
  s.postMessage({
18500
18551
  sourceName: i,
18501
18552
  targetName: r,
18502
- stream: De.PULL_COMPLETE,
18553
+ stream: Ne.PULL_COMPLETE,
18503
18554
  streamId: e,
18504
18555
  success: !0
18505
18556
  });
@@ -18509,7 +18560,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18509
18560
  s.postMessage({
18510
18561
  sourceName: i,
18511
18562
  targetName: r,
18512
- stream: De.PULL_COMPLETE,
18563
+ stream: Ne.PULL_COMPLETE,
18513
18564
  streamId: e,
18514
18565
  success: !0
18515
18566
  });
@@ -18517,29 +18568,29 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18517
18568
  s.postMessage({
18518
18569
  sourceName: i,
18519
18570
  targetName: r,
18520
- stream: De.PULL_COMPLETE,
18571
+ stream: Ne.PULL_COMPLETE,
18521
18572
  streamId: e,
18522
18573
  reason: Ln(u)
18523
18574
  });
18524
18575
  });
18525
18576
  break;
18526
- case De.ENQUEUE:
18577
+ case Ne.ENQUEUE:
18527
18578
  if (je(o, "enqueue should have stream controller"), o.isClosed)
18528
18579
  break;
18529
18580
  o.controller.enqueue(t.chunk);
18530
18581
  break;
18531
- case De.CLOSE:
18582
+ case Ne.CLOSE:
18532
18583
  if (je(o, "close should have stream controller"), o.isClosed)
18533
18584
  break;
18534
18585
  o.isClosed = !0, o.controller.close(), A(this, Si, ud).call(this, o, e);
18535
18586
  break;
18536
- case De.ERROR:
18587
+ case Ne.ERROR:
18537
18588
  je(o, "error should have stream controller"), o.controller.error(Ln(t.reason)), A(this, Si, ud).call(this, o, e);
18538
18589
  break;
18539
- case De.CANCEL_COMPLETE:
18590
+ case Ne.CANCEL_COMPLETE:
18540
18591
  t.success ? o.cancelCall.resolve() : o.cancelCall.reject(Ln(t.reason)), A(this, Si, ud).call(this, o, e);
18541
18592
  break;
18542
- case De.CANCEL:
18593
+ case Ne.CANCEL:
18543
18594
  if (!a)
18544
18595
  break;
18545
18596
  const l = Ln(t.reason);
@@ -18547,7 +18598,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18547
18598
  s.postMessage({
18548
18599
  sourceName: i,
18549
18600
  targetName: r,
18550
- stream: De.CANCEL_COMPLETE,
18601
+ stream: Ne.CANCEL_COMPLETE,
18551
18602
  streamId: e,
18552
18603
  success: !0
18553
18604
  });
@@ -18555,7 +18606,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18555
18606
  s.postMessage({
18556
18607
  sourceName: i,
18557
18608
  targetName: r,
18558
- stream: De.CANCEL_COMPLETE,
18609
+ stream: Ne.CANCEL_COMPLETE,
18559
18610
  streamId: e,
18560
18611
  reason: Ln(u)
18561
18612
  });
@@ -23377,7 +23428,7 @@ class dO {
23377
23428
  case He.FILEATTACHMENT:
23378
23429
  return new TO(t);
23379
23430
  default:
23380
- return new Me(t);
23431
+ return new Le(t);
23381
23432
  }
23382
23433
  }
23383
23434
  }
@@ -23762,9 +23813,9 @@ qo = new WeakMap(), vl = new WeakMap(), wl = new WeakMap(), Wu = new WeakSet(),
23762
23813
  } = Gs(t);
23763
23814
  e.left = `${100 * (t[0] - a) / s}%`, e.top = `${100 * (o - t[3] + l) / o}%`, r === 0 ? (e.width = `${100 * u / s}%`, e.height = `${100 * h / o}%`) : this.setRotation(r);
23764
23815
  };
23765
- let Me = Mm;
23816
+ let Le = Mm;
23766
23817
  var ri, so, $w, Hw;
23767
- class Bw extends Me {
23818
+ class Bw extends Le {
23768
23819
  constructor(e, i = null) {
23769
23820
  super(e, {
23770
23821
  isRenderable: !0,
@@ -23898,7 +23949,7 @@ ri = new WeakSet(), so = function() {
23898
23949
  }, Hw = function(e, i) {
23899
23950
  e.href = this.linkService.getAnchorUrl(""), e.onclick = () => (this.linkService.executeSetOCGState(i), !1), A(this, ri, so).call(this);
23900
23951
  };
23901
- class fO extends Me {
23952
+ class fO extends Le {
23902
23953
  constructor(t) {
23903
23954
  super(t, {
23904
23955
  isRenderable: !0
@@ -23912,7 +23963,7 @@ class fO extends Me {
23912
23963
  })), !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.append(t), this.container;
23913
23964
  }
23914
23965
  }
23915
- class ka extends Me {
23966
+ class ka extends Le {
23916
23967
  render() {
23917
23968
  return this.container;
23918
23969
  }
@@ -24454,14 +24505,14 @@ class yO extends ka {
24454
24505
  }), this.data.combo && this._setTextStyle(r), this._setBackgroundColor(r), this._setDefaultPropertiesFromJS(r), this.container.append(r), this.container;
24455
24506
  }
24456
24507
  }
24457
- class gg extends Me {
24508
+ class gg extends Le {
24458
24509
  constructor(t) {
24459
24510
  const {
24460
24511
  data: e,
24461
24512
  elements: i
24462
24513
  } = t;
24463
24514
  super(t, {
24464
- isRenderable: Me._hasPopupData(e)
24515
+ isRenderable: Le._hasPopupData(e)
24465
24516
  }), this.elements = i, this.popup = null;
24466
24517
  }
24467
24518
  render() {
@@ -24673,7 +24724,7 @@ xl = new WeakMap(), af = new WeakMap(), lf = new WeakMap(), Al = new WeakMap(),
24673
24724
  }, bg = function() {
24674
24725
  c(this, Pe).classList.remove("focused"), !(c(this, Yr) || !this.isVisible) && (c(this, Pe).hidden = !0, c(this, Pe).style.zIndex = parseInt(c(this, Pe).style.zIndex) - 1e3);
24675
24726
  };
24676
- class Yw extends Me {
24727
+ class Yw extends Le {
24677
24728
  constructor(t) {
24678
24729
  super(t, {
24679
24730
  isRenderable: !0,
@@ -24694,7 +24745,7 @@ class Yw extends Me {
24694
24745
  }
24695
24746
  }
24696
24747
  var Xu;
24697
- class wO extends Me {
24748
+ class wO extends Le {
24698
24749
  constructor(e) {
24699
24750
  super(e, {
24700
24751
  isRenderable: !0,
@@ -24719,7 +24770,7 @@ class wO extends Me {
24719
24770
  }
24720
24771
  Xu = new WeakMap();
24721
24772
  var Ku;
24722
- class xO extends Me {
24773
+ class xO extends Le {
24723
24774
  constructor(e) {
24724
24775
  super(e, {
24725
24776
  isRenderable: !0,
@@ -24744,7 +24795,7 @@ class xO extends Me {
24744
24795
  }
24745
24796
  Ku = new WeakMap();
24746
24797
  var Ju;
24747
- class AO extends Me {
24798
+ class AO extends Le {
24748
24799
  constructor(e) {
24749
24800
  super(e, {
24750
24801
  isRenderable: !0,
@@ -24769,7 +24820,7 @@ class AO extends Me {
24769
24820
  }
24770
24821
  Ju = new WeakMap();
24771
24822
  var Qu;
24772
- class Xw extends Me {
24823
+ class Xw extends Le {
24773
24824
  constructor(e) {
24774
24825
  super(e, {
24775
24826
  isRenderable: !0,
@@ -24816,7 +24867,7 @@ class SO extends Xw {
24816
24867
  super(t), this.containerClassName = "polygonAnnotation", this.svgElementName = "svg:polygon";
24817
24868
  }
24818
24869
  }
24819
- class EO extends Me {
24870
+ class EO extends Le {
24820
24871
  constructor(t) {
24821
24872
  super(t, {
24822
24873
  isRenderable: !0,
@@ -24828,7 +24879,7 @@ class EO extends Me {
24828
24879
  }
24829
24880
  }
24830
24881
  var Zu, Ko, th, yg;
24831
- class Pm extends Me {
24882
+ class Pm extends Le {
24832
24883
  constructor(e) {
24833
24884
  super(e, {
24834
24885
  isRenderable: !0,
@@ -24915,7 +24966,7 @@ Zu = new WeakMap(), Ko = new WeakMap(), th = new WeakSet(), yg = function(e, i)
24915
24966
  };
24916
24967
  }
24917
24968
  };
24918
- class Kw extends Me {
24969
+ class Kw extends Le {
24919
24970
  constructor(t) {
24920
24971
  super(t, {
24921
24972
  isRenderable: !0,
@@ -24927,7 +24978,7 @@ class Kw extends Me {
24927
24978
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("highlightAnnotation"), this._editOnDoubleClick(), this.container;
24928
24979
  }
24929
24980
  }
24930
- class kO extends Me {
24981
+ class kO extends Le {
24931
24982
  constructor(t) {
24932
24983
  super(t, {
24933
24984
  isRenderable: !0,
@@ -24939,7 +24990,7 @@ class kO extends Me {
24939
24990
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("underlineAnnotation"), this.container;
24940
24991
  }
24941
24992
  }
24942
- class _O extends Me {
24993
+ class _O extends Le {
24943
24994
  constructor(t) {
24944
24995
  super(t, {
24945
24996
  isRenderable: !0,
@@ -24951,7 +25002,7 @@ class _O extends Me {
24951
25002
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("squigglyAnnotation"), this.container;
24952
25003
  }
24953
25004
  }
24954
- class CO extends Me {
25005
+ class CO extends Le {
24955
25006
  constructor(t) {
24956
25007
  super(t, {
24957
25008
  isRenderable: !0,
@@ -24963,7 +25014,7 @@ class CO extends Me {
24963
25014
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("strikeoutAnnotation"), this.container;
24964
25015
  }
24965
25016
  }
24966
- class Jw extends Me {
25017
+ class Jw extends Le {
24967
25018
  constructor(t) {
24968
25019
  super(t, {
24969
25020
  isRenderable: !0,
@@ -24975,7 +25026,7 @@ class Jw extends Me {
24975
25026
  }
24976
25027
  }
24977
25028
  var eh, nh, vg;
24978
- class TO extends Me {
25029
+ class TO extends Le {
24979
25030
  constructor(e) {
24980
25031
  var r;
24981
25032
  super(e, {
@@ -28906,7 +28957,7 @@ function jO() {
28906
28957
  }
28907
28958
  const Hy = /* @__PURE__ */ new Map();
28908
28959
  function zO({ fileUrl: n, pageNumber: t, onMeta: e, scrollBehavior: i = "auto", highlights: r, clientId: s, apiKey: o, authToken: a }) {
28909
- const [l, u] = fe(0), [h, d] = fe(!0), [f, p] = fe(null), [g, m] = fe(0), v = Fe([]), b = Fe([]), w = Fe(null), E = Fe(null), T = Fe(!1), C = Fe(null), _ = Fe(null), O = Fe(1), U = Bn((D) => {
28960
+ const [l, u] = fe(0), [h, d] = fe(!0), [f, p] = fe(null), [g, m] = fe(0), v = Me([]), b = Me([]), w = Me(null), E = Me(null), T = Me(!1), C = Me(null), _ = Me(null), O = Me(1), U = Bn((D) => {
28910
28961
  try {
28911
28962
  return !D || /^https?:\/\//i.test(D) ? D : new URL(D, window.location.origin).href;
28912
28963
  } catch {
@@ -29193,7 +29244,7 @@ function BO({
29193
29244
  onChangePage: h,
29194
29245
  onMeta: d
29195
29246
  }) {
29196
- const [f, p] = fe(!1), g = Fe(null), m = Fe(null), v = Fe(null);
29247
+ const [f, p] = fe(!1), g = Me(null), m = Me(null), v = Me(null);
29197
29248
  return /* @__PURE__ */ I.jsx("div", { className: `modal ${n && t ? "open" : ""}`, onClick: u, children: /* @__PURE__ */ I.jsxs("div", { className: "modal-content", onClick: (b) => b.stopPropagation(), children: [
29198
29249
  /* @__PURE__ */ I.jsxs("div", { className: "modal-header", children: [
29199
29250
  /* @__PURE__ */ I.jsx("div", { className: "modal-title", children: e }),
@@ -29299,7 +29350,7 @@ function BO({
29299
29350
  }
29300
29351
  const hp = {};
29301
29352
  function VO({ user: n, generateToken: t, clientId: e, apiBase: i, docsBase: r }) {
29302
- const s = i || "https://fastify.tpsportal.co.nz/api/v1", o = r || "https://fastify.tpsportal.co.nz/api/v1/docs", a = hp == null ? void 0 : hp.VITE_API_KEY, [l, u] = fe([]), [h, d] = fe(""), [f, p] = fe(!1), [g, m] = fe(null), [v, b] = fe(null), [w, E] = fe([]), [T, C] = fe({}), [_, O] = fe({ open: !1 }), [U, B] = fe(null), R = Fe(null), z = Fe(!0), D = Fe(null), N = Fe(!0), $ = Fe(0), [W, M] = fe(!0), [L, nt] = fe(50), [gt, S] = fe(!1), [H, Q] = fe(!1), [k, J] = fe(null), [ut, Y] = fe(!1), [Z, ht] = fe(!0), [xt, bt] = fe(null), ee = Fe(null), tt = Fe(null), ve = Fe(null), { toasts: ue, pushToast: Be } = Vx(), ge = ja(() => Hx({ apiBase: s, generateToken: t, clientId: e }), [s, t, e]), [ci, Ei] = fe();
29353
+ const s = i || "https://fastify.tpsportal.co.nz/api/v1", o = r || "https://fastify.tpsportal.co.nz/api/v1/docs", a = hp == null ? void 0 : hp.VITE_API_KEY, [l, u] = fe([]), [h, d] = fe(""), [f, p] = fe(!1), [g, m] = fe(null), [v, b] = fe(null), [w, E] = fe([]), [T, C] = fe({}), [_, O] = fe({ open: !1 }), [U, B] = fe(null), R = Me(null), z = Me(!0), D = Me(null), N = Me(!0), $ = Me(0), [W, M] = fe(!0), [L, nt] = fe(50), [gt, S] = fe(!1), [H, Q] = fe(!1), [k, J] = fe(null), [ut, Y] = fe(!1), [Z, ht] = fe(!0), [xt, bt] = fe(null), ee = Me(null), tt = Me(null), ve = Me(null), { toasts: ue, pushToast: Be } = Vx(), ge = ja(() => Hx({ apiBase: s, generateToken: t, clientId: e }), [s, t, e]), [ci, Ei] = fe();
29303
29354
  si(() => {
29304
29355
  t && Promise.resolve(t()).then(Ei).catch(() => Ei(void 0));
29305
29356
  }, [t]);