.rag-arch{--bg: #07101f;--panel: #0d1728;--line: #263a59;--text: #eaf1ff;--muted: #91a3be;--brand: #72a5ff;--brand2: #8b7cff;--ok: #58d6a9;--warn: #ffbf69;--danger: #ff7f8e;--lit: #7cc4ff;background:radial-gradient(circle at 20% 0%,#102248 0,transparent 28%),linear-gradient(180deg,#07101f,#091321 70%);color:var(--text);border-radius:20px;padding:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.rag-arch *{box-sizing:border-box}.rag-arch button,.rag-arch input,.rag-arch select,.rag-arch textarea{font:inherit}.rag-arch button{cursor:pointer}.rag-arch code{color:#cde0ff;background:#0a1728;border:1px solid #1f3555;border-radius:5px;padding:1px 4px;font-size:.95em}.rag-arch .topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.rag-arch .brandline{display:flex;align-items:center;gap:12px}.rag-arch .logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;font-weight:850}.rag-arch .eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}.rag-arch h2{font-size:24px;margin:5px 0 6px}.rag-arch .lead{color:var(--muted);max-width:880px;line-height:1.55;font-size:13px}.rag-arch .provider{font-size:11px;border:1px solid var(--line);background:#0d192b;padding:8px 12px;border-radius:999px;white-space:nowrap}.rag-arch .provider.on{border-color:#58d6a966;color:#8fe8c9}.rag-arch .provider.off{border-color:#ffbf6966;color:#ffd49a}.rag-arch .card{background:linear-gradient(180deg,#111d31f5,#0c1728f5);border:1px solid var(--line);border-radius:17px;padding:18px;margin-bottom:16px;box-shadow:0 18px 60px #00000047;transition:opacity .25s,filter .25s}.rag-arch .card h3{margin:8px 0 4px;font-size:16px}.rag-arch .card p{margin:0;color:var(--muted);line-height:1.5;font-size:12px}.rag-arch .section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.rag-arch .badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#172944;border:1px solid #2c456b;color:#bcd1f5;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.rag-arch .badge.source{background:#58d6a914;border-color:#58d6a940;color:#8fe8c9}.rag-arch .badge.rule{background:#72a5ff14;border-color:#72a5ff47;color:#bad5ff}.rag-arch .start-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.rag-arch .field-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.rag-arch .field-head label{font-size:12px;font-weight:750}.rag-arch .hint{font-size:9px;color:var(--muted)}.rag-arch textarea,.rag-arch input,.rag-arch select{width:100%;background:#081220;color:#eaf1ff;border:1px solid #2c4162;border-radius:10px;padding:10px 11px}.rag-arch .query textarea{min-height:104px;resize:vertical}.rag-arch .examples{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.rag-arch .example{border:1px solid #2c456b;background:#0d1a2e;color:#bcd1f5;border-radius:999px;padding:5px 10px;font-size:11px}.rag-arch .example:hover{border-color:var(--brand)}.rag-arch .targets{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rag-arch .target{background:#0a1627;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:14px;text-align:left;min-height:120px;transition:.16s}.rag-arch .target:hover{border-color:#4b6c9d;transform:translateY(-1px)}.rag-arch .target.selected{border-color:#729fff;background:linear-gradient(180deg,#345ca03d,#0d1b2ff2);box-shadow:0 0 0 2px #72a5ff1a}.rag-arch .target .icon{display:block;font-size:21px;margin-bottom:8px}.rag-arch .target strong{display:block;font-size:13px}.rag-arch .target small{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:5px}.rag-arch .target .path{display:block;font-size:9px;color:#9cbdf1;margin-top:8px}.rag-arch .start-action{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.rag-arch .route-preview{font-size:11px;color:#b8c8dd;line-height:1.5}.rag-arch .btn{border:1px solid var(--line);background:#111f34;color:#dce8ff;padding:10px 16px;border-radius:10px;white-space:nowrap}.rag-arch .btn.primary{border-color:#567ed0;background:linear-gradient(135deg,#315ea6,#5849aa)}.rag-arch .btn:disabled{opacity:.45;cursor:not-allowed}.rag-arch .banner{margin-top:10px;padding:10px 12px;border-radius:11px;font-size:11px;line-height:1.5}.rag-arch .banner.ok{background:#58d6a912;border:1px solid rgba(88,214,169,.22);color:#bde4d8}.rag-arch .banner.err{background:#ff7f8e12;border:1px solid rgba(255,127,142,.3);color:#f3c5cb}.rag-arch .pipeline-card.idle{opacity:.55;filter:saturate(.6)}.rag-arch .pipeline-card.skipped{opacity:.34;filter:grayscale(.35)}.rag-arch .state{font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:999px;white-space:nowrap;border:1px solid #344861;color:#9bacbf;background:#111d2c}.rag-arch .state.active{color:#8fe8c9;border-color:#58d6a947;background:#58d6a912}.rag-arch .state.skip{color:#ffc08a;border-color:#6a4b35;background:#2b1e16}.rag-arch .pipeline{display:grid;grid-template-columns:repeat(6,minmax(165px,1fr));gap:12px;overflow-x:auto;padding:2px 1px 8px}.rag-arch .stage{position:relative;padding:14px;border-radius:14px;border:1px solid #2a3e61;background:#0c1729;min-height:168px;cursor:pointer;outline:none;transition:border-color .3s,box-shadow .3s,opacity .3s,transform .18s}.rag-arch .stage:hover,.rag-arch .stage:focus-visible{transform:translateY(-2px);border-color:#5579ac}.rag-arch .stage:not(:last-child):after{content:"→";position:absolute;right:-11px;top:62px;color:#5573a2;z-index:2}.rag-arch .stage .n{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#1b3154;color:#aecdff;font-size:10px;font-weight:800;margin-bottom:10px}.rag-arch .stage h4{margin:0 0 6px;font-size:12px}.rag-arch .stage p{font-size:10.5px;line-height:1.45;color:var(--muted);margin:0}.rag-arch .stage .live{margin-top:9px;display:grid;gap:3px}.rag-arch .stage .kv{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#b9c8dc}.rag-arch .stage .kv b{color:#e6efff;font-weight:700;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.rag-arch .stage .st{position:absolute;right:9px;top:10px;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase}.rag-arch .stage .ms{position:absolute;right:10px;bottom:9px;font-size:8.5px;color:#7392bd}.rag-arch .stage.lit{border-color:var(--lit);box-shadow:0 0 0 1px #7cc4ff59,0 0 26px #7cc4ff2e}.rag-arch .stage.lit .n{background:linear-gradient(135deg,#2f6fd1,#6a55d6);color:#fff}.rag-arch .stage.lit.fallback{border-color:var(--warn);box-shadow:0 0 0 1px #ffbf6959,0 0 22px #ffbf6924}.rag-arch .stage.lit.manual{border-color:#b69cff;box-shadow:0 0 0 1px #b69cff59,0 0 22px #b69cff29}.rag-arch .stage.dim{opacity:.3}.rag-arch .st.done{color:#8fe8c9}.rag-arch .st.fallback{color:#ffd49a}.rag-arch .st.manual{color:#cdbcff}.rag-arch .st.skipped{color:#7d8ba0}.rag-arch .st.error{color:var(--danger)}.rag-arch .branches{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;overflow-x:auto}.rag-arch .industry h5{margin:0 0 8px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rag-arch .node{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 9px;margin-bottom:6px;border-radius:10px;border:1px solid #22354f;background:#0a1524;font-size:11px;color:#9fb0c8;transition:all .35s}.rag-arch .node .cnt{font-size:9px;color:#6f86a6}.rag-arch .node.on{border-color:var(--lit);color:#fff;background:linear-gradient(90deg,#2f6fd159,#6a55d640);box-shadow:0 0 18px #7cc4ff33}.rag-arch .node.on .cnt{color:#cfe3ff}.rag-arch .node.on:after{content:"→ B";font-size:8px;color:#8fe8c9;margin-left:4px}.rag-arch .branches.stop .node.on:after{content:"✓"}.rag-arch .note{margin-top:12px;padding:11px 12px;border-left:3px solid var(--ok);background:#58d6a90d;font-size:10.5px;line-height:1.55;color:#b8c9df;border-radius:0 8px 8px 0}.rag-arch .final-shell{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;margin-top:4px}.rag-arch .spec-card{border:1px solid var(--line);background:#0a1627;border-radius:14px;overflow:hidden;margin-bottom:10px}.rag-arch .spec-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.rag-arch .avatar{width:34px;height:34px;border-radius:10px;background:#182c4b;border:1px solid #33527f;display:grid;place-items:center;font-weight:800;color:#cfe0ff}.rag-arch .spec-head h4{margin:0;font-size:12px}.rag-arch .choice{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;padding:9px 14px;border-bottom:1px solid rgba(36,52,79,.65);cursor:pointer}.rag-arch .choice:last-child{border-bottom:0}.rag-arch .choice input{width:16px;height:16px;accent-color:#78a8ff;margin-top:1px}.rag-arch .choice strong{display:block;font-size:11.5px}.rag-arch .choice small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}.rag-arch .summary{height:max-content;position:sticky;top:16px}.rag-arch .summary .big{font-size:32px;display:block;margin:4px 0;font-weight:800}.rag-arch .summary-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px;color:#b9c8dc}.rag-arch .empty{padding:18px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:12px}.rag-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02070fc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1400}.rag-modal-backdrop .rag-arch{padding:0;background:none;border-radius:0}.rag-modal{width:min(900px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#101d31,#0a1424);border:1px solid #31486c;border-radius:20px;box-shadow:0 30px 100px #0000008c}.rag-modal .head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px 20px;background:#0d1829f7;border-bottom:1px solid var(--line)}.rag-modal .step{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#1a3154;border:1px solid #355482;color:#cbe0ff;font-weight:800;font-size:11px;flex:0 0 auto}.rag-modal .head h3{margin:4px 0;font-size:18px}.rag-modal .head p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}.rag-modal .close{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#111f34;color:#cfe0ff;font-size:18px}.rag-modal .body{padding:20px}.rag-modal .meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.rag-modal .meta-box{padding:11px;border:1px solid var(--line);border-radius:11px;background:#091523}.rag-modal .meta-box span{display:block;font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.rag-modal .meta-box strong{font-size:11.5px}.rag-modal .field{padding:13px;border:1px solid var(--line);border-radius:12px;background:#0b1627;margin-bottom:11px}.rag-modal .field textarea{min-height:150px;resize:vertical}.rag-modal .rule{padding:11px 12px;border-radius:11px;font-size:11px;line-height:1.55;margin-top:10px}.rag-modal .rule.allow{border:1px solid rgba(88,214,169,.25);background:#58d6a90f;color:#c0e3d8}.rag-modal .rule.deny{border:1px solid rgba(255,127,142,.28);background:#ff7f8e0f;color:#efc3c8}.rag-modal .rule.info{border:1px solid #2c456d;background:#72a5ff0f;color:#bcd0e9}.rag-modal .code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.65;background:#06101d;border:1px solid #243954;border-radius:11px;padding:12px;color:#bfd0e7;margin-top:10px;white-space:pre-wrap;word-break:break-word}.rag-modal .checklist{display:grid;gap:7px;margin-top:10px;max-height:320px;overflow:auto}.rag-modal .check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:10px;background:#0a1626;cursor:pointer}.rag-modal .check.on{border-color:var(--lit)}.rag-modal .check input{width:16px;height:16px;margin-top:2px;accent-color:#78a8ff}.rag-modal .check strong{font-size:11.5px}.rag-modal .check small{display:block;font-size:9.5px;color:var(--muted);margin-top:3px;line-height:1.4}.rag-modal .foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 20px;border-top:1px solid var(--line);background:#0b1626}.rag-modal .foot .note-small{font-size:10px;color:var(--muted);max-width:520px;line-height:1.45}.rag-modal .foot .right{display:flex;gap:8px}.rag-arch .role{display:inline-flex;padding:2px 7px;border-radius:999px;font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;border:1px solid #2c456b;color:#bcd1f5;background:#13223a;white-space:nowrap}.rag-arch .role.key{border-color:#58d6a973;color:#8fe8c9;background:#58d6a91a}.rag-arch .role.secondary{border-color:#ffbf6959;color:#ffd49a;background:#ffbf6914}.rag-arch .node.on.secondary{background:linear-gradient(90deg,#2f6fd12e,#6a55d61f)}.rag-arch .node .role{margin-left:auto}.rag-arch .json-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.rag-arch .json-view{max-height:460px;overflow:auto;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.55;background:#06101d;border:1px solid #243954;border-radius:11px;padding:12px;color:#bfd0e7;white-space:pre}.rag-arch .spec-card.key{border-color:#58d6a959}.rag-arch .spec-head .why{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.4}.rag-arch .spec-head .role{margin-bottom:4px}.rag-arch .svc-title{padding:8px 14px 4px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#8fe8c9}.rag-arch .svc-title.extra{color:#ffd49a;border-top:1px dashed rgba(36,52,79,.9)}.rag-arch .choice .score{font-style:normal;margin-left:8px;padding:1px 6px;border-radius:999px;font-size:9px;color:#cfe3ff;background:#1a3154;border:1px solid #355482}.rag-arch .choice .path{color:#9fb6d6}.rag-modal details.per{margin-top:10px;border:1px solid var(--line);border-radius:11px;background:#091523}.rag-modal details.per>summary{cursor:pointer;padding:10px 12px;font-size:11px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rag-modal details.per .summary-line{color:var(--muted);font-size:10px}.rag-modal details.per.raw .code{margin:0 10px 10px}.rag-modal .terms{padding:0 12px 8px;font-size:10.5px;color:#bcd0e9}.rag-modal .terms.warn{color:#ffd49a}.rag-modal .rag-table{width:100%;border-collapse:collapse;font-size:10.5px;margin:0 0 8px}.rag-modal .rag-table th{text-align:left;font-weight:600;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0b1627}.rag-modal .rag-table td{padding:6px 10px;border-bottom:1px solid rgba(36,52,79,.6);vertical-align:top;color:#c9d6e8;line-height:1.45}.rag-modal .rag-table td.num{font-variant-numeric:tabular-nums;font-weight:700}.rag-modal .rag-table tr.kept td{color:#e9f6f0}.rag-modal .rag-table tr.kept td.num{color:#8fe8c9}.rag-modal .rag-table tr.cut td,.rag-modal .rag-table.dropped td{color:#7d8ba0}.rag-modal>.body>.rag-table{margin-top:10px}.rag-modal .picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 12px 12px}.rag-modal .pick span{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.rag-modal .pick.main span{color:#8fe8c9}.rag-modal .pick.additional span{color:#ffd49a}.rag-modal .pick.rejected span{color:#7d8ba0}.rag-modal .pick ol{margin:0;padding-left:16px;font-size:10.5px;color:#c9d6e8;line-height:1.5}.rag-modal .pick em{color:var(--muted);font-size:10.5px}.rag-modal .body>table.rag-table{margin-top:10px}@media (max-width: 950px){.rag-arch .start-grid,.rag-arch .final-shell,.rag-arch .targets{grid-template-columns:1fr}.rag-arch .pipeline{grid-template-columns:repeat(6,200px)}.rag-arch .branches{grid-template-columns:repeat(5,180px)}.rag-modal .meta,.rag-modal .picks{grid-template-columns:1fr}.rag-modal .rag-table{display:block;overflow-x:auto}.rag-arch .summary{position:relative;top:auto}}:root{font-family:Inter,sans-serif;color:#1f2430;background:linear-gradient(180deg,#eef1f8,#f4f7fc 55%,#f7f9fd)}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#eef1f8,#f4f7fc 55%,#f7f9fd)}a{color:inherit;text-decoration:none}
