.ab37-widget{--primary: #18181b;--primary-hover: #27272a;--primary-active: #3f3f46;--on-primary: #fafafa;--launcher-bg: #8822aa;--launcher-bg-hover: #73208f;--launcher-fg: #ffffff;--bg: #ffffff;--surface-2: #f4f4f5;--surface-3: #fafafa;--border: #e4e4e7;--border-strong: #d4d4d8;--ink: #18181b;--ink-muted: #52525b;--ink-soft: #71717a;--ring: #18181b;--danger: #dc2626;--shadow: 9 9 11;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: .9375rem;--text-lg: 1rem;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--ease-out: cubic-bezier(.25, 1, .5, 1);--z-backdrop: 2147483000;--z-launcher: 2147483001;--z-panel: 2147483002}:where(.ab37-widget){font-family:var(--font);font-size:var(--text-base);line-height:1.5;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ab37-widget *,.ab37-widget *:before,.ab37-widget *:after{box-sizing:border-box}:where(.ab37-widget) button{margin:0;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}:where(.ab37-widget) textarea{font:inherit;color:inherit}.ab37-widget :focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:6px}.ab37-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ab37-launcher-wrap{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:var(--z-launcher);display:flex;align-items:center;gap:10px;transition:transform .15s var(--ease-out),opacity .15s var(--ease-out)}.ab37-launcher-wrap.is-hidden{opacity:0;transform:scale(.85);pointer-events:none}.ab37-launcher-label{font-family:var(--font);font-size:14px;line-height:1.2;color:#000;background:#fff;padding:7px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px rgba(var(--shadow)/.16),0 1px 3px rgba(var(--shadow)/.1)}.ab37-launcher{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:var(--launcher-fg);background:var(--launcher-bg);box-shadow:0 6px 16px rgba(var(--shadow)/.18),0 2px 4px rgba(var(--shadow)/.12);transition:transform .15s var(--ease-out),background-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.ab37-launcher:hover{background:var(--launcher-bg-hover);transform:translateY(-1px);box-shadow:0 10px 24px rgba(var(--shadow)/.24),0 3px 6px rgba(var(--shadow)/.14)}.ab37-launcher:active{transform:scale(.96)}@media (prefers-reduced-motion: reduce){.ab37-launcher-wrap{transition:opacity .12s linear}.ab37-launcher-wrap.is-hidden{transform:none}.ab37-launcher{transition:background-color .12s linear}.ab37-launcher:hover,.ab37-launcher:active{transform:none}}.ab37-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);background:rgba(var(--shadow)/.45);opacity:0;visibility:hidden;transition:opacity .2s var(--ease-out),visibility 0s linear .2s}.ab37-backdrop.is-open{opacity:1;visibility:visible;transition:opacity .2s var(--ease-out),visibility 0s}@media (min-width: 768px){.ab37-backdrop{display:none}}.ab37-panel{position:fixed;left:0;right:0;bottom:0;top:calc(env(safe-area-inset-top,0px) + 22px);z-index:var(--z-panel);display:flex;flex-direction:column;overflow:hidden;background:var(--bg);border-top-left-radius:var(--r-2xl);border-top-right-radius:var(--r-2xl);box-shadow:0 -8px 40px rgba(var(--shadow)/.18);visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s linear .2s}.ab37-panel.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s}.ab37-panel__body{flex:1 1 auto;min-height:0;display:flex}@media (min-width: 768px){.ab37-panel{inset:auto;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:460px;height:calc(100dvh - 40px);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:0 16px 48px rgba(var(--shadow)/.16),0 4px 12px rgba(var(--shadow)/.1)}}.ab37-header{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:var(--bg);border-bottom:1px solid var(--border)}.ab37-header__text{flex:1 1 auto;min-width:0}.ab37-header__title{margin:0;font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ab37-header__sub{margin:1px 0 0;font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ab37-avatar{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-md);background:#fff;border:1px solid var(--border);overflow:hidden}.ab37-avatar__img{width:100%;height:100%;object-fit:contain;padding:3px}.ab37-iconbtn{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-md);color:var(--ink-muted);transition:background-color .14s var(--ease-out),color .14s var(--ease-out)}.ab37-iconbtn:hover{background:var(--surface-2);color:var(--ink)}.ab37-iconbtn:active{background:var(--border)}@media (prefers-reduced-motion: reduce){.ab37-panel{transform:none;transition:opacity 90ms linear,visibility 0s linear 90ms}.ab37-panel.is-open{transform:none;transition:opacity 90ms linear,visibility 0s}.ab37-backdrop{transition:opacity 90ms linear,visibility 0s linear 90ms}.ab37-backdrop.is-open{transition:opacity 90ms linear,visibility 0s}}.ab37-list-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex}.ab37-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch;background:var(--bg);display:flex;flex-direction:column;gap:16px;padding:16px 16px 10px}.ab37-msg{display:flex;flex-direction:column}.ab37-msg--user{align-items:flex-end}.ab37-msg--assistant{align-items:flex-start}.ab37-bubble{max-width:85%;padding:10px 14px;border-radius:var(--r-xl);font-size:var(--text-base);word-break:break-word}.ab37-bubble--assistant{background:var(--surface-2);color:var(--ink);border-top-left-radius:var(--r-sm)}.ab37-bubble--assistant.is-error{background:#fef2f2;color:var(--danger)}.ab37-bubble--user{background:var(--primary);color:var(--on-primary);border-bottom-right-radius:var(--r-sm);white-space:pre-wrap}.ab37-meta{margin:5px 2px 0;font-size:var(--text-xs);color:var(--ink-soft)}.ab37-sources{margin:5px 2px 0;max-width:85%;font-size:var(--text-xs);color:var(--ink-soft);line-height:1.45}.ab37-sources__label{font-weight:500}.ab37-sources a{color:var(--ink-muted);text-decoration:underline;text-underline-offset:2px}.ab37-sources a:hover{color:var(--ink)}@keyframes ab37-fade{0%{opacity:0}to{opacity:1}}@keyframes ab37-blink{50%{opacity:0}}.ab37-stream{white-space:pre-wrap;word-break:break-word}.ab37-stream__chunk{animation:ab37-fade .22s var(--ease-out) both}.ab37-stream__caret{display:inline-block;width:2px;height:1.05em;margin-left:1px;vertical-align:-.15em;background:var(--ink-muted);animation:ab37-blink 1s steps(2,start) infinite}@keyframes ab37-bounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:.8}}.ab37-typing{display:inline-flex;gap:4px;padding:3px 0}.ab37-typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-soft);animation:ab37-bounce 1.2s infinite ease-in-out}.ab37-typing span:nth-child(2){animation-delay:.15s}.ab37-typing span:nth-child(3){animation-delay:.3s}.ab37-tool{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:var(--text-sm)}.ab37-tool__dot{width:8px;height:8px;border-radius:50%;background:var(--ink-soft);animation:ab37-bounce 1s infinite ease-in-out}.ab37-md>:first-child{margin-top:0}.ab37-md>:last-child{margin-bottom:0}.ab37-md p{margin:0 0 8px}.ab37-md ul,.ab37-md ol{margin:6px 0 8px;padding-left:20px}.ab37-md li{margin:2px 0}.ab37-md li::marker{color:var(--ink-muted)}.ab37-md a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border-strong)}.ab37-md a:hover{text-decoration-color:currentColor}.ab37-md strong{font-weight:600}.ab37-md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 5px}.ab37-md pre{margin:8px 0;padding:10px 12px;overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md)}.ab37-md pre code{background:none;border:none;padding:0}.ab37-md h1,.ab37-md h2,.ab37-md h3,.ab37-md h4{margin:10px 0 6px;font-size:var(--text-md);font-weight:600;line-height:1.3}.ab37-md table{border-collapse:collapse;margin:8px 0;font-size:var(--text-sm)}.ab37-md th,.ab37-md td{border:1px solid var(--border);padding:5px 8px;text-align:left}.ab37-md th{background:var(--surface-2)}.ab37-empty{display:flex;flex-direction:column;gap:16px}.ab37-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 2px}.ab37-chip{padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg);color:var(--ink);font-size:var(--text-sm);font-weight:500;line-height:1.2;transition:background-color .14s var(--ease-out),border-color .14s var(--ease-out),transform .14s var(--ease-out)}.ab37-chip:hover{background:var(--surface-2);border-color:var(--ink-soft)}.ab37-chip:active{transform:scale(.97)}.ab37-jump{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink);background:var(--bg);border:1px solid var(--border-strong);box-shadow:0 4px 14px rgba(var(--shadow)/.14);transition:transform .14s var(--ease-out)}.ab37-jump:hover{transform:translate(-50%) translateY(-1px)}@media (prefers-reduced-motion: reduce){.ab37-stream__chunk,.ab37-stream__caret,.ab37-typing span,.ab37-tool__dot{animation:none}.ab37-typing span,.ab37-tool__dot{opacity:.6}.ab37-chip:active{transform:none}}.ab37-composer{flex:0 0 auto;display:flex;flex-direction:column;padding:12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px));padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px));background:var(--bg);border-top:1px solid var(--border)}.ab37-composer__field{display:flex;flex-direction:column;gap:4px;padding:8px 8px 8px 12px;border:1px solid var(--border-strong);border-radius:var(--r-xl);background:var(--bg);transition:border-color .14s var(--ease-out),box-shadow .14s var(--ease-out)}.ab37-composer__field:focus-within{border-color:var(--ink-soft);box-shadow:0 0 0 3px rgba(var(--shadow)/.06)}.ab37-composer__textarea{width:100%;min-width:0;resize:none;border:none;outline:none;background:transparent;color:var(--ink);max-height:120px;padding:4px 2px;line-height:1.45;font-size:var(--text-base)}.ab37-composer__textarea::placeholder{color:var(--ink-soft)}.ab37-composer__textarea:focus-visible{outline:none}@media (pointer: coarse){.ab37-composer__textarea{font-size:16px}}.ab37-composer__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ab37-composer__action{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--ink-muted);font-size:var(--text-xs);font-weight:500;white-space:nowrap;transition:background-color .14s var(--ease-out),color .14s var(--ease-out),border-color .14s var(--ease-out)}.ab37-composer__action:hover{background:var(--surface-2);color:var(--ink);border-color:var(--ink-soft)}.ab37-composer__hint{margin:8px 0 0;padding:0 8px;text-align:center;font-size:var(--text-xs);line-height:1.4;color:var(--ink-soft)}.ab37-send{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--on-primary);background:var(--primary);transition:background-color .14s var(--ease-out),transform .14s var(--ease-out),color .14s var(--ease-out)}.ab37-send:hover:not(:disabled){background:var(--primary-hover)}.ab37-send:active:not(:disabled){transform:scale(.94)}.ab37-send:disabled{background:var(--surface-2);color:var(--ink-soft);cursor:not-allowed}.ab37-send--stop{background:var(--primary)}.ab37-send--stop:hover{background:var(--primary-hover)}@media (prefers-reduced-motion: reduce){.ab37-send:active:not(:disabled){transform:none}}.ab37-ege{width:100%;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg)}.ab37-ege__head{display:flex;align-items:center;gap:8px;color:var(--ink)}.ab37-ege__title{font-size:var(--text-md);font-weight:600}.ab37-ege__sub{margin:-4px 0 0;font-size:var(--text-xs);color:var(--ink-soft)}.ab37-ege__rows{display:flex;flex-direction:column;gap:8px}.ab37-ege__row{display:flex;align-items:center;gap:6px}.ab37-ege__select,.ab37-ege__score{height:38px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);color:var(--ink);font-size:var(--text-sm);transition:border-color .14s var(--ease-out),box-shadow .14s var(--ease-out)}.ab37-ege__select:focus-visible,.ab37-ege__score:focus-visible{outline:none;border-color:var(--ink-soft);box-shadow:0 0 0 3px rgba(var(--shadow)/.06)}@media (pointer: coarse){.ab37-ege__select,.ab37-ege__score{font-size:16px}}.ab37-ege__select{flex:1 1 auto;min-width:0;padding:0 36px 0 12px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.ab37-ege__score{flex:0 0 70px;width:70px;padding:0 8px;text-align:center}.ab37-ege__remove{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-md);color:var(--ink-soft);transition:background-color .14s var(--ease-out),color .14s var(--ease-out)}.ab37-ege__remove:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.ab37-ege__remove:disabled{opacity:.4;cursor:not-allowed}.ab37-ege__add{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--ink-muted);font-size:var(--text-sm);font-weight:500;transition:background-color .14s var(--ease-out),border-color .14s var(--ease-out)}.ab37-ege__add:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-soft)}.ab37-ege__add:disabled{opacity:.5;cursor:not-allowed}.ab37-ege__error{font-size:var(--text-xs);color:var(--danger)}.ab37-ege__actions{display:flex;gap:8px}.ab37-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:500;transition:background-color .14s var(--ease-out),transform .14s var(--ease-out)}.ab37-btn:active:not(:disabled){transform:scale(.98)}.ab37-btn:disabled{opacity:.55;cursor:not-allowed}.ab37-btn--primary{flex:1 1 auto;background:var(--primary);color:var(--on-primary)}.ab37-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.ab37-btn--ghost{background:var(--bg);border:1px solid var(--border-strong);color:var(--ink)}.ab37-btn--ghost:hover:not(:disabled){background:var(--surface-2)}.ab37-result__group{font-size:var(--text-xs);font-weight:600;color:var(--ink-soft)}.ab37-result__list{display:flex;flex-direction:column;gap:8px}.ab37-result__item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3)}.ab37-result__item--link{text-decoration:none;color:inherit;cursor:pointer;transition:background-color .14s var(--ease-out),border-color .14s var(--ease-out)}.ab37-result__item--link:hover{background:var(--surface-2);border-color:var(--border-strong)}.ab37-result__item--link:hover .ab37-result__name{text-decoration:underline;text-underline-offset:2px}.ab37-result__name{font-size:var(--text-base);font-weight:600;color:var(--ink)}.ab37-result__inst{font-size:var(--text-sm);color:var(--ink-muted)}.ab37-result__meta{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:2px;font-size:var(--text-xs);color:var(--ink-soft)}.ab37-result__tag{font-weight:600;color:var(--ink-muted)}.ab37-result__tag.is-ok{color:var(--ink)}.ab37-result__empty,.ab37-result__note{margin:0;font-size:var(--text-xs);color:var(--ink-soft);line-height:1.45}.ab37-result__link{align-self:flex-start;font-size:var(--text-sm);color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border-strong)}.ab37-result__link:hover{text-decoration-color:currentColor}@keyframes ab37-pulse{0%,to{opacity:1}50%{opacity:.4}}.ab37-skel-item{gap:8px}.ab37-skel{height:12px;border-radius:5px;background:var(--border);animation:ab37-pulse 1.4s ease-in-out infinite}.ab37-skel--title{height:15px;width:75%}.ab37-skel--line{width:45%}.ab37-skel--meta{width:60%}@media (prefers-reduced-motion: reduce){.ab37-btn:active:not(:disabled){transform:none}.ab37-skel{animation:none}}
