:root{--bg:#f2f2fa;--surface:#fff;--fg:#343e59;--strong:#20283c;--muted:#65708b;--border:#d9dce8;--accent:#4ec246;--accent-dark:#287d29;--accent-soft:#eaf8e8;--danger:#a43d4c;--radius:12px;--font:"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--font)}button,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--accent-dark);text-underline-offset:3px}button,a,textarea{outline-offset:4px}:focus-visible{outline:3px solid var(--accent-dark)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;z-index:3;background:white;padding:8px}.skip:focus{top:8px}
.shell{display:grid;grid-template-columns:282px minmax(0,1fr);max-width:1600px;margin:auto;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;padding:36px 26px;background:var(--fg);color:white;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:-.7px}.mark{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--accent);color:var(--accent);border-radius:9px;font-size:23px}.sidebar-main{margin-top:64px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px}.sidebar .eyebrow{color:#bad0bc}.sidebar h2{font-size:34px;line-height:1.18;letter-spacing:-1px;font-weight:600;margin:18px 0}.sidebar p{font-size:14px;color:#d9dce8}.new-chat{margin-top:25px;width:100%;min-height:46px;border:1px solid #8790a4;border-radius:8px;background:transparent;color:white;text-align:left;padding:10px 14px}.new-chat:hover{background:#424c65}.sidebar nav{margin-top:auto;padding-top:45px;display:grid;gap:18px}.sidebar nav a{display:flex;justify-content:space-between;color:white;text-decoration:none;font-size:14px}.sidebar-note{font-size:11px!important;border-top:1px solid #64708a;padding-top:22px;margin:25px 0 0}
main{min-width:0;max-width:1040px;width:100%;margin:auto;display:flex;flex-direction:column;min-height:100dvh;padding:32px 54px 20px}header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--border)}header .eyebrow{color:var(--muted)}h1{font-size:23px;letter-spacing:-.6px;margin:1px 0}.badge{font-size:12px;background:var(--surface);border:1px solid var(--border);padding:6px 11px;border-radius:30px;white-space:nowrap}.availability{font-size:12px;color:var(--muted);margin:12px 0}.welcome{max-width:650px;margin:auto;padding:45px 0 55px}.welcome-icon{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #c7e6c4;border-radius:18px;display:grid;place-items:center;width:58px;height:58px;font-size:34px}.welcome h2{font-size:40px;font-weight:650;letter-spacing:-1.5px;line-height:1.15;margin:25px 0 14px}.welcome p{color:var(--muted);max-width:490px;margin:0 0 26px}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.suggestions button{padding:16px 18px;min-height:77px;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);font-size:14px;color:var(--fg);line-height:1.45}.suggestions button:hover{border-color:var(--accent-dark);background:var(--accent-soft)}
#messages{padding:15px 0}.message{margin:0 0 28px;overflow-wrap:anywhere}.message .speaker{display:block;font-size:12px;font-weight:700;margin-bottom:8px;color:var(--muted)}.message .text{white-space:pre-wrap;font-size:15px;line-height:1.7;margin:0}.message.user{margin-left:auto;width:fit-content;max-width:85%;padding:13px 18px;border-radius:14px 14px 3px 14px;background:var(--surface);border:1px solid var(--border)}.message.assistant{max-width:95%}.sources{display:grid;gap:8px;margin-top:15px}.sources a{display:block;width:fit-content;max-width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12px;text-decoration:none}.sources a:hover{border-color:var(--accent-dark)}.handoff{display:block;margin-top:12px;font-size:14px}.composer{margin-top:auto;padding-top:15px}form{display:flex;gap:14px;align-items:flex-end;padding:14px 15px;background:var(--surface);border:1px solid #adb5c8;border-radius:15px;box-shadow:0 3px 10px #343e5908}form:focus-within{border-color:var(--accent-dark)}textarea{width:100%;min-width:0;resize:vertical;min-height:55px;max-height:200px;border:0;background:transparent;color:var(--strong);padding:2px;font-size:15px}textarea:focus-visible{outline:0}#send{flex-shrink:0;width:42px;height:42px;color:white;border:0;border-radius:10px;background:var(--accent-dark);font-size:26px}.composer-meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:10px}.privacy{font-size:11px;color:var(--muted);text-align:center;margin:20px 0 0}#error{padding:12px 15px;background:#fff0f0;color:var(--danger);border-radius:8px;font-size:14px}#progress{font-size:13px;color:var(--accent-dark)}
@media(max-width:1000px){.shell{grid-template-columns:225px minmax(0,1fr)}.sidebar{padding:26px 20px}main{padding:26px 30px 20px}.sidebar h2{font-size:29px}.brand{font-size:21px}.composer-meta span:last-child{display:none}}
@media(max-width:650px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:15px 18px;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:18px}.mark{width:26px;height:26px;font-size:18px}.sidebar-main{margin:0}.sidebar-main>.eyebrow,.sidebar-main>h2,.sidebar-main>p,.sidebar nav,.sidebar-note{display:none}.new-chat{margin:0;padding:6px 10px;min-height:38px;font-size:12px;white-space:nowrap}main{min-height:calc(100dvh - 68px);padding:22px 18px 16px}header{padding-bottom:16px}h1{font-size:21px}.welcome{padding:32px 0}.welcome h2{font-size:34px}.welcome p{font-size:14px}.suggestions{gap:8px}.suggestions button{padding:12px;min-height:85px;font-size:12px}.privacy{font-size:10px}.message.assistant{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.mobile-links{display:none}@media(max-width:650px){.mobile-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;justify-content:center;font-size:11px}}

.brand{align-self:flex-start;background:transparent;padding:8px 4px;max-width:100%}.brand img{display:block;width:164px;max-width:100%;height:auto}.sources-heading{font-size:13px;font-weight:600;margin:16px 0 6px}@media(max-width:1000px){.brand img{width:150px}}@media(max-width:650px){.brand{align-self:center;padding:6px 2px;flex-shrink:1;min-width:0}.brand img{width:134px}}
