:root{--bg: #f6f7f9;--panel: #ffffff;--ink: #1d2433;--muted: #5f6b7d;--line: #e1e5eb;--brand: #3b5bdb;--brand-ink: #ffffff;--ok: #2b8a3e;--ok-bg: #ebfbee;--warn: #a35f00;--warn-bg: #fff6e0;--err: #c92a2a;--err-bg: #fff0f0;--radius: 8px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:24px 0 8px}p.lead{color:var(--muted);margin:0 0 20px}.login{min-height:100vh;display:grid;place-items:center}.login .card{width:360px}.brand{font-weight:700;font-size:18px;color:var(--brand);margin-bottom:4px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}nav.side{background:#111827;color:#cbd5e1;padding:20px 12px;display:flex;flex-direction:column;gap:4px}nav.side .brand{color:#fff;padding:0 10px 16px}nav.side button{all:unset;cursor:pointer;padding:9px 10px;border-radius:6px;font-size:14px}nav.side button:hover{background:#1f2937}nav.side button.active{background:var(--brand);color:#fff}nav.side .who{margin-top:auto;font-size:12px;padding:10px;border-top:1px solid #1f2937}nav.side .who b{display:block;color:#fff;font-weight:600;word-break:break-all}main{padding:28px 32px;max-width:1200px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stack{display:flex;flex-direction:column;gap:12px}label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:4px}input,select,textarea{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}textarea.code{font-family:Consolas,Cascadia Code,monospace;font-size:13px;min-height:420px;line-height:1.45;white-space:pre}button.btn{font:inherit;font-size:14px;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:#fff;cursor:pointer}button.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}button.btn.danger{color:var(--err)}button.btn:disabled{opacity:.5;cursor:default}table{width:100%;border-collapse:collapse;font-size:14px;background:var(--panel)}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f8f9ff}.mono{font-family:Consolas,monospace;font-size:12.5px}.muted{color:var(--muted)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#eef1f6;margin:2px 4px 2px 0}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.err{background:var(--err-bg);color:var(--err)}.pill.x{cursor:pointer}.alert{padding:10px 12px;border-radius:6px;font-size:14px}.alert.err{background:var(--err-bg);color:var(--err)}.alert.ok{background:var(--ok-bg);color:var(--ok)}.alert.warn{background:var(--warn-bg);color:var(--warn)}ul.issues{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}ul.issues li{padding:8px 10px;border-radius:6px;font-size:13.5px}ul.issues li.error{background:var(--err-bg)}ul.issues li.warning{background:var(--warn-bg)}ul.issues code{font-weight:600}pre.json{background:#0f172a;color:#e2e8f0;padding:14px;border-radius:6px;overflow:auto;font-size:12.5px;max-height:420px}a.btn{font-size:14px;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}label.btn{font-size:14px;padding:8px 14px;border-radius:6px;cursor:pointer}label.btn.primary{background:var(--brand);border:1px solid var(--brand)}code{font-family:Consolas,monospace;font-size:12.5px;background:#eef1f6;padding:1px 4px;border-radius:4px}pre.json code,.md code{background:transparent}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:12px 0 16px}.tabs button{all:unset;cursor:pointer;padding:8px 14px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tryit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}.chat{display:flex;flex-direction:column;gap:12px}.chatlog{display:flex;flex-direction:column;gap:10px;min-height:360px;max-height:62vh;overflow-y:auto;padding:4px}.bubble{max-width:90%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.45}.bubble.user{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}.bubble.bot{align-self:flex-start;background:#f3f5f9;border:1px solid var(--line);border-bottom-left-radius:4px;cursor:pointer}.bubble.bot.selected{border-color:var(--brand);box-shadow:0 0 0 2px #3b5bdb22}.bubble.bot.failed{background:var(--err-bg);color:var(--err)}.bubble-meta{margin-top:6px;font-size:12px;color:var(--muted)}.md p{margin:0 0 6px}.md p:last-child{margin-bottom:0}.md ol,.md ul{margin:4px 0 6px;padding-left:20px}.md sup.cite{background:#3b5bdb1a;color:var(--brand);border-radius:4px;padding:0 4px;font-size:10.5px;font-weight:600}.md a{color:var(--brand)}details.cites{margin-top:8px;font-size:12.5px;border-top:1px dashed var(--line);padding-top:6px}details.cites summary{cursor:pointer;font-weight:600}.cite-item{margin-top:6px}button.chip{font:inherit;font-size:13px;border:1px solid #3b5bdb55;color:var(--brand);background:#fff;border-radius:999px;padding:5px 11px;cursor:pointer}button.chip:hover{background:#3b5bdb0f}.trace{display:flex;flex-direction:column;gap:8px}.tstep{border-left:3px solid #adb5bd;background:#fafbfc;border-radius:0 6px 6px 0;padding:7px 10px;font-size:13px}.tstep.guard{border-color:#7048e8}.tstep.context{border-color:#868e96}.tstep.classify{border-color:#1c7ed6}.tstep.retrieve{border-color:#0ca678}.tstep.respond{border-color:#2b8a3e}.tstep.tool{border-color:#e8590c}.tstep.escalate{border-color:#f08c00;background:#fff9db}.tstep.decline{border-color:#868e96}.tstep.error{border-color:var(--err);background:var(--err-bg)}.thead{display:flex;justify-content:space-between;gap:8px}.tname{font-weight:700;text-transform:capitalize}.tmeta{display:flex;gap:10px;color:var(--muted);font-size:12px;font-family:Consolas,monospace}.treason{margin-top:3px}.tio{margin-top:3px;color:var(--muted);word-break:break-word}.tio b{font-size:11px;text-transform:uppercase;color:#868e96;margin-right:4px}.ttotal{font-size:12px;margin-top:4px}.hit .hittext{white-space:pre-wrap;font-size:13px;color:#343a40;margin-top:8px;max-height:160px;overflow:auto}.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.tile .tlabel{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.tile .tvalue{font-size:28px;font-weight:700;margin-top:6px}.tile .tnote{font-size:12.5px;margin-top:2px}.bars{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:18px}.bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:18px}.bfill{width:100%;max-width:36px;background:var(--brand);border-radius:4px 4px 0 0;min-height:2px}.bval{font-size:11px;color:var(--muted)}.bday{font-size:10.5px;color:var(--muted);margin-top:4px}
