:root{
  --bg:#f7f8fa;--surface:#fff;--surface-2:#f4f6f8;--text:#17202a;--muted:#64748b;
  --line:#e5e7eb;--line-strong:#cfd6df;--accent:#2159a8;--accent-soft:#edf4ff;
  --user:#e8f1ff;--code:#10151c;--code-head:#171e27;--code-text:#e8edf3;--warn:#fff8e6;
  --success:#eefaf2;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.04)
}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--surface);color:var(--text);-webkit-font-smoothing:antialiased}.app{height:100%;display:flex;flex-direction:column;background:var(--surface)}
.head{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--line);font-weight:760;letter-spacing:-.01em;background:rgba(255,255,255,.96)}.head-dot{width:9px;height:9px;border-radius:50%;background:#29a36a;box-shadow:0 0 0 3px #e8f7ef}
.messages{flex:1;overflow:auto;padding:18px 16px 24px;background:linear-gradient(180deg,#fbfcfd 0%,var(--bg) 100%);scroll-behavior:smooth}.message-row{display:flex;width:100%;margin:10px 0}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.m{position:relative;max-width:min(92%,820px);border-radius:15px;padding:13px 15px}.message-row.user .m{background:var(--user);border:1px solid #d4e4fb;border-bottom-right-radius:5px}.message-row.assistant .m{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px;box-shadow:var(--shadow)}
.content{font-size:14.5px;line-height:1.66;overflow-wrap:anywhere}.content>:first-child{margin-top:0}.content>:last-child{margin-bottom:0}.content p{margin:.62em 0}.content h1,.content h2,.content h3,.content h4{letter-spacing:-.015em;line-height:1.3;color:#111827;margin:1.15em 0 .48em;font-weight:760}.content h1{font-size:1.24rem}.content h2{font-size:1.12rem;padding-bottom:.32em;border-bottom:1px solid #edf0f3}.content h3{font-size:1.01rem}.content h4{font-size:.96rem}.content strong{font-weight:760;color:#111827}.content em{color:#334155}.content hr{border:0;border-top:1px solid var(--line);margin:1.15em 0}.content ul,.content ol{margin:.55em 0 .78em;padding-left:1.45em}.content li{margin:.32em 0;padding-left:.12em}.content li::marker{color:#6b7f99;font-weight:650}
.inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:.9em;background:#eef2f6;border:1px solid #dde4ec;color:#24364b;padding:.12em .34em;border-radius:5px;white-space:break-spaces}
.content blockquote{margin:.8em 0;padding:.68em .86em;border-left:4px solid #e4ad36;background:var(--warn);border-radius:8px;color:#4b5563}.content blockquote strong{color:#92400e}.content a{color:var(--accent);text-decoration:none;font-weight:550}.content a:hover{text-decoration:underline}.content table{width:100%;border-collapse:separate;border-spacing:0;margin:.85em 0;font-size:.93em;border:1px solid var(--line);border-radius:9px;overflow:hidden}.content th,.content td{padding:9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}.content th:last-child,.content td:last-child{border-right:0}.content tr:last-child td{border-bottom:0}.content th{background:#f4f7fa;text-align:left;font-weight:720;color:#334155}
.code-wrap{margin:.78em 0 1em;border:1px solid #202a36;border-radius:10px;overflow:hidden;background:var(--code);box-shadow:0 5px 16px rgba(15,23,42,.11)}.code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;background:var(--code-head);border-bottom:1px solid #283340;color:#9fb0c3;font:600 11px/1.2 ui-sans-serif,system-ui;text-transform:lowercase}.copy-code,.copy-answer{border:1px solid transparent;background:transparent;color:inherit;border-radius:7px;cursor:pointer;font:600 11px/1.2 ui-sans-serif,system-ui}.copy-code{padding:5px 7px}.copy-code:hover{background:#25303c;color:#fff}.code-wrap pre{margin:0;padding:13px 14px;overflow:auto;tab-size:4}.code-wrap code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:12.8px;line-height:1.58;color:var(--code-text);white-space:pre}.code-line{display:block;min-height:1.58em}.code-line.shell:before{content:"$ ";color:#60a5fa;user-select:none}.code-comment{color:#7d8b9b}.code-key{color:#93c5fd}.code-string{color:#a7f3d0}
.message-tools{display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:7px;border-top:1px solid #f0f2f4;color:#7a8999}.copy-answer{padding:5px 7px}.copy-answer:hover{background:#f2f5f8;color:#334155}
.sources{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.sources summary{cursor:pointer;list-style:none;font-weight:700;color:#53657a;display:flex;align-items:center;gap:6px}.sources summary::-webkit-details-marker{display:none}.sources summary:after{content:"›";font-size:16px;transform:rotate(90deg);transition:transform .15s}.sources[open] summary:after{transform:rotate(-90deg)}.sources-list{margin-top:7px;display:grid;gap:5px}.sources a{display:block;color:#315a9d;text-decoration:none;padding:6px 8px;border:1px solid #e4eaf1;border-radius:8px;background:#fbfcfe}.sources a:hover{background:#f2f7ff;border-color:#cfdcf0}
.actions{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.actions button{border:1px solid #b8c6db;background:#fff;color:#173b6c;border-radius:999px;padding:8px 12px;font-weight:650;cursor:pointer}.actions button:hover{background:#edf4ff}.status-wrap{min-height:32px;padding:6px 16px 8px;background:#fff;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px;border-top:1px solid #f5f6f7}.status-wrap[hidden]{display:none}.spinner{width:12px;height:12px;border:2px solid #d7dee8;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.composer{display:flex;align-items:flex-end;gap:8px;padding:11px 12px;border-top:1px solid var(--line);background:#fff}.composer textarea{flex:1;resize:none;min-height:44px;max-height:140px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:12px;outline:none;line-height:1.4;font:inherit;background:#fff}.composer textarea:focus{border-color:#7ca5dc;box-shadow:0 0 0 3px rgba(33,89,168,.09)}.composer button{height:44px;border:0;border-radius:11px;padding:0 17px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.composer button:hover{filter:brightness(.97)}.composer button:disabled{opacity:.55;cursor:not-allowed}.stream-caret:after{content:"";display:inline-block;width:6px;height:1em;margin-left:4px;vertical-align:-2px;background:#7e93ad;border-radius:2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
@media(max-width:560px){.messages{padding:12px 10px 18px}.m{max-width:97%;padding:11px 12px}.composer{padding:9px}.head{padding:12px 13px}.content table{display:block;overflow-x:auto;white-space:nowrap}.content h1{font-size:1.17rem}.content h2{font-size:1.08rem}.code-wrap pre{padding:12px}.code-wrap code{font-size:12px}}
@media(prefers-reduced-motion:reduce){.messages{scroll-behavior:auto}.spinner,.stream-caret:after{animation:none}}

/* V3.6 multilingual / bidirectional chat */
.content[dir="rtl"],.composer textarea[dir="rtl"]{direction:rtl;text-align:right;font-family:"Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif}
.message-row.user .content[dir="rtl"],.message-row.assistant .content[dir="rtl"]{unicode-bidi:plaintext}
.content[dir="rtl"] ul,.content[dir="rtl"] ol{padding-left:0;padding-right:1.55em}
.content[dir="rtl"] li{padding-left:0;padding-right:.12em}
.content[dir="rtl"] blockquote{border-left:0;border-right:4px solid #e4ad36}
.content[dir="rtl"] th,.content[dir="rtl"] td{text-align:right}
.content[dir="rtl"] .code-wrap,.content[dir="rtl"] pre,.content[dir="rtl"] code{direction:ltr;text-align:left;unicode-bidi:isolate}
.content[dir="rtl"] .inline-code{direction:ltr;unicode-bidi:isolate;display:inline-block}
.content[dir="rtl"] .sources{direction:rtl;text-align:right}
.content[dir="rtl"] .sources summary{justify-content:flex-start}
.content[dir="rtl"] .message-tools{justify-content:flex-start}
.composer textarea[dir="rtl"]::placeholder{text-align:right}

/* Generic rich-response readability */
.content{max-width:76ch}
.content h2{margin-top:1.4em}.content h3{margin-top:1.15em}
.content p{max-width:74ch}
.content ul,.content ol{max-width:72ch}
.content li+li{margin-top:.42em}
.content h2+ul,.content h2+ol,.content h3+ul,.content h3+ol{margin-top:.4em}
.content .code-wrap{max-width:100%}
.content .code-wrap pre{overscroll-behavior-x:contain}
@media(max-width:560px){.content{max-width:none}.content p,.content ul,.content ol{max-width:none}}


/* Generic mathematical surfaces. KaTeX is used automatically when vendored/loaded; otherwise TeX remains readable. */
.math-inline,.math-block{direction:ltr;unicode-bidi:isolate;font-family:"STIX Two Math","Cambria Math","Times New Roman",serif}
.math-inline{display:inline-block;padding:0 .12em;max-width:100%;overflow-x:auto;vertical-align:middle}
.math-block{display:block;overflow-x:auto;text-align:center;margin:.9em 0;padding:.8em 1em;background:#f8fafc;border:1px solid var(--line);border-radius:9px;font-size:1.06rem}
.content[dir="rtl"] .math-inline,.content[dir="rtl"] .math-block{direction:ltr;text-align:center;unicode-bidi:isolate}

.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}

#status-wrap[hidden]{display:none!important}

/* Universal knowledge provenance: text + visual identity, never color alone. */
.knowledge-banner{margin:10px 0 4px;padding:9px 11px;border-left:3px solid #8060bb;background:#f5f0ff;color:#48336c;border-radius:7px;font-size:.79rem;line-height:1.5}
.knowledge-banner strong{display:block;font-weight:700;margin-bottom:2px}
.knowledge-banner[data-mode="company"]{background:#edf5ff;border-color:#326daf;color:#174a77}
.knowledge-banner[data-mode="unverified"]{background:#fff7e8;border-color:#b48233;color:#77521a}
.sources-list .source-chip{display:block;margin:5px 0;padding:4px 8px;border-radius:6px;background:#edf5ff;color:#174a77;overflow-wrap:anywhere}
.sources-list .source-chip[data-kind="document"]{background:#eaf3ff}
.sources-list .source-chip[data-kind="live"]{background:#ebf7ee;color:#165c39}
.sources-list .source-chip a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Company-first source hierarchy; text labels remain readable without colors. */
.content .ea-evidence-section{margin:1em 0;padding:11px 13px;border:1px solid #d8e6f5;border-inline-start:4px solid #3878b6;border-radius:11px;background:#f8fbff;max-width:100%}
.content .ea-evidence-general{background:#fbf9ff;border-color:#e7ddf7;border-inline-start-color:#815fbe}
.content .ea-evidence-section>:first-child{margin-top:0}
.content .ea-evidence-section>:last-child{margin-bottom:0}
.content .ea-evidence-company>h2,.content .ea-evidence-company>h3{color:#1c588d}
.content .ea-evidence-general>h2,.content .ea-evidence-general>h3{color:#69499b}
.message-row.assistant .m{max-width:min(94%,860px)}
.content{line-height:1.74}
.content p{margin:.72em 0}
.content h2{padding-bottom:.35em}
.content li{line-height:1.64}
.content .code-wrap pre{max-width:100%}
.content :is(a,button):focus-visible{outline:3px solid #3275bd;outline-offset:2px}
@media(max-width:560px){.content .ea-evidence-section{padding:9px 10px}.message-row.assistant .m{max-width:98%}}

/* r19: accessible evidence/reference cards with consistent spacing and hierarchy */
.content{font-size:clamp(14px,1.9vw,15.5px);line-height:1.77}
.content :is(h2,h3){line-height:1.36;color:#1a385d;letter-spacing:-.01em}
.content h2{font-size:1.18em;margin:1.3em 0 .55em}
.content h3{font-size:1.06em;margin:1.1em 0 .45em}
.content :is(ul,ol){padding-inline-start:1.6em;margin:.65em 0 1.05em}
.content :is(ul,ol)>li{margin:.44em 0}
.sources-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(205px,100%),1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2eaf3}
.sources-list .source-chip{margin:0;min-width:0;padding:10px;border:1px solid #cbdff2;border-radius:10px;background:#f2f7ff;font-size:.82em;line-height:1.4}
.sources-list .source-chip a{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.knowledge-banner{margin:14px 0 9px;border-inline-start-width:4px;border-radius:10px;padding:10px 12px}
.knowledge-banner strong{margin-bottom:4px}
.message-row.assistant .m{box-shadow:0 5px 20px rgba(28,54,87,.055)}
