.boost-ai-fe{--boost-ai-radius: 12px;--boost-ai-floating-top-safe-area: 128px;--boost-ai-floating-bottom-safe-area: 96px;font-family:inherit;font-size:14px;line-height:1.5;color:var(--boost-ui-text);box-sizing:border-box}.boost-ai-fe *,.boost-ai-fe *:before,.boost-ai-fe *:after{box-sizing:border-box}.boost-ai-fe__shell--inline{display:flex;flex-direction:column;width:100%;min-height:360px;border:1px solid var(--boost-ui-border);border-radius:var(--boost-ai-radius);background:var(--boost-ui-surface);overflow:hidden;box-shadow:0 1px 4px var(--boost-ui-border)}.boost-ai-fe--floating{position:fixed;bottom:20px;right:20px;z-index:99999}.boost-ai-fe__shell--floating{position:absolute;bottom:70px;right:0;width:380px;max-width:calc(100vw - 40px);height:min(540px,calc(100vh - 160px));max-height:calc(100vh - 160px);display:none;flex-direction:column;border:1px solid var(--boost-ui-border);border-radius:var(--boost-ai-radius);background:var(--boost-ui-surface);overflow:hidden;box-shadow:0 8px 24px var(--boost-ui-border)}.boost-ai-fe__shell--floating.is-open{display:flex}.boost-ai-fe--floating[data-boost-ai-chat].is-open{z-index:2147483000!important;isolation:isolate}.boost-ai-fe--floating[data-boost-ai-chat].is-open .boost-ai-fe__shell--floating{z-index:2147483001!important}.boost-ai-fe__shell--floating[popover]{position:fixed;inset:auto;margin:0;padding:0;color:inherit}.boost-ai-fe__shell--floating[popover]:popover-open{display:flex}@supports (height: 100dvh){.boost-ai-fe__shell--floating{height:min(540px,calc(100dvh - var(--boost-ai-floating-top-safe-area) - var(--boost-ai-floating-bottom-safe-area)));max-height:calc(100dvh - var(--boost-ai-floating-top-safe-area) - var(--boost-ai-floating-bottom-safe-area))}}.boost-ai-fe__launcher{width:56px;height:56px;border-radius:50%;border:none;background:var(--boost-ui-primary);color:var(--boost-ui-primary-contrast);box-shadow:0 4px 12px var(--boost-ui-border);cursor:pointer;font-size:24px;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:background-color .2s,transform .2s}.boost-ai-fe__launcher:hover{background:var(--boost-ui-primary-hover);transform:scale(1.05)}.boost-ai-fe__header{padding:12px 16px;background:var(--boost-ui-primary);color:var(--boost-ui-primary-contrast);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.boost-ai-fe__title{font-weight:600;font-size:14px}.boost-ai-fe__close{background:none;border:none;color:var(--boost-ui-primary-contrast);font-size:22px;line-height:1;cursor:pointer;padding:0;opacity:.8;transition:opacity .2s}.boost-ai-fe__close:hover{opacity:1}.boost-ai-fe__close--inline{display:none}.boost-ai-fe__disclosure{margin:0;padding:10px 16px;border-bottom:1px solid var(--boost-ui-border);background:var(--boost-ui-surface);color:var(--boost-ui-text-muted);font-size:12px;line-height:1.45;flex-shrink:0}.boost-ai-fe__messages{flex:1;min-height:0;overflow-y:auto;padding:16px;background:var(--boost-ui-bg-alt);display:flex;flex-direction:column;gap:8px}.boost-ai-fe-bubble{max-width:85%;padding:10px 14px;border-radius:var(--boost-ai-radius);font-size:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.boost-ai-fe-bubble--user{background:var(--boost-ui-primary);color:var(--boost-ui-primary-contrast);align-self:flex-end;border-bottom-right-radius:4px}.boost-ai-fe-bubble--bot{background:var(--boost-ui-bg);color:var(--boost-ui-text);align-self:flex-start;border-bottom-left-radius:4px}.boost-ai-fe-bubble.is-dim{opacity:.55;font-style:italic}.boost-ai-fe-bubble.is-error{background:var(--boost-ui-surface);border:1px solid var(--boost-ui-error);color:var(--boost-ui-error)}.boost-ai-fe-bubble__status{display:block;margin-top:6px;font-size:12px;font-style:italic;opacity:.7}.boost-ai-fe__composer{border-top:1px solid var(--boost-ui-border);padding:10px 12px;background:var(--boost-ui-surface);display:flex;gap:8px;align-items:flex-end;flex-shrink:0}.boost-ai-fe__input{flex:1;resize:none;border:1px solid var(--boost-ui-border);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.4;min-height:38px;max-height:120px;outline:none;background:var(--boost-ui-surface);color:var(--boost-ui-text);transition:border-color .15s}.boost-ai-fe__input:focus{border-color:var(--boost-ui-primary)}.boost-ai-fe__send{border:none;background:var(--boost-ui-primary);color:var(--boost-ui-primary-contrast);border-radius:6px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:13px;height:38px;transition:background-color .15s}.boost-ai-fe__send:hover{background:var(--boost-ui-primary-hover)}.boost-ai-fe__send:disabled{opacity:.5;cursor:not-allowed}.boost-ai-fe__launcher:focus-visible,.boost-ai-fe__close:focus-visible,.boost-ai-fe__send:focus-visible{outline:2px solid currentColor;outline-offset:2px}.boost-ai-fe__input:focus-visible{outline:2px solid var(--boost-ui-primary);outline-offset:2px}.boost-ai-fe__attr{padding:6px 12px;background:var(--boost-ui-surface);border-top:1px solid var(--boost-ui-border);font-size:10px;color:var(--boost-ui-text-muted);text-align:center;flex-shrink:0}.boost-ai-fe__attr a{color:var(--boost-ui-text-muted);text-decoration:none}.boost-ai-fe__attr a:hover{color:var(--boost-ui-primary)}.boost-ai-fe-bubble.is-streaming:after{content:"▍";display:inline-block;margin-left:2px;animation:boost-ai-fe-blink 1s step-end infinite;color:var(--boost-ui-primary)}@keyframes boost-ai-fe-blink{0%,50%{opacity:1}51%,to{opacity:0}}.boost-ai-fe-bubble.is-typing{min-width:44px;min-height:1.45em}.boost-ai-fe-bubble.is-typing:after{content:none}.boost-ai-fe-bubble.is-typing:before{content:"";display:inline-block;width:28px;height:8px;vertical-align:middle;background-image:radial-gradient(circle at 4px center,currentColor 0 3px,transparent 3.5px),radial-gradient(circle at 14px center,currentColor 0 3px,transparent 3.5px),radial-gradient(circle at 24px center,currentColor 0 3px,transparent 3.5px);background-repeat:no-repeat;background-size:8px 8px,8px 8px,8px 8px;background-position:0 50%,10px 50%,20px 50%;opacity:.6;animation:boost-ai-fe-typing 1.2s ease-in-out infinite}@keyframes boost-ai-fe-typing{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:.85;transform:translateY(-2px)}}@media (prefers-reduced-motion: reduce){.boost-ai-fe__launcher,.boost-ai-fe__close,.boost-ai-fe__input,.boost-ai-fe__send{transition:none}.boost-ai-fe__launcher:hover{transform:none}.boost-ai-fe-bubble.is-streaming:after{animation:none}.boost-ai-fe-bubble.is-typing:before{animation:none;opacity:.55}}
