@alxxsck/ai-assistant 2.25.3 → 2.26.0

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.
@@ -1,122 +1,122 @@
1
- const it = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-blue-500:oklch(62.3% .214 259.815);--color-violet-200:oklch(89.4% .057 293.283);--color-rose-200:oklch(89.2% .058 10.001);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-preview{border-style:var(--tw-border-style);border-width:5px;border-color:var(--color-blue-500);border-radius:3.40282e38px}.message{background:var(--chat-surface-agent);max-width:100%;color:var(--chat-text-primary);border:0;border-radius:17px;padding:7px 11px;font-size:14px;font-weight:400;line-height:20px;box-shadow:0 6px 18px #00000029}.chat-message-row[data-author=customer]>.message,.message[data-author=customer]{background:var(--chat-surface-customer)}.bridge-ai-chat-widget [class~=text-start]{text-align:left;text-align:start}.bridge-ai-chat-widget[dir=rtl] [class~=text-start]{text-align:right;text-align:start}.chat-message-row[data-author=agent]>.message,.message[data-author=agent],.chat-message-skeleton-bubble.self-start{border-bottom-left-radius:5px}.chat-message-row[data-author=customer]>.message,.message[data-author=customer],.chat-message-skeleton-bubble.self-end{border-bottom-right-radius:5px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=agent]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-start{border-bottom-right-radius:5px;border-bottom-left-radius:17px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=customer]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-end{border-bottom-right-radius:17px;border-bottom-left-radius:5px}.message[data-author=agent]{margin-left:8px}.message[data-author=customer]{margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent]{margin-left:0;margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer]{margin-left:8px;margin-right:0}.chat-message-row[data-author=agent]+.chat-message-row[data-author=agent],.chat-message-row[data-author=customer]+.chat-message-row[data-author=customer]{margin-top:-4px}.chat-message-content p+p{margin-top:8px}.chat-message-author{color:#ffffffb8;letter-spacing:.01em;align-items:center;gap:6px;padding-inline:4px;font-size:11px;font-weight:600;display:inline-flex}.chat-message-author img{object-fit:cover;background:#0e131bcc;border:1px solid #68d8ff5c;border-radius:9999px;width:18px;height:18px}.chat-message-author[data-author-kind=operator] img{border-color:#d7ff6480}.chat-attachments{flex-direction:column;gap:6px;max-width:100%;display:flex}.chat-message-row[data-author=customer] .chat-attachments{justify-content:flex-end;align-self:flex-end}.chat-attachment-card,.chat-attachment-placeholder{width:min(250px,100%);max-width:100%;color:var(--chat-text-primary);background:linear-gradient(135deg,#68d8ff0e,#0000 58%),#050a1094;border:1px solid #ffffff1f;border-radius:13px;align-items:center;gap:8px;padding:7px;text-decoration:none;display:flex;box-shadow:inset 0 1px #ffffff09}.chat-attachment-card__icon,.chat-attachment-card__thumbnail{color:#87e2ffe0;background:#68d8ff14;border:1px solid #68d8ff2e;border-radius:9px;flex:none;width:34px;height:34px}.chat-attachment-card__icon{justify-content:center;align-items:center;display:flex}.chat-attachment-card__thumbnail{object-fit:cover}.chat-attachment-card__action{color:#ffffff94;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .14s,background-color .14s,transform .14s;display:inline-flex}.chat-attachment-card__action:hover{color:#a0eaff;background:#68d8ff1c}.chat-attachment-card__action:active{transform:scale(.94)}.chat-attachment-card__action:focus-visible{outline-offset:1px;outline:2px solid #68d8ffb8}.chat-message-receipt{color:#68d8ffc7;align-self:flex-end;padding-inline:4px;font-size:10px;line-height:1.2}.chat-composer-attachments{flex-direction:column;gap:6px;max-height:148px;padding:4px 4px 6px;display:flex;overflow-y:auto}.chat-composer-attachment{color:#ffffffd6;background:linear-gradient(90deg,#68d8ff0e,#0000 62%),#05090f80;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:8px;width:100%;max-width:100%;padding:6px;font-size:11px;animation:.18s ease-out both chat-attachment-ready-in;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff09}.chat-composer-attachment__preview{color:#87e2ffcc;background:#68d8ff12;border:1px solid #68d8ff2b;border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.chat-composer-attachment__preview img{object-fit:cover;width:100%;height:100%}.chat-composer-attachment__progress{background:#ffffff14;border-radius:99px;height:2px;margin-top:5px;overflow:hidden}.chat-composer-attachment__progress span{border-radius:inherit;background:linear-gradient(90deg,#36bfe9,#8be7ff);height:100%;transition:width .16s;display:block;box-shadow:0 0 8px #68d8ff80}.chat-composer-attachment__progress span.is-scanning{background:linear-gradient(90deg,#f6c65b,#fff0af);width:36%;animation:1.2s ease-in-out infinite chat-attachment-scan;box-shadow:0 0 8px #f6c65b59}.chat-composer-attachment__action{border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;transition:color .14s,background-color .14s,transform .14s;display:flex}.chat-composer-attachment__action:hover{color:#fff;background:#ffffff14}.chat-composer-attachment__action:disabled{cursor:wait;opacity:.62}.chat-composer-attachment__action:disabled:hover{background:0 0}.chat-composer-attachment__action:active{transform:scale(.94)}.chat-composer-attachment__action:focus-visible,.chat-attach-button:focus-visible{outline-offset:1px;outline:2px solid #68d8ffb8}.chat-attachment-dropzone{z-index:50;color:#b3edff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060d15db;border:1px dashed #68d8ffad;border-radius:18px;justify-content:center;align-items:center;animation:.15s ease-out both chat-attachment-drop-in;display:flex;position:absolute;inset:6px 8px 52px;box-shadow:inset 0 0 42px #68d8ff14,0 16px 38px #0000005c}.chat-attachment-dropzone__content{text-align:center;flex-direction:column;align-items:center;gap:7px;font-size:13px;font-weight:650;display:flex}.chat-attachment-dropzone__content small{color:#ffffff80;font-size:10px;font-weight:450}@keyframes chat-attachment-ready-in{0%{opacity:0;transform:translateY(4px)scale(.99)}}@keyframes chat-attachment-scan{0%{transform:translate(-110%)}50%{transform:translate(90%)}to{transform:translate(290%)}}@keyframes chat-attachment-drop-in{0%{opacity:0;transform:scale(.985)}}@media(pointer:coarse){.chat-attachment-card__action,.chat-composer-attachment__action,.chat-attach-button{width:40px;height:40px}}.chat-message-content strong{font-weight:650}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:8px 0 4px;font-weight:650;line-height:1.3}.chat-message-content h1,.chat-message-content h2{font-size:1.12em}.chat-message-content ul,.chat-message-content ol{padding-left:20px;margin:6px 0;padding-inline-start:20px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content ul,.bridge-ai-chat-widget[dir=rtl] .chat-message-content ol{padding-left:0;padding-right:20px}.chat-message-content ul{list-style:outside}.chat-message-content ol{list-style:decimal}.chat-message-content blockquote{color:#f3f0f4c2;border-left:2px solid #68d8ff7a;padding-left:9px;border-inline-start:2px solid #68d8ff7a;margin:6px 0;padding-inline-start:9px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content blockquote{border-left:0;border-right:2px solid #68d8ff7a;padding-left:0;padding-right:9px}.chat-message-content code{background:#ffffff17;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.chat-message-content pre{background:#0003;border:1px solid #ffffff14;border-radius:8px;max-width:100%;margin:7px 0;padding:8px;overflow-x:auto}.chat-message-content pre code{background:0 0;padding:0}.chat-message-link{color:var(--chat-accent-cyan);text-underline-offset:2px;-webkit-text-decoration:underline #68d8ff61;text-decoration:underline #68d8ff61}.chat-message-link:hover{text-decoration-color:currentColor}.chat-message-link:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px;border-radius:2px}.chat-citation{vertical-align:super;margin-left:1px;margin-inline-start:1px;font-size:.72em;line-height:0}.bridge-ai-chat-widget[dir=rtl] .chat-citation{margin-left:0;margin-right:1px}.chat-citation .chat-message-link{text-decoration:none}.chat-icon-button{color:#ffffffd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0f157a;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-icon-button:hover{color:var(--chat-accent-cyan);background:#141921c7;border-color:#68d8ff57}.chat-icon-button:active{transform:scale(.96)}.chat-icon-button:focus-visible,.chat-launcher:focus-visible,.chat-composer-button:focus-visible,.chat-send-button:focus-visible,.chat-microphone-button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}[data-lola-widget-shell]{backface-visibility:hidden;visibility:hidden;opacity:0;pointer-events:none;transform-origin:50% 100%;transition:visibility 0s linear .2s,opacity .13s ease-in,transform .2s cubic-bezier(.4,0,.7,.2);transform:translateY(10px)scale(.985);box-shadow:0 24px 64px #00000052,0 8px 24px #0003}[data-lola-widget-shell][data-state=open]{visibility:visible;opacity:1;pointer-events:auto;transition:visibility,opacity .15s ease-out,transform .28s cubic-bezier(.16,1,.3,1);transition-timing-function:linear,ease-out,var(--chat-route-enter-easing);transform:translate(0)scale(1)}[data-lola-widget-shell][data-layout=fullscreen]{width:100vw;height:100vh}@supports (width:100dvw) and (height:100dvh){[data-lola-widget-shell][data-layout=fullscreen]{width:100dvw;height:100dvh}}[data-lola-widget-shell][data-layout=fullscreen] .chat-widget-panel{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.chat-widget-panel{transform:translateZ(0)}.compact-preview-anchor{width:min(320px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px));contain:layout style}.compact-preview-anchor[data-suspended=true]{opacity:0;pointer-events:none}.compact-preview-anchor[data-suspended=true] :is(.compact-scenario-preview,.compact-scenario-preview *),.compact-preview-anchor[data-suspended=true] .compact-scenario-preview__action:after{animation-play-state:paused!important}.chat-launcher-menu{overscroll-behavior:contain;background:#121417f5;border:1px solid #ffffff24;border-radius:14px;width:max-content;min-width:168px;display:grid;overflow:hidden auto;box-shadow:0 12px 32px #00000052}.chat-launcher-menu>button{min-height:44px;color:var(--chat-text-primary);font:inherit;text-align:start;background:0 0;border:0;padding:10px 14px}.chat-launcher-menu>button:hover,.chat-launcher-menu>button:focus-visible{background:#ffffff1a}.chat-launcher-menu>button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:-3px}.bridge-ai-chat-widget.is-interacting .chat-launcher{transition:none}.bridge-ai-chat-widget[data-preview-active=true] .chat-launcher__portrait,.bridge-ai-chat-widget[data-preview-active=true] .chat-launcher__aura,.bridge-ai-chat-widget.is-interacting .chat-launcher__portrait,.bridge-ai-chat-widget.is-interacting .chat-launcher__aura{animation-play-state:paused}.chat-launcher{visibility:visible;opacity:1;transition:visibility,opacity .14s ease-out,transform .18s ease-out;transform:translateZ(0)scale(1)}.chat-launcher[aria-expanded=true]{visibility:hidden;opacity:0;pointer-events:none;transition:visibility 0s linear .16s,opacity .12s ease-in,transform .16s ease-in;transform:translateZ(0)scale(.88)}.chat-launcher{color:#fff;cursor:grab;isolation:isolate;touch-action:none;background:#090f16e0;border:0;border-radius:9999px;place-items:center;padding:3px;display:grid}.chat-launcher:active{cursor:grabbing}.chat-launcher__portrait{z-index:2;border:3px solid var(--chat-accent-cyan);background:radial-gradient(circle at 50% 35%,#3d4c5d,#0c1219 72%);border-radius:9999px;width:46px;height:46px;animation:2.8s ease-in-out infinite lola-launcher-breathe;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 13px #68d8ffa3,0 0 30px #45bdff42}.chat-launcher__portrait img{width:100%;max-height:inherit;object-fit:cover;object-position:50% 20%;-webkit-user-select:none;user-select:none;height:100%;transform:scale(1.22)translateY(6%)}.chat-launcher__aura{z-index:1;filter:blur(7px);opacity:.7;background:conic-gradient(from 45deg,#68d8ff47,#775cff14,#68d8ff5c,#775cff14,#68d8ff47);border:1px solid #68d8ff61;border-radius:9999px;animation:3.6s ease-in-out infinite lola-launcher-aura;position:absolute;inset:-7px}.chat-widget-resize-corner:after{content:"";border-top:2px solid #68d8ffc2;border-left:2px solid #68d8ffc2;border-radius:3px 0 0;width:8px;height:8px;position:absolute;top:5px;left:5px}.bridge-ai-chat-widget[data-mobile=true] .chat-icon-button{width:48px;height:48px}@keyframes lola-launcher-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes lola-launcher-aura{0%,to{opacity:.48;transform:scale(.94)rotate(0)}50%{opacity:.82;transform:scale(1.08)rotate(18deg)}}.chat-composer{background:linear-gradient(145deg,#1d142af0,#0a0f16f5);border:0;border-radius:22px;min-height:42px;box-shadow:0 12px 34px #0000004d,0 0 0 1px #b564ff29,inset 0 1px #ffffff12}.chat-composer:focus-within{box-shadow:0 12px 34px #0000004d,0 0 0 1px #68d8ff57,0 0 24px #68d8ff14,inset 0 1px #ffffff14}.chat-composer-button{background:var(--chat-surface-customer);border-radius:15px;box-shadow:0 4px 14px #00000024}.chat-composer-button:hover{background:#684b6c}.chat-talk-button{width:var(--chat-talk-expanded-width);flex:none;transition:width .22s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true]{width:32px}.chat-unread-indicator{right:-2px}.bridge-ai-chat-widget[dir=rtl] .chat-unread-indicator{left:-2px;right:auto}.chat-talk-button__content{z-index:1;pointer-events:none;align-items:center;gap:8px;padding:0 12px;display:flex;position:absolute;inset:0}.chat-talk-button__label{opacity:1;flex:none;line-height:16px;transition:opacity 90ms ease-out,transform .18s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true] .chat-talk-button__content{justify-content:center;gap:0;padding:0}.chat-talk-button[data-compact=true] .chat-talk-button__label{opacity:0;position:absolute;inset-inline-start:38px;transform:translate(-6px)}.bridge-ai-chat-widget[dir=rtl] .chat-talk-button[data-compact=true] .chat-talk-button__label{left:auto;right:38px;transform:translate(6px)}.chat-send-button{background:var(--chat-accent-lime);color:#081207;border-radius:9999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;transition:filter .16s,transform .16s,opacity .16s;display:flex;box-shadow:0 6px 18px #d7ff6438}.chat-send-button:hover:not(:disabled){filter:brightness(1.08)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{box-shadow:none;color:#ffffff3d;background:#ffffff13}.chat-cta-primary,.chat-cta-secondary{isolation:isolate;border-radius:9999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:600;line-height:16px;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex;position:relative}.chat-cta-primary{background:var(--chat-accent-lime);color:#081207;border:0;box-shadow:0 6px 18px #d7ff642e}.chat-cta-primary:hover{filter:brightness(1.07)}.chat-cta-action{background:linear-gradient(135deg,var(--chat-accent-lime),#a6ef36);color:#081207;box-shadow:0 8px 24px #8fff373d,inset 0 1px #ffffff47}.chat-cta-action:hover{filter:brightness(1.12)}.chat-cta-secondary{color:#ffffffb8;background:#fff1;border:1px solid #ffffff1f}.chat-cta-secondary:hover{background:#68d8ff14;border-color:#68d8ff47}.chat-choice-option{isolation:isolate;color:#ffffffe6;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#00000047;border:1px solid #ffffff29;border-radius:22px;justify-content:center;align-items:center;min-width:44px;min-height:30px;padding:4px 12px;font-size:12px;font-weight:600;line-height:20px;transition:color .14s,background-color .14s,border-color .14s,opacity .14s,transform .12s;display:inline-flex;position:relative}.chat-choice-option:before{content:"";pointer-events:auto;background:0 0;position:absolute;inset-block:-5px;inset-inline:0}.chat-choice-option[data-presentation=PRIMARY]{background:var(--chat-accent-lime);color:#081207;border-color:#0000}.chat-choice-option[data-presentation=TERTIARY]{color:#ffffffc2;background:#ffffff13;border-color:#ffffff1f}.chat-choice-option--selected,.chat-choice-option:focus-visible,.chat-cta-primary:focus-visible,.chat-cta-secondary:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}.chat-choice-option:active:not(:disabled),.chat-cta-primary:active:not(:disabled),.chat-cta-secondary:active:not(:disabled){transform:scale(.97)}.chat-attention-nudge-once:after{z-index:-1;border-radius:inherit;content:"";opacity:0;pointer-events:none;background:#d7ff647a;animation:3s ease-out 3s infinite both compact-scenario-preview-nudge-glow;position:absolute;inset:-4px;transform:scale(.97)}.chat-attention-nudge-once{animation:3s ease-out 3s infinite both compact-scenario-preview-nudge}.chat-attention-nudge-once:active:not(:disabled){animation:none;transform:scale(.97)}.chat-attention-nudge-once:active:not(:disabled):after{opacity:0;animation:none}.chat-voice-card{-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#0d1016c7;border:1px solid #ffffff1c;border-radius:20px;box-shadow:0 12px 36px #0000003d}.chat-microphone-button{color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1016a6;border:1px solid #ffffff21;border-radius:9999px;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .16s,border-color .16s,background-color .16s;display:flex;position:relative;box-shadow:0 12px 32px #0000003d,inset 0 1px #ffffff0f}.chat-microphone-button:hover{border-color:#68d8ff6b;transform:translateY(-1px)}.chat-microphone-button_active{background:#68d8ff2e;border-color:#68d8ff75;box-shadow:0 12px 32px #0000003d,0 0 0 6px #68d8ff0f}.chat-list-surface{background:radial-gradient(circle at 92% 0,#68d8ff1a,#0000 26%),radial-gradient(circle at 8% 0,#ef6b7f1a,#0000 28%),#0d1016;box-shadow:inset 0 1px #ffffff0d}.chat-list-item_selected{background:linear-gradient(100deg,#70265757,#14475e47);box-shadow:inset 0 1px #ffffff0d}.chat-list-entry{content-visibility:auto;contain-intrinsic-block-size:64px}.chat-route-stage{border-radius:inherit;isolation:isolate;overflow:hidden}.chat-route-page{border-radius:inherit;height:100%;position:absolute;inset:0;overflow:hidden}.chat-route-page_background{z-index:1}.chat-route-pane{z-index:2;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}.chat-route-pane_exit{pointer-events:none}.chat-route-pane .chat-list-entry{content-visibility:visible}.chat-route-pane_enter.chat-route-pane_forward{animation:.3s cubic-bezier(.16,1,.3,1) both chat-route-forward-enter;animation-timing-function:var(--chat-route-enter-easing)}.chat-route-pane_exit.chat-route-pane_backward{animation:.24s cubic-bezier(.4,0,.7,.2) both chat-route-backward-exit}@keyframes chat-route-forward-enter{0%{opacity:.88;transform:translate3d(var(--chat-route-offset-x),0,0)}to{opacity:1;transform:translate(0)}}@keyframes chat-route-backward-exit{0%{opacity:1;transform:translate(0)}to{opacity:.94;transform:translate3d(var(--chat-route-offset-x),0,0)}}.chat-message-skeleton{justify-content:flex-end;min-height:min(420px,62vh)}.chat-message-skeleton-bubble{animation:1.2s ease-in-out infinite alternate chat-message-skeleton-pulse;animation-delay:var(--chat-skeleton-delay);will-change:opacity;position:relative;overflow:hidden}.chat-message-skeleton-bubble:after{content:"";pointer-events:none;animation:1.45s cubic-bezier(.4,0,.2,1) infinite chat-message-skeleton-shimmer;animation-delay:var(--chat-skeleton-delay);will-change:transform;background:linear-gradient(105deg,#0000 24%,#ffffff16,#0000 72%);position:absolute;inset:-1px;transform:translate(-125%)}.chat-avatar-ring{background:linear-gradient(145deg,var(--chat-accent-cherry),var(--chat-accent-cyan));border-radius:9999px;padding:1px;display:inline-flex;box-shadow:0 4px 14px #0003}.chat-scrollbar{overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-y}.chat-scrollbar:hover{scrollbar-color:#ffffff38 transparent}.chat-scrollbar::-webkit-scrollbar{width:4px;height:4px}.chat-scrollbar::-webkit-scrollbar-track{background:0 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:0 0;border-radius:9999px}.chat-scrollbar:hover::-webkit-scrollbar-thumb{background:#ffffff38}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.chat-pending-assistant-message{transform-origin:0 100%;animation:.22s cubic-bezier(.22,1,.36,1) both chat-pending-assistant-message-in}.bridge-ai-chat-widget[dir=rtl] .chat-pending-assistant-message{transform-origin:100% 100%}.chat-typing-indicator{align-items:center;gap:5px;display:flex}.chat-typing-indicator__dot{background-color:var(--chat-accent-cyan);opacity:.38;border-radius:50%;width:7px;height:7px;animation:1.2s cubic-bezier(.45,0,.55,1) infinite both chat-typing-dot;transform:translateY(0)scale(.82)}.chat-typing-indicator__dot_left{animation-delay:0s}.chat-typing-indicator__dot_center{animation-delay:.14s}.chat-typing-indicator__dot_right{animation-delay:.28s}.chat-stream-fragment{animation:.12s cubic-bezier(.22,1,.36,1) both chat-stream-fragment-in}.chat-support-message-enter{transform-origin:0 100%;animation:.18s cubic-bezier(.22,1,.36,1) chat-support-message-in}.bridge-ai-chat-widget[dir=rtl] .chat-support-message-enter{transform-origin:100% 100%}@keyframes chat-support-message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-stream-fragment-in{0%{opacity:.15}to{opacity:1}}@keyframes chat-message-skeleton-pulse{0%{opacity:.58}to{opacity:1}}@keyframes chat-message-skeleton-shimmer{to{transform:translate(125%)}}@media(prefers-reduced-motion:reduce){[data-lola-widget-shell],.chat-widget-panel,.chat-launcher,.chat-talk-button,.chat-talk-button__icon,.chat-talk-button__label{transition:none}.chat-launcher__portrait,.chat-launcher__aura,.chat-pending-assistant-message,.chat-typing-indicator__dot,.chat-composer-attachment,.chat-composer-attachment__progress span.is-scanning,.chat-attachment-dropzone{animation:none}.chat-route-pane{animation-duration:1ms!important}.chat-typing-indicator__dot{opacity:.72;transform:none}.chat-stream-fragment{animation:none}.chat-support-message-enter{animation:none;transform:none}.chat-message-skeleton-bubble{opacity:.82;will-change:auto;animation:none}.chat-message-skeleton-bubble:after{will-change:auto;animation:none;display:none}}@keyframes chat-pending-assistant-message-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chat-typing-dot{0%,60%,to{opacity:.38;transform:translateY(0)scale(.82)}30%{opacity:1;transform:translateY(-3px)scale(1.05)}}.compact-scenario-preview{isolation:isolate;box-sizing:border-box;max-height:inherit;width:100%;max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px);border:1px solid var(--lola-compact-preview-border,#ffffff1a);background:var(--lola-compact-preview-surface,#121214fe);color:var(--lola-compact-preview-text,var(--chat-text-primary));transform-origin:100% 100%;border-radius:26px 26px 8px;flex-direction:column;padding:18px 54px 18px 18px;display:flex;position:relative;overflow:visible;box-shadow:0 14px 38px #0000004d}.compact-scenario-preview:before{z-index:-1;border-right:1px solid var(--lola-compact-preview-border,#ffffff1a);border-bottom:1px solid var(--lola-compact-preview-border,#ffffff1a);background:var(--lola-compact-preview-surface,#121214fe);content:"";width:16px;height:16px;position:absolute;bottom:-7px;right:18px;transform:rotate(45deg)}.compact-preview-anchor[data-side=left] .compact-scenario-preview{transform-origin:0 100%;border-radius:26px 26px 26px 8px}.compact-preview-anchor[data-side=left] .compact-scenario-preview:before{left:18px;right:auto}.compact-preview-anchor[data-side=right] .compact-scenario-preview{transform-origin:100% 100%;border-radius:26px 26px 8px}.compact-preview-anchor[data-placement=below][data-side=right] .compact-scenario-preview{transform-origin:100% 0;border-radius:26px 8px 26px 26px}.compact-preview-anchor[data-placement=below][data-side=left] .compact-scenario-preview{transform-origin:0 0;border-radius:8px 26px 26px}.compact-preview-anchor[data-placement=below] .compact-scenario-preview:before{border-top:1px solid var(--lola-compact-preview-border,#ffffff1a);border-bottom:0;border-right:0;border-left:1px solid var(--lola-compact-preview-border,#ffffff1a);top:-7px;bottom:auto}.compact-scenario-preview[data-kind=CHOICE]{padding-right:18px}.compact-scenario-preview[data-phase=ENTERING]{animation:.22s cubic-bezier(.16,1,.3,1) both compact-scenario-preview-in}.compact-scenario-preview[data-phase=EXITING]{pointer-events:none;animation:.16s cubic-bezier(.4,0,.7,.2) both compact-scenario-preview-out}.compact-scenario-preview__copy{overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-width:thin;min-width:0;min-height:0;font-size:15px;font-weight:500;line-height:1.45;overflow-y:auto}.compact-scenario-preview__copy :where(p,ul,ol,blockquote,pre){margin:0}.compact-scenario-preview__copy :where(p,ul,ol,blockquote,pre)+:where(p,ul,ol,blockquote,pre){margin-top:8px}.compact-scenario-preview__copy :where(ul,ol){padding-inline-start:20px}.compact-scenario-preview__copy :where(code,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.compact-scenario-preview__link-text{color:var(--lola-compact-preview-link,var(--chat-accent-cyan));text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.compact-scenario-preview__coalesced{width:max-content;max-width:100%;color:var(--lola-compact-preview-muted,#ffffffb3);background:#ffffff14;border-radius:9999px;margin:10px 0 0;padding:4px 9px;font-size:12px;font-weight:600;line-height:16px}.compact-scenario-preview__phrase{display:inline}.compact-scenario-preview[data-phase=ENTERING] .compact-scenario-preview__phrase{opacity:0;animation:.28s cubic-bezier(.22,1,.36,1) both compact-scenario-preview-phrase-in;animation-delay:var(--compact-preview-phrase-delay,90ms)}.compact-scenario-preview__dismiss{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--lola-compact-preview-dismiss,#ffffffa8);background:0 0;border:0;border-radius:9999px;place-items:center;font-size:30px;font-weight:300;line-height:1;transition:color .14s,background-color .14s,transform .12s;display:grid;position:absolute;top:4px;right:4px}.compact-scenario-preview__actions{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:16px;display:grid}.compact-scenario-preview[data-kind=CHOICE] .compact-scenario-preview__actions{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;margin:10px -2px -2px;padding:5px 2px;overflow-y:auto}.compact-scenario-preview[data-phase=ENTERING] .compact-scenario-preview__actions{opacity:0;animation:.17s cubic-bezier(.22,1,.36,1) both compact-scenario-preview-actions-in;animation-delay:var(--compact-preview-actions-delay,.42s);transform:translateY(5px)}.compact-scenario-preview[data-kind=CTA] .compact-scenario-preview__copy.compact-scenario-preview__sr-only~.compact-scenario-preview__actions{margin-top:0}.compact-scenario-preview__choice-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.compact-scenario-preview__action{isolation:isolate;overflow-wrap:anywhere;text-align:center;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:650;line-height:20px;transition:color .14s,background-color .14s,border-color .14s,opacity .14s,transform .12s;display:inline-flex;position:relative}.compact-scenario-preview[data-kind=CHOICE] .compact-scenario-preview__action{border-radius:22px;min-height:30px;padding:4px 12px;font-size:12px;line-height:20px}.compact-scenario-preview[data-kind=CHOICE] .compact-scenario-preview__action:before{content:"";pointer-events:auto;background:0 0;position:absolute;inset-block:-5px;inset-inline:0}.compact-scenario-preview__action[data-presentation=PRIMARY]{border-color:var(--lola-compact-preview-primary-border,transparent);background:var(--lola-compact-preview-primary-background,var(--chat-accent-lime));color:var(--lola-compact-preview-primary-foreground,#081207)}.compact-scenario-preview__action[data-presentation=TERTIARY]{border-color:var(--lola-compact-preview-tertiary-border,#fff6);background:var(--lola-compact-preview-tertiary-background,#ffffff1f);color:var(--lola-compact-preview-tertiary-foreground,#ffffffb8)}.compact-scenario-preview__action[data-presentation=PRIMARY]:after{z-index:-1;border-radius:inherit;background:var(--lola-compact-preview-primary-attention,#d7ff647a);content:"";opacity:0;pointer-events:none;position:absolute;inset:-4px;transform:scale(.92)}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]:after{animation:3s ease-out 3s infinite both compact-scenario-preview-nudge-glow}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]{animation:3s ease-out 3s infinite both compact-scenario-preview-nudge}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]:active:not(:disabled){animation:none;transform:scale(.97)}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]:active:not(:disabled):after{opacity:0;animation:none}.compact-scenario-preview__feedback{color:var(--lola-compact-preview-error,#fecaca);margin:10px 0 0;font-size:12px;line-height:1.4}.compact-scenario-preview__dismiss:focus-visible,.compact-scenario-preview__action:focus-visible{outline:2px solid var(--lola-compact-preview-focus,var(--chat-accent-cyan));outline-offset:2px}.compact-scenario-preview__dismiss:active:not(:disabled),.compact-scenario-preview__action:active:not(:disabled){transform:scale(.97)}.compact-scenario-preview__dismiss:disabled,.compact-scenario-preview__action:disabled{opacity:.48}.compact-scenario-preview__sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media(hover:hover){.compact-scenario-preview__dismiss:hover:not(:disabled){background:var(--lola-compact-preview-dismiss-hover-background,#ffffff14);color:var(--lola-compact-preview-dismiss-hover,white)}.compact-scenario-preview__action[data-presentation=PRIMARY]:hover:not(:disabled){background:var(--lola-compact-preview-primary-hover-background,#e0ff88)}.compact-scenario-preview__action[data-presentation=TERTIARY]:hover:not(:disabled){border-color:var(--lola-compact-preview-tertiary-hover-border,#68d8ff4d);background:var(--lola-compact-preview-tertiary-hover-background,#68d8ff17)}}@keyframes compact-scenario-preview-in{0%{opacity:0;transform:translateY(9px)scale(.975)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes compact-scenario-preview-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translateY(5px)scale(.985)}}@keyframes compact-scenario-preview-phrase-in{0%{opacity:0}to{opacity:1}}@keyframes compact-scenario-preview-actions-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translate(0)}}@keyframes compact-scenario-preview-nudge-glow{0%,12%,to{opacity:0;transform:scale(.97)}6%{opacity:.24;transform:scale(1.04)}}@keyframes compact-scenario-preview-nudge{0%,12%,to{transform:translate(0)scale(1)}3%{transform:translate(-1px)scale(1.006)}6%{transform:translate(1px)scale(1.012)}9%{transform:translate(-.5px)scale(1.006)}}@media(prefers-reduced-motion:reduce){.compact-scenario-preview,.compact-scenario-preview__phrase,.compact-scenario-preview__actions,.compact-scenario-preview__action,.compact-scenario-preview__action:after,.chat-attention-nudge-once,.chat-attention-nudge-once:after{transition:none!important;animation:none!important}.compact-scenario-preview,.compact-scenario-preview__phrase,.compact-scenario-preview__actions,.compact-scenario-preview__action,.compact-scenario-preview__action:after{transform:none}.compact-scenario-preview,.compact-scenario-preview__phrase,.compact-scenario-preview__actions{opacity:1}.compact-scenario-preview__action:after{opacity:0}}@media(forced-colors:active){.compact-scenario-preview,.compact-scenario-preview__action,.compact-scenario-preview__dismiss{color:canvastext;background:canvas;border:1px solid canvastext}.compact-scenario-preview__action:after{display:none}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-end-0\\.5{inset-inline-end:calc(var(--spacing)*-.5)}.-top-0\\.5{top:calc(var(--spacing)*-.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-5{top:calc(var(--spacing)*5)}.right-0{right:calc(var(--spacing)*0)}.right-5{right:calc(var(--spacing)*5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-5{bottom:calc(var(--spacing)*5)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-5{left:calc(var(--spacing)*5)}.z-0{z-index:0}.z-1{z-index:1}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-51{z-index:51}.z-\\[70\\]{z-index:70}.z-\\[9999999\\]{z-index:9999999}.\\!container{width:100%!important}@media(min-width:40rem){.\\!container{max-width:40rem!important}}@media(min-width:48rem){.\\!container{max-width:48rem!important}}@media(min-width:64rem){.\\!container{max-width:64rem!important}}@media(min-width:80rem){.\\!container{max-width:80rem!important}}@media(min-width:96rem){.\\!container{max-width:96rem!important}}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-4\\.5{height:calc(var(--spacing)*4.5)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-\\[50\\%\\]{height:50%}.h-\\[52\\%\\]{height:52%}.h-\\[66vh\\]{height:66vh}.h-\\[650px\\]{height:650px}.h-\\[calc\\(100\\%-64px\\)\\]{height:calc(100% - 64px)}.h-\\[calc\\(100\\%-96px\\)\\]{height:calc(100% - 96px)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\\[66vh\\]{max-height:66vh}.max-h-\\[min\\(82vh\\,760px\\)\\]{max-height:min(82vh,760px)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-64{min-height:calc(var(--spacing)*64)}.min-h-96{min-height:calc(var(--spacing)*96)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-4\\.5{width:calc(var(--spacing)*4.5)}.w-5{width:calc(var(--spacing)*5)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-14{width:calc(var(--spacing)*14)}.w-\\[42\\%\\]{width:42%}.w-\\[48\\%\\]{width:48%}.w-\\[50\\%\\]{width:50%}.w-\\[52\\%\\]{width:52%}.w-\\[56\\%\\]{width:56%}.w-\\[58\\%\\]{width:58%}.w-\\[62\\%\\]{width:62%}.w-\\[64\\%\\]{width:64%}.w-\\[66\\%\\]{width:66%}.w-\\[68\\%\\]{width:68%}.w-\\[70\\%\\]{width:70%}.w-\\[72\\%\\]{width:72%}.w-\\[74\\%\\]{width:74%}.w-\\[76\\%\\]{width:76%}.w-\\[78\\%\\]{width:78%}.w-\\[86\\%\\]{width:86%}.w-\\[390px\\]{width:390px}.w-\\[min\\(92vw\\,920px\\)\\]{width:min(92vw,920px)}.w-\\[min\\(232px\\,calc\\(100\\%-2rem\\)\\)\\]{width:min(232px,100% - 2rem)}.w-\\[min\\(232px\\,calc\\(100\\%-208px\\)\\)\\]{width:min(232px,100% - 208px)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-8{max-width:calc(var(--spacing)*8)}.max-w-70{max-width:calc(var(--spacing)*70)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-\\[86\\%\\]{max-width:86%}.max-w-\\[232px\\]{max-width:232px}.max-w-\\[calc\\(100vw-32px\\)\\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\\.5{--tw-translate-y:calc(var(--spacing)*1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-3{--tw-translate-y:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\\[0\\.98\\]{scale:.98}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-n-resize{cursor:n-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-w-resize{cursor:w-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-\\[3px\\]{gap:3px}.gap-\\[10px\\]{gap:10px}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\\[17px\\]{border-radius:17px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[28px\\]{border-radius:28px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-ee-\\[5px\\]{border-end-end-radius:5px}.rounded-es-\\[5px\\]{border-end-start-radius:5px}.rounded-br-\\[5px\\]{border-bottom-right-radius:5px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#68d8ff\\]\\/10{border-color:#68d8ff1a}.border-\\[\\#68d8ff\\]\\/24{border-color:#68d8ff3d}.border-\\[\\#68d8ff\\]\\/35{border-color:#68d8ff59}.border-red-200\\/10{border-color:#ffcaca1a}@supports (color:color-mix(in lab,red,red)){.border-red-200\\/10{border-color:color-mix(in oklab,var(--color-red-200)10%,transparent)}}.border-white\\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\\/8{border-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\\/12{border-color:color-mix(in oklab,var(--color-white)12%,transparent)}}.border-white\\/14{border-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.border-white\\/14{border-color:color-mix(in oklab,var(--color-white)14%,transparent)}}.border-white\\/\\[0\\.05\\]{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.05\\]{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\\/\\[0\\.06\\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.border-white\\/\\[0\\.045\\]{border-color:#ffffff0b}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.045\\]{border-color:color-mix(in oklab,var(--color-white)4.5%,transparent)}}.bg-\\[\\#0c1119\\]\\/96{background-color:#0c1119f5}.bg-\\[\\#5b405f\\]{background-color:#5b405f}.bg-\\[\\#5b405f\\]\\/70{background-color:#5b405fb3}.bg-\\[\\#68d8ff\\]{background-color:#68d8ff}.bg-\\[\\#68d8ff\\]\\/10,.bg-\\[\\#68d8ff\\]\\/\\[0\\.1\\]{background-color:#68d8ff1a}.bg-\\[\\#68d8ff\\]\\/\\[0\\.13\\]{background-color:#68d8ff21}.bg-\\[\\#090b10\\]\\/58{background-color:#090b1094}.bg-\\[\\#05080d\\]\\/82{background-color:#05080dd1}.bg-\\[\\#17131b\\]{background-color:#17131b}.bg-\\[\\#111319\\]{background-color:#111319}.bg-\\[\\#111923\\]{background-color:#111923}.bg-\\[\\#ef6b7f\\]{background-color:#ef6b7f}.bg-\\[radial-gradient\\(circle_at_50\\%_20\\%\\,rgba\\(104\\,216\\,255\\,\\.08\\)\\,transparent_46\\%\\)\\,\\#080c12\\]{background-color:radial-gradient(circle at 50% 20%,#68d8ff14,transparent 46%),#080c12}.bg-\\[var\\(--chat-surface-agent\\)\\]{background-color:var(--chat-surface-agent)}.bg-black{background-color:var(--color-black)}.bg-black\\/8{background-color:#00000014}@supports (color:color-mix(in lab,red,red)){.bg-black\\/8{background-color:color-mix(in oklab,var(--color-black)8%,transparent)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\\/32{background-color:#00000052}@supports (color:color-mix(in lab,red,red)){.bg-black\\/32{background-color:color-mix(in oklab,var(--color-black)32%,transparent)}}.bg-black\\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\\/35{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}}.bg-black\\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\\/45{background-color:color-mix(in oklab,var(--color-black)45%,transparent)}}.bg-current{background-color:currentColor}.bg-red-300\\/8{background-color:#ffa3a314}@supports (color:color-mix(in lab,red,red)){.bg-red-300\\/8{background-color:color-mix(in oklab,var(--color-red-300)8%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\\/\\[0\\.04\\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--color-white)4%,transparent)}}.bg-white\\/\\[0\\.06\\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-white\\/\\[0\\.07\\]{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.07\\]{background-color:color-mix(in oklab,var(--color-white)7%,transparent)}}.bg-white\\/\\[0\\.09\\]{background-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.09\\]{background-color:color-mix(in oklab,var(--color-white)9%,transparent)}}.bg-white\\/\\[0\\.11\\]{background-color:#ffffff1c}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.11\\]{background-color:color-mix(in oklab,var(--color-white)11%,transparent)}}.bg-white\\/\\[0\\.035\\]{background-color:#ffffff09}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.035\\]{background-color:color-mix(in oklab,var(--color-white)3.5%,transparent)}}.bg-\\[linear-gradient\\(145deg\\,\\#684d6d_0\\%\\,\\#3f3348_100\\%\\)\\]{background-image:linear-gradient(145deg,#684d6d,#3f3348)}.bg-\\[linear-gradient\\(180deg\\,rgba\\(25\\,22\\,28\\,0\\.97\\)\\,rgba\\(14\\,13\\,16\\,0\\.98\\)\\)\\]{background-image:linear-gradient(#19161cf7,#0e0d10fa)}.bg-\\[linear-gradient\\(to_bottom\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_0\\%\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_20\\%\\,rgba\\(0\\,0\\,0\\,0\\.2\\)_60\\%\\,rgba\\(0\\,0\\,0\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#000000b3 0% 20%,#0003 60%,#0000)}.bg-\\[linear-gradient\\(to_top\\,rgba\\(8\\,10\\,15\\,0\\.78\\)_0\\%\\,rgba\\(8\\,10\\,15\\,0\\.42\\)_42\\%\\,rgba\\(8\\,10\\,15\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#080a0f00,#080a0f6b 58%,#080a0fc7)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-\\[50\\%_20\\%\\]{object-position:50% 20%}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-\\[11px\\]{padding-inline:11px}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-\\[7px\\]{padding-block:7px}.ps-0\\.5{padding-inline-start:calc(var(--spacing)*.5)}.ps-1{padding-inline-start:calc(var(--spacing)*1)}.pe-3{padding-inline-end:calc(var(--spacing)*3)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.text-center{text-align:center}.text-start{text-align:start}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.02em\\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\\[-0\\.005em\\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#8df0c8\\]{color:#8df0c8}.text-\\[\\#68d8ff\\]{color:#68d8ff}.text-\\[\\#a6ebce\\]{color:#a6ebce}.text-\\[\\#a9eaff\\]{color:#a9eaff}.text-\\[\\#bcecff\\]{color:#bcecff}.text-\\[\\#f3f0f4\\]{color:#f3f0f4}.text-amber-100\\/74{color:#fef3c6bd}@supports (color:color-mix(in lab,red,red)){.text-amber-100\\/74{color:color-mix(in oklab,var(--color-amber-100)74%,transparent)}}.text-amber-100\\/86{color:#fef3c6db}@supports (color:color-mix(in lab,red,red)){.text-amber-100\\/86{color:color-mix(in oklab,var(--color-amber-100)86%,transparent)}}.text-amber-200{color:var(--color-amber-200)}.text-red-100\\/80{color:#ffe2e2cc}@supports (color:color-mix(in lab,red,red)){.text-red-100\\/80{color:color-mix(in oklab,var(--color-red-100)80%,transparent)}}.text-red-100\\/88{color:#ffe2e2e0}@supports (color:color-mix(in lab,red,red)){.text-red-100\\/88{color:color-mix(in oklab,var(--color-red-100)88%,transparent)}}.text-red-200{color:var(--color-red-200)}.text-rose-200\\/82{color:#ffccd3d1}@supports (color:color-mix(in lab,red,red)){.text-rose-200\\/82{color:color-mix(in oklab,var(--color-rose-200)82%,transparent)}}.text-violet-200{color:var(--color-violet-200)}.text-white{color:var(--color-white)}.text-white\\/35{color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.text-white\\/35{color:color-mix(in oklab,var(--color-white)35%,transparent)}}.text-white\\/38{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.text-white\\/38{color:color-mix(in oklab,var(--color-white)38%,transparent)}}.text-white\\/42{color:#ffffff6b}@supports (color:color-mix(in lab,red,red)){.text-white\\/42{color:color-mix(in oklab,var(--color-white)42%,transparent)}}.text-white\\/44{color:#ffffff70}@supports (color:color-mix(in lab,red,red)){.text-white\\/44{color:color-mix(in oklab,var(--color-white)44%,transparent)}}.text-white\\/48{color:#ffffff7a}@supports (color:color-mix(in lab,red,red)){.text-white\\/48{color:color-mix(in oklab,var(--color-white)48%,transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\\/52{color:#ffffff85}@supports (color:color-mix(in lab,red,red)){.text-white\\/52{color:color-mix(in oklab,var(--color-white)52%,transparent)}}.text-white\\/55{color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.text-white\\/55{color:color-mix(in oklab,var(--color-white)55%,transparent)}}.text-white\\/58{color:#ffffff94}@supports (color:color-mix(in lab,red,red)){.text-white\\/58{color:color-mix(in oklab,var(--color-white)58%,transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\\/62{color:#ffffff9e}@supports (color:color-mix(in lab,red,red)){.text-white\\/62{color:color-mix(in oklab,var(--color-white)62%,transparent)}}.text-white\\/64{color:#ffffffa3}@supports (color:color-mix(in lab,red,red)){.text-white\\/64{color:color-mix(in oklab,var(--color-white)64%,transparent)}}.text-white\\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\\/65{color:color-mix(in oklab,var(--color-white)65%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/72{color:#ffffffb8}@supports (color:color-mix(in lab,red,red)){.text-white\\/72{color:color-mix(in oklab,var(--color-white)72%,transparent)}}.text-white\\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/82{color:#ffffffd1}@supports (color:color-mix(in lab,red,red)){.text-white\\/82{color:color-mix(in oklab,var(--color-white)82%,transparent)}}.text-white\\/86{color:#ffffffdb}@supports (color:color-mix(in lab,red,red)){.text-white\\/86{color:color-mix(in oklab,var(--color-white)86%,transparent)}}.text-white\\/88{color:#ffffffe0}@supports (color:color-mix(in lab,red,red)){.text-white\\/88{color:color-mix(in oklab,var(--color-white)88%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/92{color:#ffffffeb}@supports (color:color-mix(in lab,red,red)){.text-white\\/92{color:color-mix(in oklab,var(--color-white)92%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_6px_18px_rgba\\(0\\,0\\,0\\,0\\.16\\)\\]{--tw-shadow:0 6px 18px var(--tw-shadow-color,#00000029);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_28px_80px_rgba\\(0\\,0\\,0\\,0\\.48\\)\\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#0000007a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_30px_90px_rgba\\(0\\,0\\,0\\,\\.58\\)\\,0_0_0_1px_rgba\\(104\\,216\\,255\\,\\.05\\)\\]{--tw-shadow:0 30px 90px var(--tw-shadow-color,#00000094),0 0 0 1px var(--tw-shadow-color,#68d8ff0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(239\\,107\\,127\\,0\\.22\\)\\,0_5px_18px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ef6b7f38),0 5px 18px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(255\\,255\\,255\\,0\\.09\\)\\,0_5px_18px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff17),0 5px 18px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(255\\,255\\,255\\,0\\.11\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff1c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\\[\\#111319\\]{outline-color:#111319}.outline-black\\/9{outline-color:#00000017}@supports (color:color-mix(in lab,red,red)){.outline-black\\/9{outline-color:color-mix(in oklab,var(--color-black)9%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.\\!transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[background-color\\,transform\\]{transition-property:background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.outline-none{--tw-outline-style:none;outline-style:none}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-none{-webkit-user-select:none;user-select:none}.\\!paused{animation-play-state:paused!important}.\\[overflow-anchor\\:none\\]{overflow-anchor:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\\:block:is(:where(.group):hover *){display:block}.group-hover\\:hidden:is(:where(.group):hover *){display:none}.group-hover\\:opacity-70:is(:where(.group):hover *){opacity:.7}}.group-aria-\\[current\\=page\\]\\:opacity-100:is(:where(.group)[aria-current=page] *){opacity:1}.placeholder\\:text-white\\/38::placeholder{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/38::placeholder{color:color-mix(in oklab,var(--color-white)38%,transparent)}}@media(hover:hover){.hover\\:border-\\[\\#68d8ff\\]\\/30:hover{border-color:#68d8ff4d}.hover\\:bg-white\\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/6:hover{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\\:text-\\[\\#68d8ff\\]:hover{color:#68d8ff}.hover\\:text-white\\/90:hover{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/90:hover{color:color-mix(in oklab,var(--color-white)90%,transparent)}}}.active\\:scale-\\[0\\.992\\]:active{scale:.992}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-white\\/8:active{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.active\\:bg-white\\/8:active{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.disabled\\:opacity-40:disabled{opacity:.4}.data-disabled\\:opacity-50[data-disabled]{opacity:.5}.data-focus\\:ring-2[data-focus]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-focus\\:ring-\\[\\#68d8ff\\]\\/65[data-focus]{--tw-ring-color:oklab(83.1484% -.0833826 -.0797253/.65)}.data-hover\\:border-\\[\\#68d8ff\\]\\/42[data-hover]{border-color:#68d8ff6b}.data-hover\\:bg-\\[\\#68d8ff\\]\\/10[data-hover]{background-color:#68d8ff1a}.data-hover\\:bg-\\[\\#68d8ff\\]\\/16[data-hover]{background-color:#68d8ff29}.data-hover\\:bg-white\\/8[data-hover]{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.data-hover\\:bg-white\\/8[data-hover]{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.data-hover\\:text-white[data-hover]{color:var(--color-white)}@media(prefers-reduced-motion:reduce){.motion-reduce\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.motion-reduce\\:transition-none{transition-property:none}.motion-reduce\\:delay-0{--tw-animation-delay:0s;transition-delay:0s;animation-delay:0s}}@media(min-width:40rem){.sm\\:inline{display:inline}.sm\\:p-5{padding:calc(var(--spacing)*5)}.sm\\:p-6{padding:calc(var(--spacing)*6)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.bridge-ai-chat-widget{--lola-safe-area-inset-top:env(safe-area-inset-top,0px);--lola-safe-area-inset-right:env(safe-area-inset-right,0px);--lola-safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--lola-safe-area-inset-left:env(safe-area-inset-left,0px);--radius:.625rem;--chat-accent-cherry:#ef6b7f;--chat-accent-cyan:#68d8ff;--chat-accent-lime:#d7ff64;--chat-surface-agent:#1a191bd1;--chat-surface-customer:#5b405f;--chat-text-primary:#f3f0f4;--chat-talk-expanded-width:80px;--chat-route-offset-x:100%;--chat-route-enter-easing:linear(0,.062 5%,.192 10%,.338 15%,.477 20%,.596 25%,.694 30%,.771 35%,.831 40%,.877 45%,.911 50%,.937 55%,.955 60%,.969 65%,.979 70%,.986 75%,.991 80%,.994 85%,.997 90%,.999 95%,1);color-scheme:dark;font-synthesis:none;letter-spacing:-.006em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:InterVariable,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bridge-ai-chat-widget[dir=rtl]{--chat-route-offset-x:-100%}.bridge-ai-chat-widget button,.bridge-ai-chat-widget textarea{font-family:inherit}.bridge-ai-chat-widget :where(button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href]){cursor:pointer}.bridge-ai-chat-widget button:disabled{cursor:not-allowed}.bridge-ai-chat-widget .chat-launcher,.bridge-ai-chat-widget [data-lola-drag-handle]{cursor:grab}.bridge-ai-chat-widget .chat-launcher:active,.bridge-ai-chat-widget [data-lola-drag-handle]:active{cursor:grabbing}.bridge-ai-chat-widget [data-lola-resize=top]{cursor:n-resize}.bridge-ai-chat-widget [data-lola-resize=left]{cursor:w-resize}.bridge-ai-chat-widget [data-lola-resize=corner]{cursor:nwse-resize}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
2
- var rt = typeof global == "object" && global && global.Object === Object && global, at = typeof self == "object" && self && self.Object === Object && self, W = rt || at || Function("return this")(), A = W.Symbol, K = Object.prototype, ot = K.hasOwnProperty, nt = K.toString, E = A ? A.toStringTag : void 0;
3
- function st(o) {
4
- var t = ot.call(o, E), e = o[E];
1
+ const kt = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-blue-500:oklch(62.3% .214 259.815);--color-violet-200:oklch(89.4% .057 293.283);--color-rose-200:oklch(89.2% .058 10.001);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-preview{border-style:var(--tw-border-style);border-width:5px;border-color:var(--color-blue-500);border-radius:3.40282e38px}.message{background:var(--chat-surface-agent);max-width:100%;color:var(--chat-text-primary);border:0;border-radius:17px;padding:7px 11px;font-size:14px;font-weight:400;line-height:20px;box-shadow:0 6px 18px #00000029}.chat-message-row[data-author=customer]>.message,.message[data-author=customer]{background:var(--chat-surface-customer)}.bridge-ai-chat-widget [class~=text-start]{text-align:left;text-align:start}.bridge-ai-chat-widget[dir=rtl] [class~=text-start]{text-align:right;text-align:start}.chat-message-row[data-author=agent]>.message,.message[data-author=agent],.chat-message-skeleton-bubble.self-start{border-bottom-left-radius:5px}.chat-message-row[data-author=customer]>.message,.message[data-author=customer],.chat-message-skeleton-bubble.self-end{border-bottom-right-radius:5px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=agent]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-start{border-bottom-right-radius:5px;border-bottom-left-radius:17px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=customer]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-end{border-bottom-right-radius:17px;border-bottom-left-radius:5px}.message[data-author=agent]{margin-left:8px}.message[data-author=customer]{margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent]{margin-left:0;margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer]{margin-left:8px;margin-right:0}.chat-message-row[data-author=agent]+.chat-message-row[data-author=agent],.chat-message-row[data-author=customer]+.chat-message-row[data-author=customer]{margin-top:-4px}.chat-message-content p+p{margin-top:8px}.chat-message-author{color:#ffffffb8;letter-spacing:.01em;align-items:center;gap:6px;padding-inline:4px;font-size:11px;font-weight:600;display:inline-flex}.chat-message-author img{object-fit:cover;background:#0e131bcc;border:1px solid #68d8ff5c;border-radius:9999px;width:18px;height:18px}.chat-message-author[data-author-kind=operator] img{border-color:#d7ff6480}.chat-attachments{flex-direction:column;gap:6px;max-width:100%;display:flex}.chat-message-row[data-author=customer] .chat-attachments{justify-content:flex-end;align-self:flex-end}.chat-attachment-card,.chat-attachment-placeholder{width:min(250px,100%);max-width:100%;color:var(--chat-text-primary);background:linear-gradient(135deg,#68d8ff0e,#0000 58%),#050a1094;border:1px solid #ffffff1f;border-radius:13px;align-items:center;gap:8px;padding:7px;text-decoration:none;display:flex;box-shadow:inset 0 1px #ffffff09}.chat-attachment-card__icon,.chat-attachment-card__thumbnail{color:#87e2ffe0;background:#68d8ff14;border:1px solid #68d8ff2e;border-radius:9px;flex:none;width:34px;height:34px}.chat-attachment-card__icon{justify-content:center;align-items:center;display:flex}.chat-attachment-card__thumbnail{object-fit:cover}.chat-attachment-card__action{color:#ffffff94;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .14s,background-color .14s,transform .14s;display:inline-flex}.chat-attachment-card__action:hover{color:#a0eaff;background:#68d8ff1c}.chat-attachment-card__action:active{transform:scale(.94)}.chat-attachment-card__action:focus-visible{outline-offset:1px;outline:2px solid #68d8ffb8}.chat-message-receipt{color:#68d8ffc7;align-self:flex-end;padding-inline:4px;font-size:10px;line-height:1.2}.chat-composer-attachments{flex-direction:column;gap:6px;max-height:148px;padding:4px 4px 6px;display:flex;overflow-y:auto}.chat-composer-attachment{color:#ffffffd6;background:linear-gradient(90deg,#68d8ff0e,#0000 62%),#05090f80;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:8px;width:100%;max-width:100%;padding:6px;font-size:11px;animation:.18s ease-out both chat-attachment-ready-in;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff09}.chat-composer-attachment__preview{color:#87e2ffcc;background:#68d8ff12;border:1px solid #68d8ff2b;border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.chat-composer-attachment__preview img{object-fit:cover;width:100%;height:100%}.chat-composer-attachment__progress{background:#ffffff14;border-radius:99px;height:2px;margin-top:5px;overflow:hidden}.chat-composer-attachment__progress span{border-radius:inherit;background:linear-gradient(90deg,#36bfe9,#8be7ff);height:100%;transition:width .16s;display:block;box-shadow:0 0 8px #68d8ff80}.chat-composer-attachment__progress span.is-scanning{background:linear-gradient(90deg,#f6c65b,#fff0af);width:36%;animation:1.2s ease-in-out infinite chat-attachment-scan;box-shadow:0 0 8px #f6c65b59}.chat-composer-attachment__action{border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;transition:color .14s,background-color .14s,transform .14s;display:flex}.chat-composer-attachment__action:hover{color:#fff;background:#ffffff14}.chat-composer-attachment__action:disabled{cursor:wait;opacity:.62}.chat-composer-attachment__action:disabled:hover{background:0 0}.chat-composer-attachment__action:active{transform:scale(.94)}.chat-composer-attachment__action:focus-visible,.chat-attach-button:focus-visible{outline-offset:1px;outline:2px solid #68d8ffb8}.chat-attachment-dropzone{z-index:50;color:#b3edff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060d15db;border:1px dashed #68d8ffad;border-radius:18px;justify-content:center;align-items:center;animation:.15s ease-out both chat-attachment-drop-in;display:flex;position:absolute;inset:6px 8px 52px;box-shadow:inset 0 0 42px #68d8ff14,0 16px 38px #0000005c}.chat-attachment-dropzone__content{text-align:center;flex-direction:column;align-items:center;gap:7px;font-size:13px;font-weight:650;display:flex}.chat-attachment-dropzone__content small{color:#ffffff80;font-size:10px;font-weight:450}@keyframes chat-attachment-ready-in{0%{opacity:0;transform:translateY(4px)scale(.99)}}@keyframes chat-attachment-scan{0%{transform:translate(-110%)}50%{transform:translate(90%)}to{transform:translate(290%)}}@keyframes chat-attachment-drop-in{0%{opacity:0;transform:scale(.985)}}@media(pointer:coarse){.chat-attachment-card__action,.chat-composer-attachment__action,.chat-attach-button{width:40px;height:40px}}.chat-message-content strong{font-weight:650}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:8px 0 4px;font-weight:650;line-height:1.3}.chat-message-content h1,.chat-message-content h2{font-size:1.12em}.chat-message-content ul,.chat-message-content ol{padding-left:20px;margin:6px 0;padding-inline-start:20px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content ul,.bridge-ai-chat-widget[dir=rtl] .chat-message-content ol{padding-left:0;padding-right:20px}.chat-message-content ul{list-style:outside}.chat-message-content ol{list-style:decimal}.chat-message-content blockquote{color:#f3f0f4c2;border-left:2px solid #68d8ff7a;padding-left:9px;border-inline-start:2px solid #68d8ff7a;margin:6px 0;padding-inline-start:9px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content blockquote{border-left:0;border-right:2px solid #68d8ff7a;padding-left:0;padding-right:9px}.chat-message-content code{background:#ffffff17;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.chat-message-content pre{background:#0003;border:1px solid #ffffff14;border-radius:8px;max-width:100%;margin:7px 0;padding:8px;overflow-x:auto}.chat-message-content pre code{background:0 0;padding:0}.chat-message-link{color:var(--chat-accent-cyan);text-underline-offset:2px;-webkit-text-decoration:underline #68d8ff61;text-decoration:underline #68d8ff61}.chat-message-link:hover{text-decoration-color:currentColor}.chat-message-link:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px;border-radius:2px}.chat-citation{vertical-align:super;margin-left:1px;margin-inline-start:1px;font-size:.72em;line-height:0}.bridge-ai-chat-widget[dir=rtl] .chat-citation{margin-left:0;margin-right:1px}.chat-citation .chat-message-link{text-decoration:none}.chat-icon-button{color:#ffffffd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0f157a;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-icon-button:hover{color:var(--chat-accent-cyan);background:#141921c7;border-color:#68d8ff57}.chat-icon-button:active{transform:scale(.96)}.chat-icon-button:focus-visible,.chat-launcher:focus-visible,.chat-composer-button:focus-visible,.chat-send-button:focus-visible,.chat-microphone-button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}[data-lola-widget-shell]{backface-visibility:hidden;visibility:hidden;opacity:0;pointer-events:none;transform-origin:50% 100%;transition:visibility 0s linear .2s,opacity .13s ease-in,transform .2s cubic-bezier(.4,0,.7,.2);transform:translateY(10px)scale(.985);box-shadow:0 24px 64px #00000052,0 8px 24px #0003}[data-lola-widget-shell][data-state=open]{visibility:visible;opacity:1;pointer-events:auto;transition:visibility,opacity .15s ease-out,transform .28s cubic-bezier(.16,1,.3,1);transition-timing-function:linear,ease-out,var(--chat-route-enter-easing);transform:translate(0)scale(1)}[data-lola-widget-shell][data-layout=fullscreen]{width:100vw;height:100vh}@supports (width:100dvw) and (height:100dvh){[data-lola-widget-shell][data-layout=fullscreen]{width:100dvw;height:100dvh}}[data-lola-widget-shell][data-layout=fullscreen] .chat-widget-panel{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.chat-widget-panel{transform:translateZ(0)}.compact-preview-anchor{width:min(320px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px));contain:layout style}.compact-preview-anchor[data-suspended=true]{opacity:0;pointer-events:none}.compact-preview-anchor[data-suspended=true] :is(.compact-scenario-preview,.compact-scenario-preview *),.compact-preview-anchor[data-suspended=true] .compact-scenario-preview__action:after{animation-play-state:paused!important}.chat-launcher-menu{overscroll-behavior:contain;background:#121417f5;border:1px solid #ffffff24;border-radius:14px;width:max-content;min-width:168px;display:grid;overflow:hidden auto;box-shadow:0 12px 32px #00000052}.chat-launcher-menu>button{min-height:44px;color:var(--chat-text-primary);font:inherit;text-align:start;background:0 0;border:0;padding:10px 14px}.chat-launcher-menu>button:hover,.chat-launcher-menu>button:focus-visible{background:#ffffff1a}.chat-launcher-menu>button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:-3px}.bridge-ai-chat-widget.is-interacting .chat-launcher{transition:none}.bridge-ai-chat-widget[data-preview-active=true] .chat-launcher__portrait,.bridge-ai-chat-widget[data-preview-active=true] .chat-launcher__aura,.bridge-ai-chat-widget.is-interacting .chat-launcher__portrait,.bridge-ai-chat-widget.is-interacting .chat-launcher__aura{animation-play-state:paused}.chat-launcher{visibility:visible;opacity:1;transition:visibility,opacity .14s ease-out,transform .18s ease-out;transform:translateZ(0)scale(1)}.chat-launcher[aria-expanded=true]{visibility:hidden;opacity:0;pointer-events:none;transition:visibility 0s linear .16s,opacity .12s ease-in,transform .16s ease-in;transform:translateZ(0)scale(.88)}.chat-launcher{color:#fff;cursor:grab;isolation:isolate;touch-action:none;background:#090f16e0;border:0;border-radius:9999px;place-items:center;padding:3px;display:grid}.chat-launcher:active{cursor:grabbing}.chat-launcher__portrait{z-index:2;border:3px solid var(--chat-accent-cyan);background:radial-gradient(circle at 50% 35%,#3d4c5d,#0c1219 72%);border-radius:9999px;width:46px;height:46px;animation:2.8s ease-in-out infinite lola-launcher-breathe;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 13px #68d8ffa3,0 0 30px #45bdff42}.chat-launcher__portrait img{width:100%;max-height:inherit;object-fit:cover;object-position:50% 20%;-webkit-user-select:none;user-select:none;height:100%;transform:scale(1.22)translateY(6%)}.chat-launcher__aura{z-index:1;filter:blur(7px);opacity:.7;background:conic-gradient(from 45deg,#68d8ff47,#775cff14,#68d8ff5c,#775cff14,#68d8ff47);border:1px solid #68d8ff61;border-radius:9999px;animation:3.6s ease-in-out infinite lola-launcher-aura;position:absolute;inset:-7px}.chat-widget-resize-corner:after{content:"";border-top:2px solid #68d8ffc2;border-left:2px solid #68d8ffc2;border-radius:3px 0 0;width:8px;height:8px;position:absolute;top:5px;left:5px}.bridge-ai-chat-widget[data-mobile=true] .chat-icon-button{width:48px;height:48px}@keyframes lola-launcher-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes lola-launcher-aura{0%,to{opacity:.48;transform:scale(.94)rotate(0)}50%{opacity:.82;transform:scale(1.08)rotate(18deg)}}.chat-composer{background:linear-gradient(145deg,#1d142af0,#0a0f16f5);border:0;border-radius:22px;min-height:42px;box-shadow:0 12px 34px #0000004d,0 0 0 1px #b564ff29,inset 0 1px #ffffff12}.chat-composer:focus-within{box-shadow:0 12px 34px #0000004d,0 0 0 1px #68d8ff57,0 0 24px #68d8ff14,inset 0 1px #ffffff14}.chat-composer-button{background:var(--chat-surface-customer);border-radius:15px;box-shadow:0 4px 14px #00000024}.chat-composer-button:hover{background:#684b6c}.chat-talk-button{width:var(--chat-talk-expanded-width);flex:none;transition:width .22s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true]{width:32px}.chat-unread-indicator{right:-2px}.bridge-ai-chat-widget[dir=rtl] .chat-unread-indicator{left:-2px;right:auto}.chat-talk-button__content{z-index:1;pointer-events:none;align-items:center;gap:8px;padding:0 12px;display:flex;position:absolute;inset:0}.chat-talk-button__label{opacity:1;flex:none;line-height:16px;transition:opacity 90ms ease-out,transform .18s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true] .chat-talk-button__content{justify-content:center;gap:0;padding:0}.chat-talk-button[data-compact=true] .chat-talk-button__label{opacity:0;position:absolute;inset-inline-start:38px;transform:translate(-6px)}.bridge-ai-chat-widget[dir=rtl] .chat-talk-button[data-compact=true] .chat-talk-button__label{left:auto;right:38px;transform:translate(6px)}.chat-send-button{background:var(--chat-accent-lime);color:#081207;border-radius:9999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;transition:filter .16s,transform .16s,opacity .16s;display:flex;box-shadow:0 6px 18px #d7ff6438}.chat-send-button:hover:not(:disabled){filter:brightness(1.08)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{box-shadow:none;color:#ffffff3d;background:#ffffff13}.chat-cta-primary,.chat-cta-secondary{isolation:isolate;border-radius:9999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:600;line-height:16px;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex;position:relative}.chat-cta-primary{background:var(--chat-accent-lime);color:#081207;border:0;box-shadow:0 6px 18px #d7ff642e}.chat-cta-primary:hover{filter:brightness(1.07)}.chat-cta-action{background:linear-gradient(135deg,var(--chat-accent-lime),#a6ef36);color:#081207;box-shadow:0 8px 24px #8fff373d,inset 0 1px #ffffff47}.chat-cta-action:hover{filter:brightness(1.12)}.chat-cta-secondary{color:#ffffffb8;background:#fff1;border:1px solid #ffffff1f}.chat-cta-secondary:hover{background:#68d8ff14;border-color:#68d8ff47}.chat-choice-option{isolation:isolate;color:#ffffffe6;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#00000047;border:1px solid #ffffff29;border-radius:22px;justify-content:center;align-items:center;min-width:44px;min-height:30px;padding:4px 12px;font-size:12px;font-weight:600;line-height:20px;transition:color .14s,background-color .14s,border-color .14s,opacity .14s,transform .12s;display:inline-flex;position:relative}.chat-choice-option:before{content:"";pointer-events:auto;background:0 0;position:absolute;inset-block:-5px;inset-inline:0}.chat-choice-option[data-presentation=PRIMARY]{background:var(--chat-accent-lime);color:#081207;border-color:#0000}.chat-choice-option[data-presentation=TERTIARY]{color:#ffffffc2;background:#ffffff13;border-color:#ffffff1f}.chat-choice-option--selected,.chat-choice-option:focus-visible,.chat-cta-primary:focus-visible,.chat-cta-secondary:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}.chat-choice-option:active:not(:disabled),.chat-cta-primary:active:not(:disabled),.chat-cta-secondary:active:not(:disabled){transform:scale(.97)}.chat-attention-nudge-once:after{z-index:-1;border-radius:inherit;content:"";opacity:0;pointer-events:none;background:#d7ff647a;animation:3s ease-out 3s infinite both compact-scenario-preview-nudge-glow;position:absolute;inset:-4px;transform:scale(.97)}.chat-attention-nudge-once{animation:3s ease-out 3s infinite both compact-scenario-preview-nudge}.chat-attention-nudge-once:active:not(:disabled){animation:none;transform:scale(.97)}.chat-attention-nudge-once:active:not(:disabled):after{opacity:0;animation:none}.chat-voice-card{-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#0d1016c7;border:1px solid #ffffff1c;border-radius:20px;box-shadow:0 12px 36px #0000003d}.chat-microphone-button{color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1016a6;border:1px solid #ffffff21;border-radius:9999px;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .16s,border-color .16s,background-color .16s;display:flex;position:relative;box-shadow:0 12px 32px #0000003d,inset 0 1px #ffffff0f}.chat-microphone-button:hover{border-color:#68d8ff6b;transform:translateY(-1px)}.chat-microphone-button_active{background:#68d8ff2e;border-color:#68d8ff75;box-shadow:0 12px 32px #0000003d,0 0 0 6px #68d8ff0f}.chat-list-surface{background:radial-gradient(circle at 92% 0,#68d8ff1a,#0000 26%),radial-gradient(circle at 8% 0,#ef6b7f1a,#0000 28%),#0d1016;box-shadow:inset 0 1px #ffffff0d}.chat-list-item_selected{background:linear-gradient(100deg,#70265757,#14475e47);box-shadow:inset 0 1px #ffffff0d}.chat-list-entry{content-visibility:auto;contain-intrinsic-block-size:64px}.chat-route-stage{border-radius:inherit;isolation:isolate;overflow:hidden}.chat-route-page{border-radius:inherit;height:100%;position:absolute;inset:0;overflow:hidden}.chat-route-page_background{z-index:1}.chat-route-pane{z-index:2;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}.chat-route-pane_exit{pointer-events:none}.chat-route-pane .chat-list-entry{content-visibility:visible}.chat-route-pane_enter.chat-route-pane_forward{animation:.3s cubic-bezier(.16,1,.3,1) both chat-route-forward-enter;animation-timing-function:var(--chat-route-enter-easing)}.chat-route-pane_exit.chat-route-pane_backward{animation:.24s cubic-bezier(.4,0,.7,.2) both chat-route-backward-exit}@keyframes chat-route-forward-enter{0%{opacity:.88;transform:translate3d(var(--chat-route-offset-x),0,0)}to{opacity:1;transform:translate(0)}}@keyframes chat-route-backward-exit{0%{opacity:1;transform:translate(0)}to{opacity:.94;transform:translate3d(var(--chat-route-offset-x),0,0)}}.chat-message-skeleton{justify-content:flex-end;min-height:min(420px,62vh)}.chat-message-skeleton-bubble{animation:1.2s ease-in-out infinite alternate chat-message-skeleton-pulse;animation-delay:var(--chat-skeleton-delay);will-change:opacity;position:relative;overflow:hidden}.chat-message-skeleton-bubble:after{content:"";pointer-events:none;animation:1.45s cubic-bezier(.4,0,.2,1) infinite chat-message-skeleton-shimmer;animation-delay:var(--chat-skeleton-delay);will-change:transform;background:linear-gradient(105deg,#0000 24%,#ffffff16,#0000 72%);position:absolute;inset:-1px;transform:translate(-125%)}.chat-avatar-ring{background:linear-gradient(145deg,var(--chat-accent-cherry),var(--chat-accent-cyan));border-radius:9999px;padding:1px;display:inline-flex;box-shadow:0 4px 14px #0003}.chat-scrollbar{overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-y}.chat-scrollbar:hover{scrollbar-color:#ffffff38 transparent}.chat-scrollbar::-webkit-scrollbar{width:4px;height:4px}.chat-scrollbar::-webkit-scrollbar-track{background:0 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:0 0;border-radius:9999px}.chat-scrollbar:hover::-webkit-scrollbar-thumb{background:#ffffff38}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.chat-pending-assistant-message{transform-origin:0 100%;animation:.22s cubic-bezier(.22,1,.36,1) both chat-pending-assistant-message-in}.bridge-ai-chat-widget[dir=rtl] .chat-pending-assistant-message{transform-origin:100% 100%}.chat-typing-indicator{align-items:center;gap:5px;display:flex}.chat-typing-indicator__dot{background-color:var(--chat-accent-cyan);opacity:.38;border-radius:50%;width:7px;height:7px;animation:1.2s cubic-bezier(.45,0,.55,1) infinite both chat-typing-dot;transform:translateY(0)scale(.82)}.chat-typing-indicator__dot_left{animation-delay:0s}.chat-typing-indicator__dot_center{animation-delay:.14s}.chat-typing-indicator__dot_right{animation-delay:.28s}.chat-stream-fragment{animation:.12s cubic-bezier(.22,1,.36,1) both chat-stream-fragment-in}.chat-support-message-enter{transform-origin:0 100%;animation:.18s cubic-bezier(.22,1,.36,1) chat-support-message-in}.bridge-ai-chat-widget[dir=rtl] .chat-support-message-enter{transform-origin:100% 100%}@keyframes chat-support-message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-stream-fragment-in{0%{opacity:.15}to{opacity:1}}@keyframes chat-message-skeleton-pulse{0%{opacity:.58}to{opacity:1}}@keyframes chat-message-skeleton-shimmer{to{transform:translate(125%)}}@media(prefers-reduced-motion:reduce){[data-lola-widget-shell],.chat-widget-panel,.chat-launcher,.chat-talk-button,.chat-talk-button__icon,.chat-talk-button__label{transition:none}.chat-launcher__portrait,.chat-launcher__aura,.chat-pending-assistant-message,.chat-typing-indicator__dot,.chat-composer-attachment,.chat-composer-attachment__progress span.is-scanning,.chat-attachment-dropzone{animation:none}.chat-route-pane{animation-duration:1ms!important}.chat-typing-indicator__dot{opacity:.72;transform:none}.chat-stream-fragment{animation:none}.chat-support-message-enter{animation:none;transform:none}.chat-message-skeleton-bubble{opacity:.82;will-change:auto;animation:none}.chat-message-skeleton-bubble:after{will-change:auto;animation:none;display:none}}@keyframes chat-pending-assistant-message-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chat-typing-dot{0%,60%,to{opacity:.38;transform:translateY(0)scale(.82)}30%{opacity:1;transform:translateY(-3px)scale(1.05)}}.compact-scenario-preview{isolation:isolate;box-sizing:border-box;max-height:inherit;width:100%;max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px);border:1px solid var(--lola-compact-preview-border,#ffffff1a);background:var(--lola-compact-preview-surface,#121214fe);color:var(--lola-compact-preview-text,var(--chat-text-primary));transform-origin:100% 100%;border-radius:26px 26px 8px;flex-direction:column;padding:18px 54px 18px 18px;display:flex;position:relative;overflow:visible;box-shadow:0 14px 38px #0000004d}.compact-scenario-preview:before{z-index:-1;border-right:1px solid var(--lola-compact-preview-border,#ffffff1a);border-bottom:1px solid var(--lola-compact-preview-border,#ffffff1a);background:var(--lola-compact-preview-surface,#121214fe);content:"";width:16px;height:16px;position:absolute;bottom:-7px;right:18px;transform:rotate(45deg)}.compact-preview-anchor[data-side=left] .compact-scenario-preview{transform-origin:0 100%;border-radius:26px 26px 26px 8px}.compact-preview-anchor[data-side=left] .compact-scenario-preview:before{left:18px;right:auto}.compact-preview-anchor[data-side=right] .compact-scenario-preview{transform-origin:100% 100%;border-radius:26px 26px 8px}.compact-preview-anchor[data-placement=below][data-side=right] .compact-scenario-preview{transform-origin:100% 0;border-radius:26px 8px 26px 26px}.compact-preview-anchor[data-placement=below][data-side=left] .compact-scenario-preview{transform-origin:0 0;border-radius:8px 26px 26px}.compact-preview-anchor[data-placement=below] .compact-scenario-preview:before{border-top:1px solid var(--lola-compact-preview-border,#ffffff1a);border-bottom:0;border-right:0;border-left:1px solid var(--lola-compact-preview-border,#ffffff1a);top:-7px;bottom:auto}.compact-scenario-preview[data-kind=CHOICE]{padding-right:18px}.compact-scenario-preview[data-phase=ENTERING]{animation:.22s cubic-bezier(.16,1,.3,1) both compact-scenario-preview-in}.compact-scenario-preview[data-phase=EXITING]{pointer-events:none;animation:.16s cubic-bezier(.4,0,.7,.2) both compact-scenario-preview-out}.compact-scenario-preview__copy{overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-width:thin;min-width:0;min-height:0;font-size:15px;font-weight:500;line-height:1.45;overflow-y:auto}.compact-scenario-preview__copy :where(p,ul,ol,blockquote,pre){margin:0}.compact-scenario-preview__copy :where(p,ul,ol,blockquote,pre)+:where(p,ul,ol,blockquote,pre){margin-top:8px}.compact-scenario-preview__copy :where(ul,ol){padding-inline-start:20px}.compact-scenario-preview__copy :where(code,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.compact-scenario-preview__link-text{color:var(--lola-compact-preview-link,var(--chat-accent-cyan));text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.compact-scenario-preview__coalesced{width:max-content;max-width:100%;color:var(--lola-compact-preview-muted,#ffffffb3);background:#ffffff14;border-radius:9999px;margin:10px 0 0;padding:4px 9px;font-size:12px;font-weight:600;line-height:16px}.compact-scenario-preview__phrase{display:inline}.compact-scenario-preview[data-phase=ENTERING] .compact-scenario-preview__phrase{opacity:0;animation:.28s cubic-bezier(.22,1,.36,1) both compact-scenario-preview-phrase-in;animation-delay:var(--compact-preview-phrase-delay,90ms)}.compact-scenario-preview__dismiss{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--lola-compact-preview-dismiss,#ffffffa8);background:0 0;border:0;border-radius:9999px;place-items:center;font-size:30px;font-weight:300;line-height:1;transition:color .14s,background-color .14s,transform .12s;display:grid;position:absolute;top:4px;right:4px}.compact-scenario-preview__actions{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:16px;display:grid}.compact-scenario-preview[data-kind=CHOICE] .compact-scenario-preview__actions{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;margin:10px -2px -2px;padding:5px 2px;overflow-y:auto}.compact-scenario-preview[data-phase=ENTERING] .compact-scenario-preview__actions{opacity:0;animation:.17s cubic-bezier(.22,1,.36,1) both compact-scenario-preview-actions-in;animation-delay:var(--compact-preview-actions-delay,.42s);transform:translateY(5px)}.compact-scenario-preview[data-kind=CTA] .compact-scenario-preview__copy.compact-scenario-preview__sr-only~.compact-scenario-preview__actions{margin-top:0}.compact-scenario-preview__choice-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.compact-scenario-preview__action{isolation:isolate;overflow-wrap:anywhere;text-align:center;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:650;line-height:20px;transition:color .14s,background-color .14s,border-color .14s,opacity .14s,transform .12s;display:inline-flex;position:relative}.compact-scenario-preview[data-kind=CHOICE] .compact-scenario-preview__action{border-radius:22px;min-height:30px;padding:4px 12px;font-size:12px;line-height:20px}.compact-scenario-preview[data-kind=CHOICE] .compact-scenario-preview__action:before{content:"";pointer-events:auto;background:0 0;position:absolute;inset-block:-5px;inset-inline:0}.compact-scenario-preview__action[data-presentation=PRIMARY]{border-color:var(--lola-compact-preview-primary-border,transparent);background:var(--lola-compact-preview-primary-background,var(--chat-accent-lime));color:var(--lola-compact-preview-primary-foreground,#081207)}.compact-scenario-preview__action[data-presentation=TERTIARY]{border-color:var(--lola-compact-preview-tertiary-border,#fff6);background:var(--lola-compact-preview-tertiary-background,#ffffff1f);color:var(--lola-compact-preview-tertiary-foreground,#ffffffb8)}.compact-scenario-preview__action[data-presentation=PRIMARY]:after{z-index:-1;border-radius:inherit;background:var(--lola-compact-preview-primary-attention,#d7ff647a);content:"";opacity:0;pointer-events:none;position:absolute;inset:-4px;transform:scale(.92)}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]:after{animation:3s ease-out 3s infinite both compact-scenario-preview-nudge-glow}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]{animation:3s ease-out 3s infinite both compact-scenario-preview-nudge}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]:active:not(:disabled){animation:none;transform:scale(.97)}.compact-scenario-preview__action[data-presentation=PRIMARY][data-attention=NUDGE_ONCE]:active:not(:disabled):after{opacity:0;animation:none}.compact-scenario-preview__feedback{color:var(--lola-compact-preview-error,#fecaca);margin:10px 0 0;font-size:12px;line-height:1.4}.compact-scenario-preview__dismiss:focus-visible,.compact-scenario-preview__action:focus-visible{outline:2px solid var(--lola-compact-preview-focus,var(--chat-accent-cyan));outline-offset:2px}.compact-scenario-preview__dismiss:active:not(:disabled),.compact-scenario-preview__action:active:not(:disabled){transform:scale(.97)}.compact-scenario-preview__dismiss:disabled,.compact-scenario-preview__action:disabled{opacity:.48}.compact-scenario-preview__sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media(hover:hover){.compact-scenario-preview__dismiss:hover:not(:disabled){background:var(--lola-compact-preview-dismiss-hover-background,#ffffff14);color:var(--lola-compact-preview-dismiss-hover,white)}.compact-scenario-preview__action[data-presentation=PRIMARY]:hover:not(:disabled){background:var(--lola-compact-preview-primary-hover-background,#e0ff88)}.compact-scenario-preview__action[data-presentation=TERTIARY]:hover:not(:disabled){border-color:var(--lola-compact-preview-tertiary-hover-border,#68d8ff4d);background:var(--lola-compact-preview-tertiary-hover-background,#68d8ff17)}}@keyframes compact-scenario-preview-in{0%{opacity:0;transform:translateY(9px)scale(.975)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes compact-scenario-preview-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translateY(5px)scale(.985)}}@keyframes compact-scenario-preview-phrase-in{0%{opacity:0}to{opacity:1}}@keyframes compact-scenario-preview-actions-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translate(0)}}@keyframes compact-scenario-preview-nudge-glow{0%,12%,to{opacity:0;transform:scale(.97)}6%{opacity:.24;transform:scale(1.04)}}@keyframes compact-scenario-preview-nudge{0%,12%,to{transform:translate(0)scale(1)}3%{transform:translate(-1px)scale(1.006)}6%{transform:translate(1px)scale(1.012)}9%{transform:translate(-.5px)scale(1.006)}}@media(prefers-reduced-motion:reduce){.compact-scenario-preview,.compact-scenario-preview__phrase,.compact-scenario-preview__actions,.compact-scenario-preview__action,.compact-scenario-preview__action:after,.chat-attention-nudge-once,.chat-attention-nudge-once:after{transition:none!important;animation:none!important}.compact-scenario-preview,.compact-scenario-preview__phrase,.compact-scenario-preview__actions,.compact-scenario-preview__action,.compact-scenario-preview__action:after{transform:none}.compact-scenario-preview,.compact-scenario-preview__phrase,.compact-scenario-preview__actions{opacity:1}.compact-scenario-preview__action:after{opacity:0}}@media(forced-colors:active){.compact-scenario-preview,.compact-scenario-preview__action,.compact-scenario-preview__dismiss{color:canvastext;background:canvas;border:1px solid canvastext}.compact-scenario-preview__action:after{display:none}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-end-0\\.5{inset-inline-end:calc(var(--spacing)*-.5)}.-top-0\\.5{top:calc(var(--spacing)*-.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-5{top:calc(var(--spacing)*5)}.right-0{right:calc(var(--spacing)*0)}.right-5{right:calc(var(--spacing)*5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-5{bottom:calc(var(--spacing)*5)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-5{left:calc(var(--spacing)*5)}.z-0{z-index:0}.z-1{z-index:1}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-51{z-index:51}.z-\\[70\\]{z-index:70}.z-\\[9999999\\]{z-index:9999999}.\\!container{width:100%!important}@media(min-width:40rem){.\\!container{max-width:40rem!important}}@media(min-width:48rem){.\\!container{max-width:48rem!important}}@media(min-width:64rem){.\\!container{max-width:64rem!important}}@media(min-width:80rem){.\\!container{max-width:80rem!important}}@media(min-width:96rem){.\\!container{max-width:96rem!important}}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-4\\.5{height:calc(var(--spacing)*4.5)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-\\[50\\%\\]{height:50%}.h-\\[52\\%\\]{height:52%}.h-\\[66vh\\]{height:66vh}.h-\\[650px\\]{height:650px}.h-\\[calc\\(100\\%-64px\\)\\]{height:calc(100% - 64px)}.h-\\[calc\\(100\\%-96px\\)\\]{height:calc(100% - 96px)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\\[66vh\\]{max-height:66vh}.max-h-\\[min\\(82vh\\,760px\\)\\]{max-height:min(82vh,760px)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-64{min-height:calc(var(--spacing)*64)}.min-h-96{min-height:calc(var(--spacing)*96)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-4\\.5{width:calc(var(--spacing)*4.5)}.w-5{width:calc(var(--spacing)*5)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-14{width:calc(var(--spacing)*14)}.w-\\[42\\%\\]{width:42%}.w-\\[48\\%\\]{width:48%}.w-\\[50\\%\\]{width:50%}.w-\\[52\\%\\]{width:52%}.w-\\[56\\%\\]{width:56%}.w-\\[58\\%\\]{width:58%}.w-\\[62\\%\\]{width:62%}.w-\\[64\\%\\]{width:64%}.w-\\[66\\%\\]{width:66%}.w-\\[68\\%\\]{width:68%}.w-\\[70\\%\\]{width:70%}.w-\\[72\\%\\]{width:72%}.w-\\[74\\%\\]{width:74%}.w-\\[76\\%\\]{width:76%}.w-\\[78\\%\\]{width:78%}.w-\\[86\\%\\]{width:86%}.w-\\[390px\\]{width:390px}.w-\\[min\\(92vw\\,920px\\)\\]{width:min(92vw,920px)}.w-\\[min\\(232px\\,calc\\(100\\%-2rem\\)\\)\\]{width:min(232px,100% - 2rem)}.w-\\[min\\(232px\\,calc\\(100\\%-208px\\)\\)\\]{width:min(232px,100% - 208px)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-8{max-width:calc(var(--spacing)*8)}.max-w-70{max-width:calc(var(--spacing)*70)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-\\[86\\%\\]{max-width:86%}.max-w-\\[232px\\]{max-width:232px}.max-w-\\[calc\\(100vw-32px\\)\\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\\.5{--tw-translate-y:calc(var(--spacing)*1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-3{--tw-translate-y:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\\[0\\.98\\]{scale:.98}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-n-resize{cursor:n-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-w-resize{cursor:w-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-\\[3px\\]{gap:3px}.gap-\\[10px\\]{gap:10px}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\\[17px\\]{border-radius:17px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[28px\\]{border-radius:28px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-ee-\\[5px\\]{border-end-end-radius:5px}.rounded-es-\\[5px\\]{border-end-start-radius:5px}.rounded-br-\\[5px\\]{border-bottom-right-radius:5px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#68d8ff\\]\\/10{border-color:#68d8ff1a}.border-\\[\\#68d8ff\\]\\/24{border-color:#68d8ff3d}.border-\\[\\#68d8ff\\]\\/35{border-color:#68d8ff59}.border-red-200\\/10{border-color:#ffcaca1a}@supports (color:color-mix(in lab,red,red)){.border-red-200\\/10{border-color:color-mix(in oklab,var(--color-red-200)10%,transparent)}}.border-white\\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\\/8{border-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\\/12{border-color:color-mix(in oklab,var(--color-white)12%,transparent)}}.border-white\\/14{border-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.border-white\\/14{border-color:color-mix(in oklab,var(--color-white)14%,transparent)}}.border-white\\/\\[0\\.05\\]{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.05\\]{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\\/\\[0\\.06\\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.border-white\\/\\[0\\.045\\]{border-color:#ffffff0b}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.045\\]{border-color:color-mix(in oklab,var(--color-white)4.5%,transparent)}}.bg-\\[\\#0c1119\\]\\/96{background-color:#0c1119f5}.bg-\\[\\#5b405f\\]{background-color:#5b405f}.bg-\\[\\#5b405f\\]\\/70{background-color:#5b405fb3}.bg-\\[\\#68d8ff\\]{background-color:#68d8ff}.bg-\\[\\#68d8ff\\]\\/10,.bg-\\[\\#68d8ff\\]\\/\\[0\\.1\\]{background-color:#68d8ff1a}.bg-\\[\\#68d8ff\\]\\/\\[0\\.13\\]{background-color:#68d8ff21}.bg-\\[\\#090b10\\]\\/58{background-color:#090b1094}.bg-\\[\\#05080d\\]\\/82{background-color:#05080dd1}.bg-\\[\\#17131b\\]{background-color:#17131b}.bg-\\[\\#111319\\]{background-color:#111319}.bg-\\[\\#111923\\]{background-color:#111923}.bg-\\[\\#ef6b7f\\]{background-color:#ef6b7f}.bg-\\[radial-gradient\\(circle_at_50\\%_20\\%\\,rgba\\(104\\,216\\,255\\,\\.08\\)\\,transparent_46\\%\\)\\,\\#080c12\\]{background-color:radial-gradient(circle at 50% 20%,#68d8ff14,transparent 46%),#080c12}.bg-\\[var\\(--chat-surface-agent\\)\\]{background-color:var(--chat-surface-agent)}.bg-black{background-color:var(--color-black)}.bg-black\\/8{background-color:#00000014}@supports (color:color-mix(in lab,red,red)){.bg-black\\/8{background-color:color-mix(in oklab,var(--color-black)8%,transparent)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\\/32{background-color:#00000052}@supports (color:color-mix(in lab,red,red)){.bg-black\\/32{background-color:color-mix(in oklab,var(--color-black)32%,transparent)}}.bg-black\\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\\/35{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}}.bg-black\\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\\/45{background-color:color-mix(in oklab,var(--color-black)45%,transparent)}}.bg-current{background-color:currentColor}.bg-red-300\\/8{background-color:#ffa3a314}@supports (color:color-mix(in lab,red,red)){.bg-red-300\\/8{background-color:color-mix(in oklab,var(--color-red-300)8%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\\/\\[0\\.04\\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--color-white)4%,transparent)}}.bg-white\\/\\[0\\.06\\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-white\\/\\[0\\.07\\]{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.07\\]{background-color:color-mix(in oklab,var(--color-white)7%,transparent)}}.bg-white\\/\\[0\\.09\\]{background-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.09\\]{background-color:color-mix(in oklab,var(--color-white)9%,transparent)}}.bg-white\\/\\[0\\.11\\]{background-color:#ffffff1c}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.11\\]{background-color:color-mix(in oklab,var(--color-white)11%,transparent)}}.bg-white\\/\\[0\\.035\\]{background-color:#ffffff09}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.035\\]{background-color:color-mix(in oklab,var(--color-white)3.5%,transparent)}}.bg-\\[linear-gradient\\(145deg\\,\\#684d6d_0\\%\\,\\#3f3348_100\\%\\)\\]{background-image:linear-gradient(145deg,#684d6d,#3f3348)}.bg-\\[linear-gradient\\(180deg\\,rgba\\(25\\,22\\,28\\,0\\.97\\)\\,rgba\\(14\\,13\\,16\\,0\\.98\\)\\)\\]{background-image:linear-gradient(#19161cf7,#0e0d10fa)}.bg-\\[linear-gradient\\(to_bottom\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_0\\%\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_20\\%\\,rgba\\(0\\,0\\,0\\,0\\.2\\)_60\\%\\,rgba\\(0\\,0\\,0\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#000000b3 0% 20%,#0003 60%,#0000)}.bg-\\[linear-gradient\\(to_top\\,rgba\\(8\\,10\\,15\\,0\\.78\\)_0\\%\\,rgba\\(8\\,10\\,15\\,0\\.42\\)_42\\%\\,rgba\\(8\\,10\\,15\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#080a0f00,#080a0f6b 58%,#080a0fc7)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-\\[50\\%_20\\%\\]{object-position:50% 20%}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-\\[11px\\]{padding-inline:11px}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-\\[7px\\]{padding-block:7px}.ps-0\\.5{padding-inline-start:calc(var(--spacing)*.5)}.ps-1{padding-inline-start:calc(var(--spacing)*1)}.pe-3{padding-inline-end:calc(var(--spacing)*3)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.text-center{text-align:center}.text-start{text-align:start}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.02em\\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\\[-0\\.005em\\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#8df0c8\\]{color:#8df0c8}.text-\\[\\#68d8ff\\]{color:#68d8ff}.text-\\[\\#a6ebce\\]{color:#a6ebce}.text-\\[\\#a9eaff\\]{color:#a9eaff}.text-\\[\\#bcecff\\]{color:#bcecff}.text-\\[\\#f3f0f4\\]{color:#f3f0f4}.text-amber-100\\/74{color:#fef3c6bd}@supports (color:color-mix(in lab,red,red)){.text-amber-100\\/74{color:color-mix(in oklab,var(--color-amber-100)74%,transparent)}}.text-amber-100\\/86{color:#fef3c6db}@supports (color:color-mix(in lab,red,red)){.text-amber-100\\/86{color:color-mix(in oklab,var(--color-amber-100)86%,transparent)}}.text-amber-200{color:var(--color-amber-200)}.text-red-100\\/80{color:#ffe2e2cc}@supports (color:color-mix(in lab,red,red)){.text-red-100\\/80{color:color-mix(in oklab,var(--color-red-100)80%,transparent)}}.text-red-100\\/88{color:#ffe2e2e0}@supports (color:color-mix(in lab,red,red)){.text-red-100\\/88{color:color-mix(in oklab,var(--color-red-100)88%,transparent)}}.text-red-200{color:var(--color-red-200)}.text-rose-200\\/82{color:#ffccd3d1}@supports (color:color-mix(in lab,red,red)){.text-rose-200\\/82{color:color-mix(in oklab,var(--color-rose-200)82%,transparent)}}.text-violet-200{color:var(--color-violet-200)}.text-white{color:var(--color-white)}.text-white\\/35{color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.text-white\\/35{color:color-mix(in oklab,var(--color-white)35%,transparent)}}.text-white\\/38{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.text-white\\/38{color:color-mix(in oklab,var(--color-white)38%,transparent)}}.text-white\\/42{color:#ffffff6b}@supports (color:color-mix(in lab,red,red)){.text-white\\/42{color:color-mix(in oklab,var(--color-white)42%,transparent)}}.text-white\\/44{color:#ffffff70}@supports (color:color-mix(in lab,red,red)){.text-white\\/44{color:color-mix(in oklab,var(--color-white)44%,transparent)}}.text-white\\/48{color:#ffffff7a}@supports (color:color-mix(in lab,red,red)){.text-white\\/48{color:color-mix(in oklab,var(--color-white)48%,transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\\/52{color:#ffffff85}@supports (color:color-mix(in lab,red,red)){.text-white\\/52{color:color-mix(in oklab,var(--color-white)52%,transparent)}}.text-white\\/55{color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.text-white\\/55{color:color-mix(in oklab,var(--color-white)55%,transparent)}}.text-white\\/58{color:#ffffff94}@supports (color:color-mix(in lab,red,red)){.text-white\\/58{color:color-mix(in oklab,var(--color-white)58%,transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\\/62{color:#ffffff9e}@supports (color:color-mix(in lab,red,red)){.text-white\\/62{color:color-mix(in oklab,var(--color-white)62%,transparent)}}.text-white\\/64{color:#ffffffa3}@supports (color:color-mix(in lab,red,red)){.text-white\\/64{color:color-mix(in oklab,var(--color-white)64%,transparent)}}.text-white\\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\\/65{color:color-mix(in oklab,var(--color-white)65%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/72{color:#ffffffb8}@supports (color:color-mix(in lab,red,red)){.text-white\\/72{color:color-mix(in oklab,var(--color-white)72%,transparent)}}.text-white\\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/82{color:#ffffffd1}@supports (color:color-mix(in lab,red,red)){.text-white\\/82{color:color-mix(in oklab,var(--color-white)82%,transparent)}}.text-white\\/86{color:#ffffffdb}@supports (color:color-mix(in lab,red,red)){.text-white\\/86{color:color-mix(in oklab,var(--color-white)86%,transparent)}}.text-white\\/88{color:#ffffffe0}@supports (color:color-mix(in lab,red,red)){.text-white\\/88{color:color-mix(in oklab,var(--color-white)88%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/92{color:#ffffffeb}@supports (color:color-mix(in lab,red,red)){.text-white\\/92{color:color-mix(in oklab,var(--color-white)92%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_6px_18px_rgba\\(0\\,0\\,0\\,0\\.16\\)\\]{--tw-shadow:0 6px 18px var(--tw-shadow-color,#00000029);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_28px_80px_rgba\\(0\\,0\\,0\\,0\\.48\\)\\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#0000007a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_30px_90px_rgba\\(0\\,0\\,0\\,\\.58\\)\\,0_0_0_1px_rgba\\(104\\,216\\,255\\,\\.05\\)\\]{--tw-shadow:0 30px 90px var(--tw-shadow-color,#00000094),0 0 0 1px var(--tw-shadow-color,#68d8ff0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(239\\,107\\,127\\,0\\.22\\)\\,0_5px_18px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ef6b7f38),0 5px 18px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(255\\,255\\,255\\,0\\.09\\)\\,0_5px_18px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff17),0 5px 18px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_0_1px_rgba\\(255\\,255\\,255\\,0\\.11\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff1c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\\[\\#111319\\]{outline-color:#111319}.outline-black\\/9{outline-color:#00000017}@supports (color:color-mix(in lab,red,red)){.outline-black\\/9{outline-color:color-mix(in oklab,var(--color-black)9%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.\\!transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[background-color\\,transform\\]{transition-property:background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.outline-none{--tw-outline-style:none;outline-style:none}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-none{-webkit-user-select:none;user-select:none}.\\!paused{animation-play-state:paused!important}.\\[overflow-anchor\\:none\\]{overflow-anchor:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\\:block:is(:where(.group):hover *){display:block}.group-hover\\:hidden:is(:where(.group):hover *){display:none}.group-hover\\:opacity-70:is(:where(.group):hover *){opacity:.7}}.group-aria-\\[current\\=page\\]\\:opacity-100:is(:where(.group)[aria-current=page] *){opacity:1}.placeholder\\:text-white\\/38::placeholder{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/38::placeholder{color:color-mix(in oklab,var(--color-white)38%,transparent)}}@media(hover:hover){.hover\\:border-\\[\\#68d8ff\\]\\/30:hover{border-color:#68d8ff4d}.hover\\:bg-white\\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/6:hover{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\\:text-\\[\\#68d8ff\\]:hover{color:#68d8ff}.hover\\:text-white\\/90:hover{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/90:hover{color:color-mix(in oklab,var(--color-white)90%,transparent)}}}.active\\:scale-\\[0\\.992\\]:active{scale:.992}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-white\\/8:active{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.active\\:bg-white\\/8:active{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.disabled\\:opacity-40:disabled{opacity:.4}.data-disabled\\:opacity-50[data-disabled]{opacity:.5}.data-focus\\:ring-2[data-focus]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-focus\\:ring-\\[\\#68d8ff\\]\\/65[data-focus]{--tw-ring-color:oklab(83.1484% -.0833826 -.0797253/.65)}.data-hover\\:border-\\[\\#68d8ff\\]\\/42[data-hover]{border-color:#68d8ff6b}.data-hover\\:bg-\\[\\#68d8ff\\]\\/10[data-hover]{background-color:#68d8ff1a}.data-hover\\:bg-\\[\\#68d8ff\\]\\/16[data-hover]{background-color:#68d8ff29}.data-hover\\:bg-white\\/8[data-hover]{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.data-hover\\:bg-white\\/8[data-hover]{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.data-hover\\:text-white[data-hover]{color:var(--color-white)}@media(prefers-reduced-motion:reduce){.motion-reduce\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.motion-reduce\\:transition-none{transition-property:none}.motion-reduce\\:delay-0{--tw-animation-delay:0s;transition-delay:0s;animation-delay:0s}}@media(min-width:40rem){.sm\\:inline{display:inline}.sm\\:p-5{padding:calc(var(--spacing)*5)}.sm\\:p-6{padding:calc(var(--spacing)*6)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.bridge-ai-chat-widget{--lola-safe-area-inset-top:env(safe-area-inset-top,0px);--lola-safe-area-inset-right:env(safe-area-inset-right,0px);--lola-safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--lola-safe-area-inset-left:env(safe-area-inset-left,0px);--radius:.625rem;--chat-accent-cherry:#ef6b7f;--chat-accent-cyan:#68d8ff;--chat-accent-lime:#d7ff64;--chat-surface-agent:#1a191bd1;--chat-surface-customer:#5b405f;--chat-text-primary:#f3f0f4;--chat-talk-expanded-width:80px;--chat-route-offset-x:100%;--chat-route-enter-easing:linear(0,.062 5%,.192 10%,.338 15%,.477 20%,.596 25%,.694 30%,.771 35%,.831 40%,.877 45%,.911 50%,.937 55%,.955 60%,.969 65%,.979 70%,.986 75%,.991 80%,.994 85%,.997 90%,.999 95%,1);color-scheme:dark;font-synthesis:none;letter-spacing:-.006em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:InterVariable,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bridge-ai-chat-widget[dir=rtl]{--chat-route-offset-x:-100%}.bridge-ai-chat-widget button,.bridge-ai-chat-widget textarea{font-family:inherit}.bridge-ai-chat-widget :where(button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href]){cursor:pointer}.bridge-ai-chat-widget button:disabled{cursor:not-allowed}.bridge-ai-chat-widget .chat-launcher,.bridge-ai-chat-widget [data-lola-drag-handle]{cursor:grab}.bridge-ai-chat-widget .chat-launcher:active,.bridge-ai-chat-widget [data-lola-drag-handle]:active{cursor:grabbing}.bridge-ai-chat-widget [data-lola-resize=top]{cursor:n-resize}.bridge-ai-chat-widget [data-lola-resize=left]{cursor:w-resize}.bridge-ai-chat-widget [data-lola-resize=corner]{cursor:nwse-resize}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}';
2
+ var Et = typeof global == "object" && global && global.Object === Object && global, St = typeof self == "object" && self && self.Object === Object && self, dt = Et || St || Function("return this")(), O = dt.Symbol, ht = Object.prototype, _t = ht.hasOwnProperty, It = ht.toString, T = O ? O.toStringTag : void 0;
3
+ function Tt(a) {
4
+ var t = _t.call(a, T), e = a[T];
5
5
  try {
6
- o[E] = void 0;
6
+ a[T] = void 0;
7
7
  var i = !0;
8
8
  } catch {
9
9
  }
10
- var r = nt.call(o);
11
- return i && (t ? o[E] = e : delete o[E]), r;
10
+ var r = It.call(a);
11
+ return i && (t ? a[T] = e : delete a[T]), r;
12
12
  }
13
- var ct = Object.prototype, lt = ct.toString;
14
- function dt(o) {
15
- return lt.call(o);
13
+ var At = Object.prototype, Rt = At.toString;
14
+ function Ct(a) {
15
+ return Rt.call(a);
16
16
  }
17
- var ht = "[object Null]", pt = "[object Undefined]", z = A ? A.toStringTag : void 0;
18
- function ut(o) {
19
- return o == null ? o === void 0 ? pt : ht : z && z in Object(o) ? st(o) : dt(o);
17
+ var Ot = "[object Null]", Nt = "[object Undefined]", z = O ? O.toStringTag : void 0;
18
+ function Pt(a) {
19
+ return a == null ? a === void 0 ? Nt : Ot : z && z in Object(a) ? Tt(a) : Ct(a);
20
20
  }
21
- function ft(o) {
22
- return o != null && typeof o == "object";
21
+ function Dt(a) {
22
+ return a != null && typeof a == "object";
23
23
  }
24
- var gt = "[object Symbol]";
25
- function mt(o) {
26
- return typeof o == "symbol" || ft(o) && ut(o) == gt;
24
+ var Lt = "[object Symbol]";
25
+ function Ut(a) {
26
+ return typeof a == "symbol" || Dt(a) && Pt(a) == Lt;
27
27
  }
28
- var bt = /\s/;
29
- function wt(o) {
30
- for (var t = o.length; t-- && bt.test(o.charAt(t)); )
28
+ var Ht = /\s/;
29
+ function Mt(a) {
30
+ for (var t = a.length; t-- && Ht.test(a.charAt(t)); )
31
31
  ;
32
32
  return t;
33
33
  }
34
- var vt = /^\s+/;
35
- function xt(o) {
36
- return o && o.slice(0, wt(o) + 1).replace(vt, "");
34
+ var jt = /^\s+/;
35
+ function qt(a) {
36
+ return a && a.slice(0, Mt(a) + 1).replace(jt, "");
37
37
  }
38
- function D(o) {
39
- var t = typeof o;
40
- return o != null && (t == "object" || t == "function");
38
+ function U(a) {
39
+ var t = typeof a;
40
+ return a != null && (t == "object" || t == "function");
41
41
  }
42
- var H = NaN, yt = /^[-+]0x[0-9a-f]+$/i, kt = /^0b[01]+$/i, _t = /^0o[0-7]+$/i, Et = parseInt;
43
- function U(o) {
44
- if (typeof o == "number")
45
- return o;
46
- if (mt(o))
47
- return H;
48
- if (D(o)) {
49
- var t = typeof o.valueOf == "function" ? o.valueOf() : o;
50
- o = D(t) ? t + "" : t;
51
- }
52
- if (typeof o != "string")
53
- return o === 0 ? o : +o;
54
- o = xt(o);
55
- var e = kt.test(o);
56
- return e || _t.test(o) ? Et(o.slice(2), e ? 2 : 8) : yt.test(o) ? H : +o;
42
+ var V = NaN, zt = /^[-+]0x[0-9a-f]+$/i, Vt = /^0b[01]+$/i, Gt = /^0o[0-7]+$/i, Ft = parseInt;
43
+ function G(a) {
44
+ if (typeof a == "number")
45
+ return a;
46
+ if (Ut(a))
47
+ return V;
48
+ if (U(a)) {
49
+ var t = typeof a.valueOf == "function" ? a.valueOf() : a;
50
+ a = U(t) ? t + "" : t;
51
+ }
52
+ if (typeof a != "string")
53
+ return a === 0 ? a : +a;
54
+ a = qt(a);
55
+ var e = Vt.test(a);
56
+ return e || Gt.test(a) ? Ft(a.slice(2), e ? 2 : 8) : zt.test(a) ? V : +a;
57
57
  }
58
- var C = function() {
59
- return W.Date.now();
60
- }, St = "Expected a function", It = Math.max, At = Math.min;
61
- function Tt(o, t, e) {
62
- var i, r, a, s, n, c, l = 0, h = !1, u = !1, p = !0;
63
- if (typeof o != "function")
64
- throw new TypeError(St);
65
- t = U(t) || 0, D(e) && (h = !0, u = "maxWait" in e, a = u ? It(U(e.maxWait) || 0, t) : a, p = "trailing" in e ? !!e.trailing : p);
66
- function g(m) {
67
- var y = i, _ = r;
68
- return i = r = void 0, l = m, s = o.apply(_, y), s;
69
- }
70
- function w(m) {
71
- return l = m, n = setTimeout(x, t), h ? g(m) : s;
72
- }
73
- function f(m) {
74
- var y = m - c, _ = m - l, q = t - y;
75
- return u ? At(q, a - _) : q;
76
- }
77
- function k(m) {
78
- var y = m - c, _ = m - l;
79
- return c === void 0 || y >= t || y < 0 || u && _ >= a;
58
+ var D = function() {
59
+ return dt.Date.now();
60
+ }, Wt = "Expected a function", Bt = Math.max, Kt = Math.min;
61
+ function $t(a, t, e) {
62
+ var i, r, n, o, s, c, l = 0, d = !1, u = !1, p = !0;
63
+ if (typeof a != "function")
64
+ throw new TypeError(Wt);
65
+ t = G(t) || 0, U(e) && (d = !0, u = "maxWait" in e, n = u ? Bt(G(e.maxWait) || 0, t) : n, p = "trailing" in e ? !!e.trailing : p);
66
+ function m(b) {
67
+ var S = i, I = r;
68
+ return i = r = void 0, l = b, o = a.apply(I, S), o;
69
+ }
70
+ function w(b) {
71
+ return l = b, s = setTimeout(x, t), d ? m(b) : o;
72
+ }
73
+ function f(b) {
74
+ var S = b - c, I = b - l, q = t - S;
75
+ return u ? Kt(q, n - I) : q;
76
+ }
77
+ function E(b) {
78
+ var S = b - c, I = b - l;
79
+ return c === void 0 || S >= t || S < 0 || u && I >= n;
80
80
  }
81
81
  function x() {
82
- var m = C();
83
- if (k(m))
84
- return v(m);
85
- n = setTimeout(x, f(m));
82
+ var b = D();
83
+ if (E(b))
84
+ return y(b);
85
+ s = setTimeout(x, f(b));
86
86
  }
87
- function v(m) {
88
- return n = void 0, p && i ? g(m) : (i = r = void 0, s);
87
+ function y(b) {
88
+ return s = void 0, p && i ? m(b) : (i = r = void 0, o);
89
89
  }
90
- function S() {
91
- n !== void 0 && clearTimeout(n), l = 0, i = c = r = n = void 0;
90
+ function A() {
91
+ s !== void 0 && clearTimeout(s), l = 0, i = c = r = s = void 0;
92
92
  }
93
- function T() {
94
- return n === void 0 ? s : v(C());
93
+ function N() {
94
+ return s === void 0 ? o : y(D());
95
95
  }
96
- function R() {
97
- var m = C(), y = k(m);
98
- if (i = arguments, r = this, c = m, y) {
99
- if (n === void 0)
96
+ function P() {
97
+ var b = D(), S = E(b);
98
+ if (i = arguments, r = this, c = b, S) {
99
+ if (s === void 0)
100
100
  return w(c);
101
101
  if (u)
102
- return clearTimeout(n), n = setTimeout(x, t), g(c);
102
+ return clearTimeout(s), s = setTimeout(x, t), m(c);
103
103
  }
104
- return n === void 0 && (n = setTimeout(x, t)), s;
104
+ return s === void 0 && (s = setTimeout(x, t)), o;
105
105
  }
106
- return R.cancel = S, R.flush = T, R;
106
+ return P.cancel = A, P.flush = N, P;
107
107
  }
108
- const M = {
108
+ const F = {
109
109
  debug: 0,
110
110
  info: 1,
111
111
  warn: 2,
112
112
  error: 3
113
113
  };
114
- class Rt {
114
+ class Yt {
115
115
  level;
116
116
  prefix;
117
117
  debugOwnerCount = 0;
118
118
  constructor(t = "Widget", e = "info") {
119
- this.prefix = `[${t}]`, this.level = M[e];
119
+ this.prefix = `[${t}]`, this.level = F[e];
120
120
  }
121
121
  enableDebug() {
122
122
  this.debugOwnerCount += 1;
@@ -126,7 +126,7 @@ class Rt {
126
126
  };
127
127
  }
128
128
  isEnabled(t) {
129
- return this.debugOwnerCount > 0 || this.level <= M[t];
129
+ return this.debugOwnerCount > 0 || this.level <= F[t];
130
130
  }
131
131
  debug(...t) {
132
132
  this.isEnabled("debug") && console.debug(this.prefix, ...t);
@@ -141,19 +141,19 @@ class Rt {
141
141
  this.isEnabled("error") && console.error(this.prefix, ...t);
142
142
  }
143
143
  }
144
- const Ct = "warn", b = new Rt("Lola-Widget", Ct), De = "audio/wav", j = "audio/pcm";
145
- class d extends Error {
144
+ const Xt = "warn", g = new Yt("Lola-Widget", Xt), Ci = "audio/wav", W = "audio/pcm";
145
+ class h extends Error {
146
146
  constructor(t, e = "failed", i) {
147
147
  super(t, i), this.code = t, this.status = e;
148
148
  }
149
149
  }
150
- const Ot = /^[a-zA-Z0-9_.:-]{1,200}$/, Nt = /* @__PURE__ */ new Set([
150
+ const Zt = /^[a-zA-Z0-9_.:-]{1,200}$/, Jt = /* @__PURE__ */ new Set([
151
151
  "button",
152
152
  "element",
153
153
  "modal",
154
154
  "page"
155
155
  ]);
156
- class Dt {
156
+ class Qt {
157
157
  targets = /* @__PURE__ */ new Map();
158
158
  handlers = {};
159
159
  constructor(t = {}, e = {}) {
@@ -181,14 +181,14 @@ class Dt {
181
181
  return i !== void 0 ? this.resolveCanonicalAction(t, i) : this.resolveLegacyAction(t, e);
182
182
  }
183
183
  async execute(t, e, i, r) {
184
- const a = this.resolveAction(t, i, r);
185
- await this.executeAction(a, e, i);
184
+ const n = this.resolveAction(t, i, r);
185
+ await this.executeAction(n, e, i);
186
186
  }
187
187
  async executeAction(t, e, i) {
188
188
  if (t.kind === "page") {
189
- const a = this.handlers.openPage;
190
- if (a) {
191
- await a({
189
+ const n = this.handlers.openPage;
190
+ if (n) {
191
+ await n({
192
192
  commandId: e,
193
193
  pageCode: t.code,
194
194
  route: t.route,
@@ -210,83 +210,83 @@ class Dt {
210
210
  return;
211
211
  }
212
212
  if (t.selector) {
213
- const a = document.querySelector(t.selector);
214
- if (a instanceof HTMLDialogElement) {
215
- a.showModal();
213
+ const n = document.querySelector(t.selector);
214
+ if (n instanceof HTMLDialogElement) {
215
+ n.showModal();
216
216
  return;
217
217
  }
218
- if (!t.url) throw new d("TARGET_NOT_FOUND");
218
+ if (!t.url) throw new h("TARGET_NOT_FOUND");
219
219
  }
220
220
  if (t.url) {
221
221
  this.applyUrlFallback(t.url);
222
222
  return;
223
223
  }
224
- throw new d("HANDLER_UNSUPPORTED", "unsupported");
224
+ throw new h("HANDLER_UNSUPPORTED", "unsupported");
225
225
  }
226
226
  canExecute(t) {
227
227
  return t.kind === "page" ? !!(this.handlers.openPage || this.isSameOriginUrl(t.route)) : !!(this.handlers.openModal && t.modalName || t.selector || t.url);
228
228
  }
229
229
  resolveCanonicalAction(t, e) {
230
230
  if (!e || typeof e != "object")
231
- throw new d("TARGET_INVALID");
231
+ throw new h("TARGET_INVALID");
232
232
  const i = this.requireNonEmptyString(e.id), r = this.requireNonEmptyString(e.code);
233
233
  if (this.assertTargetCode(r), t === "open_page") {
234
234
  if (e.kind !== "page")
235
- throw new d("TARGET_INVALID");
236
- const s = this.requireNonEmptyString(e.route);
235
+ throw new h("TARGET_INVALID");
236
+ const o = this.requireNonEmptyString(e.route);
237
237
  return Object.freeze({
238
238
  kind: "page",
239
239
  code: r,
240
- route: s,
240
+ route: o,
241
241
  target: Object.freeze({
242
242
  ...e,
243
243
  id: i,
244
244
  code: r,
245
- route: s
245
+ route: o
246
246
  })
247
247
  });
248
248
  }
249
249
  if (e.kind !== "modal")
250
- throw new d("TARGET_INVALID");
251
- const a = this.requireNonEmptyString(e.modalName);
250
+ throw new h("TARGET_INVALID");
251
+ const n = this.requireNonEmptyString(e.modalName);
252
252
  return Object.freeze({
253
253
  kind: "modal",
254
254
  code: r,
255
- modalName: a,
255
+ modalName: n,
256
256
  target: Object.freeze({
257
257
  ...e,
258
258
  id: i,
259
259
  code: r,
260
- modalName: a
260
+ modalName: n
261
261
  })
262
262
  });
263
263
  }
264
264
  resolveLegacyAction(t, e) {
265
265
  const i = t === "open_page" ? e.pageId ?? e.pageCode : e.modalId ?? e.modalCode, r = this.requireNonEmptyString(i);
266
266
  this.assertTargetCode(r);
267
- const a = this.targets.get(r), s = t === "open_page" ? "page" : "modal";
268
- if (a && a.kind !== s)
269
- throw new d("TARGET_INVALID");
267
+ const n = this.targets.get(r), o = t === "open_page" ? "page" : "modal";
268
+ if (n && n.kind !== o)
269
+ throw new h("TARGET_INVALID");
270
270
  if (t === "open_page") {
271
- const l = this.targetUrl(a);
272
- if (!l) throw new d("TARGET_INVALID");
271
+ const l = this.targetUrl(n);
272
+ if (!l) throw new h("TARGET_INVALID");
273
273
  return Object.freeze({ kind: "page", code: r, route: l });
274
274
  }
275
- if (!a) throw new d("TARGET_INVALID");
276
- const n = this.targetUrl(a), c = a.modalName ?? (this.handlers.openModal ? r : void 0);
277
- if (!c && !a.selector && !n)
278
- throw new d("TARGET_INVALID");
275
+ if (!n) throw new h("TARGET_INVALID");
276
+ const s = this.targetUrl(n), c = n.modalName ?? (this.handlers.openModal ? r : void 0);
277
+ if (!c && !n.selector && !s)
278
+ throw new h("TARGET_INVALID");
279
279
  return Object.freeze({
280
280
  kind: "modal",
281
281
  code: r,
282
282
  modalName: c,
283
- url: n,
284
- selector: a.selector
283
+ url: s,
284
+ selector: n.selector
285
285
  });
286
286
  }
287
287
  assertLegacyTarget(t) {
288
- if (!t || typeof t != "object" || !Nt.has(t.kind))
289
- throw new d("TARGET_INVALID");
288
+ if (!t || typeof t != "object" || !Jt.has(t.kind))
289
+ throw new h("TARGET_INVALID");
290
290
  for (const e of [
291
291
  t.selector,
292
292
  t.route,
@@ -294,11 +294,11 @@ class Dt {
294
294
  t.url
295
295
  ])
296
296
  if (e !== void 0 && !this.requireNonEmptyString(e))
297
- throw new d("TARGET_INVALID");
297
+ throw new h("TARGET_INVALID");
298
298
  if (t.query !== void 0 && (!t.query || typeof t.query != "object" || Array.isArray(t.query) || Object.values(t.query).some(
299
299
  (e) => e !== null && typeof e != "string"
300
300
  )))
301
- throw new d("TARGET_INVALID");
301
+ throw new h("TARGET_INVALID");
302
302
  }
303
303
  targetUrl(t) {
304
304
  if (!t) return;
@@ -308,12 +308,12 @@ class Dt {
308
308
  try {
309
309
  i = new URL(e ?? window.location.href, window.location.href);
310
310
  } catch {
311
- throw new d("TARGET_INVALID");
311
+ throw new h("TARGET_INVALID");
312
312
  }
313
- for (const [r, a] of Object.entries(t.query ?? {}))
314
- a === null ? i.searchParams.delete(r) : i.searchParams.set(r, a);
313
+ for (const [r, n] of Object.entries(t.query ?? {}))
314
+ n === null ? i.searchParams.delete(r) : i.searchParams.set(r, n);
315
315
  if (i.origin !== window.location.origin)
316
- throw new d("TARGET_INVALID");
316
+ throw new h("TARGET_INVALID");
317
317
  return `${i.pathname}${i.search}${i.hash}`;
318
318
  }
319
319
  applyUrlFallback(t) {
@@ -321,10 +321,10 @@ class Dt {
321
321
  try {
322
322
  e = new URL(t, window.location.href);
323
323
  } catch {
324
- throw new d("TARGET_INVALID");
324
+ throw new h("TARGET_INVALID");
325
325
  }
326
326
  if (!this.isSameOriginUrl(e))
327
- throw new d("TARGET_INVALID");
327
+ throw new h("TARGET_INVALID");
328
328
  window.history.pushState(null, "", e), window.dispatchEvent(new PopStateEvent("popstate", { state: null }));
329
329
  }
330
330
  isSameOriginUrl(t) {
@@ -336,15 +336,15 @@ class Dt {
336
336
  }
337
337
  requireNonEmptyString(t) {
338
338
  if (typeof t != "string" || !t.trim())
339
- throw new d("TARGET_INVALID");
339
+ throw new h("TARGET_INVALID");
340
340
  return t.trim();
341
341
  }
342
342
  assertTargetCode(t) {
343
- if (!Ot.test(t))
344
- throw new d("TARGET_INVALID");
343
+ if (!Zt.test(t))
344
+ throw new h("TARGET_INVALID");
345
345
  }
346
346
  }
347
- const Lt = [
347
+ const te = [
348
348
  "show_assistant",
349
349
  "hide_assistant",
350
350
  "open_chat",
@@ -358,16 +358,16 @@ const Lt = [
358
358
  "start_voice_conversation",
359
359
  "open_page",
360
360
  "open_modal"
361
- ], G = /* @__PURE__ */ new Set([
361
+ ], B = /* @__PURE__ */ new Set([
362
362
  "succeeded",
363
363
  "failed",
364
364
  "expired",
365
365
  "unsupported"
366
- ]), Pt = 600 * 1e3, qt = 256, zt = /^[a-zA-Z0-9_.:-]{1,200}$/, O = "rgba(167, 139, 250, 0.82)", Ht = "rgba(196, 181, 253, 1)", N = "0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 0 4px rgba(139, 92, 246, 0.12), 0 0 18px 2px rgba(124, 58, 237, 0.28), inset 0 0 12px rgba(139, 92, 246, 0.06)", Ut = "0 0 0 1px rgba(255, 255, 255, 0.28), 0 0 0 5px rgba(139, 92, 246, 0.2), 0 0 26px 4px rgba(124, 58, 237, 0.5), inset 0 0 14px rgba(139, 92, 246, 0.12)";
367
- class Mt {
366
+ ]), ee = 600 * 1e3, ie = 256, re = /^[a-zA-Z0-9_.:-]{1,200}$/, ae = "rgba(167, 139, 250, 0.82)", ne = "rgba(196, 181, 253, 1)", oe = "0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 0 4px rgba(139, 92, 246, 0.12), 0 0 18px 2px rgba(124, 58, 237, 0.28), inset 0 0 12px rgba(139, 92, 246, 0.06)", se = "0 0 0 1px rgba(255, 255, 255, 0.28), 0 0 0 5px rgba(139, 92, 246, 0.2), 0 0 26px 4px rgba(124, 58, 237, 0.5), inset 0 0 14px rgba(139, 92, 246, 0.12)";
367
+ class ce {
368
368
  constructor(t = {}, e = {}, i, r) {
369
- this.onStatus = i, this.scenarioInteractions = r, this.uiCommands = new Dt(t, e), this.internalHandlersReady = new Promise((a) => {
370
- this.resolveInternalHandlers = a;
369
+ this.onStatus = i, this.scenarioInteractions = r, this.uiCommands = new Qt(t, e), this.internalHandlersReady = new Promise((n) => {
370
+ this.resolveInternalHandlers = n;
371
371
  });
372
372
  }
373
373
  uiCommands;
@@ -403,12 +403,12 @@ class Mt {
403
403
  async execute(t, e, i) {
404
404
  const r = t?.data?.commandId;
405
405
  if (typeof r != "string" || !r) {
406
- b.warn("Ignored command without commandId", t);
406
+ g.warn("Ignored command without commandId", t);
407
407
  return;
408
408
  }
409
409
  if (this.destroyed) return;
410
- const a = this.ensurePrincipal(e, !1);
411
- if (a === null) {
410
+ const n = this.ensurePrincipal(e, !1);
411
+ if (n === null) {
412
412
  const l = {
413
413
  commandId: r,
414
414
  status: "failed",
@@ -418,24 +418,24 @@ class Mt {
418
418
  return;
419
419
  }
420
420
  this.loadCompleted(e);
421
- const s = this.completed.get(r);
422
- if (s) {
423
- await i(this.toAck(s));
421
+ const o = this.completed.get(r);
422
+ if (o) {
423
+ await i(this.toAck(o));
424
424
  return;
425
425
  }
426
- const n = this.inFlight.get(r);
427
- if (n) {
426
+ const s = this.inFlight.get(r);
427
+ if (s) {
428
428
  await i({ commandId: r, status: "received" });
429
429
  try {
430
- await n;
431
- } catch (h) {
432
- if (!this.completed.has(r)) throw h;
430
+ await s;
431
+ } catch (d) {
432
+ if (!this.completed.has(r)) throw d;
433
433
  }
434
434
  const l = this.completed.get(r);
435
435
  l && await i(this.toAck(l));
436
436
  return;
437
437
  }
438
- const c = this.executeOnce(t, e, i, a);
438
+ const c = this.executeOnce(t, e, i, n);
439
439
  this.inFlight.set(r, c);
440
440
  try {
441
441
  await c;
@@ -453,18 +453,18 @@ class Mt {
453
453
  const i = this.inFlightCtaActions.get(t.commandId);
454
454
  if (i) return i;
455
455
  const r = this.principalGeneration;
456
- let a;
457
- const s = new Promise((n) => {
458
- a = n;
456
+ let n;
457
+ const o = new Promise((s) => {
458
+ n = s;
459
459
  });
460
- return this.inFlightCtaActions.set(t.commandId, s), this.executeCtaActionOnce(t).then(
461
- (n) => {
462
- this.inFlightCtaActions.get(t.commandId) === s && (this.inFlightCtaActions.delete(t.commandId), this.isCurrentPrincipal(r) && (n === "COMPLETED" ? (this.completedCtaActions.add(t.commandId), this.retainCtaAction(t.commandId)) : n === "TERMINAL_FAILURE" && (this.terminalCtaActions.set(t.commandId, s), this.retainCtaAction(t.commandId)))), a(n);
460
+ return this.inFlightCtaActions.set(t.commandId, o), this.executeCtaActionOnce(t).then(
461
+ (s) => {
462
+ this.inFlightCtaActions.get(t.commandId) === o && (this.inFlightCtaActions.delete(t.commandId), this.isCurrentPrincipal(r) && (s === "COMPLETED" ? (this.completedCtaActions.add(t.commandId), this.retainCtaAction(t.commandId)) : s === "TERMINAL_FAILURE" && (this.terminalCtaActions.set(t.commandId, o), this.retainCtaAction(t.commandId)))), n(s);
463
463
  },
464
- (n) => {
465
- this.inFlightCtaActions.get(t.commandId) === s && (this.inFlightCtaActions.delete(t.commandId), this.isCurrentPrincipal(r) && (this.terminalCtaActions.set(t.commandId, s), this.retainCtaAction(t.commandId))), b.error("CTA action failed", n), a("TERMINAL_FAILURE");
464
+ (s) => {
465
+ this.inFlightCtaActions.get(t.commandId) === o && (this.inFlightCtaActions.delete(t.commandId), this.isCurrentPrincipal(r) && (this.terminalCtaActions.set(t.commandId, o), this.retainCtaAction(t.commandId))), g.error("CTA action failed", s), n("TERMINAL_FAILURE");
466
466
  }
467
- ), s;
467
+ ), o;
468
468
  }
469
469
  async executeCtaActionOnce(t) {
470
470
  if (t.expiresAt && Number.isFinite(Date.parse(t.expiresAt)) && Date.parse(t.expiresAt) <= Date.now())
@@ -475,7 +475,7 @@ class Mt {
475
475
  try {
476
476
  return await i(t);
477
477
  } catch (r) {
478
- return b.error("Retryable CTA action failed", r), "RETRYABLE_FAILURE";
478
+ return g.error("Retryable CTA action failed", r), "RETRYABLE_FAILURE";
479
479
  }
480
480
  }
481
481
  const e = t.uiAction ?? this.uiCommands.resolveAction(t.action, t.payload);
@@ -486,7 +486,7 @@ class Mt {
486
486
  ), "COMPLETED";
487
487
  }
488
488
  retainCtaAction(t) {
489
- for (this.ctaActionRetentionOrder.delete(t), this.ctaActionRetentionOrder.add(t); this.ctaActionRetentionOrder.size > qt; ) {
489
+ for (this.ctaActionRetentionOrder.delete(t), this.ctaActionRetentionOrder.add(t); this.ctaActionRetentionOrder.size > ie; ) {
490
490
  const e = this.ctaActionRetentionOrder.values().next().value;
491
491
  if (e === void 0) break;
492
492
  this.ctaActionRetentionOrder.delete(e), this.completedCtaActions.delete(e), this.terminalCtaActions.delete(e);
@@ -496,59 +496,59 @@ class Mt {
496
496
  this.destroyed || (this.destroyed = !0, this.resetPrincipalState(), this.principalSessionId = null);
497
497
  }
498
498
  async executeOnce(t, e, i, r) {
499
- const { commandId: a, commandType: s, interactionSessionId: n, expiresAt: c } = t.data, l = e.interactionSessionId;
500
- if (n !== l) {
499
+ const { commandId: n, commandType: o, interactionSessionId: s, expiresAt: c } = t.data, l = e.interactionSessionId;
500
+ if (s !== l) {
501
501
  await this.finish(
502
- { commandId: a, status: "failed", errorCode: "SESSION_MISMATCH" },
502
+ { commandId: n, status: "failed", errorCode: "SESSION_MISMATCH" },
503
503
  e,
504
504
  i,
505
- s,
505
+ o,
506
506
  r
507
507
  );
508
508
  return;
509
509
  }
510
510
  if (c && Date.parse(c) <= Date.now()) {
511
511
  await this.finish(
512
- { commandId: a, status: "expired", errorCode: "COMMAND_EXPIRED" },
512
+ { commandId: n, status: "expired", errorCode: "COMMAND_EXPIRED" },
513
513
  e,
514
514
  i,
515
- s,
515
+ o,
516
516
  r
517
517
  );
518
518
  return;
519
519
  }
520
- if (await i({ commandId: a, status: "received" }), this.onStatus?.({ commandId: a, status: "received", commandType: s }), !this.isCurrentPrincipal(r)) return;
521
- const h = t.data.contractVersion;
522
- if (h !== void 0 && h !== 1 || t.data.target !== void 0 && h !== 1) {
520
+ if (await i({ commandId: n, status: "received" }), this.onStatus?.({ commandId: n, status: "received", commandType: o }), !this.isCurrentPrincipal(r)) return;
521
+ const d = t.data.contractVersion;
522
+ if (d !== void 0 && d !== 1 || t.data.target !== void 0 && d !== 1) {
523
523
  await this.finish(
524
524
  {
525
- commandId: a,
525
+ commandId: n,
526
526
  status: "unsupported",
527
527
  errorCode: "CONTRACT_VERSION_UNSUPPORTED"
528
528
  },
529
529
  e,
530
530
  i,
531
- s,
531
+ o,
532
532
  r
533
533
  );
534
534
  return;
535
535
  }
536
- if (!Lt.includes(s)) {
536
+ if (!te.includes(o)) {
537
537
  await this.finish(
538
- { commandId: a, status: "unsupported", errorCode: "COMMAND_UNSUPPORTED" },
538
+ { commandId: n, status: "unsupported", errorCode: "COMMAND_UNSUPPORTED" },
539
539
  e,
540
540
  i,
541
- s,
541
+ o,
542
542
  r
543
543
  );
544
544
  return;
545
545
  }
546
546
  if (!t.data.payload || typeof t.data.payload != "object" || Array.isArray(t.data.payload)) {
547
547
  await this.finish(
548
- { commandId: a, status: "failed", errorCode: "PAYLOAD_INVALID" },
548
+ { commandId: n, status: "failed", errorCode: "PAYLOAD_INVALID" },
549
549
  e,
550
550
  i,
551
- s,
551
+ o,
552
552
  r
553
553
  );
554
554
  return;
@@ -556,28 +556,28 @@ class Mt {
556
556
  let u;
557
557
  try {
558
558
  await this.dispatch(
559
- s,
559
+ o,
560
560
  t.data.payload,
561
- a,
561
+ n,
562
562
  t.data.target,
563
563
  c,
564
564
  t.data.scenarioRunId,
565
565
  r
566
- ), u = { commandId: a, status: "succeeded" };
566
+ ), u = { commandId: n, status: "succeeded" };
567
567
  } catch (p) {
568
- const g = p instanceof d ? p : new d("HANDLER_FAILED");
569
- b.warn(`Command ${a} failed`, p);
570
- const w = p instanceof d && p.cause instanceof Error ? p.cause : p instanceof Error && !(p instanceof d) ? p : null;
568
+ const m = p instanceof h ? p : new h("HANDLER_FAILED");
569
+ g.warn(`Command ${n} failed`, p);
570
+ const w = p instanceof h && p.cause instanceof Error ? p.cause : p instanceof Error && !(p instanceof h) ? p : null;
571
571
  u = {
572
- commandId: a,
573
- status: g.status,
574
- errorCode: g.code,
572
+ commandId: n,
573
+ status: m.status,
574
+ errorCode: m.code,
575
575
  details: w ? { message: w.message } : void 0
576
576
  };
577
577
  }
578
- await this.finish(u, e, i, s, r);
578
+ await this.finish(u, e, i, o, r);
579
579
  }
580
- async dispatch(t, e, i, r, a, s = "", n = this.principalGeneration) {
580
+ async dispatch(t, e, i, r, n, o = "", s = this.principalGeneration) {
581
581
  if ([
582
582
  "show_assistant",
583
583
  "hide_assistant",
@@ -588,7 +588,7 @@ class Mt {
588
588
  "connect_telegram",
589
589
  "speak_text",
590
590
  "start_voice_conversation"
591
- ].includes(t) && await this.internalHandlersReady, !!this.isCurrentPrincipal(n))
591
+ ].includes(t) && await this.internalHandlersReady, !!this.isCurrentPrincipal(s))
592
592
  switch (t) {
593
593
  case "show_assistant":
594
594
  return this.requireInternal("setAssistantVisible")(!0, i);
@@ -603,7 +603,7 @@ class Mt {
603
603
  e.animation,
604
604
  "ANIMATION_INVALID"
605
605
  );
606
- return this.requireInternal("playAnimation")(c, a);
606
+ return this.requireInternal("playAnimation")(c, n);
607
607
  }
608
608
  case "highlight_element":
609
609
  case "remove_highlight": {
@@ -617,31 +617,31 @@ class Mt {
617
617
  e,
618
618
  i,
619
619
  t,
620
- n
620
+ s
621
621
  );
622
622
  }
623
623
  case "show_cta":
624
624
  return this.executeShowCta(
625
625
  e,
626
626
  i,
627
- s,
628
- a ?? null,
627
+ o,
628
+ n ?? null,
629
629
  r
630
630
  );
631
631
  case "connect_telegram":
632
632
  return this.executeConnectTelegram(
633
633
  e,
634
634
  i,
635
- s,
636
- a ?? null
635
+ o,
636
+ n ?? null
637
637
  );
638
638
  case "speak_text": {
639
639
  const c = this.requireString(
640
640
  e.audioPath,
641
641
  "SPEECH_AUDIO_INVALID"
642
642
  );
643
- if (c !== `/scenario-commands/${i}/audio` || e.method !== "POST" || e.mimeType !== j || e.format !== "pcm16" || e.sampleRate !== 24e3 || e.channels !== 1)
644
- throw new d("SPEECH_AUDIO_INVALID");
643
+ if (c !== `/scenario-commands/${i}/audio` || e.method !== "POST" || e.mimeType !== W || e.format !== "pcm16" || e.sampleRate !== 24e3 || e.channels !== 1)
644
+ throw new h("SPEECH_AUDIO_INVALID");
645
645
  const l = this.readLipSyncDescriptor(e.lipSync, i);
646
646
  try {
647
647
  return await this.requireInternal("speakText")({
@@ -649,15 +649,15 @@ class Mt {
649
649
  commandType: t,
650
650
  audioPath: c,
651
651
  method: "POST",
652
- mimeType: j,
652
+ mimeType: W,
653
653
  format: "pcm16",
654
654
  sampleRate: 24e3,
655
655
  channels: 1,
656
656
  ...l ? { lipSync: l } : {}
657
657
  });
658
- } catch (h) {
659
- throw new d("AUDIO_PLAYBACK_FAILED", "failed", {
660
- cause: h
658
+ } catch (d) {
659
+ throw new h("AUDIO_PLAYBACK_FAILED", "failed", {
660
+ cause: d
661
661
  });
662
662
  }
663
663
  }
@@ -668,9 +668,9 @@ class Mt {
668
668
  ), l = this.requireString(
669
669
  e.introAudioPath,
670
670
  "VOICE_INVITATION_INVALID"
671
- ), h = `/voice/sessions/${c}`;
672
- if (e.requiresUserGesture !== !0 || l !== `${h}/intro-audio`)
673
- throw new d("VOICE_INVITATION_INVALID");
671
+ ), d = `/voice/sessions/${c}`;
672
+ if (e.requiresUserGesture !== !0 || l !== `${d}/intro-audio`)
673
+ throw new h("VOICE_INVITATION_INVALID");
674
674
  return this.requireInternal("startVoiceConversation")({
675
675
  commandId: i,
676
676
  commandType: t,
@@ -705,7 +705,7 @@ class Mt {
705
705
  );
706
706
  }
707
707
  }
708
- async executeHighlight(t, e, i, r, a, s) {
708
+ async executeHighlight(t, e, i, r, n, o) {
709
709
  const c = (this.targetHighlightOperations.get(t) ?? Promise.resolve()).catch(() => {
710
710
  }).then(
711
711
  () => this.executeHighlightSerial(
@@ -713,8 +713,8 @@ class Mt {
713
713
  e,
714
714
  i,
715
715
  r,
716
- a,
717
- s
716
+ n,
717
+ o
718
718
  )
719
719
  );
720
720
  this.targetHighlightOperations.set(t, c);
@@ -724,11 +724,11 @@ class Mt {
724
724
  this.targetHighlightOperations.get(t) === c && this.targetHighlightOperations.delete(t);
725
725
  }
726
726
  }
727
- async executeHighlightSerial(t, e, i, r, a, s) {
728
- if (!this.isCurrentPrincipal(s)) return;
729
- const n = this.uiCommands.getTarget(t), c = this.findTargetElement(t, n), l = this.uiCommands.getHandler("highlight");
727
+ async executeHighlightSerial(t, e, i, r, n, o) {
728
+ if (!this.isCurrentPrincipal(o)) return;
729
+ const s = this.uiCommands.getTarget(t), c = this.findTargetElement(t, s), l = this.uiCommands.getHandler("highlight");
730
730
  if (l) {
731
- const h = {
731
+ const d = {
732
732
  handler: l,
733
733
  commandId: r,
734
734
  target: t,
@@ -739,75 +739,75 @@ class Mt {
739
739
  if (!e) {
740
740
  await this.removeCustomHighlightForCommand(
741
741
  t,
742
- h
742
+ d
743
743
  );
744
744
  return;
745
745
  }
746
- if (await this.deactivateCustomHighlight(t), !this.isCurrentPrincipal(s)) return;
746
+ if (await this.deactivateCustomHighlight(t), !this.isCurrentPrincipal(o)) return;
747
747
  }
748
748
  this.removeTargetTracking(t);
749
749
  const u = e ? this.createTargetActivationReporter(t, r) : () => {
750
750
  };
751
751
  try {
752
752
  await this.invokeCustomHighlight(
753
- h,
753
+ d,
754
754
  e,
755
- a,
755
+ n,
756
756
  u
757
757
  );
758
758
  } catch (p) {
759
759
  if (this.targetActivationOwners.get(t) === r && this.removeTargetTracking(t), e)
760
760
  try {
761
761
  await this.invokeCustomHighlight(
762
- h,
762
+ d,
763
763
  !1,
764
764
  "remove_highlight",
765
765
  () => {
766
766
  }
767
767
  );
768
- } catch (g) {
769
- b.warn("Custom highlight rollback failed", g);
768
+ } catch (m) {
769
+ g.warn("Custom highlight rollback failed", m);
770
770
  }
771
771
  throw p;
772
772
  }
773
- if (!this.isCurrentPrincipal(s)) {
773
+ if (!this.isCurrentPrincipal(o)) {
774
774
  if (this.removeTargetTracking(t), e)
775
775
  try {
776
776
  await this.invokeCustomHighlight(
777
- h,
777
+ d,
778
778
  !1,
779
779
  "remove_highlight",
780
780
  () => {
781
781
  }
782
782
  );
783
783
  } catch (p) {
784
- b.warn("Custom highlight cleanup failed", p);
784
+ g.warn("Custom highlight cleanup failed", p);
785
785
  }
786
786
  return;
787
787
  }
788
- e && this.targetActivationOwners.get(t) === r && (this.activeCustomHighlights.set(t, h), c && this.observeTarget(t, c, r));
788
+ e && this.targetActivationOwners.get(t) === r && (this.activeCustomHighlights.set(t, d), c && this.observeTarget(t, c, r));
789
789
  return;
790
790
  }
791
791
  if (!e && this.highlights.has(t)) {
792
792
  this.removeDefaultHighlight(t);
793
793
  return;
794
794
  }
795
- if (!c) throw new d("TARGET_NOT_FOUND");
795
+ if (!c) throw new h("TARGET_NOT_FOUND");
796
796
  e ? (this.applyDefaultHighlight(t, c, i), this.observeTarget(t, c, r)) : this.removeDefaultHighlight(t);
797
797
  }
798
- async executeShowCta(t, e, i, r, a) {
799
- const s = this.requireString(t.label, "CTA_INVALID"), n = t.action;
800
- if (n !== "none" && n !== "open_modal" && n !== "open_page" && n !== "connect_telegram")
801
- throw new d("CTA_INVALID");
802
- const c = n === "none" || n === "connect_telegram" ? void 0 : this.uiCommands.resolveAction(n, t, a);
798
+ async executeShowCta(t, e, i, r, n) {
799
+ const o = this.requireString(t.label, "CTA_INVALID"), s = t.action;
800
+ if (s !== "none" && s !== "open_modal" && s !== "open_page" && s !== "connect_telegram")
801
+ throw new h("CTA_INVALID");
802
+ const c = s === "none" || s === "connect_telegram" ? void 0 : this.uiCommands.resolveAction(s, t, n);
803
803
  if (c && !this.uiCommands.canExecute(c))
804
- throw new d("HANDLER_UNSUPPORTED", "unsupported");
805
- const l = c?.code, h = t.text === void 0 ? void 0 : this.requireString(t.text, "CTA_INVALID", 1e3), u = t.conversationId === void 0 ? void 0 : this.requireString(t.conversationId, "CTA_INVALID", 200), p = {
804
+ throw new h("HANDLER_UNSUPPORTED", "unsupported");
805
+ const l = c?.code, d = t.text === void 0 ? void 0 : this.requireString(t.text, "CTA_INVALID", 1e3), u = t.conversationId === void 0 ? void 0 : this.requireString(t.conversationId, "CTA_INVALID", 200), p = {
806
806
  commandId: e,
807
807
  commandType: "show_cta",
808
- label: s,
809
- ...h ? { text: h } : {},
810
- action: n,
808
+ label: o,
809
+ ...d ? { text: d } : {},
810
+ action: s,
811
811
  ...u ? { conversationId: u } : {},
812
812
  scenarioRunId: i,
813
813
  expiresAt: r,
@@ -816,19 +816,19 @@ class Mt {
816
816
  target: l,
817
817
  uiAction: c,
818
818
  payload: t
819
- }, g = this.internalHandlers.showCta;
820
- if (!g)
821
- throw new d("HANDLER_UNSUPPORTED", "unsupported");
822
- await g(p);
819
+ }, m = this.internalHandlers.showCta;
820
+ if (!m)
821
+ throw new h("HANDLER_UNSUPPORTED", "unsupported");
822
+ await m(p);
823
823
  }
824
824
  async executeConnectTelegram(t, e, i, r) {
825
- const a = this.requireString(t.label, "CTA_INVALID"), s = t.text === void 0 ? void 0 : this.requireString(t.text, "CTA_INVALID", 1e3), n = t.conversationId === void 0 ? void 0 : this.requireString(t.conversationId, "CTA_INVALID", 200), c = {
825
+ const n = this.requireString(t.label, "CTA_INVALID"), o = t.text === void 0 ? void 0 : this.requireString(t.text, "CTA_INVALID", 1e3), s = t.conversationId === void 0 ? void 0 : this.requireString(t.conversationId, "CTA_INVALID", 200), c = {
826
826
  commandId: e,
827
827
  commandType: "connect_telegram",
828
- label: a,
829
- ...s ? { text: s } : {},
828
+ label: n,
829
+ ...o ? { text: o } : {},
830
830
  action: "connect_telegram",
831
- ...n ? { conversationId: n } : {},
831
+ ...s ? { conversationId: s } : {},
832
832
  scenarioRunId: i,
833
833
  expiresAt: r,
834
834
  presentation: "PRIMARY",
@@ -836,32 +836,32 @@ class Mt {
836
836
  payload: t
837
837
  }, l = this.internalHandlers.showCta;
838
838
  if (!l)
839
- throw new d("HANDLER_UNSUPPORTED", "unsupported");
839
+ throw new h("HANDLER_UNSUPPORTED", "unsupported");
840
840
  await l(c);
841
841
  }
842
842
  requireTarget(t, e) {
843
843
  const i = t && typeof t == "object" ? t.code ?? t.id : t, r = this.requireString(i, "TARGET_INVALID");
844
- if (!zt.test(r))
845
- throw new d("TARGET_INVALID");
846
- const a = this.uiCommands.getTarget(r);
847
- if (a && !e.includes(a.kind))
848
- throw new d("TARGET_INVALID");
844
+ if (!re.test(r))
845
+ throw new h("TARGET_INVALID");
846
+ const n = this.uiCommands.getTarget(r);
847
+ if (n && !e.includes(n.kind))
848
+ throw new h("TARGET_INVALID");
849
849
  return r;
850
850
  }
851
851
  readLipSyncDescriptor(t, e) {
852
852
  if (t === void 0) return;
853
853
  if (!t || typeof t != "object" || Array.isArray(t))
854
- throw new d("SPEECH_AUDIO_INVALID");
855
- const i = t, r = i.audio, a = i.transport;
856
- if (i.contractVersion !== 1 || i.playbackId !== e || i.cueTimebase !== "milliseconds" || !r || r.encoding !== "pcm_s16le" || r.sampleRate !== 24e3 || r.channels !== 1 || !a || a.socketIoEvent !== "lip_sync.cues" || a.cableField !== "lipSyncCues")
857
- throw new d("SPEECH_AUDIO_INVALID");
854
+ throw new h("SPEECH_AUDIO_INVALID");
855
+ const i = t, r = i.audio, n = i.transport;
856
+ if (i.contractVersion !== 1 || i.playbackId !== e || i.cueTimebase !== "milliseconds" || !r || r.encoding !== "pcm_s16le" || r.sampleRate !== 24e3 || r.channels !== 1 || !n || n.socketIoEvent !== "lip_sync.cues" || n.cableField !== "lipSyncCues")
857
+ throw new h("SPEECH_AUDIO_INVALID");
858
858
  return t;
859
859
  }
860
860
  requireEnvelopeTarget(t, e) {
861
861
  if (!t || typeof t != "object")
862
- throw new d("TARGET_INVALID");
862
+ throw new h("TARGET_INVALID");
863
863
  if (this.requireString(t.id, "TARGET_INVALID"), !e.includes(t.kind))
864
- throw new d("TARGET_INVALID");
864
+ throw new h("TARGET_INVALID");
865
865
  return this.requireTarget(t.code, e);
866
866
  }
867
867
  findTargetElement(t, e) {
@@ -873,64 +873,51 @@ class Mt {
873
873
  }
874
874
  applyDefaultHighlight(t, e, i) {
875
875
  this.removeDefaultHighlight(t), e.scrollIntoView({ behavior: "smooth", block: "center" }), e.setAttribute("data-lola-highlighted", "true");
876
- const r = document.createElement("div");
877
- r.setAttribute("data-lola-highlight-overlay", t), Object.assign(r.style, {
878
- position: "fixed",
879
- pointerEvents: "none",
880
- zIndex: "2147483647",
881
- border: `2px solid ${O}`,
882
- boxShadow: N,
883
- boxSizing: "border-box"
884
- }), document.body.appendChild(r);
885
- const a = () => {
886
- const g = e.getBoundingClientRect(), w = e instanceof HTMLElement ? window.getComputedStyle(e).borderRadius : "0px";
887
- Object.assign(r.style, {
888
- top: `${g.top}px`,
889
- left: `${g.left}px`,
890
- width: `${g.width}px`,
891
- height: `${g.height}px`,
892
- borderRadius: w
893
- });
894
- };
895
- a();
896
- const s = window.requestAnimationFrame(a);
897
- window.addEventListener("scroll", a, !0), window.addEventListener("resize", a);
898
- const n = typeof ResizeObserver > "u" ? void 0 : new ResizeObserver(a);
899
- n?.observe(e);
900
- const c = () => {
901
- window.cancelAnimationFrame(s), window.removeEventListener("scroll", a, !0), window.removeEventListener("resize", a), n?.disconnect();
902
- }, h = !(typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) && typeof r.animate == "function" ? r.animate(
903
- [
904
- {
905
- borderColor: O,
906
- boxShadow: N
907
- },
908
- {
909
- borderColor: Ht,
910
- boxShadow: Ut
911
- },
912
- {
913
- borderColor: O,
914
- boxShadow: N
915
- }
916
- ],
917
- {
918
- duration: 1800,
919
- easing: "ease-in-out",
920
- iterations: 1 / 0
921
- }
922
- ) : void 0, u = typeof i.durationMs == "number" && Number.isFinite(i.durationMs) ? Math.max(0, i.durationMs) : 0, p = u ? window.setTimeout(() => this.removeDefaultHighlight(t), u) : void 0;
876
+ const r = this.applyHighlightEffect(e), n = typeof i.durationMs == "number" && Number.isFinite(i.durationMs) ? Math.max(0, i.durationMs) : 0, o = n ? window.setTimeout(() => this.removeDefaultHighlight(t), n) : void 0;
923
877
  this.highlights.set(t, {
924
878
  element: e,
925
- overlay: r,
926
- animation: h,
927
- timer: p,
928
- cleanupPosition: c
879
+ timer: o,
880
+ cleanupEffect: r
929
881
  });
930
882
  }
883
+ applyHighlightEffect(t) {
884
+ const e = window.getComputedStyle(t).boxShadow, i = (d, u) => [
885
+ `inset 0 0 0 2px ${d}`,
886
+ u,
887
+ ...e && e !== "none" ? [e] : []
888
+ ].join(", "), r = i(
889
+ ae,
890
+ oe
891
+ ), n = i(
892
+ ne,
893
+ se
894
+ );
895
+ if (!(typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) && typeof t.animate == "function") {
896
+ const d = t.animate(
897
+ [
898
+ { boxShadow: r },
899
+ { boxShadow: n },
900
+ { boxShadow: r }
901
+ ],
902
+ {
903
+ duration: 1800,
904
+ easing: "ease-in-out",
905
+ iterations: 1 / 0
906
+ }
907
+ );
908
+ return () => d.cancel();
909
+ }
910
+ const s = t instanceof HTMLElement || typeof SVGElement < "u" && t instanceof SVGElement ? t.style : void 0;
911
+ if (!s) return () => {
912
+ };
913
+ const c = s.getPropertyValue("box-shadow"), l = s.getPropertyPriority("box-shadow");
914
+ return s.setProperty("box-shadow", r, "important"), () => {
915
+ c ? s.setProperty("box-shadow", c, l) : s.removeProperty("box-shadow");
916
+ };
917
+ }
931
918
  removeDefaultHighlight(t) {
932
919
  const e = this.highlights.get(t);
933
- e?.animation?.cancel(), e?.timer && window.clearTimeout(e.timer), e?.cleanupPosition(), e?.overlay.remove(), e?.element.removeAttribute("data-lola-highlighted"), this.highlights.delete(t), this.removeTargetTracking(t);
920
+ e?.timer && window.clearTimeout(e.timer), e?.cleanupEffect(), e?.element.removeAttribute("data-lola-highlighted"), this.highlights.delete(t), this.removeTargetTracking(t);
934
921
  }
935
922
  observeTarget(t, e, i) {
936
923
  this.removeTargetObservation(t);
@@ -999,8 +986,8 @@ class Mt {
999
986
  () => {
1000
987
  }
1001
988
  );
1002
- } catch (a) {
1003
- b.warn("Custom highlight cleanup failed", a);
989
+ } catch (n) {
990
+ g.warn("Custom highlight cleanup failed", n);
1004
991
  }
1005
992
  });
1006
993
  this.targetHighlightOperations.set(t, r), r.finally(() => {
@@ -1014,22 +1001,22 @@ class Mt {
1014
1001
  requireInternal(t) {
1015
1002
  const e = this.internalHandlers[t];
1016
1003
  if (!e)
1017
- throw new d("HANDLER_UNSUPPORTED", "unsupported");
1004
+ throw new h("HANDLER_UNSUPPORTED", "unsupported");
1018
1005
  return e;
1019
1006
  }
1020
1007
  requireString(t, e, i) {
1021
1008
  const r = typeof t == "string" ? t.trim() : "";
1022
1009
  if (typeof t != "string" || !r || i !== void 0 && [...r].length > i)
1023
- throw new d(e);
1010
+ throw new h(e);
1024
1011
  return r;
1025
1012
  }
1026
1013
  firstDefined(...t) {
1027
1014
  return t.find((e) => e != null);
1028
1015
  }
1029
- async finish(t, e, i, r, a = this.principalGeneration) {
1030
- this.isCurrentPrincipal(a) && (G.has(t.status) && (this.completed.set(t.commandId, {
1016
+ async finish(t, e, i, r, n = this.principalGeneration) {
1017
+ this.isCurrentPrincipal(n) && (B.has(t.status) && (this.completed.set(t.commandId, {
1031
1018
  ...t,
1032
- storedUntil: Date.now() + Pt
1019
+ storedUntil: Date.now() + ee
1033
1020
  }), this.saveCompleted(e)), this.onStatus?.({ ...t, commandType: r }), await i(t));
1034
1021
  }
1035
1022
  ensurePrincipal(t, e) {
@@ -1058,7 +1045,7 @@ class Mt {
1058
1045
  try {
1059
1046
  const e = window.sessionStorage.getItem(this.storageKey(t)), i = e ? JSON.parse(e) : [];
1060
1047
  for (const r of i)
1061
- r.storedUntil > Date.now() && G.has(r.status) && this.completed.set(r.commandId, r);
1048
+ r.storedUntil > Date.now() && B.has(r.status) && this.completed.set(r.commandId, r);
1062
1049
  } catch {
1063
1050
  }
1064
1051
  }
@@ -1083,20 +1070,34 @@ class Mt {
1083
1070
  };
1084
1071
  }
1085
1072
  }
1086
- const X = (o) => o.replace(/\/$/, ""), Q = X(
1073
+ const pt = (a) => a.replace(/\/$/, ""), j = pt(
1087
1074
  "https://api.retenive.com/api/v1"
1088
- ), jt = "wss://api.retenive.com/cable", Gt = X(
1075
+ ), le = "wss://api.retenive.com/cable", de = pt(
1089
1076
  "https://metamediastatic.com"
1090
- ), Le = (o) => {
1091
- const t = new URL(jt);
1092
- return t.searchParams.set("access_token", o), t.toString();
1077
+ ), Oi = (a) => {
1078
+ const t = new URL(le);
1079
+ return t.searchParams.set("access_token", a), t.toString();
1080
+ }, ut = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu, ft = () => {
1081
+ try {
1082
+ if (typeof globalThis.crypto?.randomUUID == "function")
1083
+ return globalThis.crypto.randomUUID();
1084
+ } catch {
1085
+ }
1086
+ if (typeof globalThis.crypto?.getRandomValues != "function")
1087
+ throw new Error("Secure UUID generation is unavailable");
1088
+ const a = globalThis.crypto.getRandomValues(new Uint8Array(16));
1089
+ a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128;
1090
+ const t = [...a].map((e) => e.toString(16).padStart(2, "0")).join("");
1091
+ return `${t.slice(0, 8)}-${t.slice(8, 12)}-${t.slice(12, 16)}-${t.slice(16, 20)}-${t.slice(20)}`;
1093
1092
  };
1094
- class Ft {
1095
- constructor(t, e) {
1096
- this.getSession = t, this.onSessionExpired = e;
1093
+ class he {
1094
+ constructor(t, e, i) {
1095
+ this.getSession = t, this.onSessionExpired = e, this.clientEnvironment = i;
1097
1096
  }
1097
+ destroyed = !1;
1098
1098
  async track(t) {
1099
1099
  try {
1100
+ if (this.destroyed) return;
1100
1101
  if (!t || typeof t.event != "string" || !t.event.trim())
1101
1102
  throw new TypeError("Event tracking requires a non-empty event name");
1102
1103
  const { event: e, params: i = {} } = t;
@@ -1107,39 +1108,64 @@ class Ft {
1107
1108
  this.onSessionExpired();
1108
1109
  return;
1109
1110
  }
1110
- const a = await fetch(`${Q}/events/client`, {
1111
+ const n = (/* @__PURE__ */ new Date()).toISOString(), o = window.location.pathname, s = JSON.parse(
1112
+ JSON.stringify({
1113
+ eventCode: e,
1114
+ occurredAt: n,
1115
+ payload: i,
1116
+ context: { route: o }
1117
+ })
1118
+ );
1119
+ let c = null;
1120
+ try {
1121
+ c = await this.clientEnvironment.ensureForEvent(
1122
+ r.interactionSessionId
1123
+ );
1124
+ } catch (w) {
1125
+ g.debug("Client Environment attribution failed", w);
1126
+ }
1127
+ if (this.destroyed) return;
1128
+ const l = this.getSession(), d = l.interactionSessionId === r.interactionSessionId ? l : r;
1129
+ if (Date.parse(d.expiresAt) <= Date.now()) {
1130
+ l.interactionSessionId === r.interactionSessionId && this.onSessionExpired();
1131
+ return;
1132
+ }
1133
+ const u = l.interactionSessionId === r.interactionSessionId ? c : null, p = await fetch(`${j}/events/client`, {
1111
1134
  method: "POST",
1112
1135
  headers: {
1113
- Authorization: `Bearer ${r.accessToken}`,
1136
+ Authorization: `Bearer ${d.accessToken}`,
1114
1137
  "Content-Type": "application/json",
1115
- "Idempotency-Key": crypto.randomUUID()
1138
+ "Idempotency-Key": ft()
1116
1139
  },
1117
1140
  body: JSON.stringify({
1118
- eventCode: e,
1119
- occurredAt: (/* @__PURE__ */ new Date()).toISOString(),
1120
- payload: i,
1121
- context: { route: window.location.pathname }
1141
+ ...s,
1142
+ ...u ? {
1143
+ clientEnvironmentObservationRef: u
1144
+ } : {}
1122
1145
  })
1123
- }), s = this.getSession();
1124
- if (a.status === 401 && s.accessToken === r.accessToken && s.interactionSessionId === r.interactionSessionId && this.onSessionExpired(), !a.ok) {
1125
- const n = await a.json().catch(() => null), c = n?.error?.code || `LOLA_HTTP_${a.status}`, l = n?.error?.message || a.statusText || "Lola event request failed";
1126
- throw new Error(`${c}: ${l}`);
1146
+ }), m = this.getSession();
1147
+ if (p.status === 401 && m.accessToken === d.accessToken && m.interactionSessionId === d.interactionSessionId && this.onSessionExpired(), !p.ok) {
1148
+ const w = await p.json().catch(() => null), f = w?.error?.code || `LOLA_HTTP_${p.status}`, E = w?.error?.message || p.statusText || "Lola event request failed";
1149
+ throw new Error(`${f}: ${E}`);
1127
1150
  }
1128
1151
  } catch (e) {
1129
- b.warn("Event tracking failed", e);
1152
+ g.warn("Event tracking failed", e);
1130
1153
  }
1131
1154
  }
1155
+ destroy() {
1156
+ this.destroyed = !0;
1157
+ }
1132
1158
  }
1133
- const L = 300 * 1e3;
1134
- function Pe(o, t = Date.now()) {
1135
- const e = Date.parse(o.expiresAt);
1136
- return !Number.isFinite(e) || e <= t + L;
1159
+ const H = 300 * 1e3;
1160
+ function Ni(a, t = Date.now()) {
1161
+ const e = Date.parse(a.expiresAt);
1162
+ return !Number.isFinite(e) || e <= t + H;
1137
1163
  }
1138
- const J = 1, Vt = [
1164
+ const gt = 1, pe = [
1139
1165
  "SURFACE_STATE_CHANGED",
1140
1166
  "EXPERIENCE_PRESENTED",
1141
1167
  "EXPERIENCE_ENGAGED"
1142
- ], Bt = [
1168
+ ], ue = [
1143
1169
  "CHAT_OPENED",
1144
1170
  "CHAT_CLOSED",
1145
1171
  "MESSAGE_PRESENTED",
@@ -1149,64 +1175,64 @@ const J = 1, Vt = [
1149
1175
  "CTA_DISMISSED",
1150
1176
  "TARGET_PRESENTED",
1151
1177
  "TARGET_ACTIVATED"
1152
- ], $t = [
1178
+ ], fe = [
1153
1179
  "USER",
1154
1180
  "SCENARIO",
1155
1181
  "HOST"
1156
- ], Yt = [
1182
+ ], ge = [
1157
1183
  "SURFACE",
1158
1184
  "MESSAGE",
1159
1185
  "CHOICE",
1160
1186
  "CTA",
1161
1187
  "TARGET"
1162
- ], Wt = ["SUCCEEDED", "FAILED"], Kt = [
1188
+ ], me = ["SUCCEEDED", "FAILED"], we = [
1163
1189
  "USER_LAUNCHER",
1164
1190
  "USER_CLOSE_BUTTON",
1165
1191
  "HOST_SET_OPEN",
1166
1192
  "SCENARIO_COMMAND",
1167
1193
  "UNKNOWN"
1168
- ], Xt = ["CHAT", "COMPACT_PREVIEW"], Qt = "/scenario-interactions/capabilities", Jt = "/scenario-interactions/batch", Zt = 160, te = 16, ee = 1500, ie = 1e4, re = 60 * 1024, ae = 2147483647, F = 60 * 6e4, oe = 100, I = [1e3, 2e3, 5e3, 1e4, 3e4], ne = 3e4, se = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, Z = new Set(Vt), tt = new Set(Bt), et = new Set($t), ce = new Set(Yt), le = new Set(Wt), de = new Set(Kt), he = new Set(Xt), pe = /* @__PURE__ */ new Set([
1194
+ ], be = ["CHAT", "COMPACT_PREVIEW"], ve = "/scenario-interactions/capabilities", xe = "/scenario-interactions/batch", ye = 160, ke = 16, Ee = 1500, Se = 1e4, _e = 60 * 1024, Ie = 2147483647, K = 60 * 6e4, Te = 100, R = [1e3, 2e3, 5e3, 1e4, 3e4], Ae = 3e4, Re = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, mt = new Set(pe), wt = new Set(ue), bt = new Set(fe), Ce = new Set(ge), Oe = new Set(me), Ne = new Set(we), Pe = new Set(be), De = /* @__PURE__ */ new Set([
1169
1195
  "ACCEPTED",
1170
1196
  "DUPLICATE",
1171
1197
  "IGNORED_NO_INTEREST",
1172
1198
  "REJECTED"
1173
- ]), ue = (o) => {
1174
- if (o) return o;
1199
+ ]), Le = (a) => {
1200
+ if (a) return a;
1175
1201
  const t = globalThis.fetch;
1176
1202
  if (typeof t != "function")
1177
1203
  throw new Error(
1178
1204
  "Scenario interaction collection requires a global or injected fetch"
1179
1205
  );
1180
1206
  return t.bind(globalThis);
1181
- }, fe = (o) => new TextEncoder().encode(o).length, V = (o) => o === 408 || o === 425 || o === 429 || o >= 500, ge = (o) => {
1182
- if (!o || typeof o != "object" || Array.isArray(o)) return null;
1183
- const t = o;
1184
- return t.version !== J || !Number.isSafeInteger(t.maxBatchItems) || t.maxBatchItems < 1 || !Number.isSafeInteger(t.maxRequestBytes) || t.maxRequestBytes < 1 || !Number.isSafeInteger(t.sessionHourlyLimit) || t.sessionHourlyLimit < 1 || !Number.isSafeInteger(t.retentionDays) || t.retentionDays < 1 || !Array.isArray(t.kinds) || !t.kinds.every((e) => typeof e == "string") || !Array.isArray(t.types) || !t.types.every((e) => typeof e == "string") || !Array.isArray(t.actors) || !t.actors.every((e) => typeof e == "string") || typeof t.attributionHandleSupported != "boolean" ? null : {
1207
+ }, Ue = (a) => new TextEncoder().encode(a).length, $ = (a) => a === 408 || a === 425 || a === 429 || a >= 500, He = (a) => {
1208
+ if (!a || typeof a != "object" || Array.isArray(a)) return null;
1209
+ const t = a;
1210
+ return t.version !== gt || !Number.isSafeInteger(t.maxBatchItems) || t.maxBatchItems < 1 || !Number.isSafeInteger(t.maxRequestBytes) || t.maxRequestBytes < 1 || !Number.isSafeInteger(t.sessionHourlyLimit) || t.sessionHourlyLimit < 1 || !Number.isSafeInteger(t.retentionDays) || t.retentionDays < 1 || !Array.isArray(t.kinds) || !t.kinds.every((e) => typeof e == "string") || !Array.isArray(t.types) || !t.types.every((e) => typeof e == "string") || !Array.isArray(t.actors) || !t.actors.every((e) => typeof e == "string") || typeof t.attributionHandleSupported != "boolean" ? null : {
1185
1211
  version: t.version,
1186
1212
  maxBatchItems: t.maxBatchItems,
1187
1213
  maxRequestBytes: t.maxRequestBytes,
1188
1214
  sessionHourlyLimit: t.sessionHourlyLimit,
1189
1215
  retentionDays: t.retentionDays,
1190
- kinds: t.kinds.filter((e) => Z.has(e)),
1191
- types: t.types.filter((e) => tt.has(e)),
1192
- actors: t.actors.filter((e) => et.has(e)),
1216
+ kinds: t.kinds.filter((e) => mt.has(e)),
1217
+ types: t.types.filter((e) => wt.has(e)),
1218
+ actors: t.actors.filter((e) => bt.has(e)),
1193
1219
  attributionHandleSupported: t.attributionHandleSupported
1194
1220
  };
1195
- }, me = (o) => {
1196
- if (!o || typeof o != "object" || Array.isArray(o)) return null;
1197
- const t = o.receipts;
1221
+ }, Me = (a) => {
1222
+ if (!a || typeof a != "object" || Array.isArray(a)) return null;
1223
+ const t = a.receipts;
1198
1224
  if (!Array.isArray(t)) return null;
1199
1225
  for (const e of t)
1200
- if (!e || typeof e != "object" || typeof e.clientObservationId != "string" || !e.clientObservationId.length || e.clientObservationId.length > 128 || !pe.has(e.status))
1226
+ if (!e || typeof e != "object" || typeof e.clientObservationId != "string" || !e.clientObservationId.length || e.clientObservationId.length > 128 || !De.has(e.status))
1201
1227
  return null;
1202
1228
  return t;
1203
1229
  };
1204
- class be {
1230
+ class je {
1205
1231
  constructor(t, e, i = {}) {
1206
- this.getSession = t, this.onSessionExpired = e, this.baseUrl = i.baseUrl ?? Q, this.queueLimit = i.queueLimit ?? Zt, this.batchLimit = i.batchLimit ?? te, this.flushIntervalMs = i.flushIntervalMs ?? ee, this.requestTimeoutMs = Math.max(
1232
+ this.getSession = t, this.onSessionExpired = e, this.baseUrl = i.baseUrl ?? j, this.queueLimit = i.queueLimit ?? ye, this.batchLimit = i.batchLimit ?? ke, this.flushIntervalMs = i.flushIntervalMs ?? Ee, this.requestTimeoutMs = Math.max(
1207
1233
  1,
1208
- i.requestTimeoutMs ?? ie
1209
- ), this.fetchImpl = ue(i.fetch), this.createId = i.createId ?? (() => crypto.randomUUID()), this.now = i.now ?? Date.now, this.random = i.random ?? Math.random;
1234
+ i.requestTimeoutMs ?? Se
1235
+ ), this.fetchImpl = Le(i.fetch), this.createId = i.createId ?? (() => crypto.randomUUID()), this.now = i.now ?? Date.now, this.random = i.random ?? Math.random;
1210
1236
  const r = t();
1211
1237
  this.principalSessionId = r.interactionSessionId, this.principalAccessToken = r.accessToken, this.principalExpiresAt = r.expiresAt, this.admissionWindowStartedAt = this.now();
1212
1238
  }
@@ -1255,18 +1281,18 @@ class be {
1255
1281
  if (t.interactionSessionId !== this.principalSessionId)
1256
1282
  return this.principalSessionId = t.interactionSessionId, this.principalAccessToken = t.accessToken, this.principalExpiresAt = t.expiresAt, this.queue.length = 0, this.sequence = 0, this.capabilities = void 0, this.sessionGeneration += 1, this.abortPendingRequests(), this.awaitingRenewalToken = null, this.resetRecoveryState(), this.quotaBlockedUntil = 0, this.admissionWindowStartedAt = this.now(), this.admissionCount = 0, this.clearFlushTimer(), this.started && this.ensureCapabilities(), !0;
1257
1283
  if (t.accessToken !== this.principalAccessToken) {
1258
- const s = this.capabilities;
1259
- return this.principalAccessToken = t.accessToken, this.principalExpiresAt = t.expiresAt, this.sessionGeneration += 1, this.abortPendingRequests(), this.awaitingRenewalToken = null, this.resetRecoveryState(), this.clearFlushTimer(), s ? (this.capabilities = s, this.started && this.scheduleFlush(0)) : (this.capabilities = void 0, this.started && this.ensureCapabilities()), !1;
1284
+ const o = this.capabilities;
1285
+ return this.principalAccessToken = t.accessToken, this.principalExpiresAt = t.expiresAt, this.sessionGeneration += 1, this.abortPendingRequests(), this.awaitingRenewalToken = null, this.resetRecoveryState(), this.clearFlushTimer(), o ? (this.capabilities = o, this.started && this.scheduleFlush(0)) : (this.capabilities = void 0, this.started && this.ensureCapabilities()), !1;
1260
1286
  }
1261
- const i = Date.parse(this.principalExpiresAt), r = Date.parse(t.expiresAt), a = r > i;
1262
- return this.principalExpiresAt = t.expiresAt, this.awaitingRenewalToken && (t.accessToken !== this.awaitingRenewalToken || r > this.now()) && (this.awaitingRenewalToken = null, this.retryAttempt = 0, this.capabilities ? this.scheduleFlush(0) : this.ensureCapabilities()), this.started && a && r > this.now() && (this.capabilityRetryTimer !== void 0 || this.retryTimer !== void 0 || this.capabilityRetriesSuspended || this.batchRetriesSuspended) && this.resumeAfterStrongSignal(), !1;
1287
+ const i = Date.parse(this.principalExpiresAt), r = Date.parse(t.expiresAt), n = r > i;
1288
+ return this.principalExpiresAt = t.expiresAt, this.awaitingRenewalToken && (t.accessToken !== this.awaitingRenewalToken || r > this.now()) && (this.awaitingRenewalToken = null, this.retryAttempt = 0, this.capabilities ? this.scheduleFlush(0) : this.ensureCapabilities()), this.started && n && r > this.now() && (this.capabilityRetryTimer !== void 0 || this.retryTimer !== void 0 || this.capabilityRetriesSuspended || this.batchRetriesSuspended) && this.resumeAfterStrongSignal(), !1;
1263
1289
  }
1264
1290
  enqueue(t) {
1265
- if (this.destroyed || this.capabilities === null || typeof t.kind != "string" || !Z.has(t.kind) || typeof t.type != "string" || !tt.has(t.type) || typeof t.actor != "string" || !et.has(t.actor))
1291
+ if (this.destroyed || this.capabilities === null || typeof t.kind != "string" || !mt.has(t.kind) || typeof t.type != "string" || !wt.has(t.type) || typeof t.actor != "string" || !bt.has(t.actor))
1266
1292
  return null;
1267
1293
  const e = this.nextSequence();
1268
1294
  if (e === null)
1269
- return b.warn(
1295
+ return g.warn(
1270
1296
  "Scenario interaction sequence is exhausted; observation dropped"
1271
1297
  ), null;
1272
1298
  const i = this.buildObservation(t, e);
@@ -1274,15 +1300,15 @@ class be {
1274
1300
  return null;
1275
1301
  this.capabilities && !this.capabilities.attributionHandleSupported && delete i.attributionHandle;
1276
1302
  const r = i.kind !== "SURFACE_STATE_CHANGED" || i.type === "CHAT_CLOSED" && !!i.attributionHandle;
1277
- let a = -1;
1303
+ let n = -1;
1278
1304
  if (this.queue.length >= this.queueLimit) {
1279
1305
  if (!r) return null;
1280
- if (a = this.queue.findIndex(
1281
- (s) => !s.protectedFromRoutineEviction
1282
- ), a < 0)
1283
- return b.warn("Scenario interaction queue is full; observation dropped"), null;
1306
+ if (n = this.queue.findIndex(
1307
+ (o) => !o.protectedFromRoutineEviction
1308
+ ), n < 0)
1309
+ return g.warn("Scenario interaction queue is full; observation dropped"), null;
1284
1310
  }
1285
- return this.capabilities && !this.admitWithinSessionQuota(this.capabilities) ? null : (a >= 0 && this.queue.splice(a, 1), this.queue.push({ observation: i, protectedFromRoutineEviction: r }), this.probeAfterUserObservation(i), this.capabilities ? this.scheduleFlush() : this.started && !this.capabilityRetriesSuspended && this.ensureCapabilities(), i.clientObservationId);
1311
+ return this.capabilities && !this.admitWithinSessionQuota(this.capabilities) ? null : (n >= 0 && this.queue.splice(n, 1), this.queue.push({ observation: i, protectedFromRoutineEviction: r }), this.probeAfterUserObservation(i), this.capabilities ? this.scheduleFlush() : this.started && !this.capabilityRetriesSuspended && this.ensureCapabilities(), i.clientObservationId);
1286
1312
  }
1287
1313
  getQueueSnapshot() {
1288
1314
  return this.queue.map(({ observation: t }) => t);
@@ -1304,12 +1330,12 @@ class be {
1304
1330
  }
1305
1331
  const i = this.sessionGeneration, r = this.createRequestControl();
1306
1332
  this.batchRequestControl = r, this.batchRequestUsesKeepalive = e;
1307
- const a = this.flushOnce(e, i, r).finally(
1333
+ const n = this.flushOnce(e, i, r).finally(
1308
1334
  () => {
1309
- this.finishRequestControl(r), this.flushRequest === a && (this.flushRequest = null), this.batchRequestControl === r && (this.batchRequestControl = null, this.batchRequestUsesKeepalive = !1);
1335
+ this.finishRequestControl(r), this.flushRequest === n && (this.flushRequest = null), this.batchRequestControl === r && (this.batchRequestControl = null, this.batchRequestUsesKeepalive = !1);
1310
1336
  }
1311
1337
  );
1312
- return this.flushRequest = a, a;
1338
+ return this.flushRequest = n, n;
1313
1339
  }
1314
1340
  onOnlineOrFocus = () => {
1315
1341
  this.resumeAfterStrongSignal();
@@ -1322,7 +1348,7 @@ class be {
1322
1348
  return;
1323
1349
  const e = this.now();
1324
1350
  if (!(e < this.nextUserRecoveryProbeAt)) {
1325
- if (this.nextUserRecoveryProbeAt = e + ne, this.capabilityRetriesSuspended && this.capabilities === void 0) {
1351
+ if (this.nextUserRecoveryProbeAt = e + Ae, this.capabilityRetriesSuspended && this.capabilities === void 0) {
1326
1352
  this.capabilityRetriesSuspended = !1, this.ensureCapabilities();
1327
1353
  return;
1328
1354
  }
@@ -1336,22 +1362,22 @@ class be {
1336
1362
  this.flush({ keepalive: !0 });
1337
1363
  };
1338
1364
  buildObservation(t, e) {
1339
- const i = t.attributionHandle && se.test(t.attributionHandle) ? t.attributionHandle : void 0;
1365
+ const i = t.attributionHandle && Re.test(t.attributionHandle) ? t.attributionHandle : void 0;
1340
1366
  return {
1341
1367
  clientObservationId: this.createId().slice(0, 128),
1342
- version: J,
1368
+ version: gt,
1343
1369
  kind: t.kind,
1344
1370
  type: t.type,
1345
1371
  actor: t.actor,
1346
1372
  occurredAt: new Date(this.now()).toISOString(),
1347
1373
  sequence: e,
1348
1374
  ...typeof t.surfaceEpisodeId == "string" && t.surfaceEpisodeId ? { surfaceEpisodeId: t.surfaceEpisodeId.slice(0, 128) } : {},
1349
- ...typeof t.subjectKind == "string" && ce.has(t.subjectKind) && typeof t.subjectId == "string" && t.subjectId ? {
1375
+ ...typeof t.subjectKind == "string" && Ce.has(t.subjectKind) && typeof t.subjectId == "string" && t.subjectId ? {
1350
1376
  subjectKind: t.subjectKind,
1351
1377
  subjectId: t.subjectId.slice(0, 255)
1352
1378
  } : {},
1353
- ...typeof t.result == "string" && le.has(t.result) ? { result: t.result } : {},
1354
- ...typeof t.reason == "string" && de.has(t.reason) ? { reason: t.reason } : {},
1379
+ ...typeof t.result == "string" && Oe.has(t.result) ? { result: t.result } : {},
1380
+ ...typeof t.reason == "string" && Ne.has(t.reason) ? { reason: t.reason } : {},
1355
1381
  ...i ? { attributionHandle: i } : {},
1356
1382
  ...this.buildDetails(t)
1357
1383
  };
@@ -1359,7 +1385,7 @@ class be {
1359
1385
  buildDetails(t) {
1360
1386
  if (!t.details) return {};
1361
1387
  const e = {};
1362
- return typeof t.details.surface == "string" && he.has(t.details.surface) && (e.surface = t.details.surface), Number.isSafeInteger(t.details.presentationOrdinal) && t.details.presentationOrdinal >= 0 && t.details.presentationOrdinal <= 1e4 && (e.presentationOrdinal = t.details.presentationOrdinal), Object.keys(e).length ? { details: e } : {};
1388
+ return typeof t.details.surface == "string" && Pe.has(t.details.surface) && (e.surface = t.details.surface), Number.isSafeInteger(t.details.presentationOrdinal) && t.details.presentationOrdinal >= 0 && t.details.presentationOrdinal <= 1e4 && (e.presentationOrdinal = t.details.presentationOrdinal), Object.keys(e).length ? { details: e } : {};
1363
1389
  }
1364
1390
  async ensureCapabilities() {
1365
1391
  if (this.destroyed || this.capabilityRetriesSuspended || this.capabilityRetryTimer !== void 0 || this.capabilities !== void 0 || this.capabilityRequest)
@@ -1376,8 +1402,8 @@ class be {
1376
1402
  const { signal: i } = e.controller, r = this.getSession();
1377
1403
  if (!this.sessionNeedsRenewal(r))
1378
1404
  try {
1379
- const a = await this.fetchImpl(
1380
- `${this.baseUrl}${Qt}`,
1405
+ const n = await this.fetchImpl(
1406
+ `${this.baseUrl}${ve}`,
1381
1407
  {
1382
1408
  // A conditional 304 has no JSON body and cannot negotiate the
1383
1409
  // collector contract. Always request a complete representation.
@@ -1387,55 +1413,55 @@ class be {
1387
1413
  }
1388
1414
  );
1389
1415
  if (!this.isCurrentGeneration(t) || i.aborted) return;
1390
- if (a.status === 401) {
1416
+ if (n.status === 401) {
1391
1417
  this.handleUnauthorized(r);
1392
1418
  return;
1393
1419
  }
1394
- if (!a.ok) {
1395
- a.status === 304 || V(a.status) ? (this.capabilities = void 0, this.scheduleCapabilityRetry()) : this.disableSending(
1396
- `Scenario interaction capability request was rejected with ${a.status}`
1420
+ if (!n.ok) {
1421
+ n.status === 304 || $(n.status) ? (this.capabilities = void 0, this.scheduleCapabilityRetry()) : this.disableSending(
1422
+ `Scenario interaction capability request was rejected with ${n.status}`
1397
1423
  );
1398
1424
  return;
1399
1425
  }
1400
- const s = ge(await a.json());
1426
+ const o = He(await n.json());
1401
1427
  if (!this.isCurrentGeneration(t) || i.aborted) return;
1402
- if (!s) {
1428
+ if (!o) {
1403
1429
  this.disableSending("Scenario interaction capabilities are invalid");
1404
1430
  return;
1405
1431
  }
1406
- this.capabilities = s, this.resetCapabilityRecoveryState(), this.nextUserRecoveryProbeAt = 0, this.dropUnsupportedObservations(s), this.admissionCount = Math.max(this.admissionCount, this.queue.length), this.queue.length && this.scheduleFlush(0);
1407
- } catch (a) {
1432
+ this.capabilities = o, this.resetCapabilityRecoveryState(), this.nextUserRecoveryProbeAt = 0, this.dropUnsupportedObservations(o), this.admissionCount = Math.max(this.admissionCount, this.queue.length), this.queue.length && this.scheduleFlush(0);
1433
+ } catch (n) {
1408
1434
  if (!this.isCurrentGeneration(t) || i.aborted && !e.timedOut)
1409
1435
  return;
1410
- this.capabilities = void 0, this.scheduleCapabilityRetry(), b.debug("Scenario interaction capability request failed", a);
1436
+ this.capabilities = void 0, this.scheduleCapabilityRetry(), g.debug("Scenario interaction capability request failed", n);
1411
1437
  }
1412
1438
  }
1413
1439
  async flushOnce(t, e, i) {
1414
1440
  const { signal: r } = i.controller;
1415
1441
  this.clearFlushTimer();
1416
- const a = this.capabilities;
1442
+ const n = this.capabilities;
1417
1443
  if (this.isQuotaBlocked()) {
1418
1444
  this.scheduleFlush(this.quotaBlockedUntil - this.now());
1419
1445
  return;
1420
1446
  }
1421
- if (this.destroyed || !a || !this.queue.length || this.awaitingRenewalToken || typeof navigator < "u" && !navigator.onLine)
1447
+ if (this.destroyed || !n || !this.queue.length || this.awaitingRenewalToken || typeof navigator < "u" && !navigator.onLine)
1422
1448
  return;
1423
- const s = this.getSession();
1424
- if (s.interactionSessionId !== this.principalSessionId) {
1425
- this.updateSession(s);
1449
+ const o = this.getSession();
1450
+ if (o.interactionSessionId !== this.principalSessionId) {
1451
+ this.updateSession(o);
1426
1452
  return;
1427
1453
  }
1428
- if (this.sessionNeedsRenewal(s)) return;
1429
- const n = this.selectBatch(a, t);
1430
- if (!n.length) return;
1454
+ if (this.sessionNeedsRenewal(o)) return;
1455
+ const s = this.selectBatch(n, t);
1456
+ if (!s.length) return;
1431
1457
  const c = JSON.stringify({
1432
- items: n.map(({ observation: l }) => l)
1458
+ items: s.map(({ observation: l }) => l)
1433
1459
  });
1434
1460
  try {
1435
- const l = await this.fetchImpl(`${this.baseUrl}${Jt}`, {
1461
+ const l = await this.fetchImpl(`${this.baseUrl}${xe}`, {
1436
1462
  method: "POST",
1437
1463
  headers: {
1438
- Authorization: `Bearer ${s.accessToken}`,
1464
+ Authorization: `Bearer ${o.accessToken}`,
1439
1465
  "Content-Type": "application/json"
1440
1466
  },
1441
1467
  body: c,
@@ -1444,26 +1470,26 @@ class be {
1444
1470
  });
1445
1471
  if (!this.isCurrentGeneration(e) || r.aborted) return;
1446
1472
  if (l.status === 401) {
1447
- this.handleUnauthorized(s);
1473
+ this.handleUnauthorized(o);
1448
1474
  return;
1449
1475
  }
1450
1476
  if (!l.ok) {
1451
- V(l.status) ? this.scheduleRetry() : this.disableSending(
1477
+ $(l.status) ? this.scheduleRetry() : this.disableSending(
1452
1478
  `Scenario interaction batch was rejected with ${l.status}`
1453
1479
  );
1454
1480
  return;
1455
1481
  }
1456
- const h = me(await l.json());
1482
+ const d = Me(await l.json());
1457
1483
  if (!this.isCurrentGeneration(e) || r.aborted) return;
1458
- if (!h) {
1484
+ if (!d) {
1459
1485
  this.scheduleRetry();
1460
1486
  return;
1461
1487
  }
1462
1488
  const u = new Set(
1463
- n.map(({ observation: f }) => f.clientObservationId)
1489
+ s.map(({ observation: f }) => f.clientObservationId)
1464
1490
  ), p = new Set(
1465
- h.filter((f) => u.has(f.clientObservationId)).map((f) => f.clientObservationId)
1466
- ), g = h.some(
1491
+ d.filter((f) => u.has(f.clientObservationId)).map((f) => f.clientObservationId)
1492
+ ), m = d.some(
1467
1493
  (f) => u.has(f.clientObservationId) && f.status === "REJECTED" && f.code === "SESSION_HOURLY_QUOTA_EXCEEDED"
1468
1494
  );
1469
1495
  if (p.size)
@@ -1471,13 +1497,13 @@ class be {
1471
1497
  p.has(
1472
1498
  this.queue[f].observation.clientObservationId
1473
1499
  ) && this.queue.splice(f, 1);
1474
- this.resetBatchRecoveryState(), this.nextUserRecoveryProbeAt = 0, g && (this.quotaBlockedUntil = this.now() + F), n.some(
1500
+ this.resetBatchRecoveryState(), this.nextUserRecoveryProbeAt = 0, m && (this.quotaBlockedUntil = this.now() + K), s.some(
1475
1501
  ({ observation: f }) => !p.has(f.clientObservationId)
1476
- ) ? this.scheduleRetry() : this.queue.length && this.scheduleFlush(oe);
1502
+ ) ? this.scheduleRetry() : this.queue.length && this.scheduleFlush(Te);
1477
1503
  } catch (l) {
1478
1504
  if (!this.isCurrentGeneration(e) || r.aborted && !i.timedOut)
1479
1505
  return;
1480
- this.scheduleRetry(), b.debug("Scenario interaction batch request failed", l);
1506
+ this.scheduleRetry(), g.debug("Scenario interaction batch request failed", l);
1481
1507
  }
1482
1508
  }
1483
1509
  selectBatch(t, e) {
@@ -1486,18 +1512,18 @@ class be {
1486
1512
  Math.min(this.batchLimit, t.maxBatchItems)
1487
1513
  ), r = Math.min(
1488
1514
  t.maxRequestBytes,
1489
- e ? re : t.maxRequestBytes
1515
+ e ? _e : t.maxRequestBytes
1490
1516
  );
1491
1517
  for (; this.queue.length; ) {
1492
- const a = this.queue.slice(0, i);
1493
- for (; a.length && fe(
1518
+ const n = this.queue.slice(0, i);
1519
+ for (; n.length && Ue(
1494
1520
  JSON.stringify({
1495
- items: a.map(({ observation: s }) => s)
1521
+ items: n.map(({ observation: o }) => o)
1496
1522
  })
1497
1523
  ) > r; )
1498
- a.pop();
1499
- if (a.length) return a;
1500
- this.queue.shift(), b.warn(
1524
+ n.pop();
1525
+ if (n.length) return n;
1526
+ this.queue.shift(), g.warn(
1501
1527
  "Scenario interaction observation exceeds the server request limit; observation dropped"
1502
1528
  );
1503
1529
  }
@@ -1519,7 +1545,7 @@ class be {
1519
1545
  return !this.destroyed && t === this.sessionGeneration;
1520
1546
  }
1521
1547
  nextSequence() {
1522
- if (this.sequence > ae) return null;
1548
+ if (this.sequence > Ie) return null;
1523
1549
  const t = this.sequence;
1524
1550
  return this.sequence += 1, t;
1525
1551
  }
@@ -1558,7 +1584,7 @@ class be {
1558
1584
  scheduleRetry() {
1559
1585
  if (this.destroyed || this.retryTimer !== void 0)
1560
1586
  return;
1561
- if (this.retryAttempt >= I.length) {
1587
+ if (this.retryAttempt >= R.length) {
1562
1588
  this.batchRetriesSuspended = !0;
1563
1589
  return;
1564
1590
  }
@@ -1570,7 +1596,7 @@ class be {
1570
1596
  scheduleCapabilityRetry() {
1571
1597
  if (this.destroyed || this.capabilityRetryTimer !== void 0)
1572
1598
  return;
1573
- if (this.capabilityRetryAttempt >= I.length) {
1599
+ if (this.capabilityRetryAttempt >= R.length) {
1574
1600
  this.capabilityRetriesSuspended = !0;
1575
1601
  return;
1576
1602
  }
@@ -1601,33 +1627,33 @@ class be {
1601
1627
  this.capabilityRetryTimer !== void 0 && window.clearTimeout(this.capabilityRetryTimer), this.capabilityRetryTimer = void 0;
1602
1628
  }
1603
1629
  retryDelay(t) {
1604
- const e = I[Math.min(t, I.length - 1)], i = 0.75 + Math.min(1, Math.max(0, this.random())) * 0.5;
1630
+ const e = R[Math.min(t, R.length - 1)], i = 0.75 + Math.min(1, Math.max(0, this.random())) * 0.5;
1605
1631
  return Math.max(1, Math.round(e * i));
1606
1632
  }
1607
1633
  disableSending(t) {
1608
- this.capabilities = null, this.queue.length = 0, this.nextUserRecoveryProbeAt = 0, this.clearTimers(), b.debug(t);
1634
+ this.capabilities = null, this.queue.length = 0, this.nextUserRecoveryProbeAt = 0, this.clearTimers(), g.debug(t);
1609
1635
  }
1610
1636
  admitWithinSessionQuota(t) {
1611
1637
  if (this.isQuotaBlocked()) return !1;
1612
1638
  const e = this.now();
1613
- return e - this.admissionWindowStartedAt >= F && (this.admissionWindowStartedAt = e, this.admissionCount = 0), this.admissionCount >= t.sessionHourlyLimit ? !1 : (this.admissionCount += 1, !0);
1639
+ return e - this.admissionWindowStartedAt >= K && (this.admissionWindowStartedAt = e, this.admissionCount = 0), this.admissionCount >= t.sessionHourlyLimit ? !1 : (this.admissionCount += 1, !0);
1614
1640
  }
1615
1641
  isQuotaBlocked() {
1616
1642
  return this.quotaBlockedUntil <= this.now() ? (this.quotaBlockedUntil = 0, !1) : !0;
1617
1643
  }
1618
1644
  }
1619
- const we = (o) => {
1620
- switch (o.reason) {
1645
+ const qe = (a) => {
1646
+ switch (a.reason) {
1621
1647
  case "USER_LAUNCHER":
1622
1648
  case "USER_CLOSE_BUTTON":
1623
1649
  case "HOST_SET_OPEN":
1624
1650
  case "SCENARIO_COMMAND":
1625
- return o.reason;
1651
+ return a.reason;
1626
1652
  default:
1627
1653
  return "UNKNOWN";
1628
1654
  }
1629
1655
  };
1630
- class ve {
1656
+ class ze {
1631
1657
  constructor(t, e = () => crypto.randomUUID()) {
1632
1658
  this.observe = t, this.createId = e;
1633
1659
  }
@@ -1646,14 +1672,14 @@ class ve {
1646
1672
  t === "OPEN" && (this.episode = { id: this.createId(), openedBy: e });
1647
1673
  const r = this.episode;
1648
1674
  if (this.state = t, e.actor !== "SYSTEM") {
1649
- const a = e.sourceCommandId ?? r?.latestScenarioHandle ?? r?.openedBy.sourceCommandId;
1675
+ const n = e.sourceCommandId ?? r?.latestScenarioHandle ?? r?.openedBy.sourceCommandId;
1650
1676
  this.observe({
1651
1677
  kind: "SURFACE_STATE_CHANGED",
1652
1678
  type: t === "OPEN" ? "CHAT_OPENED" : "CHAT_CLOSED",
1653
1679
  actor: e.actor,
1654
- reason: we(e),
1680
+ reason: qe(e),
1655
1681
  ...r ? { surfaceEpisodeId: r.id } : {},
1656
- ...a ? { attributionHandle: a } : {},
1682
+ ...n ? { attributionHandle: n } : {},
1657
1683
  subjectKind: "SURFACE",
1658
1684
  subjectId: "assistant_chat"
1659
1685
  });
@@ -1686,71 +1712,71 @@ class ve {
1686
1712
  this.episode = null;
1687
1713
  }
1688
1714
  }
1689
- const xe = 0.5, ye = 500, ke = ({
1690
- element: o,
1715
+ const Ve = 0.5, Ge = 500, Fe = ({
1716
+ element: a,
1691
1717
  isActive: t,
1692
1718
  isPresentable: e = () => !0,
1693
1719
  onPresented: i,
1694
- intersectionRatio: r = xe,
1695
- dwellMs: a = ye
1720
+ intersectionRatio: r = Ve,
1721
+ dwellMs: n = Ge
1696
1722
  }) => {
1697
1723
  if (typeof IntersectionObserver != "function") {
1698
- const v = (() => {
1724
+ const y = (() => {
1699
1725
  });
1700
- return v.pause = () => {
1701
- }, v.resume = () => {
1702
- }, v.refresh = () => {
1703
- }, v;
1704
- }
1705
- let s = 0, n = !1, c = !1, l, h = 0, u = a;
1706
- const p = (v = !1) => {
1707
- l !== void 0 && (window.clearTimeout(l), l = void 0, v ? u = Math.max(
1726
+ return y.pause = () => {
1727
+ }, y.resume = () => {
1728
+ }, y.refresh = () => {
1729
+ }, y;
1730
+ }
1731
+ let o = 0, s = !1, c = !1, l, d = 0, u = n;
1732
+ const p = (y = !1) => {
1733
+ l !== void 0 && (window.clearTimeout(l), l = void 0, y ? u = Math.max(
1708
1734
  0,
1709
- u - (Date.now() - h)
1710
- ) : u = a);
1711
- }, g = () => !n && !c && document.visibilityState === "visible" && t() && e() && s >= r, w = () => {
1712
- if (!g()) {
1735
+ u - (Date.now() - d)
1736
+ ) : u = n);
1737
+ }, m = () => !s && !c && document.visibilityState === "visible" && t() && e() && o >= r, w = () => {
1738
+ if (!m()) {
1713
1739
  p();
1714
1740
  return;
1715
1741
  }
1716
- l === void 0 && (h = Date.now(), l = window.setTimeout(() => {
1717
- l = void 0, g() && (n = !0, f.disconnect(), k.disconnect(), document.removeEventListener("visibilitychange", w), i());
1742
+ l === void 0 && (d = Date.now(), l = window.setTimeout(() => {
1743
+ l = void 0, m() && (s = !0, f.disconnect(), E.disconnect(), document.removeEventListener("visibilitychange", w), i());
1718
1744
  }, u));
1719
1745
  }, f = new IntersectionObserver(
1720
- (v) => {
1721
- const S = v.find(({ target: T }) => T === o);
1722
- s = S?.isIntersecting ? S.intersectionRatio : 0, w();
1746
+ (y) => {
1747
+ const A = y.find(({ target: N }) => N === a);
1748
+ o = A?.isIntersecting ? A.intersectionRatio : 0, w();
1723
1749
  },
1724
1750
  { threshold: [0, r, 1] }
1725
1751
  );
1726
- f.observe(o);
1727
- const k = new MutationObserver(w);
1728
- k.observe(o, {
1752
+ f.observe(a);
1753
+ const E = new MutationObserver(w);
1754
+ E.observe(a, {
1729
1755
  childList: !0,
1730
1756
  characterData: !0,
1731
1757
  subtree: !0
1732
1758
  }), document.addEventListener("visibilitychange", w);
1733
1759
  const x = (() => {
1734
- n = !0, p(), f.disconnect(), k.disconnect(), document.removeEventListener("visibilitychange", w);
1760
+ s = !0, p(), f.disconnect(), E.disconnect(), document.removeEventListener("visibilitychange", w);
1735
1761
  });
1736
1762
  return x.pause = () => {
1737
- c || n || (c = !0, p(!0));
1763
+ c || s || (c = !0, p(!0));
1738
1764
  }, x.resume = () => {
1739
- !c || n || (c = !1, w());
1765
+ !c || s || (c = !1, w());
1740
1766
  }, x.refresh = w, x;
1741
1767
  };
1742
- class _e {
1768
+ class We {
1743
1769
  collector;
1744
1770
  surfaceController;
1745
1771
  compactSurfaceEpisode = null;
1746
1772
  presented = /* @__PURE__ */ new Set();
1747
1773
  engaged = /* @__PURE__ */ new Set();
1748
1774
  constructor(t, e, i) {
1749
- this.collector = new be(
1775
+ this.collector = new je(
1750
1776
  t,
1751
1777
  e,
1752
1778
  i
1753
- ), this.surfaceController = new ve((r) => {
1779
+ ), this.surfaceController = new ze((r) => {
1754
1780
  this.collector.enqueue(r);
1755
1781
  });
1756
1782
  }
@@ -1796,10 +1822,10 @@ class _e {
1796
1822
  t.subjectId
1797
1823
  ].join(":");
1798
1824
  if (i.presented.has(r)) return !1;
1799
- const a = `${t.subjectKind}_PRESENTED`;
1825
+ const n = `${t.subjectKind}_PRESENTED`;
1800
1826
  return this.collector.enqueue({
1801
1827
  kind: "EXPERIENCE_PRESENTED",
1802
- type: a,
1828
+ type: n,
1803
1829
  actor: t.actor ?? "SCENARIO",
1804
1830
  surfaceEpisodeId: e,
1805
1831
  subjectKind: t.subjectKind,
@@ -1902,20 +1928,584 @@ class _e {
1902
1928
  observeHighlightedTarget(t) {
1903
1929
  const e = this.getSurfaceEpisodeId(), i = this.getPrincipalSessionId();
1904
1930
  let r = !0;
1905
- const a = ke({
1931
+ const n = Fe({
1906
1932
  element: t.element,
1907
1933
  isActive: () => r && this.getPrincipalSessionId() === i,
1908
1934
  onPresented: () => this.recordTargetPresented(t.commandId, e)
1909
1935
  });
1910
1936
  return () => {
1911
- r = !1, a();
1937
+ r = !1, n();
1912
1938
  };
1913
1939
  }
1914
1940
  markCurrentTargetContext(t, e) {
1915
1941
  e && this.getSurfaceState() === "OPEN" && this.getSurfaceEpisodeId() === e && this.surfaceController.markScenarioContext(t);
1916
1942
  }
1917
1943
  }
1918
- const Ee = [
1944
+ const Be = "2.26.0", Ke = 1, $e = 1, vt = 35, Ye = 10, Xe = 64, Ze = 64, _ = 32768, Je = 32, Y = 840, X = 0.1, Z = 16, L = 64, J = 32, Qe = 0.25, xt = 0.1, Q = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, tt = "lola-ai-assistant:client-environment:browser-instance:v1", v = (a) => {
1945
+ try {
1946
+ return a();
1947
+ } catch {
1948
+ return null;
1949
+ }
1950
+ }, C = (a, t) => typeof a != "string" || a.length === 0 ? null : Array.from(a).slice(0, t).join(""), k = (a, t, e, i = !1) => {
1951
+ if (typeof a != "number" || !Number.isFinite(a)) return null;
1952
+ const r = i ? Math.round(a) : a;
1953
+ return !Number.isInteger(r) || r < t || r > e ? null : Object.is(r, -0) ? 0 : r;
1954
+ }, et = (a, t, e) => typeof a != "number" || !Number.isFinite(a) || a < t || a > e ? null : Object.is(a, -0) ? 0 : a, it = (a) => typeof a == "boolean" ? a : null, ti = (a) => {
1955
+ if (!Array.isArray(a)) return [];
1956
+ const t = [], e = /* @__PURE__ */ new Set();
1957
+ for (const i of a) {
1958
+ const r = C(i, vt);
1959
+ if (!(r === null || e.has(r)) && (t.push(r), e.add(r), t.length === Ye))
1960
+ break;
1961
+ }
1962
+ return t;
1963
+ }, ei = (a) => a instanceof Date && Number.isFinite(a.getTime()) ? a.toISOString() : (/* @__PURE__ */ new Date(0)).toISOString(), ii = (a, t, e) => {
1964
+ if (typeof a == "string") {
1965
+ const i = a.toLowerCase();
1966
+ if (i.startsWith("portrait")) return "portrait";
1967
+ if (i.startsWith("landscape")) return "landscape";
1968
+ }
1969
+ return t === null || e === null || t === e ? "unknown" : t > e ? "landscape" : "portrait";
1970
+ }, yt = {
1971
+ now: () => /* @__PURE__ */ new Date(),
1972
+ language: () => typeof navigator > "u" ? null : navigator.language,
1973
+ languages: () => typeof navigator > "u" ? null : navigator.languages,
1974
+ timeZone: () => typeof Intl > "u" ? null : Intl.DateTimeFormat().resolvedOptions().timeZone,
1975
+ timeZoneOffsetMinutes: () => (/* @__PURE__ */ new Date()).getTimezoneOffset(),
1976
+ screenWidth: () => typeof window > "u" ? null : window.screen.width,
1977
+ screenHeight: () => typeof window > "u" ? null : window.screen.height,
1978
+ screenAvailableWidth: () => typeof window > "u" ? null : window.screen.availWidth,
1979
+ screenAvailableHeight: () => typeof window > "u" ? null : window.screen.availHeight,
1980
+ devicePixelRatio: () => typeof window > "u" ? null : window.devicePixelRatio,
1981
+ screenOrientationType: () => typeof window > "u" ? null : window.screen.orientation?.type,
1982
+ viewportWidth: () => typeof window > "u" ? null : window.innerWidth,
1983
+ viewportHeight: () => typeof window > "u" ? null : window.innerHeight,
1984
+ visualViewportWidth: () => typeof window > "u" ? null : window.visualViewport?.width,
1985
+ visualViewportHeight: () => typeof window > "u" ? null : window.visualViewport?.height,
1986
+ visualViewportScale: () => typeof window > "u" ? null : window.visualViewport?.scale,
1987
+ maxTouchPoints: () => typeof navigator > "u" ? null : navigator.maxTouchPoints,
1988
+ coarsePointer: () => typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia("(pointer: coarse)").matches,
1989
+ hoverSupported: () => typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia("(hover: hover)").matches,
1990
+ storage: () => typeof window > "u" ? null : window.localStorage,
1991
+ randomUuid: () => typeof globalThis.crypto?.randomUUID != "function" ? null : globalThis.crypto.randomUUID()
1992
+ }, ri = (a = yt) => {
1993
+ try {
1994
+ const t = a.storage();
1995
+ if (!t) return null;
1996
+ const e = t.getItem(
1997
+ tt
1998
+ );
1999
+ if (e !== null && Q.test(e)) return e;
2000
+ const i = a.randomUuid();
2001
+ return typeof i != "string" || !Q.test(i) ? null : (t.setItem(tt, i), i);
2002
+ } catch {
2003
+ return null;
2004
+ }
2005
+ }, ai = (a, t = yt) => {
2006
+ const e = k(
2007
+ v(t.screenWidth),
2008
+ 0,
2009
+ _,
2010
+ !0
2011
+ ), i = k(
2012
+ v(t.screenHeight),
2013
+ 0,
2014
+ _,
2015
+ !0
2016
+ ), r = k(
2017
+ v(t.timeZoneOffsetMinutes),
2018
+ -Y,
2019
+ Y
2020
+ );
2021
+ return {
2022
+ schemaVersion: Ke,
2023
+ clientObservationId: a.clientObservationId,
2024
+ clientRuntimeId: a.clientRuntimeId,
2025
+ clientSequence: a.clientSequence,
2026
+ browserInstanceId: ri(t),
2027
+ collectedAt: ei(v(t.now)),
2028
+ sdk: {
2029
+ name: "lola-ai-assistant",
2030
+ version: C(a.sdkVersion, Ze) ?? "unknown"
2031
+ },
2032
+ locale: {
2033
+ language: C(v(t.language), vt),
2034
+ languages: ti(v(t.languages)),
2035
+ timeZone: C(v(t.timeZone), Xe),
2036
+ localUtcOffsetMinutes: r === null ? null : Object.is(-r, -0) ? 0 : -r
2037
+ },
2038
+ screen: {
2039
+ widthCssPx: e,
2040
+ heightCssPx: i,
2041
+ availableWidthCssPx: k(
2042
+ v(t.screenAvailableWidth),
2043
+ 0,
2044
+ _,
2045
+ !0
2046
+ ),
2047
+ availableHeightCssPx: k(
2048
+ v(t.screenAvailableHeight),
2049
+ 0,
2050
+ _,
2051
+ !0
2052
+ ),
2053
+ devicePixelRatio: et(
2054
+ v(t.devicePixelRatio),
2055
+ X,
2056
+ Z
2057
+ ),
2058
+ orientation: ii(
2059
+ v(t.screenOrientationType),
2060
+ e,
2061
+ i
2062
+ )
2063
+ },
2064
+ viewport: {
2065
+ widthCssPx: k(
2066
+ v(t.viewportWidth),
2067
+ 0,
2068
+ _,
2069
+ !0
2070
+ ),
2071
+ heightCssPx: k(
2072
+ v(t.viewportHeight),
2073
+ 0,
2074
+ _,
2075
+ !0
2076
+ ),
2077
+ visualWidthCssPx: k(
2078
+ v(t.visualViewportWidth),
2079
+ 0,
2080
+ _,
2081
+ !0
2082
+ ),
2083
+ visualHeightCssPx: k(
2084
+ v(t.visualViewportHeight),
2085
+ 0,
2086
+ _,
2087
+ !0
2088
+ ),
2089
+ visualScale: et(
2090
+ v(t.visualViewportScale),
2091
+ X,
2092
+ Z
2093
+ )
2094
+ },
2095
+ interaction: {
2096
+ maxTouchPoints: k(
2097
+ v(t.maxTouchPoints),
2098
+ 0,
2099
+ Je
2100
+ ),
2101
+ coarsePointer: it(v(t.coarsePointer)),
2102
+ hoverSupported: it(v(t.hoverSupported))
2103
+ }
2104
+ };
2105
+ }, rt = (a, t) => {
2106
+ if (a === null) return null;
2107
+ const e = t === xt ? 1 : 2;
2108
+ return Number((Math.round(a / t) * t).toFixed(e));
2109
+ }, ni = (a, t) => {
2110
+ if (a === null) return null;
2111
+ const e = Math.floor(a / L) * L;
2112
+ if (t === null) return e;
2113
+ const i = Math.max(
2114
+ 0,
2115
+ t - J
2116
+ ), r = t + L + J;
2117
+ return a >= i && a < r ? t : e;
2118
+ }, oi = (a, t = null) => ({
2119
+ projectionVersion: $e,
2120
+ browserInstanceId: a.browserInstanceId,
2121
+ language: a.locale.language,
2122
+ languages: a.locale.languages,
2123
+ timeZone: a.locale.timeZone,
2124
+ localUtcOffsetMinutes: a.locale.localUtcOffsetMinutes,
2125
+ screenWidthCssPx: a.screen.widthCssPx,
2126
+ screenHeightCssPx: a.screen.heightCssPx,
2127
+ screenAvailableWidthCssPx: a.screen.availableWidthCssPx,
2128
+ screenAvailableHeightCssPx: a.screen.availableHeightCssPx,
2129
+ devicePixelRatio: rt(
2130
+ a.screen.devicePixelRatio,
2131
+ Qe
2132
+ ),
2133
+ orientation: a.screen.orientation,
2134
+ viewportWidthBucketCssPx: ni(
2135
+ a.viewport.widthCssPx,
2136
+ t?.viewportWidthBucketCssPx ?? null
2137
+ ),
2138
+ visualScale: rt(a.viewport.visualScale, xt),
2139
+ maxTouchPoints: a.interaction.maxTouchPoints,
2140
+ coarsePointer: a.interaction.coarsePointer,
2141
+ hoverSupported: a.interaction.hoverSupported
2142
+ }), si = "/client-environment/observations", ci = 250, li = 1e3, di = 1e4, at = [250, 1e3, 3e3], hi = 0.2, pi = 3e4, ui = 2147483647, fi = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d{1,9})?(?:Z|[+-](\d{2}):(\d{2}))$/u, gi = "00000000-0000-4000-8000-000000000000", nt = () => {
2143
+ let a;
2144
+ const t = new Promise((i) => {
2145
+ a = i;
2146
+ });
2147
+ let e = !1;
2148
+ return {
2149
+ promise: t,
2150
+ resolve: (i) => {
2151
+ e || (e = !0, a(i));
2152
+ }
2153
+ };
2154
+ }, mi = (a) => a || ((t, e) => globalThis.fetch(t, e)), ot = (a) => JSON.stringify(a), wi = (a) => a === 408 || a === 429 || a >= 500, bi = (a) => {
2155
+ const t = fi.exec(a);
2156
+ if (!t) return !1;
2157
+ const [
2158
+ ,
2159
+ e,
2160
+ i,
2161
+ r,
2162
+ n,
2163
+ o,
2164
+ s
2165
+ ] = t, c = Number(e), l = Number(i), d = Number(r), u = Number(n), p = Number(o), m = Number(s), w = Number(t[7] ?? 0), f = Number(t[8] ?? 0), x = [
2166
+ 31,
2167
+ c % 4 === 0 && (c % 100 !== 0 || c % 400 === 0) ? 29 : 28,
2168
+ 31,
2169
+ 30,
2170
+ 31,
2171
+ 30,
2172
+ 31,
2173
+ 31,
2174
+ 30,
2175
+ 31,
2176
+ 30,
2177
+ 31
2178
+ ];
2179
+ return l >= 1 && l <= 12 && d >= 1 && d <= x[l - 1] && u <= 23 && p <= 59 && m <= 59 && w <= 23 && f <= 59 && Number.isFinite(Date.parse(a));
2180
+ }, vi = async (a, t) => {
2181
+ let e;
2182
+ try {
2183
+ e = await a.json();
2184
+ } catch (i) {
2185
+ if (i instanceof SyntaxError || i instanceof Error && i.name === "SyntaxError")
2186
+ return null;
2187
+ throw i;
2188
+ }
2189
+ return !e || e.schemaVersion !== 1 || e.clientObservationId !== t.clientObservationId || typeof e.observationRef != "string" || !ut.test(e.observationRef) || typeof e.receivedAt != "string" || !bi(e.receivedAt) || typeof e.duplicate != "boolean" || a.status === 201 && e.duplicate !== !1 || a.status === 200 && e.duplicate !== !0 ? null : { observationRef: e.observationRef };
2190
+ };
2191
+ class xi {
2192
+ constructor(t, e, i = {}) {
2193
+ this.getSession = t, this.onSessionExpired = e;
2194
+ const r = t();
2195
+ this.sessionId = r.interactionSessionId, this.accessToken = r.accessToken, this.baseUrl = i.baseUrl ?? j, this.fetchImpl = mi(i.fetch), this.collect = i.collect ?? ai, this.project = i.project ?? oi, this.createId = i.createId ?? ft, this.runtimeId = this.safeCreateId(), this.now = i.now ?? Date.now, this.random = i.random ?? Math.random, this.sdkVersion = i.sdkVersion ?? Be;
2196
+ }
2197
+ baseUrl;
2198
+ fetchImpl;
2199
+ collect;
2200
+ project;
2201
+ createId;
2202
+ now;
2203
+ random;
2204
+ sdkVersion;
2205
+ sessionId;
2206
+ accessToken;
2207
+ generation = 1;
2208
+ runtimeId;
2209
+ nextSequence = 1;
2210
+ latestFenceRevision = 0;
2211
+ lastStartedAt = Number.NEGATIVE_INFINITY;
2212
+ cooldownUntil = 0;
2213
+ lastCollectedProjection = null;
2214
+ acknowledged = null;
2215
+ active = null;
2216
+ pending = null;
2217
+ recovery = null;
2218
+ awaitingRenewalToken = null;
2219
+ currentProjectionUncertain = !1;
2220
+ suppressedProjectionKey = null;
2221
+ pumpTimer;
2222
+ eventWaiters = /* @__PURE__ */ new Set();
2223
+ started = !1;
2224
+ destroyed = !1;
2225
+ start() {
2226
+ this.started || this.destroyed || (this.started = !0, this.requestCurrentObservation());
2227
+ }
2228
+ async ensureForEvent(t) {
2229
+ if (!this.started && !this.destroyed && this.start(), this.destroyed || !this.started || t !== this.sessionId || this.getSession().interactionSessionId !== t)
2230
+ return null;
2231
+ const e = this.generation, i = this.requestCurrentObservation();
2232
+ return this.withEventDeadline(i, e, t);
2233
+ }
2234
+ updateSession(t) {
2235
+ if (this.destroyed) return;
2236
+ if (t.interactionSessionId !== this.sessionId) {
2237
+ this.resetGeneration(t), this.started && this.requestCurrentObservation();
2238
+ return;
2239
+ }
2240
+ const e = t.accessToken !== this.accessToken;
2241
+ this.accessToken = t.accessToken;
2242
+ const i = e && this.awaitingRenewalToken !== null && t.accessToken !== this.awaitingRenewalToken;
2243
+ if (i && (this.awaitingRenewalToken = null), i && this.recovery?.reason === "authentication" && this.recovery.projectionKey === ot(this.lastCollectedProjection ?? this.recovery.projection)) {
2244
+ const r = this.recovery;
2245
+ this.recovery = null, this.startRecovery(r);
2246
+ } else i && this.started && (this.recovery = null, this.requestCurrentObservation());
2247
+ }
2248
+ destroy() {
2249
+ this.destroyed || (this.destroyed = !0, this.started = !1, this.cancelGeneration(), this.acknowledged = null, this.recovery = null, this.awaitingRenewalToken = null, this.currentProjectionUncertain = !1, this.lastCollectedProjection = null);
2250
+ }
2251
+ requestCurrentObservation() {
2252
+ if (this.destroyed || !this.started) return Promise.resolve(null);
2253
+ const t = this.getSession();
2254
+ if (t.interactionSessionId !== this.sessionId && this.resetGeneration(t), this.nextSequence > ui || (this.runtimeId || (this.runtimeId = this.safeCreateId()), !this.runtimeId)) return Promise.resolve(null);
2255
+ const e = this.runtimeId;
2256
+ let i, r;
2257
+ try {
2258
+ i = this.collect({
2259
+ clientObservationId: gi,
2260
+ clientRuntimeId: e,
2261
+ clientSequence: this.nextSequence,
2262
+ sdkVersion: this.sdkVersion
2263
+ }), r = this.project(i, this.lastCollectedProjection);
2264
+ } catch (d) {
2265
+ return g.debug("Client Environment collection failed", d), Promise.resolve(null);
2266
+ }
2267
+ this.lastCollectedProjection = r;
2268
+ const n = ot(r);
2269
+ if (this.awaitingRenewalToken !== null && t.accessToken === this.awaitingRenewalToken)
2270
+ return this.recovery?.projectionKey !== n && (this.recovery = null), Promise.resolve(null);
2271
+ if (this.recovery)
2272
+ if (this.recovery.projectionKey !== n)
2273
+ this.recovery.reason === "transient" && (this.currentProjectionUncertain = !0), this.recovery = null;
2274
+ else {
2275
+ if (this.recovery.reason === "authentication")
2276
+ return Promise.resolve(null);
2277
+ if (this.now() < this.cooldownUntil)
2278
+ return Promise.resolve(null);
2279
+ {
2280
+ const d = this.recovery;
2281
+ return this.recovery = null, this.startRecovery(d);
2282
+ }
2283
+ }
2284
+ if (this.now() < this.cooldownUntil)
2285
+ return this.currentProjectionUncertain = !0, !this.active && !this.pending && this.acknowledged?.projectionKey === n ? Promise.resolve(this.acknowledged.observationRef) : Promise.resolve(null);
2286
+ const o = this.currentProjectionUncertain;
2287
+ let s = !1;
2288
+ if (this.pending) {
2289
+ if (this.pending.projectionKey === n)
2290
+ return this.pending.deferred.promise;
2291
+ this.pending.deferred.resolve(null), this.pending = null, s = !0;
2292
+ }
2293
+ if (this.active?.projectionKey === n)
2294
+ return s && (this.active.fenceRevision = ++this.latestFenceRevision), this.active.deferred.promise;
2295
+ if (!o && !this.active && this.acknowledged?.projectionKey === n)
2296
+ return this.suppressedProjectionKey = null, Promise.resolve(this.acknowledged.observationRef);
2297
+ if (this.suppressedProjectionKey === n) return Promise.resolve(null);
2298
+ this.suppressedProjectionKey = null;
2299
+ const c = this.safeCreateId();
2300
+ if (!c) return Promise.resolve(null);
2301
+ i = {
2302
+ ...i,
2303
+ clientObservationId: c
2304
+ }, this.nextSequence += 1;
2305
+ const l = {
2306
+ generation: this.generation,
2307
+ observation: i,
2308
+ projection: r,
2309
+ projectionKey: n,
2310
+ fenceRevision: ++this.latestFenceRevision,
2311
+ deferred: nt(),
2312
+ controller: null
2313
+ };
2314
+ return this.currentProjectionUncertain = !1, this.pending = l, this.pump(), l.deferred.promise;
2315
+ }
2316
+ startRecovery(t) {
2317
+ if (this.destroyed || t.generation !== this.generation)
2318
+ return Promise.resolve(null);
2319
+ const e = {
2320
+ ...t,
2321
+ fenceRevision: ++this.latestFenceRevision,
2322
+ deferred: nt(),
2323
+ controller: null
2324
+ };
2325
+ return this.active = e, this.upload(e), e.deferred.promise;
2326
+ }
2327
+ pump() {
2328
+ if (this.destroyed || this.active || !this.pending) return;
2329
+ const t = Math.max(
2330
+ 0,
2331
+ this.lastStartedAt + li - this.now()
2332
+ );
2333
+ if (t > 0) {
2334
+ if (this.pumpTimer !== void 0) return;
2335
+ this.pumpTimer = window.setTimeout(() => {
2336
+ this.pumpTimer = void 0, this.pump();
2337
+ }, t);
2338
+ return;
2339
+ }
2340
+ const e = this.pending;
2341
+ this.pending = null, this.active = e, this.lastStartedAt = this.now(), this.upload(e);
2342
+ }
2343
+ async upload(t) {
2344
+ const e = new AbortController();
2345
+ t.controller = e;
2346
+ const i = await this.runAttempts(t, e.signal);
2347
+ if (this.destroyed || t.generation !== this.generation || this.active !== t) {
2348
+ t.deferred.resolve(null);
2349
+ return;
2350
+ }
2351
+ if (this.active = null, t.controller = null, i.kind === "acknowledged") {
2352
+ const r = t.observation.clientSequence;
2353
+ (!this.acknowledged || r > this.acknowledged.clientSequence) && (this.acknowledged = {
2354
+ ...t,
2355
+ clientSequence: r,
2356
+ observationRef: i.receipt.observationRef
2357
+ });
2358
+ const n = t.fenceRevision === this.latestFenceRevision && !this.pending;
2359
+ t.deferred.resolve(
2360
+ n ? i.receipt.observationRef : null
2361
+ ), this.cooldownUntil = 0, this.recovery = null, this.awaitingRenewalToken = null, this.currentProjectionUncertain = !1;
2362
+ } else if (i.kind === "transient-exhausted") {
2363
+ const r = this.pending ?? t;
2364
+ this.pending?.deferred.resolve(null), this.pending = null, this.recovery = {
2365
+ generation: r.generation,
2366
+ observation: r.observation,
2367
+ projection: r.projection,
2368
+ projectionKey: r.projectionKey,
2369
+ reason: "transient"
2370
+ }, this.cooldownUntil = this.now() + pi, this.currentProjectionUncertain = !1, t.deferred.resolve(null);
2371
+ } else if (i.kind === "authentication") {
2372
+ const r = this.pending ?? t;
2373
+ this.pending?.deferred.resolve(null), this.pending = null;
2374
+ const n = {
2375
+ generation: r.generation,
2376
+ observation: r.observation,
2377
+ projection: r.projection,
2378
+ projectionKey: r.projectionKey,
2379
+ reason: "authentication"
2380
+ };
2381
+ t.deferred.resolve(null), this.getSession().accessToken !== i.rejectedAccessToken ? (this.awaitingRenewalToken = null, this.recovery = null, this.startRecovery(n)) : (this.recovery = n, this.awaitingRenewalToken = i.rejectedAccessToken);
2382
+ } else i.kind === "permanent" && (this.suppressedProjectionKey = t.projectionKey, this.currentProjectionUncertain = !1), t.deferred.resolve(null);
2383
+ this.pending && this.pump();
2384
+ }
2385
+ async runAttempts(t, e) {
2386
+ const i = JSON.stringify(t.observation);
2387
+ let r = 0, n = 0;
2388
+ for (; !e.aborted; ) {
2389
+ const o = await this.sendOnce(t, i, e);
2390
+ if (o.kind === "acknowledged" || o.kind === "cancelled" || o.kind === "authentication" || o.kind === "permanent") return o;
2391
+ if (o.kind === "authentication-refreshed") {
2392
+ if (n += 1, n > 1)
2393
+ return {
2394
+ kind: "authentication",
2395
+ rejectedAccessToken: o.rejectedAccessToken
2396
+ };
2397
+ continue;
2398
+ }
2399
+ if (r >= at.length)
2400
+ return { kind: "transient-exhausted" };
2401
+ const s = at[r];
2402
+ r += 1;
2403
+ const c = Math.floor(
2404
+ s * hi * Math.min(1, Math.max(0, this.random()))
2405
+ );
2406
+ if (!await this.delay(s + c, e))
2407
+ return { kind: "cancelled" };
2408
+ }
2409
+ return { kind: "cancelled" };
2410
+ }
2411
+ async sendOnce(t, e, i) {
2412
+ if (i.aborted || t.generation !== this.generation || this.destroyed)
2413
+ return { kind: "cancelled" };
2414
+ const r = this.getSession();
2415
+ if (r.interactionSessionId !== this.sessionId)
2416
+ return { kind: "cancelled" };
2417
+ if (Date.parse(r.expiresAt) <= this.now())
2418
+ return this.onSessionExpired(), {
2419
+ kind: "authentication",
2420
+ rejectedAccessToken: r.accessToken
2421
+ };
2422
+ const n = new AbortController(), o = () => n.abort();
2423
+ i.addEventListener("abort", o, { once: !0 });
2424
+ const s = window.setTimeout(() => {
2425
+ n.abort();
2426
+ }, di);
2427
+ try {
2428
+ const c = await this.fetchImpl(
2429
+ `${this.baseUrl}${si}`,
2430
+ {
2431
+ method: "POST",
2432
+ headers: {
2433
+ Authorization: `Bearer ${r.accessToken}`,
2434
+ "Content-Type": "application/json"
2435
+ },
2436
+ body: e,
2437
+ signal: n.signal
2438
+ }
2439
+ );
2440
+ if (i.aborted || t.generation !== this.generation || this.destroyed)
2441
+ return { kind: "cancelled" };
2442
+ if (c.status === 200 || c.status === 201) {
2443
+ const l = await vi(c, t.observation);
2444
+ return l ? { kind: "acknowledged", receipt: l } : { kind: "permanent" };
2445
+ }
2446
+ if (c.status === 401) {
2447
+ const l = this.getSession();
2448
+ return l.interactionSessionId === this.sessionId && l.accessToken !== r.accessToken ? {
2449
+ kind: "authentication-refreshed",
2450
+ rejectedAccessToken: r.accessToken
2451
+ } : (l.interactionSessionId === this.sessionId && l.accessToken === r.accessToken && this.onSessionExpired(), {
2452
+ kind: "authentication",
2453
+ rejectedAccessToken: r.accessToken
2454
+ });
2455
+ }
2456
+ return wi(c.status) ? { kind: "retryable" } : { kind: "permanent" };
2457
+ } catch (c) {
2458
+ return i.aborted ? { kind: "cancelled" } : (g.debug("Client Environment observation request failed", c), { kind: "retryable" });
2459
+ } finally {
2460
+ window.clearTimeout(s), i.removeEventListener("abort", o);
2461
+ }
2462
+ }
2463
+ withEventDeadline(t, e, i) {
2464
+ return new Promise((r) => {
2465
+ let n = !1;
2466
+ const o = (l) => {
2467
+ if (n) return;
2468
+ n = !0, window.clearTimeout(c), this.eventWaiters.delete(s);
2469
+ const d = this.getSession();
2470
+ r(
2471
+ !this.destroyed && e === this.generation && i === this.sessionId && d.interactionSessionId === i ? l : null
2472
+ );
2473
+ }, s = () => o(null), c = window.setTimeout(s, ci);
2474
+ this.eventWaiters.add(s), t.then(o, s);
2475
+ });
2476
+ }
2477
+ delay(t, e) {
2478
+ return new Promise((i) => {
2479
+ if (e.aborted) {
2480
+ i(!1);
2481
+ return;
2482
+ }
2483
+ const r = () => n(!1), n = (s) => {
2484
+ window.clearTimeout(o), e.removeEventListener("abort", r), i(s);
2485
+ }, o = window.setTimeout(() => n(!0), t);
2486
+ e.addEventListener("abort", r, { once: !0 });
2487
+ });
2488
+ }
2489
+ resetGeneration(t) {
2490
+ this.cancelGeneration(), this.generation += 1, this.sessionId = t.interactionSessionId, this.accessToken = t.accessToken, this.runtimeId = this.safeCreateId(), this.nextSequence = 1, this.latestFenceRevision = 0, this.lastStartedAt = Number.NEGATIVE_INFINITY, this.cooldownUntil = 0, this.lastCollectedProjection = null, this.acknowledged = null, this.recovery = null, this.awaitingRenewalToken = null, this.currentProjectionUncertain = !1, this.suppressedProjectionKey = null;
2491
+ }
2492
+ safeCreateId() {
2493
+ try {
2494
+ const t = this.createId();
2495
+ if (ut.test(t)) return t;
2496
+ g.debug("Client Environment UUID generation returned an invalid ID");
2497
+ } catch (t) {
2498
+ g.debug("Client Environment UUID generation failed", t);
2499
+ }
2500
+ return null;
2501
+ }
2502
+ cancelGeneration() {
2503
+ this.pumpTimer !== void 0 && (window.clearTimeout(this.pumpTimer), this.pumpTimer = void 0), this.active?.controller?.abort(), this.active?.deferred.resolve(null), this.pending?.deferred.resolve(null), this.active = null, this.pending = null;
2504
+ for (const t of [...this.eventWaiters]) t(null);
2505
+ this.eventWaiters.clear();
2506
+ }
2507
+ }
2508
+ const yi = [
1919
2509
  "deposit",
1920
2510
  "excited",
1921
2511
  "fix_hair",
@@ -1923,10 +2513,10 @@ const Ee = [
1923
2513
  "spin",
1924
2514
  "win_small"
1925
2515
  ];
1926
- function qe(o) {
1927
- return Ee.includes(o);
2516
+ function Pi(a) {
2517
+ return yi.includes(a);
1928
2518
  }
1929
- const Se = [
2519
+ const ki = [
1930
2520
  "ru",
1931
2521
  "uz",
1932
2522
  "en",
@@ -1940,52 +2530,52 @@ const Se = [
1940
2530
  "sw",
1941
2531
  "so",
1942
2532
  "ar"
1943
- ], Ie = new Set(Se), Ae = /^(?:(?:[a-z]{2,3}(?:-[a-z]{3}){0,3}|[a-z]{4}|[a-z]{5,8})(?:-[a-z]{4})?(?:-(?:[a-z]{2}|[0-9]{3}))?(?:-(?:[a-z0-9]{5,8}|[0-9][a-z0-9]{3}))*(?:-[0-9a-wy-z](?:-[a-z0-9]{2,8})+)*(?:-x(?:-[a-z0-9]{1,8})+)?|x(?:-[a-z0-9]{1,8})+)$/i;
1944
- function ze(o) {
1945
- const t = o?.trim().replace(/_/g, "-");
1946
- if (!t || !Ae.test(t)) return "en";
2533
+ ], Ei = new Set(ki), Si = /^(?:(?:[a-z]{2,3}(?:-[a-z]{3}){0,3}|[a-z]{4}|[a-z]{5,8})(?:-[a-z]{4})?(?:-(?:[a-z]{2}|[0-9]{3}))?(?:-(?:[a-z0-9]{5,8}|[0-9][a-z0-9]{3}))*(?:-[0-9a-wy-z](?:-[a-z0-9]{2,8})+)*(?:-x(?:-[a-z0-9]{1,8})+)?|x(?:-[a-z0-9]{1,8})+)$/i;
2534
+ function Di(a) {
2535
+ const t = a?.trim().replace(/_/g, "-");
2536
+ if (!t || !Si.test(t)) return "en";
1947
2537
  const e = t.split("-", 1)[0].toLowerCase();
1948
- return Ie.has(e) ? e : "en";
2538
+ return Ei.has(e) ? e : "en";
1949
2539
  }
1950
- const P = (o) => !!o && typeof o == "object" && !Array.isArray(o), Te = (o) => typeof o == "string" && o.trim() ? o : void 0, Re = (o) => {
1951
- if (!P(o)) return null;
1952
- const t = Te(o.conversationId), e = o.actor;
1953
- return !t || e !== "ASSISTANT" && e !== "ADMIN" || typeof o.active != "boolean" ? null : {
2540
+ const M = (a) => !!a && typeof a == "object" && !Array.isArray(a), _i = (a) => typeof a == "string" && a.trim() ? a : void 0, Ii = (a) => {
2541
+ if (!M(a)) return null;
2542
+ const t = _i(a.conversationId), e = a.actor;
2543
+ return !t || e !== "ASSISTANT" && e !== "ADMIN" || typeof a.active != "boolean" ? null : {
1954
2544
  conversationId: t,
1955
2545
  actor: e,
1956
- active: o.active
2546
+ active: a.active
1957
2547
  };
1958
- }, He = (o) => {
1959
- const t = P(o) && P(o.event) ? o.event : {};
2548
+ }, Li = (a) => {
2549
+ const t = M(a) && M(a.event) ? a.event : {};
1960
2550
  return {
1961
- typing: Re(t.messageTyping)
2551
+ typing: Ii(t.messageTyping)
1962
2552
  };
1963
- }, Ce = (o) => o.startsWith("image/") ? "image" : "document", Oe = (o) => {
2553
+ }, Ti = (a) => a.startsWith("image/") ? "image" : "document", Ai = (a) => {
1964
2554
  try {
1965
- return URL.createObjectURL(o);
2555
+ return URL.createObjectURL(a);
1966
2556
  } catch {
1967
- return `mock://attachment/${encodeURIComponent(o.name)}`;
2557
+ return `mock://attachment/${encodeURIComponent(a.name)}`;
1968
2558
  }
1969
- }, Ue = () => ({
1970
- async upload({ file: o, signal: t, onProgress: e, onStage: i }) {
2559
+ }, Ui = () => ({
2560
+ async upload({ file: a, signal: t, onProgress: e, onStage: i }) {
1971
2561
  if (t?.aborted) throw new DOMException("Upload aborted", "AbortError");
1972
2562
  if (i?.("preparing"), e?.(0), await Promise.resolve(), t?.aborted) throw new DOMException("Upload aborted", "AbortError");
1973
2563
  i?.("uploading"), e?.(1), i?.("scanning");
1974
- const r = Oe(o);
2564
+ const r = Ai(a);
1975
2565
  return {
1976
2566
  id: crypto.randomUUID(),
1977
- fileName: o.name,
1978
- mediaType: o.type || "application/octet-stream",
1979
- size: o.size,
1980
- kind: Ce(o.type || "application/octet-stream"),
2567
+ fileName: a.name,
2568
+ mediaType: a.type || "application/octet-stream",
2569
+ size: a.size,
2570
+ kind: Ti(a.type || "application/octet-stream"),
1981
2571
  downloadUrl: r,
1982
- ...o.type.startsWith("image/") ? { previewUrl: r } : {}
2572
+ ...a.type.startsWith("image/") ? { previewUrl: r } : {}
1983
2573
  };
1984
2574
  }
1985
- }), B = Gt, $ = 3e4, Ne = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:\d{2})$/, Y = (o) => {
1986
- b.error("Session renewal callback failed", o);
2575
+ }), st = de, ct = 3e4, Ri = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:\d{2})$/, lt = (a) => {
2576
+ g.error("Session renewal callback failed", a);
1987
2577
  };
1988
- class Me extends EventTarget {
2578
+ class Hi extends EventTarget {
1989
2579
  root = null;
1990
2580
  hostElement;
1991
2581
  shadowRoot;
@@ -2002,35 +2592,40 @@ class Me extends EventTarget {
2002
2592
  setSessionImpl = null;
2003
2593
  setLocaleImpl = null;
2004
2594
  commandRuntime;
2595
+ clientEnvironmentRuntime;
2005
2596
  eventTracker;
2006
2597
  scenarioInteractionRuntime;
2007
- onSessionExpired = Tt(
2598
+ onSessionExpired = $t(
2008
2599
  () => {
2009
2600
  this.destroyed || this.runRenewSessionCallback();
2010
2601
  },
2011
- L,
2012
- { leading: !0, maxWait: L }
2602
+ H,
2603
+ { leading: !0, maxWait: H }
2013
2604
  );
2014
2605
  runRenewSessionCallback() {
2015
2606
  try {
2016
2607
  Promise.resolve(this.config.onRenewSession?.()).catch(
2017
- Y
2608
+ lt
2018
2609
  );
2019
2610
  } catch (t) {
2020
- Y(t);
2611
+ lt(t);
2021
2612
  }
2022
2613
  }
2023
2614
  addEventListener(t, e, i) {
2024
2615
  super.addEventListener(t, e, i);
2025
2616
  }
2026
2617
  constructor(t) {
2027
- if (super(), this.validateCustomerInteractionSession(t.customerInteractionSession), this.config = t, this.eventTracker = new Ft(
2618
+ if (super(), this.validateCustomerInteractionSession(t.customerInteractionSession), this.config = t, this.clientEnvironmentRuntime = new xi(
2028
2619
  () => this.config.customerInteractionSession,
2029
2620
  this.onSessionExpired
2030
- ), this.scenarioInteractionRuntime = new _e(
2621
+ ), this.eventTracker = new he(
2622
+ () => this.config.customerInteractionSession,
2623
+ this.onSessionExpired,
2624
+ this.clientEnvironmentRuntime
2625
+ ), this.scenarioInteractionRuntime = new We(
2031
2626
  () => this.config.customerInteractionSession,
2032
2627
  this.onSessionExpired
2033
- ), this.commandRuntime = new Mt(
2628
+ ), this.commandRuntime = new ce(
2034
2629
  {},
2035
2630
  t.handlers,
2036
2631
  this.onCommandStatus,
@@ -2039,48 +2634,54 @@ class Me extends EventTarget {
2039
2634
  throw new Error("ChatWidget: document.body is not available");
2040
2635
  this.hostElement = document.createElement("div"), this.hostElement.dataset.lolaWidgetHost = "", document.body.appendChild(this.hostElement), this.shadowRoot = this.hostElement.attachShadow({ mode: "open" }), this.injectStyles(this.shadowRoot);
2041
2636
  const e = document.createElement("div");
2042
- this.shadowRoot.appendChild(e), this.disableDebugLogging = t.debug ? b.enableDebug() : null, this.init(e, t).catch((i) => {
2043
- this.destroyed || b.error("Initialization failed", i);
2637
+ this.shadowRoot.appendChild(e), this.disableDebugLogging = t.debug ? g.enableDebug() : null;
2638
+ const i = this.init(e, t);
2639
+ Promise.resolve().then(() => {
2640
+ this.destroyed || this.clientEnvironmentRuntime.start();
2641
+ }).catch((r) => {
2642
+ g.debug("Client Environment startup failed", r);
2643
+ }), i.catch((r) => {
2644
+ this.destroyed || g.error("Initialization failed", r);
2044
2645
  });
2045
2646
  }
2046
2647
  async init(t, e) {
2047
2648
  const [i, { mountWidget: r }] = await Promise.all([
2048
- fetch(`${B}/manifest.json`),
2049
- import("./mount-C7CMxso3.js").then((n) => n._)
2649
+ fetch(`${st}/manifest.json`),
2650
+ import("./mount-DCjHLj_e.js").then((s) => s._)
2050
2651
  ]);
2051
2652
  if (!i.ok)
2052
2653
  throw new Error(
2053
2654
  `Asset manifest request failed: ${i.status} ${i.statusText}`
2054
2655
  );
2055
- const a = await i.json();
2056
- this.resolveAssetPath = (n) => `${B}/${a[n]}`, this.config = e, this.scenarioInteractionRuntime.start();
2057
- const s = {
2656
+ const n = await i.json();
2657
+ this.resolveAssetPath = (s) => `${st}/${n[s]}`, this.config = e, this.scenarioInteractionRuntime.start();
2658
+ const o = {
2058
2659
  onAvatarLoadStarted: this.onAvatarLoadStarted,
2059
2660
  onAvatarReady: this.onAvatarReady,
2060
2661
  onAvatarLoadFailed: this.onAvatarLoadFailed,
2061
2662
  playAvatarAnimation: this.playAvatarAnimation,
2062
2663
  onSessionExpired: this.onSessionExpired,
2063
- registerSetOpen: (n) => {
2064
- this.setOpenImpl = n, n && this.pendingOpenState !== null && (n(this.pendingOpenState), this.pendingOpenState = null);
2664
+ registerSetOpen: (s) => {
2665
+ this.setOpenImpl = s, s && this.pendingOpenState !== null && (s(this.pendingOpenState), this.pendingOpenState = null);
2065
2666
  },
2066
2667
  resolveAssetPath: this.resolveAssetPath,
2067
- registerSetSession: (n) => {
2068
- this.setSessionImpl = n;
2668
+ registerSetSession: (s) => {
2669
+ this.setSessionImpl = s;
2069
2670
  },
2070
- registerSetLocale: (n) => {
2071
- this.setLocaleImpl = n;
2671
+ registerSetLocale: (s) => {
2672
+ this.setLocaleImpl = s;
2072
2673
  },
2073
2674
  commandRuntime: this.commandRuntime,
2074
2675
  scenarioInteractionRuntime: this.scenarioInteractionRuntime
2075
2676
  };
2076
- this.destroyed || (this.root = r(t, this.config, s));
2677
+ this.destroyed || (this.root = r(t, this.config, o));
2077
2678
  }
2078
2679
  onAvatarReady = (t) => {
2079
2680
  if (!this.destroyed) {
2080
2681
  this.avatarLoadError = null, this.playAnimationImpl = t;
2081
2682
  for (const e of this.pendingAvatarAnimations) {
2082
2683
  if (window.clearTimeout(e.timeoutId), e.expiresAtMs !== void 0 && e.expiresAtMs <= Date.now()) {
2083
- e.reject(new d("COMMAND_EXPIRED", "expired"));
2684
+ e.reject(new h("COMMAND_EXPIRED", "expired"));
2084
2685
  continue;
2085
2686
  }
2086
2687
  try {
@@ -2114,7 +2715,7 @@ class Me extends EventTarget {
2114
2715
  this.playAnimationImpl = null, this.avatarLoadError = e;
2115
2716
  for (const i of this.pendingAvatarAnimations)
2116
2717
  window.clearTimeout(i.timeoutId), i.reject(e);
2117
- this.pendingAvatarAnimations.clear(), b.error("Avatar loading failed", e);
2718
+ this.pendingAvatarAnimations.clear(), g.error("Avatar loading failed", e);
2118
2719
  };
2119
2720
  playAvatarAnimation = (t, e) => {
2120
2721
  if (this.destroyed)
@@ -2122,28 +2723,28 @@ class Me extends EventTarget {
2122
2723
  const i = e ? Date.parse(e) : NaN, r = Number.isFinite(i) ? i : void 0;
2123
2724
  if (r !== void 0 && r <= Date.now())
2124
2725
  return Promise.reject(
2125
- new d("COMMAND_EXPIRED", "expired")
2726
+ new h("COMMAND_EXPIRED", "expired")
2126
2727
  );
2127
2728
  if (this.avatarLoadError) return Promise.reject(this.avatarLoadError);
2128
2729
  if (this.playAnimationImpl)
2129
2730
  try {
2130
2731
  return Promise.resolve(this.playAnimationImpl(t));
2131
- } catch (a) {
2732
+ } catch (n) {
2132
2733
  return Promise.reject(
2133
- a instanceof Error ? a : new Error("Animation playback failed")
2734
+ n instanceof Error ? n : new Error("Animation playback failed")
2134
2735
  );
2135
2736
  }
2136
- return new Promise((a, s) => {
2137
- const n = r !== void 0 ? r - Date.now() : void 0, c = n !== void 0 ? Math.max(0, Math.min($, n)) : $, l = {
2737
+ return new Promise((n, o) => {
2738
+ const s = r !== void 0 ? r - Date.now() : void 0, c = s !== void 0 ? Math.max(0, Math.min(ct, s)) : ct, l = {
2138
2739
  name: t,
2139
- resolve: a,
2140
- reject: s,
2740
+ resolve: n,
2741
+ reject: o,
2141
2742
  timeoutId: 0,
2142
2743
  expiresAtMs: r
2143
2744
  };
2144
2745
  l.timeoutId = window.setTimeout(() => {
2145
- this.pendingAvatarAnimations.delete(l), s(
2146
- r !== void 0 && r <= Date.now() ? new d("COMMAND_EXPIRED", "expired") : new Error("Avatar readiness timed out")
2746
+ this.pendingAvatarAnimations.delete(l), o(
2747
+ r !== void 0 && r <= Date.now() ? new h("COMMAND_EXPIRED", "expired") : new Error("Avatar readiness timed out")
2147
2748
  );
2148
2749
  }, c), this.pendingAvatarAnimations.add(l);
2149
2750
  });
@@ -2153,7 +2754,7 @@ class Me extends EventTarget {
2153
2754
  };
2154
2755
  injectStyles(t) {
2155
2756
  const e = document.createElement("style");
2156
- e.textContent = it, t.appendChild(e);
2757
+ e.textContent = kt, t.appendChild(e);
2157
2758
  }
2158
2759
  validateCustomerInteractionSession(t) {
2159
2760
  if (!t?.accessToken?.trim())
@@ -2164,17 +2765,17 @@ class Me extends EventTarget {
2164
2765
  throw new Error(
2165
2766
  "ChatWidget: customerInteractionSession.interactionSessionId is invalid"
2166
2767
  );
2167
- if (!Ne.test(t.expiresAt) || !Number.isFinite(Date.parse(t.expiresAt)))
2768
+ if (!Ri.test(t.expiresAt) || !Number.isFinite(Date.parse(t.expiresAt)))
2168
2769
  throw new Error(
2169
2770
  "ChatWidget: customerInteractionSession.expiresAt is invalid"
2170
2771
  );
2171
2772
  }
2172
2773
  //widget api for external use
2173
2774
  setOpen(t) {
2174
- this.setOpenImpl ? this.setOpenImpl(t) : (this.pendingOpenState = t, b.debug(`setOpen(${t}) queued until the widget is initialized`));
2775
+ this.setOpenImpl ? this.setOpenImpl(t) : (this.pendingOpenState = t, g.debug(`setOpen(${t}) queued until the widget is initialized`));
2175
2776
  }
2176
2777
  setCustomerInteractionSession(t) {
2177
- this.validateCustomerInteractionSession(t), this.onSessionExpired.cancel(), this.config.customerInteractionSession = t, this.scenarioInteractionRuntime.updateSession(t), this.commandRuntime.updateSession(t), this.setSessionImpl?.(t);
2778
+ this.validateCustomerInteractionSession(t), this.onSessionExpired.cancel(), this.config.customerInteractionSession = t, this.clientEnvironmentRuntime.updateSession(t), this.scenarioInteractionRuntime.updateSession(t), this.commandRuntime.updateSession(t), this.setSessionImpl?.(t);
2178
2779
  }
2179
2780
  setLocale(t) {
2180
2781
  this.config.locale = t, this.setLocaleImpl?.(t);
@@ -2187,22 +2788,22 @@ class Me extends EventTarget {
2187
2788
  const t = new Error("Widget was destroyed");
2188
2789
  for (const e of this.pendingAvatarAnimations)
2189
2790
  window.clearTimeout(e.timeoutId), e.reject(t);
2190
- this.pendingAvatarAnimations.clear(), this.onSessionExpired.cancel(), this.setOpenImpl = null, this.pendingOpenState = null, this.playAnimationImpl = null, this.setSessionImpl = null, this.setLocaleImpl = null, this.commandRuntime.destroy(), this.scenarioInteractionRuntime.destroy(), this.disableDebugLogging?.(), this.disableDebugLogging = null, this.root?.unmount?.(), this.shadowRoot.innerHTML = "", this.hostElement.remove();
2791
+ this.pendingAvatarAnimations.clear(), this.onSessionExpired.cancel(), this.setOpenImpl = null, this.pendingOpenState = null, this.playAnimationImpl = null, this.setSessionImpl = null, this.setLocaleImpl = null, this.commandRuntime.destroy(), this.eventTracker.destroy(), this.clientEnvironmentRuntime.destroy(), this.scenarioInteractionRuntime.destroy(), this.disableDebugLogging?.(), this.disableDebugLogging = null, this.root?.unmount?.(), this.shadowRoot.innerHTML = "", this.hostElement.remove();
2191
2792
  }
2192
2793
  }
2193
2794
  export {
2194
- Me as C,
2195
- Ee as E,
2196
- Q as L,
2197
- De as P,
2198
- Se as S,
2199
- Ce as a,
2200
- ze as b,
2201
- qe as c,
2202
- Ue as d,
2203
- Le as g,
2204
- Pe as i,
2205
- b as l,
2206
- He as n,
2207
- ke as o
2795
+ Hi as C,
2796
+ yi as E,
2797
+ j as L,
2798
+ Ci as P,
2799
+ ki as S,
2800
+ Ti as a,
2801
+ Di as b,
2802
+ Pi as c,
2803
+ Ui as d,
2804
+ Oi as g,
2805
+ Ni as i,
2806
+ g as l,
2807
+ Li as n,
2808
+ Fe as o
2208
2809
  };