
:root { color-scheme: light; --bg:#f7f4ee; --panel:#fffdf8; --ink:#25231f; --muted:#6d685f; --line:#d9d2c5; --accent:#8b5e34; --accent2:#2f6f73; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
nav { height:56px; display:flex; align-items:center; gap:18px; padding:0 22px; border-bottom:1px solid var(--line); background:#fbf8f2; position:sticky; top:0; }
nav a { color:var(--ink); text-decoration:none; font-weight:650; }
nav form { margin-left:auto; }
button, input, textarea, select { font:inherit; }
button { border:1px solid var(--accent); background:var(--accent); color:white; padding:9px 13px; border-radius:6px; cursor:pointer; }
button.secondary { background:transparent; color:var(--accent); }
main { max-width:1120px; margin:0 auto; padding:24px; }
.login { max-width:420px; margin:10vh auto; background:var(--panel); border:1px solid var(--line); padding:24px; border-radius:8px; }
label { display:block; margin:14px 0 6px; color:var(--muted); font-size:14px; }
input, textarea, select { width:100%; border:1px solid var(--line); border-radius:6px; padding:10px; background:white; color:var(--ink); }
textarea { min-height:108px; resize:vertical; }
.layout { display:grid; grid-template-columns:260px minmax(0, 1fr); gap:18px; align-items:start; }
.sidebar, .chat, .panel { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:16px; }
.thread { display:block; padding:9px 8px; border-radius:6px; color:var(--ink); text-decoration:none; border-bottom:1px solid #eee6d8; }
.thread:hover { background:#f2eadc; }
.thread-card { border-bottom:1px solid #eee6d8; padding:8px 0; }
.thread-card .thread { border-bottom:0; padding:6px 4px; }
.thread-actions { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:6px; margin-top:4px; }
.thread-actions input { padding:6px 7px; font-size:12px; }
.thread-actions button { padding:6px 8px; font-size:12px; }
.thread-delete { margin-top:4px; }
.thread-delete button { background:transparent; color:#9f2d20; border-color:#d9b5ac; padding:5px 8px; font-size:12px; }
.msg { padding:13px 0; border-bottom:1px solid #eee6d8; }
.role { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; }
.assistant { background:#fbf6ed; margin:12px -8px; padding:12px 8px; border-radius:6px; }
.generated { color:var(--muted); font-size:12px; margin-top:8px; }
.citations { margin-top:10px; font-size:13px; color:var(--muted); }
.citations code, code { background:#efe5d4; padding:1px 4px; border-radius:4px; }
.error { color:#9f2d20; }
.notice { color:var(--accent2); }
table { width:100%; border-collapse:collapse; }
td, th { text-align:left; border-bottom:1px solid var(--line); padding:8px; }
.hero { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:14px; }
.subtitle { color:var(--muted); margin-top:4px; line-height:1.45; }
.examples { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; margin:12px 0 16px; }
.example { border:1px solid var(--line); background:#fffaf2; border-radius:6px; padding:8px; color:var(--ink); font-size:13px; line-height:1.35; }
.ask-form.loading button { opacity:.75; }
.loading-note { display:none; color:var(--accent2); font-size:13px; margin-top:8px; }
.ask-form.loading .loading-note { display:block; }
.citation-excerpt { margin:5px 0 10px 0; color:var(--muted); line-height:1.45; }
.meta { color:var(--muted); font-size:12px; margin-top:8px; }
.badge { display:inline-block; border:1px solid var(--line); border-radius:999px; padding:2px 8px; margin:2px 6px 2px 0; background:#fffaf2; }
@media (max-width: 800px) { .layout { grid-template-columns:1fr; } nav { gap:10px; padding:0 12px; } main { padding:14px; } }
