:root { color-scheme: light; --ink:#14213d; --muted:#62708a; --orange:#f59a00; --paper:#fffdf9; --line:#dce3dd; --blue:#2e5c88; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:#f5f7f3; }
.site-header { min-height:70px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fff; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); font-size:1.15rem; font-weight:800; text-decoration:none; }.brand span { color:var(--orange); } nav { display:flex; gap:18px; } nav a { color:var(--muted); font-weight:650; text-decoration:none; } nav a.active { color:var(--ink); }
.chat-shell { width:min(880px,calc(100% - 32px)); margin:0 auto; padding:54px 0 42px; }.intro { max-width:700px; margin:0 auto 28px; text-align:center; }.eyebrow { margin:0 0 8px; color:#a55f00; font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.intro h1 { margin:0; font-size:clamp(2rem,5vw,3rem); line-height:1.12; }.intro p:last-child { color:var(--muted); margin:15px auto 0; }
.chat-card { background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 9px 30px #14213d0d; overflow:hidden; }.messages { min-height:250px; padding:24px; }.message { display:flex; align-items:flex-start; gap:12px; margin:0 0 22px; }.message.user { flex-direction:row-reverse; }.avatar { flex:0 0 34px; display:grid; place-items:center; height:34px; border-radius:50%; color:#fff; background:var(--blue); font-size:.68rem; font-weight:800; }.user .avatar { background:var(--orange); }.bubble { max-width:76%; padding:13px 16px; background:#edf3f7; border-radius:4px 16px 16px; }.user .bubble { background:#fff0d4; border-radius:16px 4px 16px 16px; }.bubble p { margin:0; white-space:pre-wrap; }.bubble p + p { margin-top:10px; }.hint { color:var(--muted); font-size:.9rem; }
.sources { margin-top:18px; border-top:1px solid #cbd8df; padding-top:14px; }.sources > strong { display:block; margin-bottom:10px; font-size:.88rem; }.source-card { margin:10px 0; padding:14px; border:1px solid #d5dfdc; border-radius:12px; background:#fffefa; }.source-card h3 { margin:0; font-size:1rem; line-height:1.25; }.source-meta,.source-context { margin:5px 0 0 !important; color:var(--muted); font-size:.87rem; white-space:normal !important; }.source-context { color:#3d5874; }.source-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }.source-actions a,.source-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; border:0; border-radius:7px; padding:8px 11px; cursor:pointer; font:inherit; font-size:.82rem; font-weight:800; text-decoration:none; }.source-share,.source-followup { background:var(--orange); color:var(--ink); }.source-original { background:var(--blue); color:#fff; }.source-actions a:hover,.source-actions button:hover { filter:brightness(.95); }
.suggestions { display:flex; flex-wrap:wrap; gap:8px; padding:0 24px 18px; }.suggestions > strong { flex:0 0 100%; margin:2px 0 2px; font-size:.9rem; }.suggestions button,.clear { border:1px solid #c9d3d2; background:#fff; color:var(--ink); padding:8px 11px; border-radius:999px; cursor:pointer; font:inherit; font-size:.86rem; }.suggestions button:hover,.clear:hover { border-color:var(--orange); }.composer { border-top:1px solid var(--line); padding:16px 20px; background:#fff; }.composer textarea { width:100%; resize:vertical; min-height:54px; border:1px solid #b7c2c5; border-radius:9px; padding:12px; color:var(--ink); font:inherit; }.composer textarea:focus { outline:3px solid #f59a0050; border-color:var(--orange); }.composer-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; color:var(--muted); font-size:.82rem; }.composer button { border:0; border-radius:8px; background:var(--orange); color:#18213a; padding:10px 18px; cursor:pointer; font:inherit; font-weight:800; }.composer button:disabled { opacity:.65; cursor:wait; }.clear { margin:0 20px 20px; }.disclaimer { margin:16px auto 0; max-width:650px; text-align:center; color:var(--muted); font-size:.82rem; }.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; }
.document-overlay { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:20px; }.document-overlay[hidden] { display:none; }.document-overlay-backdrop { position:absolute; inset:0; background:#14213d88; backdrop-filter:blur(3px); }.document-overlay-panel { position:relative; display:flex; flex-direction:column; width:min(1120px,100%); height:min(860px,calc(100vh - 40px)); overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 24px 80px #0005; }.document-overlay-header { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border-bottom:1px solid var(--line); }.document-overlay-header .eyebrow { margin:0 0 3px; }.document-overlay-header h2 { margin:0; font-size:1.08rem; }.document-overlay-actions { display:flex; flex-wrap:wrap; gap:7px; }.document-overlay-actions button,.document-overlay-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:37px; padding:8px 10px; border:0; border-radius:7px; background:#eef1f0; color:var(--ink); cursor:pointer; font:inherit; font-size:.82rem; font-weight:800; text-decoration:none; }.document-overlay-actions #document-overlay-ai,.document-overlay-actions #document-overlay-share,.document-overlay-actions #document-overlay-followup { background:var(--orange); }.document-overlay-actions #document-overlay-sessionnet { background:var(--blue); color:#fff; }.document-ai-summary { flex:0 1 auto; max-height:52vh; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:14px 18px; border-bottom:1px solid var(--line); background:#fff8e9; }.document-ai-summary > div { display:flex; justify-content:space-between; gap:12px; font-size:.88rem; }.document-ai-summary span { color:var(--muted); }.document-ai-summary p { margin:9px 0 0; white-space:pre-wrap; }.document-overlay iframe { width:100%; min-height:180px; flex:1 1 auto; border:0; background:#f6f7f5; } body.no-scroll { overflow:hidden; }
dialog { width:min(760px,calc(100% - 24px)); border:0; border-radius:12px; padding:0; } dialog::backdrop { background:#14213d88; }.followup-card { max-height:min(88vh,920px); overflow:auto; padding:24px; }.followup-card > p { color:var(--muted); }.close-button { float:right; border:0; background:transparent; color:var(--ink); font:inherit; font-weight:800; cursor:pointer; }.contact-form { display:grid; gap:14px; }.contact-form label,.contact-captcha { display:grid; gap:6px; }.contact-form input,.contact-form textarea { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:inherit; }.contact-form textarea { resize:vertical; }.contact-hidden-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.contact-captcha { grid-template-columns:minmax(160px,1fr) minmax(140px,180px) auto; align-items:end; padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }.contact-captcha span,.contact-form label > span { color:var(--ink); font-weight:800; }.contact-checkbox { grid-template-columns:22px 1fr; align-items:start; }.contact-checkbox input { width:20px; height:20px; margin-top:3px; accent-color:var(--orange); }.notice-box,.form-privacy-note,.followup-source { padding:12px 14px; border:1px solid var(--line); border-radius:8px; background:#fff9ef; }.followup-source { display:grid; gap:4px; margin:14px 0; background:var(--paper); overflow-wrap:anywhere; }.contact-actions { display:flex; justify-content:flex-end; }.contact-actions button { min-height:44px; padding:10px 18px; border:0; border-radius:6px; background:var(--orange); color:var(--ink); font:inherit; font-weight:800; cursor:pointer; }.contact-status { min-height:24px; margin:0; font-weight:800; }.contact-status.success { color:#21713d; }.contact-status.error { color:#9f2f24; }
.source-chat { background:#e4eef5 !important; color:var(--blue) !important; border:1px solid #aac1d2 !important; }
.external-source { border-left:4px solid #2e5c88; }.source-provider { margin:5px 0 0 !important; color:#2e5c88; font-size:.76rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; white-space:normal !important; }.external-source .source-actions { display:block; }.external-source .source-actions a { width:100%; }.source-next-steps { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid #cbd8df; }.source-next-steps strong { flex:0 0 100%; font-size:.88rem; }.source-next-steps button { border:1px solid #aac1d2; border-radius:8px; padding:8px 11px; background:#e4eef5; color:var(--blue); cursor:pointer; font:inherit; font-size:.82rem; font-weight:800; }
.chat-search-overlay { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:20px; background:#14213d8c; backdrop-filter:blur(4px); }.chat-search-overlay[hidden] { display:none; }.chat-search-overlay-card { width:min(390px,100%); padding:30px 26px; border-radius:16px; background:#fffdf9; box-shadow:0 22px 65px #0005; text-align:center; }.chat-search-overlay-card .eyebrow { margin:16px 0 5px; }.chat-search-overlay-card strong { display:block; font-size:1.12rem; }.chat-search-overlay-card #chat-search-detail { margin:9px 0 0; color:var(--muted); font-size:.92rem; }.chat-search-progress { display:grid; gap:9px; margin:20px 0 0; padding:0; list-style:none; text-align:left; }.chat-search-progress li { position:relative; min-height:20px; padding-left:28px; color:var(--muted); font-size:.85rem; line-height:1.3; }.chat-search-progress li::before { position:absolute; top:3px; left:0; width:14px; height:14px; border:2px solid #cbd8df; border-radius:50%; content:""; }.chat-search-progress li.active { color:var(--ink); font-weight:750; }.chat-search-progress li.active::before { border-color:var(--orange); border-top-color:#fffdf9; animation:chat-search-spin .8s linear infinite; }.chat-search-progress li.done::before { display:grid; place-items:center; border-color:#2e5c88; background:#2e5c88; color:#fff; content:"✓"; font-size:.65rem; font-weight:800; }.chat-search-spinner { display:block; width:42px; height:42px; margin:0 auto; border:4px solid #dce4e4; border-top-color:var(--orange); border-radius:50%; animation:chat-search-spin .8s linear infinite; } @keyframes chat-search-spin { to { transform:rotate(360deg); } }
.overlay-byline { margin:0 0 15px; color:var(--muted); font-size:.82rem; font-weight:750; }
.assistant .bubble > p { white-space:normal; line-height:1.5; }.assistant .bubble > p + p { margin-top:14px; }.assistant .bubble > ul { margin:12px 0; padding-left:1.25rem; }.assistant .bubble > ul + p { margin-top:14px; }.assistant .bubble li { margin:8px 0; padding-left:3px; }.assistant .bubble strong { font-weight:800; }
@media (max-width:620px) { .site-header { min-height:62px; padding:0 16px; }.site-header nav { gap:12px; font-size:.88rem; }.chat-shell { width:min(100% - 20px,880px); padding:28px 0; }.messages { padding:18px 14px; }.bubble { max-width:calc(100% - 45px); }.source-card { padding:12px; }.source-actions { display:grid; grid-template-columns:1fr; }.source-actions a,.source-actions button { width:100%; }.suggestions { padding:0 14px 16px; }.composer { padding:14px; }.source-next-steps button { width:100%; }.composer-row { align-items:flex-end; }.composer-row span { max-width:190px; }.clear { margin:0 14px 16px; }.document-overlay { padding:8px; }.document-overlay-panel { height:calc(100vh - 16px); }.document-overlay-header { align-items:flex-start; flex-direction:column; }.document-overlay-actions { width:100%; }.document-overlay-actions button,.document-overlay-actions a { flex:1 1 auto; } }
