:root { color-scheme: dark; }
body { margin: 0; font-family: ui-sans-serif, system-ui, Segoe UI, Roboto, Arial; background: #0b1020; color: #e7e9ee; }
.wrap { max-width: 980px; margin: 28px auto; padding: 0 16px; }
.card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); border-radius: 14px; padding: 16px; box-shadow: 0 10px 35px rgba(0,0,0,.35); }
.title { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.grid { display: grid; gap: 12px; }
@media (min-width: 860px) { .grid.cols2 { grid-template-columns: 1fr 1fr; } }
label { font-size: 12px; opacity: .9; display: block; margin: 0 0 6px; }
input[type="text"], textarea, select { width: 100%; box-sizing: border-box; background: rgba(0,0,0,.25); color: #e7e9ee; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; padding: 10px 12px; outline: none; }
textarea { min-height: 90px; resize: vertical; }
.row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn { background: #6d5efc; border: 0; color: white; border-radius: 10px; padding: 10px 14px; font-weight: 700; cursor: pointer; }
.btn.secondary { background: rgba(255,255,255,.10); }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.hint { font-size: 12px; opacity: .8; }
.log { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; white-space: pre-wrap; background: rgba(0,0,0,.28); padding: 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.10); margin: 0; }
.answer { white-space: pre-wrap; line-height: 1.35; }
.sources { margin-top: 10px; display: grid; gap: 8px; }
.src { padding: 10px; border-radius: 12px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.10); }
.srcHead { display: flex; gap: 10px; flex-wrap: wrap; align-items: baseline; }
.badge { font-size: 11px; padding: 2px 8px; border-radius: 999px; background: rgba(109,94,252,.18); border: 1px solid rgba(109,94,252,.30); }
.srcMeta { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.scoreWrap { flex: 1; min-width: 220px; display: flex; gap: 10px; align-items: center; }
.scoreBar { position: relative; height: 8px; flex: 1; border-radius: 999px; background: rgba(255,255,255,.10); overflow: hidden; border: 1px solid rgba(255,255,255,.12); }
.scoreFill { position: absolute; left: 0; top: 0; bottom: 0; width: 0%; background: linear-gradient(90deg, rgba(109,94,252,.55), rgba(109,94,252,.95)); }
.mono { font-family: ui-monospace, Menlo, Consolas, monospace; }
.muted { opacity: .8; }
a { color: #a8a3ff; }
