:root{color-scheme:light;--ink:#182a3a;--muted:#637181;--accent:#e75e56;--accent-hover:#d94c44;--line:#e6e9ed;--paper:#f8fafc;--white:#fff}
*{box-sizing:border-box}
html,body{height:100%;margin:0;overscroll-behavior:none}
body{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden}
button,textarea{font:inherit}
button{cursor:pointer}
.shell{height:100vh;height:100dvh;max-width:1120px;padding:0 clamp(12px,2vw,28px);margin:auto;display:flex;flex-direction:column;min-height:0}
.topbar{height:76px;flex:0 0 76px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 5px}
.identity{min-width:0;display:flex;align-items:center;gap:17px}
.brand{height:43px;display:flex;align-items:center;min-width:138px}
.brand-logo{max-width:176px;max-height:46px;width:auto;height:auto;object-fit:contain}
.brand-fallback{color:var(--accent);font-size:25px;font-weight:800;letter-spacing:-.06em}
.brand-desc{border-left:1px solid #d7dce2;padding-left:16px;font-size:12px;color:var(--muted);white-space:nowrap}
.header-right{display:flex;align-items:center;gap:18px}
.status{color:#546878;font-size:12px;display:flex;gap:7px;align-items:center;white-space:nowrap}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e8b34d;box-shadow:0 0 0 3px #e8b34d1f}
.status.ready .status-dot{background:#25a36b;box-shadow:0 0 0 3px #25a36b20}
.creator{border:1px solid #f4c8c4;color:#aa4a44;background:#fff7f6;font-size:11px;white-space:nowrap;padding:7px 11px;border-radius:999px}
.creator strong{color:#953a34}
.chat-card{background:var(--white);border:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 5px 28px #152a4412;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.chat-head{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 26px;border-bottom:1px solid var(--line)}
.chat-head h1{font-size:16px;font-weight:720;margin:0 0 4px;letter-spacing:-.02em}
.chat-head p{margin:0;font-size:12px;color:var(--muted)}
#clear-chat{border:1px solid var(--line);border-radius:10px;padding:9px 13px;color:var(--ink);background:#fff;font-size:12px;font-weight:650;white-space:nowrap}
#clear-chat:hover{border-color:#f0b4ae;color:#b54b45}
.messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:26px max(20px,8%);display:flex;flex-direction:column;gap:20px}
.messages::-webkit-scrollbar{width:7px}.messages::-webkit-scrollbar-thumb{background:#dde3e8;border-radius:12px}
.welcome{text-align:center;margin:auto;max-width:540px;padding:28px 0}
.welcome-eyebrow{font-size:10px;color:var(--accent);font-weight:750;letter-spacing:.15em}
.welcome h2{font-size:clamp(26px,3vw,37px);letter-spacing:-.05em;margin:13px 0;color:var(--ink)}
.welcome p{margin:0 auto;color:var(--muted);font-size:13px;line-height:1.75;max-width:510px}
.suggestions{margin:26px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.suggestion{padding:10px 14px;border:1px solid #eadcda;color:#9c4c46;border-radius:999px;background:#fffdfd;font-size:12px}
.suggestion:hover{border-color:var(--accent);background:#fff5f4}
.message{display:flex;flex-direction:column;gap:4px;width:fit-content;max-width:min(82%,690px);align-self:flex-start}
.message.user{align-self:flex-end}
.bubble{font-size:13px;line-height:1.7;overflow-wrap:anywhere;color:var(--ink);border-radius:6px 15px 15px 15px;background:#f4f6f8;padding:13px 16px;white-space:pre-wrap}
.message.user .bubble{background:#fff0ee;color:#442b2a;border-radius:15px 15px 6px 15px}
.bubble p{margin:0;white-space:pre-wrap}
.sources{border-top:1px solid #e1e5e9;margin-top:12px;padding-top:9px;white-space:normal}
.sources strong{display:block;font-size:10px;font-weight:750;color:#606e7b;margin-bottom:5px}
.sources a{display:block;text-decoration:none;font-size:11px;line-height:1.5;color:#bb4c45;padding:3px 0}
.sources a:before{content:'↗';margin-right:6px;font-size:12px}
.sources a:hover{text-decoration:underline}
.input-area{border-top:1px solid var(--line);padding:15px max(20px,8%) 13px;background:#fff;flex:0 0 auto}
.composer{display:flex;align-items:flex-end;gap:12px;margin:0;padding:9px 10px 9px 17px;border:1px solid #dce2e7;box-shadow:0 2px 8px #10283b09;border-radius:15px}
.composer:focus-within{border-color:#e99b95;box-shadow:0 0 0 3px #e75e5615}
textarea{line-height:1.5;min-height:24px;max-height:112px;padding:8px 0;color:var(--ink);resize:none;outline:none;border:0;flex:1;font-size:13px;background:transparent}
textarea::placeholder{color:#8b9aa6}
#send{display:flex;align-items:center;gap:7px;background:var(--accent);color:#fff;font-size:12px;font-weight:750;border:0;border-radius:10px;padding:12px 15px}
#send:hover{background:var(--accent-hover)}#send:disabled{opacity:.5;cursor:wait}
.fineprint{padding-top:9px;font-size:10px;text-align:center;color:#8793a1;line-height:1.5}
.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:700px){.shell{padding:0}.topbar{height:67px;flex-basis:67px;padding:8px 16px}.brand-desc{display:none}.brand{min-width:0}.brand-fallback{font-size:23px}.brand-logo{max-width:133px;max-height:42px}.header-right{gap:10px}.creator{display:none}.status{font-size:10px}.chat-card{border-radius:16px 16px 0 0;border-left:0;border-right:0}.chat-head{padding:14px 15px;gap:10px}.chat-head h1{font-size:13px}.chat-head p{font-size:10px}.messages{padding:20px 14px;gap:14px}.welcome{padding:15px 0}.suggestion{font-size:11px;padding:9px 11px}.message{max-width:95%}.bubble{font-size:12px}.input-area{padding:10px 12px 10px}.composer{padding:6px 7px 6px 12px}#send{padding:12px}.fineprint{font-size:9px}}
@media(max-height:580px){.topbar{height:60px;flex-basis:60px}.chat-head{padding-top:11px;padding-bottom:11px}.welcome{padding:5px 0}.welcome p{line-height:1.4}.suggestions{margin-top:12px}.input-area{padding-top:9px}}
