:root{--bg:#f6f7f3;--surface:#fff;--surface-soft:#eef3ee;--ink:#1f2a24;--muted:#65726b;--line:#dce2dc;--accent:#1f7a5c;--accent-strong:#155f48;--warning:#9d4d2a;--shadow:0 18px 45px #202c2514}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select,textarea{font:inherit}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 13px;font-weight:700;display:inline-flex}.upload-button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 13px;font-weight:700;display:inline-flex}.upload-button:hover:not(:disabled){background:#ffffff29}.upload-button input{display:none}button:hover{background:var(--accent-strong)}button:disabled{cursor:not-allowed;opacity:.6}select,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;outline:none;width:100%;padding:10px 11px}textarea{resize:vertical;min-height:112px;line-height:1.5}.workspace{grid-template-columns:320px 1fr;min-height:100vh;display:grid}.sidebar{color:#f7fbf7;background:#24352e;flex-direction:column;gap:18px;padding:22px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#173d30;background:#d9efe3;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.brand h1,.brand p,.panel h2,.topbar h2,.section-title h3{margin:0}.brand h1{font-size:1rem}.brand p{color:#c2d2cb;margin-top:3px;font-size:.85rem;line-height:1.35}.panel,.surface{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.panel{box-shadow:none;color:#f7fbf7;background:#ffffff14;border-color:#ffffff1f;flex-direction:column;gap:12px;padding:16px;display:flex}.panel-heading,.section-title,.evaluation-heading{align-items:center;gap:9px;display:flex}.panel h2,.section-title h3{font-size:.95rem}.field-label{color:#c2d2cb;text-transform:uppercase;font-size:.78rem;font-weight:700}.mini-stats{gap:10px;margin:0;display:grid}.mini-stats div{border-top:1px solid #ffffff1f;padding-top:10px}.mini-stats dt,.metric span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:700}.mini-stats dd{color:#fff;overflow-wrap:anywhere;margin:3px 0 0}.check-list{color:#dbe8e1;margin:0;padding-left:18px;line-height:1.55}.main-panel{flex-direction:column;gap:18px;padding:22px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.76rem;font-weight:800}.topbar h2{font-size:clamp(1.35rem,2vw,2.1rem);line-height:1.15}.status-pill{color:#155f48;white-space:nowrap;background:#e4f2eb;border:1px solid #c4dfd2;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:8px 13px;font-size:.9rem;font-weight:700;display:inline-flex}.error-banner{color:var(--warning);background:#fff2ed;border:1px solid #f1bba7;border-radius:8px;padding:12px 14px}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.surface{padding:17px}.query-panel,.answer-panel,.evidence-panel,.evaluation-panel,.experiment-panel,.metrics-panel{flex-direction:column;gap:14px;min-width:0;display:flex}.question-row{flex-wrap:wrap;gap:8px;display:flex}button.ghost{background:var(--surface-soft);color:#244039;min-height:34px;padding:7px 9px;font-size:.83rem;font-weight:700}button.ghost:hover{background:#dfe9df}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metric-grid.eval{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.metric{background:var(--surface-soft);border:1px solid #dfe6df;border-radius:8px;min-height:88px;padding:13px}.metric strong{overflow-wrap:anywhere;margin-top:8px;font-size:1.35rem;display:block}.answer{margin:0;font-size:1.02rem;line-height:1.65}.citation-list,.evidence-list,.eval-table,.gate-checks,.experiment-grid{gap:10px;display:grid}.citation,.evidence,.eval-row,.gate-check,.experiment{border:1px solid var(--line);background:#fafbf9;border-radius:8px;padding:12px}.gate-banner{border:1px solid #c7ded2;border-radius:8px;gap:6px;padding:12px;display:grid}.gate-banner.pass{color:#174b37;background:#edf7f0}.gate-banner.warn{color:#7a4c0b;background:#fff7e8}.gate-banner.fail{color:#7c321d;background:#fff0ec}.gate-banner span{line-height:1.45}.gate-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.gate-check div{justify-content:space-between;align-items:center;gap:10px;display:flex}.gate-check strong{text-transform:capitalize}.gate-check span{color:var(--accent-strong);text-transform:uppercase;font-size:.78rem;font-weight:800}.gate-check.fail span{color:var(--warning)}.gate-check p{color:var(--muted);margin:8px 0 0;line-height:1.45}.experiment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.experiment.winner{border-color:#95cbb3;box-shadow:inset 0 0 0 1px #95cbb3}.experiment div,.experiment dl{justify-content:space-between;align-items:center;gap:10px;display:flex}.experiment span{color:var(--accent-strong);font-size:.82rem;font-weight:800}.experiment p{color:var(--muted);margin:10px 0;line-height:1.45}.experiment dl{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;margin:0;display:grid}.experiment dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.experiment dd{margin:3px 0 0;font-weight:800}.citation{gap:6px;display:grid}.citation strong{color:var(--accent-strong)}.citation span,.citation small,.eval-row span,.eval-row small{color:var(--muted)}.citation p,.evidence p,.eval-row p{margin:0;line-height:1.5}.evidence div,.eval-row div,.evaluation-heading{justify-content:space-between}.evidence div,.eval-row div{align-items:center;gap:12px;margin-bottom:8px;display:flex}.evidence span{color:var(--accent-strong);font-size:.82rem;font-weight:800}.empty-state{color:var(--muted);margin:0;line-height:1.55}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:980px){.workspace{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr 1fr;display:grid}.brand{grid-column:1/-1}}@media (max-width:720px){.sidebar,.main-panel{padding:16px}.sidebar,.grid.two,.experiment-grid,.gate-checks,.metric-grid.eval{grid-template-columns:1fr}.topbar,.evaluation-heading{flex-direction:column;align-items:stretch}.status-pill{white-space:normal;justify-content:center}.metric-grid{grid-template-columns:1fr}}
