.polina-ui{
  --polina-bg: #ffffff;
  --polina-surface: rgba(255, 255, 255, .98);
  --polina-surface-soft: #f8f8fc;
  --polina-border: #e7e6ef;
  --polina-blue: #6255ad;
  --polina-blue-soft: #f0edfc;
  --polina-red: #b65760;
  --polina-red-soft: #fcf2f3;
  --polina-text: #29384a;
  --polina-text-muted: #68788a;
  --polina-focus: #a79bd9;
  --polina-scrollbar: #d3cee7;
  --polina-shadow: 0 10px 32px rgba(33, 52, 74, .08);
  --polina-shadow-small: 0 4px 16px rgba(33, 52, 74, .07);
}.polina-ui{font-family:"Segoe UI",Arial,sans-serif;color:var(--polina-text);background:var(--polina-surface-soft);font-synthesis:none;}.polina-ui *{box-sizing:border-box}.polina-ui button,.polina-ui input,.polina-ui textarea{font:inherit}.polina-ui button{cursor:pointer;transition:background .15s}.polina-ui button:disabled{cursor:default;opacity:.45}.polina-ui button:hover:not(:disabled){filter:brightness(.96)}.polina-ui button:focus-visible,.polina-ui summary:focus-visible{outline:3px solid var(--polina-focus);outline-offset:2px}.polina-ui [hidden]{display:none!important}.polina-ui #polina-widget{position:fixed;right:24px;bottom:94px;width:410px;height:min(620px,calc(100dvh - 118px));display:flex;flex-direction:column;overflow:hidden;background:var(--polina-bg);border:1px solid var(--polina-border);border-radius:20px;box-shadow:var(--polina-shadow);z-index:10}.polina-ui header{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:17px 15px;background:var(--polina-bg);color:var(--polina-text);border-bottom:1px solid var(--polina-border)}.polina-ui .logo{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:var(--polina-blue-soft);color:var(--polina-blue);font-size:29px;font-weight:650}.polina-ui .header-identity{min-width:0;flex:1}.polina-ui .header-title{font-size:16px;font-weight:600}.polina-ui .connection{display:block;font-size:10px;margin-top:4px;color:var(--polina-text-muted)}.polina-ui .connection.ready:before{content:'●';font-size:8px;margin-right:5px;color:var(--polina-blue)}.polina-ui .header-actions{display:flex;gap:3px}.polina-ui .icon-button{display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:inherit;width:27px;height:30px;font-size:21px}.polina-ui .icon-button:hover{background:var(--polina-blue-soft)}.polina-ui .scroll-area{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--polina-scrollbar) transparent}.polina-ui .welcome{padding:21px 19px 14px;text-align:center}.polina-ui .hero-icon{display:none}.polina-ui .eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--polina-text-muted)}.polina-ui h1{font-size:22px;letter-spacing:-.5px;font-weight:600;margin:10px 0}.polina-ui h1 span{color:var(--polina-red)}.polina-ui .intro{font-size:12px;line-height:1.7;color:var(--polina-text-muted);margin:0}.polina-ui .intro br{display:none}.polina-ui .suggestions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 13px}.polina-ui .suggestions button{text-align:left;position:relative;padding:12px 10px;border:1px solid var(--polina-border);border-radius:10px;background:var(--polina-bg);min-width:0}.polina-ui .suggestions button>span{color:var(--polina-blue);font-size:18px;display:block;margin-bottom:6px}.polina-ui .suggestions strong{display:block;font-size:11px;font-weight:600}.polina-ui .suggestions small{display:block;font-size:9px;color:var(--polina-text-muted);line-height:1.5;margin-top:5px}.polina-ui .grounded{font-size:9px;color:var(--polina-text-muted);line-height:1.6}.polina-ui .messages{padding:18px 13px}.polina-ui .messages:empty{display:none}.polina-ui .message{display:flex;gap:8px;margin-bottom:20px}.polina-ui .avatar{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:9px;background:var(--polina-blue-soft);color:var(--polina-blue);font-weight:650}.polina-ui .message-body{min-width:0;flex:1}.polina-ui .message.assistant .message-body{padding:10px 12px;background:var(--polina-bg);border:1px solid var(--polina-border);border-radius:12px}.polina-ui .message.user{justify-content:flex-end}.polina-ui .message.user .message-body{flex:0 1 auto;max-width:90%;background:var(--polina-blue-soft);border-radius:12px 12px 3px 12px;padding:10px 13px}.polina-ui .message-heading{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;margin:5px 0 9px}.polina-ui .badge{font-size:8px;font-weight:400;color:var(--polina-text-muted);background:var(--polina-surface-soft);padding:3px 6px;border-radius:4px}.polina-ui .answer{font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.polina-ui .sources{margin-top:11px;border:1px solid var(--polina-border);border-radius:9px;padding:10px;font-size:11px}.polina-ui .sources summary{cursor:pointer;color:var(--polina-blue)}.polina-ui .source{border-top:1px solid var(--polina-border);margin-top:10px;padding-top:10px}.polina-ui .source h4{font-size:11px;margin:0}.polina-ui .source p{color:var(--polina-text-muted);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.polina-ui .source button{border:0;border-radius:5px;background:var(--polina-surface-soft);color:var(--polina-blue);padding:7px;font-size:10px;text-align:left;margin-top:6px;width:100%}.polina-ui .notes{white-space:pre-wrap;color:var(--polina-text-muted);background:var(--polina-surface-soft);padding:9px;border-radius:7px;font-size:10px;line-height:1.7;margin-top:10px}.polina-ui .copy{background:none;border:0;color:var(--polina-text-muted);font-size:9px;padding:9px 0}.polina-ui .pending .answer{color:var(--polina-text-muted)}.polina-ui .pending .avatar{animation:polina-pulse 1.4s infinite}.polina-ui .error .answer{color:var(--polina-red)}.polina-ui .retry{padding:8px 10px;border:1px solid var(--polina-border);border-radius:6px;background:var(--polina-bg);color:var(--polina-blue);font-size:11px;margin-top:9px}.polina-ui footer{padding:10px 12px 11px;border-top:1px solid var(--polina-border);background:var(--polina-bg);flex-shrink:0}.polina-ui #chat-form{border:1px solid var(--polina-border);border-radius:12px;padding:10px 11px 8px;background:var(--polina-bg)}.polina-ui #chat-form:focus-within{border-color:var(--polina-focus)}.polina-ui textarea{display:block;border:0;resize:none;outline:none;width:100%;background:none;color:var(--polina-text);font-size:12px;line-height:1.6}.polina-ui textarea::placeholder{color:var(--polina-text-muted)}.polina-ui .composer-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--polina-text-muted);font-size:9px;margin-top:5px}.polina-ui .composer-bottom>div{display:flex;gap:8px;align-items:center}.polina-ui .keyboard-hint{display:none}.polina-ui #counter{font-size:8px}.polina-ui #send{width:29px;height:29px;border:0;border-radius:8px;background:var(--polina-blue-soft);color:var(--polina-blue);font-size:21px}.polina-ui .footer-note{font-size:8px;line-height:1.5;text-align:center;color:var(--polina-text-muted);margin:8px 4px 0}.polina-ui .notice{margin:9px 12px 0;padding:9px;background:var(--polina-red-soft);color:var(--polina-red);font-size:11px;border-radius:8px;flex-shrink:0}.polina-ui .launcher{position:fixed;right:24px;bottom:22px;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;background:var(--polina-bg);color:var(--polina-blue);border:0;border-radius:30px;box-shadow:var(--polina-shadow-small);font-size:13px;font-weight:600;z-index:11}.polina-ui .launcher-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--polina-blue-soft);font-size:25px}.polina-ui .launcher #launcher-symbol{font-size:16px;margin-left:3px}.polina-ui .toast{position:fixed;right:35px;bottom:100px;max-width:360px;background:var(--polina-bg);color:var(--polina-text);border:1px solid var(--polina-border);box-shadow:var(--polina-shadow-small);padding:12px 16px;border-radius:10px;font-size:11px;z-index:12}.polina-ui .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes polina-pulse{50%{opacity:.4}}@media(max-width:460px){.polina-ui #polina-widget{right:10px;bottom:82px;width:calc(100vw - 20px);height:min(620px,calc(100dvh - 96px));border-radius:16px}.polina-ui .launcher{right:12px;bottom:14px;padding-top:8px;padding-bottom:8px}.polina-ui .toast{right:20px;bottom:90px;max-width:calc(100vw - 40px)}.polina-ui header{padding:14px 12px;gap:8px}.polina-ui .connection{font-size:9px}.polina-ui .header-actions{gap:0}.polina-ui .welcome{padding:18px 15px 12px}.polina-ui h1{font-size:21px}}@media(prefers-reduced-motion:reduce){.polina-ui *{animation:none!important;transition:none!important}}.polina-ui .navigation-actions{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.polina-ui .navigation-action{border:1px solid var(--polina-border);border-radius:8px;padding:8px 10px;background:var(--polina-bg);color:var(--polina-text);font-size:10px;line-height:1.4;text-align:left}.polina-ui .navigation-action:disabled{opacity:.38}.polina-ui #polina-widget .new-chat-button{white-space:nowrap;width:auto;padding:7px 10px;border:1px solid var(--polina-border);border-radius:8px;background:var(--polina-bg);color:var(--polina-text);font-size:11px;line-height:1.4}.polina-ui #polina-widget .new-chat-button:hover:not(:disabled){background:var(--polina-blue-soft);color:var(--polina-blue)}.polina-ui #polina-widget img.logo,.polina-ui .launcher img.launcher-mark{display:block;object-fit:contain;background:transparent;border-radius:0;flex-shrink:0}.polina-ui #polina-widget{height:min(480px,calc(100dvh - 118px));border-radius:16px}.polina-ui #polina-widget header{padding:8px 12px;gap:8px}.polina-ui #polina-widget .logo{width:32px;height:32px}.polina-ui #polina-widget .connection{margin-top:2px}.polina-ui #polina-widget .new-chat-button{padding:5px 8px}.polina-ui #polina-widget .welcome{padding:10px 12px 6px}.polina-ui #polina-widget h1{margin:6px 0;font-size:20px}.polina-ui #polina-widget .intro{line-height:1.5}.polina-ui #polina-widget .suggestions{gap:8px;margin:10px 0 0}.polina-ui #polina-widget .suggestions button{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:8px;row-gap:2px;align-content:center;min-height:64px;padding:8px 10px;border-radius:8px}.polina-ui #polina-widget .suggestions button>span{grid-column:1;grid-row:1 / 3;font-size:16px;line-height:1.4;margin:0;align-self:center}.polina-ui #polina-widget .suggestions strong{grid-column:2;grid-row:1;font-size:11px;line-height:1.4;align-self:center}.polina-ui #polina-widget .suggestions small{grid-column:2;grid-row:2;font-size:10px;line-height:1.35;margin:0;color:var(--polina-text-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.polina-ui #polina-widget .grounded{line-height:1.4}.polina-ui #polina-widget .messages{padding:12px 13px}.polina-ui #polina-widget footer{padding:7px 12px 8px}.polina-ui #polina-widget #chat-form{padding:7px 10px 6px;border-radius:10px}.polina-ui #polina-widget textarea{line-height:1.5}.polina-ui #polina-widget .composer-bottom{margin-top:3px}.polina-ui #polina-widget #send{width:27px;height:27px}.polina-ui #polina-widget .footer-note{margin:4px 2px 0}@media(max-width:460px){.polina-ui #polina-widget{height:min(480px,calc(100dvh - 96px))}.polina-ui #polina-widget .welcome{padding:10px 12px 6px}
}.polina-ui #polina-widget textarea{padding:0}.polina-ui #polina-widget footer{padding:6px 12px}


.polina-ui{display:contents}
.polina-ui .polina-brand{background:transparent;overflow:hidden;display:grid;place-items:center}
.polina-ui .polina-brand-image{display:block;width:100%;height:100%;object-fit:contain}
.polina-ui .polina-brand-missing{background:var(--polina-surface-soft);border:1px solid var(--polina-border);border-radius:8px}
.polina-ui .polina-brand-missing::after{content:'◇';font-size:18px;color:var(--polina-blue)}

.polina-ui .polina-brand{flex-shrink:0;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.polina-ui .polina-brand-image{min-width:0;min-height:0}


@media(max-width:380px){
  .polina-ui #polina-widget .suggestions{grid-template-columns:minmax(0,1fr)}
  .polina-ui #polina-widget .suggestions button{min-height:60px}
  .polina-ui #polina-widget .header-title{font-size:15px}
  .polina-ui #polina-widget .footer-note{overflow-wrap:anywhere}
}

/* Response actions: navigation, utility menu and contextual choices. */
.polina-ui .message.assistant .message-body{padding:8px 10px}
.polina-ui .polina-response-actions{margin-top:10px;min-width:0}
.polina-ui .polina-action-navigation{display:flex;gap:8px;align-items:center}
.polina-ui .polina-response-actions .navigation-action,.polina-ui .polina-action-toggle{min-height:32px;padding:6px 11px;border:1px solid var(--polina-border);border-radius:7px;background:var(--polina-bg);color:var(--polina-text);font-size:11px;line-height:1.4;overflow-wrap:anywhere;max-width:100%}
.polina-ui .polina-action-navigation .polina-action-back{order:0}
.polina-ui .polina-action-navigation .polina-action-next{order:1;margin-left:auto;background:var(--polina-blue-soft);color:var(--polina-blue);font-weight:600}
.polina-ui .polina-action-utility{display:flex;align-items:center;gap:4px;margin-top:4px}
.polina-ui .polina-action-utility .navigation-action,.polina-ui .polina-action-toggle{border-color:transparent;color:var(--polina-text-muted);padding:4px 8px}
.polina-ui .polina-action-toggle{font-size:20px;line-height:1;width:32px}
.polina-ui .polina-action-toggle[aria-expanded="true"]{background:var(--polina-surface-soft)}
.polina-ui .polina-action-menu{position:relative;z-index:1;width:220px;max-width:100%;padding:4px;margin-top:4px;background:var(--polina-bg);border:1px solid var(--polina-border);border-radius:8px;box-shadow:var(--polina-shadow-small)}
.polina-ui .polina-action-menu .navigation-action{display:block;width:100%;border:0;text-align:left}
.polina-ui .polina-action-menu .navigation-action:hover:not(:disabled){background:var(--polina-blue-soft)}
.polina-ui .polina-action-related{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.polina-ui .polina-action-caption{width:100%;font-size:10px;line-height:1.5;color:var(--polina-text-muted)}
.polina-ui .source .polina-source-pdf{width:auto;max-width:100%}
.polina-ui .copy{display:block;margin:5px 0 0 auto;padding:4px 0;font-size:10px}
@media(max-width:460px){.polina-ui .polina-action-navigation .navigation-action{flex:1;text-align:center}}

.polina-ui .polina-new-message-dock{flex-shrink:0;display:flex;justify-content:center;padding:3px 12px 5px;background:var(--polina-bg)}
.polina-ui .polina-new-message-indicator{max-width:100%;padding:4px 10px;border:1px solid var(--polina-border);border-radius:14px;background:var(--polina-blue-soft);color:var(--polina-blue);box-shadow:var(--polina-shadow-small);font-size:11px;line-height:1.4}

.polina-ui .polina-tabs{display:flex;flex-shrink:0;gap:8px;padding:7px 10px;border-bottom:1px solid var(--polina-border)}
.polina-ui .polina-tab{flex:1;min-width:0;padding:7px 4px;border:1px solid var(--polina-border);border-radius:8px;background:var(--polina-bg);color:var(--polina-text-muted);font-size:12px;line-height:1.4;text-align:center}
.polina-ui .polina-tab[aria-selected="true"]{border-color:var(--polina-focus);background:var(--polina-blue-soft);color:var(--polina-blue);font-weight:600}
.polina-ui .polina-tab:hover{border-color:var(--polina-focus);background:var(--polina-blue-soft)}
.polina-ui .polina-tab-panels{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.polina-ui .polina-tab-panel{grid-area:1 / 1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
/* Retain layout metrics so background responses use the existing scroll logic. */
.polina-ui .polina-tab-panel--inactive{visibility:hidden;pointer-events:none}
.polina-ui #polina-support-mount{min-width:0;overflow:auto}
.polina-ui .polina-support-host{flex:1;min-height:0;padding:10px}
.polina-ui .polina-support-host .polina-support-placeholder{padding:12px 8px}
.polina-ui .polina-support-placeholder{padding:24px 20px;color:var(--polina-text);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.polina-ui .polina-support-placeholder p{margin:0 0 10px}
.polina-ui .polina-support-placeholder .polina-support-hint{font-size:12px;color:var(--polina-text-muted)}

/* Compact messenger palette and surfaces. */
.polina-ui #polina-widget{border-radius:21px;box-shadow:0 8px 24px rgba(62,49,100,.09)}
.polina-ui #polina-widget header{padding:9px 12px;background:linear-gradient(135deg,#6667d8,#8559cb);color:#fff;border-bottom:0}
.polina-ui .polina-header-subtitle{display:block;margin-top:2px;font-size:10px;line-height:1.4;color:rgba(255,255,255,.9)}
.polina-ui #polina-widget header .polina-brand{padding:3px;background:rgba(255,255,255,.9);border-radius:9px}
.polina-ui #polina-widget .new-chat-button{padding:5px 8px;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font-size:10px}
.polina-ui #polina-widget .new-chat-button:hover:not(:disabled),.polina-ui #polina-widget header .icon-button:hover{background:rgba(255,255,255,.2);color:#fff}
.polina-ui .polina-tabs{gap:7px;padding:6px 10px}
.polina-ui .polina-tab{padding:6px 4px;font-size:11px;border-radius:8px}
.polina-ui .polina-tab[aria-selected="true"]{box-shadow:0 1px 3px rgba(83,65,132,.07)}
.polina-ui #polina-widget .welcome{padding:10px 12px 6px}
.polina-ui .eyebrow{display:none}
.polina-ui #polina-widget h1{font-size:20px;margin:4px 0 6px}
.polina-ui h1 span{color:var(--polina-blue)}
.polina-ui #polina-widget .intro{font-size:13px;line-height:1.45}
.polina-ui #polina-widget .suggestions{margin-top:10px;gap:8px}
.polina-ui #polina-widget .suggestions button{min-height:64px;padding:9px 10px;background:#fff}
.polina-ui #polina-widget .suggestions button>span{font-size:13px}
.polina-ui .message.assistant .message-body{background:#faf9fd;padding:8px 10px;border-radius:11px}
.polina-ui .message.user .message-body{background:#f0edfb;padding:8px 11px}
.polina-ui .message-heading{margin:3px 0 6px}
.polina-ui #polina-widget #chat-form{padding:7px 10px 6px;border-color:#ddd7ef;border-radius:15px}
.polina-ui #polina-widget #chat-form:focus-within{border-color:var(--polina-focus)}
.polina-ui #polina-widget #send{width:28px;height:28px;border-radius:9px;background:var(--polina-blue-soft);color:var(--polina-blue)}
.polina-ui .polina-new-message-indicator{box-shadow:0 2px 5px rgba(83,65,132,.07)}

/* Message insertion never lets browser scroll anchoring move the reader. */
.polina-ui .scroll-area{overflow-anchor:none;scroll-behavior:auto}
