:root{--bg: #0f1115;--card: #181b22;--border: #2a2f3a;--text: #e6e8ec;--muted: #9aa3b2;--accent: #6ea8fe;--vector: #8b5cf6;--keyword: #f59e0b;--reranked: #22c55e;--rrf: #38bdf8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:1680px;margin:0 auto;padding:1.25rem 1.5rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.brand{display:flex;align-items:baseline;gap:.85rem;flex-wrap:wrap}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.min-score-group{display:flex;align-items:center;gap:.6rem;margin:0;padding:.35rem .7rem .45rem;border:1px solid var(--border);border-radius:10px;background:var(--card)}.min-score-group legend{padding:0 .35rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.min-score{display:flex;flex-direction:column;gap:.15rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.min-score-label{white-space:nowrap}.min-score input{width:4.25rem;background:#0f1218;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.28rem .4rem;font:inherit;font-size:.85rem}.min-score input:focus{outline:none;border-color:var(--accent)}.ghost-btn{margin-top:0;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:.5rem .9rem;font-weight:600;cursor:pointer}.ghost-btn:hover{background:#6ea8fe1a}header h1{margin:0;font-size:1.6rem;letter-spacing:-.02em}.tagline{color:var(--muted);font-size:.9rem}.controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1.25rem}@media (max-width: 900px){.controls{grid-template-columns:1fr}}.controls .card{margin-bottom:0}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem}.card h2{margin:0 0 .85rem;font-size:1.05rem}textarea,input[type=text]{width:100%;background:#0f1218;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;font:inherit;resize:vertical}button{margin-top:.75rem;background:var(--accent);color:#0b0d11;border:none;border-radius:8px;padding:.55rem 1.1rem;font-weight:600;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.type-row{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);transition:background .12s ease,border-color .12s ease,color .12s ease}.chip:hover{border-color:var(--accent);color:var(--text)}.chip.active{background:var(--accent);border-color:var(--accent);color:#0f1115}.chip input{display:none}.dataset-chip{padding:0;overflow:hidden}.dataset-chip-label{margin:0;background:transparent;border:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;padding:.3rem .5rem .3rem .65rem;cursor:pointer}.dataset-chip-count{opacity:.6;font-variant-numeric:tabular-nums}.dataset-chip-del{margin:0;background:transparent;border:none;border-left:1px solid var(--border);color:var(--muted);font-size:1rem;line-height:1;padding:.25rem .5rem;cursor:pointer}.dataset-chip-del:hover{background:#ef4444;color:#fff}.dataset-chip.active .dataset-chip-del{border-left-color:#00000040}.search-row{display:flex;gap:.5rem;align-items:flex-start}.search-row button{margin-top:0;white-space:nowrap}.routing{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}.badge{font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:.2rem .55rem;border-radius:6px;color:#0b0d11}.badge.vector{background:var(--vector);color:#fff}.badge.keyword{background:var(--keyword)}.badge.reranked{background:var(--reranked)}.badge.rrf{background:var(--rrf)}.dashboard{display:grid;gap:1rem;align-items:start}.dashboard.with-jina,.dashboard.no-jina{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard .panel{grid-column:span 3}.dashboard.with-jina .panel.highlight{grid-column:span 2}@media (max-width: 1100px){.dashboard.with-jina,.dashboard.no-jina{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard .panel,.dashboard.with-jina .panel.highlight{grid-column:auto}}@media (max-width: 700px){.dashboard.with-jina,.dashboard.no-jina{grid-template-columns:1fr}}.jina-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;font-size:.85rem;color:var(--muted);cursor:pointer}.jina-toggle input{width:auto;margin:0;cursor:pointer;accent-color:var(--accent)}.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;max-height:78vh}.panel.highlight{border-color:var(--accent);box-shadow:0 0 0 1px #6ea8fe40}.panel-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.panel-head h2{margin:0;font-size:1rem;letter-spacing:-.01em}.count{font-size:.75rem;font-weight:700;color:var(--accent);background:#6ea8fe1f;border-radius:999px;padding:.1rem .5rem;font-variant-numeric:tabular-nums}.panel-body{overflow-y:auto;flex:1;margin:0 -.35rem;padding:0 .35rem}.panel-body::-webkit-scrollbar{width:8px}.panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.reason{color:var(--muted);font-size:.9rem}.results{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.result{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;background:#ffffff03;transition:border-color .12s ease,background .12s ease}.result:hover{border-color:#38404f;background:#6ea8fe0a}.result-meta{display:flex;gap:.55rem;align-items:center;font-size:.75rem;color:var(--muted);margin-bottom:.4rem}.rank{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.score-meter{display:inline-flex;align-items:center;gap:.4rem}.score{font-variant-numeric:tabular-nums}.score-bar{display:inline-block;width:3.25rem;height:4px;border-radius:999px;background:#0f1218;overflow:hidden}.score-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--vector))}.dataset-badge{padding:.1rem .45rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);white-space:nowrap}.source{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-text{margin:0;font-size:.9rem;line-height:1.45}.prose-snippet{display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;color:var(--text)}.record{display:flex;flex-direction:column;gap:.4rem}.record-title{font-size:1rem;font-weight:700;line-height:1.3;color:var(--text)}.record-chips{display:flex;flex-wrap:wrap;gap:.35rem}.field-chip{display:inline-flex;align-items:baseline;gap:.35rem;max-width:100%;padding:.12rem .5rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:.78rem}.field-chip-key{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.field-chip-val{color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-body{margin:0;font-size:.9rem;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.empty{font-size:.85rem;font-style:italic}.ok{color:#4ade80}.err{color:#f87171}.muted{color:var(--muted)}.failures{margin-top:.85rem;border:1px solid rgba(248,113,113,.35);border-radius:8px;padding:.6rem .75rem;background:#f871710f}.failures>summary{cursor:pointer;font-weight:600;color:#f87171}.failure-group{margin-top:.6rem}.failure-reason{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem;color:var(--text)}.failure-count{font-weight:700;color:#f87171;white-space:nowrap}.failure-urls{margin:.3rem 0 0;padding-left:1.6rem;font-size:.78rem;color:var(--muted)}.failure-urls li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-note{margin:-.4rem 0 .85rem;font-size:.85rem}.dup-groups{display:flex;flex-direction:column;gap:1rem}.dup-group{border:1px solid var(--border);border-radius:8px;padding:.85rem}.dup-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:.85rem}.dup-count{font-weight:700;color:var(--keyword);background:#f59e0b1f;border-radius:6px;padding:.1rem .4rem;white-space:nowrap}.dup-group .result{border-color:#232833}.progress-box{margin-top:.9rem}.progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;font-size:.85rem}.progress-msg{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-pct{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent)}progress{width:100%;height:10px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;border-radius:999px;overflow:hidden;background:#0f1218}progress::-webkit-progress-bar{background:#0f1218;border-radius:999px}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--accent),var(--vector));border-radius:999px;transition:width .2s ease}progress::-moz-progress-bar{background:linear-gradient(90deg,var(--accent),var(--vector));border-radius:999px}progress:not([value]){background:linear-gradient(90deg,#0f1218 0%,var(--accent) 50%,#0f1218 100%);background-size:200% 100%;animation:progress-sweep 1.1s linear infinite}progress:not([value])::-webkit-progress-bar{background:transparent}@keyframes progress-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070aa6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 1rem 1rem;z-index:50}.modal{background:var(--card);border:1px solid var(--border);border-radius:14px;width:100%;max-width:720px;max-height:86vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000080}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:1.1rem}.modal-close{margin-top:0;background:transparent;color:var(--muted);border:none;font-size:1.6rem;line-height:1;padding:0 .25rem;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-body{padding:1.25rem;overflow-y:auto}.ingest-form .type-row{margin-bottom:.75rem}.dataset-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.dataset-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.dataset-select{background:#0f1218;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;font:inherit}.dataset-new{flex:1;min-width:10rem}
