:root{color-scheme:dark;--bg: #0e1117;--surface: #161b24;--surface-2: #1c2230;--border: #262d3b;--text: #e6eaf2;--text-dim: #9aa4b8;--text-faint: #6b7488;--accent: #4c8dff;--accent-soft: rgba(76, 141, 255, .14);--accent-2: #f5a623;--pos: #2ebd85;--neg: #f6465d;--rejected: #f5a623;--submitted: #6b7488;--filled: #2ebd85;--radius: 12px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--mono: "JetBrains Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;height:50px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--text);text-decoration:none;letter-spacing:.01em}.brand .dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.brand-sub{color:var(--text-faint);font-weight:400;margin-left:2px}.topbar .spacer{flex:1}.who{color:var(--text-mute);font-size:12.5px;white-space:nowrap}.subtle{font-size:11px;color:var(--text-faint)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:12.5px;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){.topbar{height:auto;flex-wrap:wrap;padding:8px 12px}.topbar .spacer{display:none}}.workspace{padding:28px 32px 80px;max-width:1400px;width:100%;margin:0 auto}.section-title{font-size:22px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em}.section-hint{color:var(--text-dim);margin:0 0 20px;font-size:12.5px}.h2{font-size:14px;font-weight:600;margin:32px 0 12px;color:var(--text);text-transform:uppercase;letter-spacing:.06em}.back{font-size:12px;color:var(--text-dim);text-decoration:none}.back:hover{color:var(--accent)}.run-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.loading{color:var(--text-dim)}.empty{color:var(--text-dim);padding:16px 0}.error{color:var(--neg);padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.mono{font-family:JetBrains Mono,Cascadia Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--text)}code{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:11.5px;background:var(--surface-2);padding:1px 5px;border-radius:3px;color:var(--text)}.status{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:3px;text-transform:uppercase;letter-spacing:.06em}.status-succeeded{background:#2ebd8524;color:var(--filled)}.status-failed{background:#f6465d24;color:var(--neg)}.status-running,.status-queued{background:#4c8dff24;color:var(--accent)}.state{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.state-filled{background:#2ebd8524;color:var(--filled)}.state-submitted{background:#6b74882e;color:var(--submitted)}.state-rejected{background:#f5a6232e;color:var(--rejected)}.state-partially_filled{background:#f5a6232e;color:var(--accent-2)}.pos{color:var(--pos)}.neg{color:var(--neg)}.triple-band{display:flex;gap:28px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:24px}.triple-item{flex:1;min-width:0}.triple-label{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.triple-item code{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:12.5px;background:transparent;padding:0;color:var(--accent)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 24px;font-size:12.5px;padding-bottom:12px}.kv-grid div b{color:var(--text-dim);font-weight:500;margin-right:6px}.evidence-panel{margin:8px 0 24px;padding:14px 18px 16px;border:1px solid var(--border);border-left:3px solid var(--accent-2);background:var(--surface)}.evidence-panel.evidence-comparable{border-left-color:var(--filled)}.evidence-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.evidence-heading .h2{margin-top:0;margin-bottom:2px}.evidence-hint{margin-bottom:10px}.evidence-summary{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:10px;font-size:12px}.evidence-summary strong{font-family:JetBrains Mono,Menlo,Consolas,monospace}.evidence-label{display:block;margin-bottom:3px;color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.evidence-pill{display:inline-block;padding:2px 7px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.evidence-ok{background:#2ebd8524;color:var(--filled)}.evidence-unknown{background:#f5a62329;color:var(--rejected)}.evidence-differences{margin:10px 0 14px;padding:8px 10px;border:1px solid rgba(245,166,35,.32);background:#f5a62312;color:var(--text)}.evidence-differences ul{margin:5px 0 0 18px;padding:0}.evidence-differences li{margin:2px 0}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 20px}.evidence-value,.source-row{min-width:0}.evidence-json{display:block;overflow-wrap:anywhere;white-space:normal;line-height:1.45}.unknown-value{color:var(--rejected)}.evidence-sources{margin-top:14px}.evidence-sources h3{margin:0 0 8px;color:var(--text-dim);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px}.source-row code{display:block;overflow-wrap:anywhere}.metrics-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.metric-card{padding:14px 18px;border:1px solid var(--border);border-radius:4px;min-width:140px;background:var(--surface)}.metric-name{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.metric-value{font-size:20px;font-weight:600;font-family:JetBrains Mono,Menlo,Consolas,monospace;color:var(--text)}.metric-unit{font-size:12px;font-weight:400;color:var(--text-dim)}.runs-table,.data-table{width:100%;border-collapse:collapse;font-size:12.5px}.runs-table th,.data-table th{text-align:left;padding:8px 12px;font-size:10.5px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border);background:var(--surface)}.runs-table td,.data-table td{padding:8px 12px;border-bottom:1px solid var(--border)}.runs-table tbody tr:hover,.data-table tbody tr:hover{background:var(--surface)}.triple-cell{font-size:11.5px;color:var(--text-dim)}.triple-cell .mono{color:var(--accent)}.reason-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--rejected)}.nav{display:flex;gap:4px;margin-left:8px}.nav-link{font-size:12.5px;color:var(--text-dim);text-decoration:none;padding:4px 10px;border-radius:3px}.nav-link:hover{color:var(--text);background:var(--surface)}.nav-link.active{color:var(--text);background:var(--surface-2);font-weight:500}.page h2{font-size:16px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}.page .status.pending{background:#4c8dff1f;color:var(--accent);padding:6px 10px;border-radius:3px;font-size:12px;margin:8px 0}.page .status.ok{background:#2ebd851f;color:var(--pos);padding:6px 10px;border-radius:3px;font-size:12px;margin:8px 0}.page .status.err{background:#f6465d1f;color:var(--neg);padding:6px 10px;border-radius:3px;font-size:12px;margin:8px 0}.config-header{display:flex;gap:16px;align-items:center;margin:12px 0 16px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.config-header label{font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:6px}.config-header input[type=text]{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:3px 8px;border-radius:3px;font-size:12px;font-family:JetBrains Mono,Menlo,Consolas,monospace}.role-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;letter-spacing:.04em}.role-badge.ok{background:#2ebd8524;color:var(--pos)}.role-badge.warn{background:#f5a62324;color:var(--rejected)}.btn-primary{background:var(--accent);color:#0b0d0f;border:none;border-radius:3px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;letter-spacing:.01em}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.config-table{width:100%;border-collapse:collapse;font-size:12.5px}.config-table th{text-align:left;padding:8px 10px;font-size:10.5px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--surface)}.config-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.config-table input,.config-table select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:4px 8px;border-radius:3px;font-size:12px;font-family:JetBrains Mono,Menlo,Consolas,monospace;width:180px}.config-table .hint{color:var(--text-faint);font-size:11.5px;max-width:240px}.type-tag{font-size:10px;color:var(--text-dim);background:var(--surface-2);padding:1px 6px;border-radius:3px;letter-spacing:.04em}.audit-toolbar{display:flex;gap:14px;align-items:center;margin:12px 0 14px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.audit-toolbar label{font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:6px}.audit-toolbar select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:3px 8px;border-radius:3px;font-size:12px}.audit-table{width:100%;border-collapse:collapse;font-size:12px}.audit-table th{text-align:left;padding:7px 10px;font-size:10px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--surface)}.audit-table td{padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.audit-table td.ts{color:var(--text-dim);font-size:11.5px;font-family:JetBrains Mono,monospace}.danger-tag{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.danger-tag.read{background:#4c8dff1f;color:var(--accent)}.danger-tag.write_config{background:#f5a62324;color:var(--rejected)}.danger-tag.write_orchestration,.danger-tag.write_runtime_control,.danger-tag.write_live_money{background:#f6465d24;color:var(--neg)}.result-tag{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:uppercase}.result-tag.accepted{background:#2ebd8524;color:var(--pos)}.result-tag.rejected{background:#f6465d24;color:var(--neg)}.console-map{max-width:1100px}.map-head{margin-bottom:22px}.map-head h1{font-size:24px;font-weight:600;margin:0 0 8px;letter-spacing:-.015em}.map-head p{margin:0;max-width:760px}.comparison-note{font-size:12px;color:var(--text-dim);border-left:2px solid var(--accent-2);padding:8px 0 8px 12px;margin:0 0 26px;max-width:760px}.comparison-note strong{color:var(--text);font-weight:600}.section-block{border-top:1px solid var(--border);padding:18px 0 20px}.section-block:last-child{border-bottom:1px solid var(--border)}.section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.section-id{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--text-faint);border:1px solid var(--border);border-radius:3px;padding:1px 7px;letter-spacing:.02em}.section-head .section-title{font-size:15px;font-weight:600;margin:0;text-transform:none;letter-spacing:-.005em}.section-count{margin-left:auto}.section-notes{margin:-6px 0 12px;max-width:820px;line-height:1.5}.page-list,.mutation-list{list-style:none;margin:0;padding:0}.page-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}.page-row{padding:9px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.page-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}.page-name{font-size:13px;font-weight:500;color:var(--text)}.badges{display:inline-flex;gap:4px;margin-left:auto}.badge{font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:3px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.badge.danger-read{background:#4c8dff1f;color:var(--accent)}.badge.danger-write_config{background:#f5a62324;color:var(--rejected)}.badge.danger-write_probe{background:#f5a6232e;color:var(--accent-2)}.badge.danger-write_orchestration,.badge.danger-write_runtime_control{background:#f6465d24;color:var(--neg)}.badge.danger-write_live_money{background:#f6465d3d;color:#f6465d}.badge-realtime{background:#2ebd8524;color:var(--filled)}.badge-cross,.badge-cloud{background:#4c8dff29;color:var(--accent)}.page-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.page-meta .route{color:var(--accent)}.page-meta .contract{font-size:11px;color:var(--text-dim)}.page-source{font-size:11px;color:var(--text-dim);margin-top:6px}.page-source code{color:var(--text-faint)}.page-freshness,.page-basis{margin-top:4px}.mutation-list{margin-top:12px;display:flex;flex-direction:column;gap:6px}.mutation-row{display:flex;align-items:center;gap:10px;font-size:11.5px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2)}.mutation-row .route{color:var(--accent-2)}.page-probe{margin-top:8px;padding-top:7px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:5px}.probe-btn{align-self:flex-start;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:3px;padding:2px 9px;font-size:11px;cursor:pointer;letter-spacing:.02em}.probe-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.probe-btn:disabled{opacity:.45;cursor:not-allowed}.section-probe{margin-left:12px;align-self:center}.probe-skip{font-style:italic}.probe-badge{font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:3px;letter-spacing:.05em;white-space:nowrap}.probe-badge.probe-not-wired{background:#787d852e;color:var(--text-dim)}.probe-badge.probe-unavailable{background:#f5a62333;color:var(--rejected)}.probe-badge.probe-data{background:#2ebd8529;color:var(--filled)}.probe-badge.probe-error{background:#f6465d29;color:var(--neg)}.probe-badge.probe-untested{background:transparent;color:var(--text-faint);border:1px dashed var(--border)}.probe-outcome{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding-left:8px;border-left-width:3px;border-left-style:solid;border-left-color:transparent}.probe-outcome.probe-data{border-left-color:var(--filled)}.probe-outcome.probe-not-wired{border-left-color:var(--text-faint)}.probe-outcome.probe-unavailable{border-left-color:var(--rejected)}.probe-outcome.probe-error{border-left-color:var(--neg)}.probe-outcome.probe-untested{border-left-color:transparent}.probe-detail{font-size:11px;color:var(--text-dim);min-width:0;flex:1 1 100%}.probe-detail.probe-data-text{color:var(--text)}.probe-detail.probe-unavailable-text{color:var(--rejected)}.probe-detail.probe-error-text{color:var(--neg)}.probe-kv{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-right:6px}.probe-reason{margin-top:2px}.param-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;margin:0 0 20px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.param-bar select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:3px 8px;border-radius:3px;font-size:12px;font-family:JetBrains Mono,Menlo,Consolas,monospace;max-width:320px}.param-bar strong{font-size:12.5px;font-weight:600}.page-param{margin-top:4px}.page-param code{color:var(--accent-2)}.data-view{margin-top:6px}.field-list{display:flex;flex-direction:column;gap:2px;margin:2px 0 8px;font-size:11.5px}.field-row{display:flex;gap:8px;align-items:baseline}.field-row dt{min-width:160px;color:var(--text-faint);font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;flex-shrink:0}.field-row dd{margin:0;color:var(--text);font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;word-break:break-word}.record-view{margin-top:4px}.record-view .data-table td{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-trunc{margin-top:4px;font-size:10.5px}.probe-empty{margin-top:5px;font-size:11px;color:var(--text-dim);background:#4c8dff0f;border-left:3px solid var(--accent);padding:4px 8px}.probe-empty code{color:var(--accent)}.offset-missing{color:#f5a623;font-size:11px}.shell .sider{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.shell .sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.shell .sider .ant-menu{background:transparent;border-inline-end:none}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin:12px 0 20px}.page-card{border:1px solid #1f2329;background:#14171c;border-radius:6px;padding:12px}.page-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.page-card-title{font-weight:600;color:#e6eaf2}.page-card-route{font-size:12px;color:#6b7488;margin:6px 0}.page-card-source{font-size:12px;color:#a8b0ba;margin-bottom:4px}.page-card-contract{font-size:12px}.badges{display:inline-flex;gap:4px;flex-wrap:wrap}.badge{font-size:11px;padding:1px 6px;border-radius:10px;border:1px solid #2a2f37;color:#9aa3ae}.badge-realtime{border-color:#2b5b7a;color:#4c8dff}.badge-cross{border-color:#6b4a1f;color:#f5a623}.danger-read{border-color:#2a3a2f;color:#2ebd85}.danger-write_config{border-color:#4a4520;color:#f5a623}.danger-write_orchestration{border-color:#6b4a1f;color:#f5a623}.danger-write_probe{border-color:#4a3a5a;color:#b48ed9}.danger-write_runtime_control{border-color:#6b2a2a;color:#f6465d}.danger-write_live_money{border-color:#8a1f1f;color:#f6465d}.page-meta{display:grid;gap:4px;font-size:13px;margin:10px 0 14px}.identity-warn{color:#f5a623}.lineage-chain{margin:8px 0;padding-left:18px}.lineage-chain li{margin:4px 0}.lineage-current{color:#e6eaf2}.probe-busy,.probe-busy-text,.status-mixed{color:#f5a623}.badge-wired{border-color:#2a5a3a;color:#2ebd85}.badge-unwired{border-color:#4a4a4a;color:#6b7488}.sider-domains{padding:6px 0;border-bottom:1px solid var(--border)}.sider-sections{padding-top:4px;overflow:auto}.sider-meta{margin-top:auto;padding:12px 16px;border-top:1px solid var(--border);color:var(--text-mute);font-size:11px;line-height:1.6}.sider-caption{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;padding:8px 16px 6px}.domain-count{font-size:10px;color:var(--text-faint);margin-left:6px}.domain-indicator{color:var(--accent)}.sider-anomalies{margin-top:8px;padding:6px 12px 12px;border-top:1px solid var(--border)}.sider-caption.warn{color:var(--rejected);padding-left:4px}.sider-anomalies ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sider-anomalies li{font-size:11.5px}.sider-anomalies a{color:var(--rejected);cursor:pointer;text-decoration:none}.sider-anomalies a:hover{text-decoration:underline}.render-error{display:grid;min-height:100%;min-height:100vh;place-items:center;padding:32px;background:var(--bg);color:var(--text)}.render-error__panel{width:min(100%,520px);padding:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.render-error__eyebrow{margin:0 0 10px;color:var(--text-faint);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.render-error h1{margin:0;color:var(--text);font-size:22px;line-height:1.3}.render-error__message{margin:12px 0 24px;color:var(--text-dim)}.render-error__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.render-error__reload,.render-error__home{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:6px 14px;border:1px solid var(--accent);border-radius:4px;font:inherit;font-size:12px;text-decoration:none;cursor:pointer}.render-error__reload{background:var(--accent);color:var(--bg);font-weight:600}.render-error__home{background:transparent;color:var(--accent)}.render-error__reload:hover,.render-error__home:hover{filter:brightness(1.08)}
