:root {
  --bg: #0f172a; --panel:#111827; --text:#e2e8f0; --muted:#94a3b8; --accent:#22d3ee; --warn:#fbbf24;
  --border:#334155; --green:#34d399;
}
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui,-apple-system, Segoe UI, Roboto, sans-serif; background:var(--bg); color:var(--text); }
.container { max-width: 920px; margin: 28px auto; padding: 0 16px; }
h1 { margin-bottom: 8px; }
.muted { color: var(--muted); }
.card { background: var(--panel); border:1px solid var(--border); border-radius: 14px; padding: 16px; margin-top: 16px; }
.row { display:flex; gap:8px; }
input { flex:1; padding:12px 14px; border-radius: 10px; border:1px solid var(--border); background:#0b1220; color:var(--text); }
button { padding:12px 16px; border-radius:10px; background:var(--accent); border:none; color:#05232a; font-weight:600; cursor:pointer; }
button:hover { filter: brightness(0.95); }
.loading { margin-top: 12px; color: var(--muted); }
.hidden { display:none; }
.answer { white-space: pre-wrap; margin-top: 16px; border-top:1px dashed var(--border); padding-top:12px; }
.sources { margin-top: 12px; font-size: 0.95rem; color: var(--muted); }
.warning { background:#3b2d04; border:1px solid #7c5d0b; color:#fef3c7; padding:10px 12px; border-radius:10px; margin:10px 0; }
footer { margin: 24px 0; color: var(--muted); font-size: 0.9rem; }
code { background:#0b1220; padding: 2px 6px; border-radius: 6px; border:1px solid var(--border); }
