/* Scoped assistant styles; public website sections retain their own themes. */
.assistant-chat { --assistant-ink:#19382f; --assistant-accent:#d8edbe; --assistant-line:#ced8cc; position:fixed; inset-inline-end:22px; inset-block-end:22px; z-index:95; color:var(--assistant-ink); font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.5; text-align:start; }
.assistant-chat[data-role='learn'] { --assistant-ink:#233671; --assistant-accent:#e2e8ff; --assistant-line:#cbd5ed; }
.assistant-chat *, .assistant-chat *::before, .assistant-chat *::after { box-sizing:border-box; }
.assistant-chat button,.assistant-chat textarea,.assistant-chat select { font:inherit; letter-spacing:normal; }
.assistant-chat button { cursor:pointer; }
.assistant-chat button:disabled { opacity:.6; cursor:default; }
.assistant-chat button:focus-visible,.assistant-chat select:focus-visible,.assistant-chat textarea:focus-visible,.assistant-chat a:focus-visible { outline:3px solid #6eabeb; outline-offset:3px; }
.assistant-chat [hidden] { display:none !important; }
.assistant-launcher { display:flex; align-items:center; gap:10px; min-height:48px; max-width:calc(100vw - 44px); padding:13px 18px; border:1px solid #ffffff42; border-radius:28px; background:var(--assistant-ink); color:#fff; box-shadow:0 5px 24px #07180f26; font-size:13px !important; font-weight:600; }
.assistant-launcher svg,.assistant-send svg { width:22px; height:22px; flex-shrink:0; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.assistant-panel { position:absolute; inset-inline-end:0; inset-block-end:64px; display:flex; flex-direction:column; width:min(410px,calc(100vw - 44px)); height:min(630px,calc(100dvh - 114px)); min-height:260px; overflow:hidden; border:1px solid var(--assistant-line); border-radius:18px; background:#fff; box-shadow:0 15px 50px #13291f26; }
.assistant-header { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:10px; padding:18px 18px 16px; border-block-end:1px solid var(--assistant-line); background:#f7f9f5; }
.assistant-chat[data-role='learn'] .assistant-header { background:#f4f6fd; }
.assistant-header h2 { margin:0; font-family:inherit; font-size:19px; line-height:1.35; letter-spacing:-.025em; color:var(--assistant-ink); }
.assistant-kicker { margin:0 0 3px; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:#66766b; }
.assistant-close { display:grid; place-items:center; flex:0 0 auto; width:44px; height:44px; border:1px solid var(--assistant-line); border-radius:50%; background:#fff; color:var(--assistant-ink); font-size:26px !important; line-height:1; padding:0; }
.assistant-scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:18px; flex:1 1 auto; }
.assistant-introduction { margin:0 0 14px; color:#57655c; font-size:13px; line-height:1.65; }
.assistant-suggestions { display:flex; flex-wrap:wrap; gap:7px; margin-block-end:16px; }
.assistant-suggestions button { padding:9px 12px; max-width:100%; min-height:44px; border:1px solid var(--assistant-line); border-radius:9px; background:#f8faf7; color:var(--assistant-ink); text-align:start; overflow-wrap:anywhere; font-size:12px; line-height:1.5; }
.assistant-messages { display:flex; flex-direction:column; gap:13px; margin:0; padding:0; list-style:none; }
.assistant-message { max-width:96%; padding:12px 14px; border:1px solid var(--assistant-line); border-radius:12px; background:#f6f8f4; color:var(--assistant-ink); }
.assistant-message--user { margin-inline-start:17px; background:var(--assistant-accent); border-color:transparent; }
.assistant-message--answer { margin-inline-end:8px; }
.assistant-message--error { margin-inline-end:8px; border-color:#e8b7b0; background:#fff1ee; }
.assistant-message-label { display:block; margin-block-end:5px; font-size:10px; font-weight:700; color:#58695d; }
/* Explicit ink keeps global paragraph colors from overriding message contrast. */
.assistant-message-text { margin:0; color:var(--assistant-ink); white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.75; }
.assistant-message--error .assistant-message-label,.assistant-message--error .assistant-message-text { color:#8d2c23; }
.assistant-sources { display:flex; flex-direction:column; gap:7px; margin:12px 0 0; padding:10px 0 0; list-style:none; border-block-start:1px solid var(--assistant-line); font-size:12px; }
.assistant-sources-label { color:#58695d; font-size:10px; font-weight:700; }
.assistant-sources a { display:inline-block; color:var(--assistant-ink); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; padding-block:3px; }
.assistant-status { margin:0; min-height:31px; flex:0 0 auto; padding:5px 18px 8px; font-size:11px; color:#66766b; line-height:1.6; }
.assistant-status[data-state='error'] { color:#9b3429; }
.assistant-form { flex:0 0 auto; margin:0; padding:13px 18px 15px; border-block-start:1px solid var(--assistant-line); background:#fff; }
.assistant-mode { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-block-end:10px; font-size:11px; }
.assistant-mode label { margin:0; color:#57655c; }
.assistant-mode select { max-width:70%; min-height:36px; padding:5px 9px; border:1px solid var(--assistant-line); border-radius:7px; color:var(--assistant-ink); background:#fff; font-size:12px; }
.assistant-question-label { display:block; margin-block-end:7px; font-size:11px; font-weight:600; }
.assistant-composer { display:flex; gap:8px; align-items:end; }
.assistant-composer textarea { width:100%; min-height:64px; max-height:150px; min-width:0; padding:11px 12px; margin:0; resize:vertical; border:1px solid var(--assistant-line); border-radius:10px; background:#f8faf7; color:var(--assistant-ink); line-height:1.5; font-size:14px; }
.assistant-send { display:grid; place-items:center; width:46px; height:46px; flex-shrink:0; padding:0; margin:0 0 2px; border:1px solid var(--assistant-ink); border-radius:12px; background:var(--assistant-ink); color:#fff; }
.assistant-privacy { margin:10px 0 0; font-size:10px; line-height:1.6; color:#6e796f; }
.assistant-privacy a { color:var(--assistant-ink); text-decoration:underline; text-underline-offset:2px; }
.assistant-noscript { margin:0; padding:15px; font-size:12px; }
.assistant-chat[dir='rtl'] { font-family:Tahoma,Arial,sans-serif; }
.assistant-chat[dir='rtl'] .assistant-kicker,.assistant-chat[dir='rtl'] .assistant-header h2 { letter-spacing:0; }
@media (max-width:600px) { .assistant-chat { inset-inline-end:14px; inset-block-end:max(14px,env(safe-area-inset-bottom)); } .assistant-launcher { min-height:46px; padding:11px 15px; font-size:12px !important; } .assistant-panel { position:fixed; inset-inline:8px; inset-block-start:max(8px,env(safe-area-inset-top)); inset-block-end:max(8px,env(safe-area-inset-bottom)); width:auto; height:auto; max-height:none; min-height:0; border-radius:15px; } .assistant-header { padding:11px 14px; } .assistant-scroll { padding:14px; } .assistant-form { padding:11px 14px 13px; } .assistant-composer textarea { font-size:16px; } .assistant-privacy { font-size:10px; } }
@media (max-height:500px) { .assistant-panel { position:fixed; inset-block:8px; inset-inline-end:8px; height:auto; min-height:0; overflow-y:auto; } .assistant-header { position:sticky; inset-block-start:0; z-index:1; padding:10px 14px; } .assistant-scroll { overflow:visible; flex:0 0 auto; padding:12px 14px; } .assistant-form { padding:10px 14px; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .assistant-launcher,.assistant-suggestions button,.assistant-close { transition:background .16s,border-color .16s; } .assistant-launcher:hover,.assistant-send:hover { background:#315749; } .assistant-chat[data-role='learn'] .assistant-launcher:hover,.assistant-chat[data-role='learn'] .assistant-send:hover { background:#3b529d; } .assistant-close:hover,.assistant-suggestions button:hover { background:var(--assistant-accent); } }
