.weqf-ai-dialog { width:min(1000px,calc(100% - 48px)); max-width:none; max-height:calc(100dvh - 56px); padding:0; border:1px solid #b9c6d5; border-radius:14px; color:#0B1F3B; box-shadow:0 22px 90px #0b1f3b40; overflow:hidden; }
.weqf-ai-dialog::backdrop { background:#0b1f3b75; backdrop-filter:blur(4px); }
.weqf-ai-dialog[open] { display:flex; }
.ai-shell { width:100%; display:flex; flex-direction:column; max-height:calc(100dvh - 56px); background:#fff; }
.ai-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:21px 28px; background:#0B1F3B; color:#fff; flex-shrink:0; }
.ai-dialog-head h2 { color:#fff; font-size:25px; font-weight:500; line-height:1.3; margin:3px 0 0; letter-spacing:-.035em; }
.ai-eyebrow { font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#c7d2e2; }
.ai-close { border:1px solid #536781; background:transparent; color:white; border-radius:50%; width:36px; height:36px; font-size:24px; display:flex; align-items:center; justify-content:center; }
.ai-notice { background:#f4f6f9; padding:12px 28px; border-bottom:1px solid #dfe5ed; font-size:11px; line-height:1.7; color:#4e5e73; flex-shrink:0; }
.ai-notice p { margin:0; }
.ai-notice summary { cursor:pointer; color:#0B1F3B; margin-top:4px; font-size:10px; }
.ai-notice details[open] p { margin-top:6px; max-height:130px; overflow:auto; }
.ai-scroll { overflow-y:auto; overscroll-behavior:contain; min-height:100px; flex:1 1 440px; padding:25px 28px; background:#fbfcfd; }
.ai-welcome { text-align:center; max-width:720px; margin:18px auto 0; }
.ai-welcome h3 { font-size:24px; font-weight:500; letter-spacing:-.035em; line-height:1.3; margin:0 0 10px; }
.ai-welcome > p { font-size:13px; color:#536175; line-height:1.8; max-width:510px; margin:0 auto 23px; }
.ai-suggestions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ai-suggestions button { display:flex; align-items:center; justify-content:space-between; gap:15px; text-align:left; padding:17px; background:white; color:#0B1F3B; font-size:12px; line-height:1.65; border:1px solid #d3dce7; border-radius:7px; }
.ai-suggestions button:hover { border-color:#72869d; }
.ai-status { font-size:12px; line-height:1.8; color:#536175; margin:255px 0 0; }
.ai-status[data-error="true"] { color:#8c342e; }
.ai-messages { display:flex; flex-direction:column; align-items:start; gap:21px; }
.ai-message { max-width:90%; border:1px solid #dfe5ed; border-radius:10px; padding:17px 20px; background:#fff; font-size:14px; line-height:1.85; overflow-wrap:anywhere; }
.ai-message[data-role="user"] { align-self:flex-end; background:#eceaf5; border-color:#e1ddef; max-width:84%; }
.ai-message-label { display:block; font-size:9px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#637187; margin-bottom:7px; }
.ai-message-content { white-space:pre-wrap; }
.ai-message-content p { margin:0 0 12px; }
.ai-message-content p:last-child { margin:0; }
.ai-citations { list-style:none; padding:12px 0 0; margin:14px 0 0; border-top:1px solid #e3e8ef; display:flex; flex-wrap:wrap; gap:8px; }
.ai-citations a { font-size:10px; border:1px solid #d4dce5; padding:5px 8px; display:inline-block; border-radius:4px; color:#0B1F3B; text-decoration:none; }
.ai-citations a:hover { text-decoration:underline; }
.ai-compose { display:grid; grid-template-columns:1fr auto; gap:8px; padding:16px 28px 5px; border-top:1px solid #dfe5ed; background:#fff; flex-shrink:0; }
.ai-compose textarea { resize:vertical; min-height:56px; max-height:140px; width:100%; border:1px solid #bac8d7; border-radius:6px; padding:12px; font:inherit; font-size:13px; line-height:1.6; color:#0B1F3B; background:white; }
.ai-compose button { align-self:start; background:#0B1F3B; color:white; border:1px solid #0B1F3B; border-radius:5px; font-size:12px; padding:15px 19px; min-height:46px; }
.ai-compose p { grid-column:1/-1; font-size:9px; color:#65768b; margin:0; }
.ai-actions { display:flex; align-items:center; justify-content:space-between; padding:11px 28px 17px; gap:12px; flex-shrink:0; }
.ai-actions button { font-size:11px; border:0; padding:4px 0; color:#30445d; background:transparent; min-height:28px; }
.weqf-ai-dialog button:disabled { cursor:not-allowed; opacity:.45; }
.ai-share-panel { padding:18px 28px; border-top:1px solid #cfd9e5; background:#f5f7fa; overflow:auto; max-height:250px; flex-shrink:0; }
.ai-share-panel h3 { font-size:16px; font-weight:600; margin:0 0 6px; }
.ai-share-panel p { font-size:11px; color:#526175; margin:0 0 10px; }
.ai-share-controls { display:flex; flex-wrap:wrap; gap:8px; }
.ai-share-controls button,.ai-email-form button,.ai-fallback button,#ai-email-form button { padding:8px 12px; background:white; border:1px solid #c1cedd; border-radius:4px; color:#0B1F3B; font-size:11px; }
#ai-email-form { margin-top:15px; }
#ai-email-form > label { display:block; font-size:11px; margin-bottom:7px; }
#ai-email-form > div { display:flex; gap:9px; }
#ai-email-form input[type="email"] { font:inherit; font-size:12px; padding:9px 10px; border:1px solid #bbc8d8; border-radius:4px; color:#0B1F3B; width:100%; min-width:0; }
#ai-email-form button { white-space:nowrap; background:#0B1F3B; color:white; }
#ai-email-form .ai-email-consent { display:flex; align-items:flex-start; gap:8px; margin-top:10px; font-size:10px; }
.ai-email-consent input { flex-shrink:0; margin-top:3px; }
#ai-share-status { margin:9px 0 0; }
.ai-fallback { margin:15px 0; padding:17px; border:1px solid #d0dae6; border-radius:6px; background:#fff; }
.ai-fallback > p { font-size:13px; margin-bottom:12px; }
.ai-fallback a { display:block; font-size:12px; margin:9px 0; }
.ai-fallback button { margin:7px 8px 0 0; }
.weqf-ai-dialog [hidden] { display:none!important; }
.weqf-ai-dialog :focus-visible { outline:3px solid #6b7faa; outline-offset:3px; }
@media(max-width:640px) { .weqf-ai-dialog { width:100%; max-height:100dvh; height:100dvh; margin:0; border:0; border-radius:0; } .ai-shell { max-height:100dvh; height:100%; } .ai-dialog-head { padding:16px 18px; } .ai-dialog-head h2 { font-size:23px; } .ai-notice { padding:10px 18px; font-size:10px; } .ai-scroll { padding:18px; } .ai-welcome { margin-top:8px; } .ai-welcome h3 { font-size:21px; } .ai-suggestions { grid-template-columns:1fr; gap:8px; } .ai-suggestions button { padding:12px; font-size:11px; } .ai-message { max-width:96%; padding:14px; font-size:13px; } .ai-compose { padding:12px 16px 5px; } .ai-compose button { padding:14px 13px; } .ai-actions { padding:8px 17px 13px; } .ai-actions button { font-size:10px; } .ai-share-panel { padding:16px 18px; max-height:35dvh; } }
@media print { .weqf-ai-dialog { display:none!important; } }

/* Compact notice and a restrained cursor during local word-by-word reveal. */
.ai-notice summary{margin-top:0}
.ai-notice-copy{max-height:180px;overflow:auto;padding-top:8px}
.ai-notice details[open] p{margin:0 0 8px;max-height:none;max-width:none;overflow:visible}
.ai-notice details[open] p:last-child{margin-bottom:0}
.ai-message.is-revealing .ai-message-content::after{content:"";display:inline-block;width:4px;height:1em;margin-left:4px;vertical-align:-.15em;background:#0B1F3B}
@media(prefers-reduced-motion:reduce){.ai-message.is-revealing .ai-message-content::after{display:none}}

/* v1.5.58: a spacious conversation window with a persistent composer. */
html.ai-dialog-open{overflow:hidden;scrollbar-gutter:stable}
.weqf-ai-dialog{--ai-dialog-gutter:16px;--ai-reading-width:1120px;position:fixed;inset:auto;top:calc(var(--ai-viewport-top,0px) + var(--ai-dialog-gutter));left:var(--ai-dialog-gutter);width:calc(100% - 2 * var(--ai-dialog-gutter));height:calc(100vh - 2 * var(--ai-dialog-gutter));height:calc(var(--ai-viewport-height,100dvh) - 2 * var(--ai-dialog-gutter));max-width:none;max-height:none;margin:0;border-radius:0;border-color:#B9B9B9;background:#fff;box-sizing:border-box}
.weqf-ai-dialog .ai-shell{height:100%;max-height:none;min-height:0;min-width:0}
.weqf-ai-dialog .ai-dialog-head{padding:17px 28px;gap:16px}
.weqf-ai-dialog .ai-dialog-head h2{font-size:24px;margin-top:2px}
.weqf-ai-dialog .ai-close{width:44px;height:44px;flex:none;border-radius:0}
.weqf-ai-dialog .ai-notice{padding:9px 28px;background:#F9F9FF}
.weqf-ai-dialog .ai-notice-copy{max-height:min(150px,20dvh)}
.weqf-ai-dialog .ai-scroll{flex:1 1 auto;min-height:0;padding:32px max(28px,calc((100% - var(--ai-reading-width)) / 2));overflow-x:hidden;scrollbar-gutter:stable}
.weqf-ai-dialog .ai-welcome{max-width:720px;margin:clamp(24px,8vh,88px) auto 32px}
.weqf-ai-dialog .ai-welcome h3{font-size:clamp(28px,3.1vw,42px);line-height:1.15;letter-spacing:-.04em}
.weqf-ai-dialog .ai-welcome>p{font-size:15px;max-width:560px;line-height:1.8}
.weqf-ai-dialog .ai-messages{width:100%;gap:28px}
.weqf-ai-dialog .ai-message{width:100%;max-width:100%;padding:0 0 26px;border:0;border-bottom:1px solid #DEDEDE;border-radius:0;background:#fff;font-size:16px;line-height:1.8;color:#444444}
.weqf-ai-dialog .ai-message[data-role=user]{width:auto;max-width:85%;padding:16px 20px;border:1px solid #dae8e0;background:#f3f7f5;color:#111}
.weqf-ai-dialog .ai-message-label{margin-bottom:10px;font-size:10px}
.weqf-ai-dialog .ai-citations{gap:8px;padding-top:14px}
.weqf-ai-dialog .ai-citations a{font-size:11px;padding:7px 10px;border-radius:0}
.weqf-ai-dialog .ai-status{flex:none;min-height:18px;margin:0;padding:6px max(28px,calc((100% - var(--ai-reading-width)) / 2)) 10px;font-size:11px;line-height:1.6;background:#fff}
.weqf-ai-dialog .ai-compose{padding:14px max(28px,calc((100% - var(--ai-reading-width)) / 2)) 4px;gap:8px 12px;min-width:0}
.weqf-ai-dialog .ai-compose textarea{min-height:106px;max-height:160px;resize:none;border-radius:12px;font-size:16px;line-height:1.6;padding:13px 15px;min-width:0}
.weqf-ai-dialog .ai-send{align-self:end;min-height:56px;padding:14px 23px;border-radius:0;white-space:nowrap}
.weqf-ai-dialog .ai-compose>p{font-size:10px}
.weqf-ai-dialog .ai-actions{padding:5px max(28px,calc((100% - var(--ai-reading-width)) / 2)) 12px;gap:12px}
.weqf-ai-dialog .ai-actions button{min-height:34px;font-size:11px}
.weqf-ai-dialog .ai-share-panel{padding:18px max(28px,calc((100% - var(--ai-reading-width)) / 2));max-height:32vh;max-height:32dvh;min-height:0}
.weqf-ai-dialog .ai-share-controls button,.weqf-ai-dialog #ai-email-form button,.weqf-ai-dialog #ai-email-form input{border-radius:0}
@keyframes weqf-ai-backdrop-in{from{background:#0b1f3b00;backdrop-filter:blur(0)}to{background:#0b1f3b75;backdrop-filter:blur(4px)}}
@keyframes weqf-ai-backdrop-out{from{background:#0b1f3b75;backdrop-filter:blur(4px)}to{background:#0b1f3b00;backdrop-filter:blur(0)}}
@media(prefers-reduced-motion:no-preference){
 .weqf-ai-dialog[data-ai-window-state=opening]::backdrop{animation:weqf-ai-backdrop-in 340ms ease both}
 .weqf-ai-dialog[data-ai-window-state=closing]::backdrop{animation:weqf-ai-backdrop-out 180ms ease both}
}
@media(max-width:640px){
 .weqf-ai-dialog{--ai-dialog-gutter:0px;border:0}
 .weqf-ai-dialog .ai-dialog-head{padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px}
 .weqf-ai-dialog .ai-dialog-head h2{font-size:21px}
 .weqf-ai-dialog .ai-notice{padding:8px 16px}
 .weqf-ai-dialog .ai-scroll{padding:24px 18px;scrollbar-gutter:auto}
 .weqf-ai-dialog .ai-welcome{margin:28px auto 20px}
 .weqf-ai-dialog .ai-welcome>p{font-size:14px}
 .weqf-ai-dialog .ai-message{font-size:15px;padding-bottom:20px}
 .weqf-ai-dialog .ai-message[data-role=user]{max-width:92%;padding:13px 15px}
 .weqf-ai-dialog .ai-status{padding:5px 16px 8px;font-size:10px}
 .weqf-ai-dialog .ai-compose{padding:10px 12px 4px;gap:6px 8px;grid-template-columns:minmax(0,1fr) auto}
 .weqf-ai-dialog .ai-compose textarea{padding:12px;max-height:120px}
 .weqf-ai-dialog .ai-send{padding:12px 15px}
 .weqf-ai-dialog .ai-actions{padding:3px 14px calc(8px + env(safe-area-inset-bottom,0px))}
 .weqf-ai-dialog .ai-actions button{font-size:10px;min-height:36px}
 .weqf-ai-dialog .ai-share-panel{padding:14px 16px;max-height:30dvh}
}
@media(max-height:540px){
 .weqf-ai-dialog{--ai-dialog-gutter:0px;border:0}
 .weqf-ai-dialog .ai-dialog-head{padding:6px 14px}
 .weqf-ai-dialog .ai-eyebrow{display:none}
 .weqf-ai-dialog .ai-dialog-head h2{font-size:20px}
 .weqf-ai-dialog .ai-notice{padding:5px 14px}
 .weqf-ai-dialog .ai-scroll{padding-top:16px;padding-bottom:16px}
 .weqf-ai-dialog .ai-status{padding-top:3px;padding-bottom:5px}
 .weqf-ai-dialog .ai-compose{padding-top:8px}
 .weqf-ai-dialog .ai-compose>p{display:none}
 .weqf-ai-dialog .ai-actions{padding-top:0;padding-bottom:4px}
 .weqf-ai-dialog .ai-actions button{min-height:28px}
}
/* The visual viewport shrinks for an on-screen keyboard without necessarily
   changing CSS viewport media queries. Keep the conversation area usable. */
.weqf-ai-dialog[data-ai-compact=true]{--ai-dialog-gutter:0px;border:0}
.weqf-ai-dialog[data-ai-compact=true] .ai-dialog-head{padding:6px 14px}
.weqf-ai-dialog[data-ai-compact=true] .ai-eyebrow{display:none}
.weqf-ai-dialog[data-ai-compact=true] .ai-dialog-head h2{font-size:20px}
.weqf-ai-dialog[data-ai-compact=true] .ai-notice{padding:5px 14px}
.weqf-ai-dialog[data-ai-compact=true] .ai-scroll{padding-top:16px;padding-bottom:16px}
.weqf-ai-dialog[data-ai-compact=true] .ai-status{padding-top:3px;padding-bottom:5px}
.weqf-ai-dialog[data-ai-compact=true] .ai-compose{padding-top:8px}
.weqf-ai-dialog[data-ai-compact=true] .ai-compose>p{display:none}
.weqf-ai-dialog[data-ai-compact=true] .ai-actions{padding-top:0;padding-bottom:4px}
.weqf-ai-dialog[data-ai-compact=true] .ai-actions button{min-height:28px}
