:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2430;--muted:#5d6877;--border:#dde2e8;--accent:#1f5fd1;--accent-text:#fff;--user:#e7effc;--error:#b3261e;--error-bg:#fcebea;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#14181d;--surface:#1d232b;--text:#e6eaef;--muted:#9aa6b4;--border:#2f3843;--accent:#6ea2ff;--accent-text:#0d1320;--user:#24344f;--error:#ffb4ab;--error-bg:#3b1f1d}}*{box-sizing:border-box}body{background:var(--bg);margin:0}main{flex-direction:column;gap:16px;max-width:760px;min-height:100vh;margin:0 auto;padding:24px 16px;display:flex}header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}h1{margin:0 0 4px;font-size:1.6rem}h2{margin:0 0 12px;font-size:1.1rem}header p{color:var(--muted);margin:0}nav{align-items:center;gap:12px;display:flex}a{color:var(--accent)}button,a.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:8px;padding:8px 16px}button.secondary,button.chip{background:var(--surface);color:var(--accent);border-color:var(--border)}button:disabled{opacity:.5;cursor:not-allowed}.thread{flex-direction:column;flex:1;gap:12px;display:flex}.suggestions{flex-wrap:wrap;gap:8px;display:flex}.chip{text-align:left;border-radius:999px}.bubble{background:var(--surface);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;max-width:88%;padding:10px 14px;line-height:1.5}.bubble>:first-child{margin-top:0}.bubble>:last-child{margin-bottom:0}.bubble.user{background:var(--user);white-space:pre-wrap;border-color:#0000;align-self:flex-end}.bubble.error{background:var(--error-bg);color:var(--error);border-color:#0000}.bubble.error p{margin-bottom:8px}.typing,.status,.counter,footer{color:var(--muted)}.status{text-align:center;padding:48px 16px}.composer,.contact,.diagram{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}textarea,input{width:100%;font:inherit;color:inherit;border:1px solid var(--border);resize:vertical;background:0 0;border-radius:8px;padding:8px 10px}.composer textarea{resize:none;border:none;outline:none;padding:4px}.composer-footer,.actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.actions{justify-content:flex-start}.counter{font-size:.85rem}.counter.over,.form-error{color:var(--error)}.contact label{color:var(--muted);margin-bottom:12px;font-size:.9rem;display:block}.contact label input,.contact label textarea{color:var(--text);margin-top:4px}footer{text-align:center;font-size:.8rem}a.button{text-decoration:none;display:inline-block}.diagram img{border:1px solid var(--border);border-radius:8px;width:100%;height:auto;margin-bottom:12px;display:block}
