/* ── composer ── */
.composer-shell{max-width:640px;margin:2.2rem auto 0;position:relative}
.composer{
position:relative;background:var(--bg2);border:1px solid var(--line);
border-radius:16px;padding:1rem 1rem .9rem;isolation:isolate;
box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -18px rgba(0,0,0,.18);
}
.composer::after{ /* gradient underglow */
content:"";position:absolute;left:2px;right:2px;
bottom:calc(-1 * clamp(3px,.4vw,7px));height:clamp(6px,.8vw,12px);
border-radius:inherit;background:var(--grad-solid);
filter:blur(3px);opacity:.9;z-index:-1;
}
.thread{min-height:96px;max-height:280px;overflow-y:auto;text-align:left}
.msg{display:flex;gap:.6rem;margin-bottom:.7rem;font-size:.92rem}
.msg.user{justify-content:flex-end}
.msg .bubble{max-width:70%;padding:.5rem .8rem;border-radius:12px;line-height:1.5}
.msg.user .bubble{background:var(--chip-bg);border:1px solid var(--chip-border)}
.msg.ai .bubble{background:transparent;border:1px solid var(--line)}
.msg .bubble a{color:var(--sire)}
.pending-dots{letter-spacing:.2em;color:var(--dim);animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.3}}
.pending-dots{animation:pulse 1.2s var(--ease) infinite}
.askbar{display:flex;gap:.5rem;margin-top:.6rem;align-items:center}
.askbar input{
flex:1;border:none;outline:none;background:transparent;
color:var(--heading);font:inherit;font-size:.95rem;
}
.askbar input::placeholder{color:var(--dim)}
.send,.voice-btn{
width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
background:var(--bg2);cursor:pointer;display:grid;place-items:center;
transition:transform .15s var(--ease),border-color .15s;
}
.send{background:var(--heading);border-color:var(--heading)}
.send svg{stroke:var(--bg)}
.voice-btn svg{width:48%;height:48%;fill:var(--nav)}
.voice-btn.listening{border-color:var(--sire)}
.voice-btn.listening{background:linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--grad-solid) border-box;border:2px solid transparent}
.send:hover{transform:scale(1.06)}

/* ── chips ── */
.chips{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;
margin-top:clamp(3rem,8vh,5rem)}
.chip{
border:1px solid var(--chip-border);background:var(--chip-bg);
border-radius:999px;padding:.42rem .95rem;font-size:.8rem;
color:var(--nav);letter-spacing:.01em;cursor:pointer;
transition:color .15s,border-color .15s;
}
.chip:hover{color:var(--heading);border-color:var(--sire)}


:root{--bg:#fbfaf8;--bg2:#fff;--text:#1a1a1a;--heading:#0b0b0b;--nav:#555;--dim:#676560;--chip-bg:#f2f1ed;--chip-border:#e2e0da;--sire:#a83451;--grad-solid:linear-gradient(90deg,#a83451,#de875d);--ease:cubic-bezier(.16,1,.3,1)}
body{background:var(--bg)}.chat-page{max-width:800px;margin:auto;padding:50px 24px 90px}.chat-hero{text-align:center}.chat-hero h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.035em;margin-bottom:20px}.chat-hero p{max-width:580px;margin:0 auto}.chat-hero .eyebrow{margin-bottom:18px}.chat-hero em{font-style:normal;color:var(--sire)}.composer-shell{margin-top:34px}.composer{border-radius:18px}.thread{min-height:220px;max-height:min(52vh,460px);scrollbar-gutter:stable}.msg .bubble{white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%;font-size:14px}.msg.ai .bubble a{text-decoration:underline}.askbar input{min-width:0;font-size:16px;line-height:1.5}.send,.voice-btn{flex-shrink:0;width:44px;height:44px}.askbar input:focus-visible{outline:2px solid var(--sire);outline-offset:4px;border-radius:3px}.chat-hint{text-align:center;font-size:12px;color:var(--dim);margin-top:20px}.chips{margin-top:28px}.chip{min-height:44px;font:inherit;font-size:12px}.chat-status{min-height:20px;text-align:center;font-size:12px;color:var(--dim);margin-top:18px}.retry{color:var(--sire);background:none;border:0;text-decoration:underline;padding:8px;font-size:13px}.bubble pre{white-space:pre-wrap;padding:12px;font-size:12px;margin:12px 0}.bubble code{font-size:.9em}.chat-more{margin:55px auto 0;max-width:640px;border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;gap:24px;font-size:13px}.send:disabled,.voice-btn:disabled{opacity:.5;cursor:wait}.voice-btn[hidden]{display:none}.mode-note{display:block;font-size:11px;color:var(--dim);margin-top:10px}.chat-hint a{color:var(--sire)}
@media(prefers-color-scheme:dark){:root{--bg:#201f21;--bg2:#29272a;--text:#e9e4e1;--heading:#f1edeb;--nav:#bbb4b5;--dim:#b5adb0;--chip-bg:#302b2e;--chip-border:#494146;--sire:#ed9cb1;--grad-solid:linear-gradient(90deg,#a83451,#de875d)}}
@media(max-width:767px){.chat-page{padding-top:36px}.thread{min-height:200px;max-height:46vh}.composer{padding:16px 12px}.chat-more{flex-direction:column;gap:12px}.msg .bubble{max-width:95%}.chips{gap:8px}.chat-hero h1{font-size:34px}}
