*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0f17;--panel:#141a26;--panel-2:#1c2431;--text:#e6ebf2;--muted:#8b97a8;--accent:#4c8dff;--border:#263040}body,html{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit;font-size:16px}.center{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:360px}.card h1{font-size:22px;margin-bottom:4px}.card p{color:var(--muted);font-size:14px;margin-bottom:20px}.field{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;color:var(--text);margin-bottom:12px}.btn,.field{width:100%;padding:12px 14px}.btn{background:var(--accent);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600}.btn:disabled{opacity:.5;cursor:default}.err{color:#ff7a7a;font-size:13px;margin-bottom:12px}.chat{display:flex;flex-direction:column;height:100dvh;max-width:820px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:max(14px,env(safe-area-inset-top)) 16px 14px}.topbar .title{font-weight:700}.topbar .actions{display:flex;gap:8px}.linkbtn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:13px}.messages{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.msg{max-width:85%;padding:10px 14px;border-radius:14px;white-space:pre-wrap;line-height:1.45}.msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:4px}.composer{display:flex;gap:8px;border-top:1px solid var(--border);padding:12px 16px max(12px,env(safe-area-inset-bottom))}.composer textarea{flex:1 1;resize:none;padding:12px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;color:var(--text);max-height:140px}.send{padding:0 18px;background:var(--accent);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600}.send:disabled{opacity:.5}.empty{color:var(--muted);text-align:center;margin:auto;font-size:15px}