*{box-sizing:border-box}:root{--paper:#f6f1ea;--card:#fffdf9;--ink:#28231f;--muted:#746a61;--line:#dfd5cb;--accent:#493d35;--soft:#eee4da;--assistant:#f0e9e2}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}.shell{min-height:100vh;display:grid;place-items:center;padding:18px}.app-card{width:min(100%,760px);height:min(92vh,900px);min-height:680px;background:var(--card);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 20px 60px rgba(50,40,30,.10);display:flex;flex-direction:column}
.topbar{height:88px;padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}.brandmark{width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:24px}.eyebrow{font-size:10px;letter-spacing:.24em;color:var(--muted);font-weight:700}h1{font-family:Georgia,serif;font-size:22px;margin:2px 0 0;font-weight:500}
.ghost{margin-left:auto;border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 14px;color:var(--ink)}
.consent{padding:46px clamp(24px,7vw,72px);margin:auto 0}.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--muted)}h2{font-family:Georgia,serif;font-size:clamp(30px,5vw,46px);line-height:1.04;font-weight:500;margin:10px 0 20px}.consent p{line-height:1.65;color:var(--muted)}
.checkrow{display:flex;gap:12px;align-items:flex-start;padding:18px 0 10px}.checkrow input{margin-top:3px;accent-color:var(--accent)}.links{display:flex;gap:18px;margin:6px 0 24px}.links a{color:var(--ink);font-size:13px}.primary{width:100%;border:0;border-radius:14px;background:var(--accent);color:white;padding:15px 18px;font-weight:700;font-size:15px}.primary:disabled{opacity:.45}
.chat{display:flex;flex-direction:column;min-height:0;flex:1}.statusbar{padding:10px 18px;text-align:center;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.messages{flex:1;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:14px}.message{display:flex}.message.user{justify-content:flex-end}.bubble{max-width:82%;padding:13px 16px;border-radius:19px;line-height:1.52;font-size:15px}.assistant .bubble{background:var(--assistant);border-bottom-left-radius:6px}.user .bubble{background:var(--accent);color:white;border-bottom-right-radius:6px}.bubble p{margin:0;white-space:pre-wrap}.typing{opacity:.65}
.paywall{margin:0 18px 16px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--soft);text-align:center}.paywall h3{font-family:Georgia,serif;font-size:25px;margin:5px 0 7px;font-weight:500}.paywall p{color:var(--muted)}.composer{display:flex;gap:10px;padding:14px 16px 8px;border-top:1px solid var(--line);background:var(--card)}textarea{resize:none;flex:1;max-height:140px;border:1px solid var(--line);border-radius:16px;padding:13px 14px;font:inherit;background:white;color:var(--ink);outline:none}textarea:focus{border-color:#a79585}.send{width:46px;height:46px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:22px;align-self:flex-end}.fineprint{text-align:center;color:var(--muted);font-size:10px;margin:0 12px 12px}.hidden{display:none!important}
@media(max-width:650px){.shell{padding:0}.app-card{height:100dvh;min-height:100dvh;border:0;border-radius:0}.topbar{height:78px}.messages{padding:16px}.bubble{max-width:90%}.consent{padding:30px 22px}}