*{box-sizing:border-box}
:root{color-scheme:light;--ink:#202633;--muted:#788293;--line:#e7eaf0;--accent:#2457d6;--bg:#f5f7fb}
body{margin:0;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
.app{width:min(900px,100% - 32px);height:min(900px,100dvh - 32px);min-height:560px;margin:16px auto;background:#fff;border:1px solid var(--line);border-radius:22px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 60px #1c2b4610}
.topbar{height:76px;flex:none;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid var(--line)}
.brand-mark{width:40px;height:40px;border-radius:13px;background:#172c55;color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:-1px}
.brand-copy{flex:1}.brand-copy h1{font-size:16px;margin:0 0 3px}.brand-copy p{font-size:12px;color:var(--muted);margin:0}
.new-chat{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;color:var(--ink);font-weight:600;cursor:pointer}
.chat{flex:1;overflow:auto;padding:28px clamp(16px,5vw,54px);scroll-behavior:smooth}
.welcome{max-width:570px;margin:12vh auto 0;text-align:center}.welcome-icon{width:54px;height:54px;border-radius:18px;background:#edf2ff;color:var(--accent);display:grid;place-items:center;font-size:27px;margin:0 auto 18px}
.welcome h2{font-size:26px;letter-spacing:-.7px;margin:0 0 9px}.welcome p{color:var(--muted);margin:0 0 25px}
.suggestions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.suggestions button{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 13px;color:#4b5668;cursor:pointer}.suggestions button:hover,.new-chat:hover{border-color:#b9c8ee;background:#f8faff}
.message{display:flex;gap:12px;margin:0 0 23px;align-items:flex-start}.avatar{width:30px;height:30px;flex:none;border-radius:10px;background:#edf2ff;color:var(--accent);display:grid;place-items:center;font-size:13px;font-weight:800}
.message.user .avatar{background:#eaf5ef;color:#237448}.bubble{max-width:min(720px,calc(100% - 44px));line-height:1.65;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;padding-top:2px}.message.user .bubble{background:#f5f7fb;border-radius:4px 13px 13px 13px;padding:10px 14px}
.typing{color:var(--muted);font-size:14px}
.composer{margin:0 22px;padding:10px 11px 10px 17px;border:1px solid #dfe4ed;border-radius:17px;display:flex;align-items:flex-end;gap:10px;box-shadow:0 5px 20px #1c2b4608}
.composer:focus-within{border-color:#9bb2ef;box-shadow:0 0 0 3px #2457d612}
textarea{font:inherit;resize:none;border:0;outline:0;flex:1;max-height:150px;line-height:1.5;padding:6px 0;color:var(--ink)}
#send{width:38px;height:38px;flex:none;border:0;border-radius:12px;background:var(--accent);color:white;font-size:19px;cursor:pointer}
#send:disabled{opacity:.45;cursor:wait}.disclaimer{text-align:center;color:#929baa;font-size:11px;margin:10px 20px 8px}footer{text-align:center;color:#a1a9b5;font-size:11px;padding:0 0 13px}
.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}
@media(max-width:600px){.app{width:100%;height:100dvh;min-height:0;margin:0;border:0;border-radius:0}.topbar{padding:0 15px}.new-chat{padding:9px}.new-chat span{display:none}.chat{padding:24px 17px}.welcome{margin-top:10vh}.welcome h2{font-size:23px}.composer{margin:0 12px}.disclaimer{font-size:10px}}
