:root{--bg:#ffffff;--panel:#f7f7f5;--text:#1b1b1a;--muted:#6b6b66;--accent:#2f7d64;--accent-ink:#ffffff;--border:#e4e4df;--user-bubble:#eef4f2;--radius:14px;--maxw:760px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.page{max-width:var(--maxw);margin:0 auto;padding:24px 16px 120px}.header{text-align:center;padding:24px 0 8px}.header h1{font-size:1.5rem;margin:0 0 6px}.header p{color:var(--muted);margin:0;font-size:.95rem}.chat{flex-direction:column;gap:16px;margin-top:24px}.chat,.msg{display:flex}.msg.user{justify-content:flex-end;scroll-margin-top:12px}.bubble{padding:12px 16px;border-radius:var(--radius);max-width:88%;white-space:pre-wrap;word-wrap:break-word}.msg.user .bubble{background:var(--user-bubble)}.msg.assistant .bubble{background:var(--panel);border:1px solid var(--border);white-space:normal}.chat .msg.assistant:last-child{min-height:calc(100dvh - 240px);align-items:flex-start}.embed .chat .msg.assistant:last-child{min-height:calc(100dvh - 170px)}.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md-h{font-weight:700;margin:14px 0 6px}.md ol,.md ul{margin:0 0 10px;padding-left:22px}.md li{margin:3px 0}sup.cite{font-size:.72em;line-height:0;margin-left:1px}sup.cite a{text-decoration:none;font-weight:700;color:var(--accent)}sup.cite a:hover{text-decoration:underline}.sources{margin-top:10px;font-size:.85rem;color:var(--muted)}.sources ol{margin:6px 0 0;padding-left:20px}.sources li{margin:2px 0}.empty{color:var(--muted);text-align:center;margin-top:40px;font-size:.95rem}.suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.suggestion{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:.85rem;cursor:pointer;color:var(--text)}.suggestion:hover{border-color:var(--accent)}.composer{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--bg) 70%,transparent);padding:16px}.composer-inner{max-width:var(--maxw);margin:0 auto;display:flex;gap:8px;align-items:flex-end}textarea{flex:1 1;resize:none;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--bg);color:var(--text);max-height:160px}textarea:focus{outline:none;border-color:var(--accent)}button.send{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius);padding:12px 18px;font:inherit;font-weight:600;cursor:pointer}button.send:disabled{opacity:.5;cursor:default}.disclaimer{text-align:center;color:var(--muted);font-size:.75rem;margin-top:8px}.nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 0;flex-wrap:wrap}.nav-tabs{display:flex;gap:6px}.tab{padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--text);font-size:.9rem;border:1px solid transparent}.tab.active,.tab:hover{border-color:var(--border)}.tab.active{background:var(--panel);font-weight:600}.nav-auth{display:flex;align-items:center;gap:10px}.muted{color:var(--muted)}.small{font-size:.8rem}.success{color:var(--accent);font-weight:600}.error-text{color:#b3402a}button.linklike{background:none;border:none;padding:0;font:inherit;font-size:.9rem;color:var(--accent);cursor:pointer}button.linklike:hover{text-decoration:underline}button.linklike:disabled{color:var(--muted);cursor:default;text-decoration:none}button.linklike.danger{color:#b3402a;font-size:.8rem;margin-left:10px}.panel-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-top:28px}.panel-card h2{margin-top:0}.login-form{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.login-form input{flex:1 1;min-width:220px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font:inherit}.login-form input:focus{outline:none;border-color:var(--accent)}.login-form.stacked{flex-direction:column;align-items:stretch;max-width:380px}.login-form.stacked .send{align-self:flex-start}.chat-tools{display:flex;gap:16px;justify-content:center;margin-top:8px}.history{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-top:16px}.history-head{display:flex;justify-content:space-between;margin-bottom:8px}.history ul{list-style:none;margin:0;padding:0}.history li{padding:6px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:8px}.writer-form{gap:14px;margin-top:24px}.writer-form,.writer-form label{display:flex;flex-direction:column}.writer-form label{gap:6px;font-size:.9rem;font-weight:600}.writer-form input,.writer-form select,.writer-form textarea{padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;font-weight:400;background:var(--bg);color:var(--text)}.writer-form input:focus,.writer-form select:focus,.writer-form textarea:focus{outline:none;border-color:var(--accent)}.writer-form .send{align-self:flex-start}.inline-link{display:inline-block;text-decoration:none;margin-top:4px}.draft{margin-top:28px}.draft-tools{display:flex;gap:16px;justify-content:flex-end;margin-bottom:8px}.draft-body{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px}.draft-body .md>.md-h:first-child{font-size:1.25rem;margin-top:2px}.improve{margin-top:18px;gap:10px}.improve,.improve label{display:flex;flex-direction:column}.improve label{gap:6px;font-size:.9rem;font-weight:600}.improve textarea{padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;font-weight:400}.improve textarea:focus{outline:none;border-color:var(--accent)}.improve .send{align-self:flex-start}.doc-list{margin-top:36px}.doc-list h3{font-size:1rem}.doc-list ul{list-style:none;margin:0;padding:0}.doc-list li{padding:8px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:8px}.embed{height:100vh;display:flex;flex-direction:column;padding:0}.embed .scroll{flex:1 1;overflow-y:auto;padding:16px}.embed .composer{position:static;background:var(--bg);border-top:1px solid var(--border)}