.platform{--bg:#080c10;--bg-2:#0b1116;--grid:rgba(120,170,190,0.05);--panel:#0e151b;--panel-2:#111a21;--raise:#16212a;--edge:#1d2932;--edge-soft:rgba(255,255,255,0.055);--text:#ccd8e1;--dim:#7d8d99;--faint:#6f8090;--data:#2fe6cf;--data-deep:#0e8e82;--gate:#ffb454;--gate-deep:#b6731f;--sel:#4fc3ff;--sel-deep:#1d6f9c;--danger:#ff5f56;--good:#45d6a4;--violet:#b08bff;--font-display:"Chivo",ui-sans-serif,system-ui,sans-serif;--font-body:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;position:fixed;inset:0;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 75% -10%,rgba(47,230,207,.06),transparent 60%),radial-gradient(900px 500px at 0 110%,rgba(255,180,84,.04),transparent 60%),var(--bg);color:var(--text);font-family:var(--font-body);font-size:13px;line-height:1.4;overflow:hidden;-webkit-font-smoothing:antialiased}.platform *{box-sizing:border-box}.platform ::-webkit-scrollbar{width:9px;height:9px}.platform ::-webkit-scrollbar-thumb{background:#223039;border-radius:6px;border:2px solid var(--panel)}.platform ::-webkit-scrollbar-thumb:hover{background:#2c3e49}.pf-header{display:flex;align-items:center;gap:18px;height:50px;padding:0 16px;border-bottom:1px solid var(--edge);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);flex:0 0 auto}.pf-wordmark{font-family:var(--font-display);font-weight:900;font-size:16px;letter-spacing:.16em;color:var(--text)}.pf-wordmark b{color:var(--data)}.pf-module{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);padding-left:14px;border-left:1px solid var(--edge)}.pf-header-spacer{flex:1}.pf-telemetry{display:flex;gap:22px;align-items:center}.pf-tele{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.pf-tele .k{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.pf-tele .k,.pf-tele .v{font-family:var(--font-mono)}.pf-tele .v{font-size:13px;color:var(--data)}.pf-tele .v.amber{color:var(--gate)}.pf-tele .v.plain{color:var(--text)}.pf-tele .v.danger{color:var(--danger)}.pf-tele .v.good{color:var(--good)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--data);box-shadow:0 0 8px var(--data);flex:0 0 auto}.live-dot.busy{background:var(--gate);box-shadow:0 0 8px var(--gate);animation:pf-pulse .7s ease-in-out infinite}@keyframes pf-pulse{50%{opacity:.3}}.pf-body{flex:1;display:grid;grid-template-columns:236px minmax(0,1fr);min-height:0}.pf-rail{border-right:1px solid var(--edge);min-height:0;overflow-y:auto;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.012),transparent)}.pf-rail-head{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);padding:14px 16px 8px}.rail-item{display:flex;align-items:center;gap:11px;padding:10px 16px;cursor:pointer;border-left:2px solid transparent;transition:background .12s ease,border-color .12s ease;position:relative}.rail-item:hover{background:var(--panel-2)}.rail-item.active{background:rgba(47,230,207,.07);border-left-color:var(--data)}.rail-item .ri-icon{color:var(--faint);display:inline-flex;flex:0 0 auto}.rail-item.active .ri-icon{color:var(--data)}.rail-item .ri-text{display:flex;flex-direction:column;gap:1px;min-width:0}.rail-item .ri-label{font-family:var(--font-display);font-size:12.5px;font-weight:600;color:var(--dim);white-space:nowrap}.rail-item.active .ri-label{color:var(--text)}.rail-item .ri-section{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.pf-rail-foot{margin-top:auto;padding:12px 16px;border-top:1px solid var(--edge);display:flex;flex-direction:column;gap:6px}.ds-stat{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:10px}.ds-stat .k{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:8.5px}.ds-stat .v{color:var(--text)}.ds-stat .v.data{color:var(--data)}.ds-stat .v.amber{color:var(--gate)}.pf-pane{min-height:0;overflow:auto;display:flex;flex-direction:column;background:var(--bg-2)}.pane-head{display:flex;align-items:center;gap:14px;padding:16px 22px 12px;border-bottom:1px solid var(--edge);flex:0 0 auto}.pane-head .ph-title{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text);letter-spacing:.01em}.pane-head .ph-sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--faint);max-width:540px;line-height:1.5}.pane-head .spacer{flex:1}.pane-body{padding:18px 22px 28px;display:flex;flex-direction:column;gap:18px;min-height:0}.pane-body.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.card{border:1px solid var(--edge);border-radius:9px;background:var(--panel);overflow:hidden}.card-head{display:flex;align-items:center;gap:10px;padding:11px 14px 9px;border-bottom:1px solid var(--edge)}.card-head h3{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:0}.card-head .sec{font-family:var(--font-mono);font-size:9px;color:var(--faint)}.card-head .spacer{flex:1}.card-body{padding:13px 14px;display:flex;flex-direction:column;gap:11px}.card-body.flush{padding:0}.btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text);background:var(--raise);border:1px solid var(--edge);border-radius:5px;padding:5px 9px;cursor:pointer;transition:all .12s ease;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover:not(:disabled){border-color:#2f424d;background:#1a2731}.btn.active{color:var(--bg);background:var(--data);border-color:var(--data);font-weight:600}.btn.amber.active{background:var(--gate);border-color:var(--gate)}.btn.ghost{background:transparent}.btn.sm{padding:3px 7px;font-size:10px}.btn.icon{padding:5px 7px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 16px;color:var(--bg);background:var(--data);border-color:var(--data)}.btn.primary:hover:not(:disabled){background:#46f0db;border-color:#46f0db;box-shadow:0 0 18px rgba(47,230,207,.28)}.btn.primary.amber{background:var(--gate);border-color:var(--gate)}.btn.primary.amber:hover:not(:disabled){background:#ffc473;border-color:#ffc473;box-shadow:0 0 18px rgba(255,180,84,.26)}input.pf-input,select.pf-select,textarea.pf-textarea{font-family:var(--font-mono);font-size:11.5px;color:var(--text);background:var(--bg-2);border:1px solid var(--edge);border-radius:5px;padding:5px 8px;outline:none;width:100%}input.pf-input:focus,select.pf-select:focus,textarea.pf-textarea:focus{border-color:var(--data-deep)}textarea.pf-textarea{resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.field-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.field-row .field{flex:1;min-width:120px}.seg{display:inline-flex;border:1px solid var(--edge);border-radius:5px;overflow:hidden;background:var(--bg-2)}.seg .seg-btn{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;color:var(--dim);background:transparent;border:none;border-right:1px solid var(--edge);padding:5px 10px;cursor:pointer;transition:all .1s ease;white-space:nowrap}.seg .seg-btn:last-child{border-right:none}.seg .seg-btn:hover{color:var(--text);background:#141f27}.seg .seg-btn.active{color:var(--bg);background:var(--data);font-weight:600}.seg.amber .seg-btn.active{background:var(--gate)}.tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border:1px solid var(--edge);border-radius:4px;padding:2px 6px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.tag.data{color:var(--data);border-color:var(--data-deep)}.tag.amber{color:var(--gate);border-color:var(--gate-deep)}.tag.danger{color:var(--danger);border-color:rgba(255,95,86,.5)}.tag.good{color:var(--good);border-color:rgba(69,214,164,.5)}.tag.violet{color:var(--violet);border-color:rgba(176,139,255,.5)}.tag.solid.good{background:rgba(69,214,164,.13)}.tag.solid.danger{background:rgba(255,95,86,.12)}.tag.solid.amber{background:rgba(255,180,84,.12)}.hint{font-size:10px;color:var(--faint);line-height:1.5}.hint,.kv,.mono{font-family:var(--font-mono)}.kv{display:flex;justify-content:space-between;gap:14px;font-size:11px;padding:3px 0}.kv .k{color:var(--faint)}.kv .v{color:var(--text);text-align:right;word-break:break-all}.kv .v.data{color:var(--data)}.kv .v.amber{color:var(--gate)}.vgraph{display:flex;flex-direction:column;padding:4px 0}.vgraph,.vrow{gap:0;position:relative}.vrow{display:grid;grid-template-columns:44px minmax(0,1fr)}.vrail{position:relative;display:flex;justify-content:center}.vrail .line{position:absolute;top:0;bottom:0;width:2px;background:var(--edge)}.vrail .line.top{top:-2px;bottom:50%}.vrail .line.bottom{top:50%;bottom:-2px}.vdot{position:relative;z-index:2;width:13px;height:13px;margin-top:17px;border-radius:50%;background:var(--bg);border:2px solid var(--data-deep);cursor:pointer;transition:all .12s ease}.vdot.head{border-color:var(--data);box-shadow:0 0 8px rgba(47,230,207,.45)}.vdot.selected{background:var(--data);border-color:var(--data)}.vcommit{border:1px solid var(--edge);border-radius:8px;background:var(--panel);padding:10px 13px;margin:6px 0;cursor:pointer;transition:all .12s ease;display:flex;flex-direction:column;gap:5px}.vcommit:hover{border-color:#2f424d}.vcommit.selected{border-color:var(--sel);box-shadow:inset 0 0 0 1px var(--sel),0 0 14px rgba(79,195,255,.15)}.vcommit.diffbase{border-color:var(--gate-deep)}.vcommit.diffhead{border-color:var(--data-deep)}.vcommit .vc-top{display:flex;align-items:center;gap:9px}.vcommit .vc-id{font-family:var(--font-mono);font-size:11px;color:var(--data);font-weight:600}.vcommit .vc-branch{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--gate);border:1px solid var(--gate-deep);border-radius:4px;padding:1px 6px}.vcommit .vc-msg{font-family:var(--font-body);font-size:12.5px;color:var(--text)}.vcommit .vc-meta{display:flex;gap:12px;font-family:var(--font-mono);font-size:9.5px;color:var(--faint);align-items:center;flex-wrap:wrap}.vcommit .vc-meta .author{color:var(--dim)}.vcommit .vc-actions{display:flex;gap:5px;margin-top:3px}.branch-strip{display:flex;flex-wrap:wrap;gap:8px}.branch-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;border:1px solid var(--edge);border-radius:6px;padding:6px 10px;background:var(--bg-2)}.branch-chip .bc-name{color:var(--gate)}.branch-chip .bc-ab{color:var(--faint);font-size:9px}.branch-chip .bc-ab .ahead{color:var(--good)}.branch-chip .bc-ab .behind{color:var(--danger)}.diff-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:var(--text)}.diff-stat{display:inline-flex;align-items:center;gap:5px;font-size:11px}.diff-stat .n{font-weight:600}.diff-stat.add .n{color:var(--good)}.diff-stat.rem .n{color:var(--danger)}.diff-stat.mod .n{color:var(--gate)}.change-list{gap:9px}.change,.change-list{display:flex;flex-direction:column}.change{border:1px solid var(--edge);border-left-width:3px;border-radius:7px;background:var(--panel);padding:10px 13px;gap:7px}.change.op-good{border-left-color:var(--good)}.change.op-danger{border-left-color:var(--danger)}.change.op-amber{border-left-color:var(--gate)}.change.op-data{border-left-color:var(--data)}.change .ch-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.op-badge{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-weight:600}.op-badge.good{color:var(--good);background:rgba(69,214,164,.13)}.op-badge.danger{color:var(--danger);background:rgba(255,95,86,.13)}.op-badge.amber{color:var(--gate);background:rgba(255,180,84,.14)}.op-badge.data{color:var(--data);background:rgba(47,230,207,.12)}.change .ch-summary{font-family:var(--font-body);font-size:13px;color:var(--text)}.change .ch-path{font-family:var(--font-mono);font-size:9.5px;color:var(--faint);word-break:break-all}.change .ch-vals{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px}.change .ch-vals .before{color:var(--danger);text-decoration:line-through;opacity:.85}.change .ch-vals .after{color:var(--good)}.downstream{display:flex;flex-direction:column;gap:5px;border-top:1px dashed var(--edge);padding-top:7px}.ds-row{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px}.ds-row .ds-name{color:var(--text);min-width:120px}.ds-row .ds-stat-name{color:var(--faint);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.ds-row .ds-delta{margin-left:auto;font-weight:600}.ds-row .ds-delta.up{color:var(--good)}.ds-row .ds-delta.down{color:var(--danger)}.ds-row .ds-vals{color:var(--dim)}table.pf-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11px}table.pf-table th{text-align:left;font-weight:500;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:8px 12px;border-bottom:1px solid var(--edge);white-space:nowrap;background:var(--panel);position:sticky;top:0}table.pf-table td{padding:7px 12px;border-bottom:1px solid var(--edge-soft);color:var(--text);vertical-align:top}table.pf-table tr:hover td{background:var(--panel-2)}table.pf-table td.r,table.pf-table th.r{text-align:right}table.pf-table .cell-version{color:var(--data)}table.pf-table .cell-author{color:var(--dim)}table.pf-table .cell-date{color:var(--faint)}.blame-label{display:inline-flex;align-items:center;gap:7px}.blame-swatch{width:8px;height:8px;border-radius:2px;flex:0 0 auto;background:var(--data-deep)}.prov-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.target-list{display:flex;flex-direction:column;gap:2px}.target-row{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:6px;cursor:pointer;font-family:var(--font-mono);font-size:12px;transition:background .1s ease}.target-row:hover{background:var(--panel-2)}.target-row.selected{background:rgba(79,195,255,.1);box-shadow:inset 2px 0 0 var(--sel)}.target-row .tr-name{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-row .tr-kind{margin-left:auto;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.prov-chain{display:flex;flex-direction:column;gap:0}.prov-step{display:grid;grid-template-columns:26px minmax(0,1fr);gap:11px;position:relative}.prov-step .step-rail{display:flex;flex-direction:column;align-items:center;position:relative}.prov-step .step-rail .seg-line{width:2px;flex:1;background:var(--edge)}.prov-step:first-child .step-rail .seg-line.up,.prov-step:last-child .step-rail .seg-line.down{background:transparent}.prov-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--data-deep);background:var(--bg);flex:0 0 auto;margin:2px 0}.prov-dot.data{border-color:var(--data)}.prov-dot.amber{border-color:var(--gate)}.prov-dot.good{border-color:var(--good)}.prov-dot.danger{border-color:var(--danger);background:var(--danger)}.prov-step .step-body{padding:4px 0 14px}.prov-step .step-kind{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.prov-step .step-label{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.prov-step .step-detail{font-family:var(--font-mono);font-size:10.5px;color:var(--dim)}.prov-step.override .step-label{color:var(--danger)}.prov-graph-wrap{border:1px solid var(--edge);border-radius:8px;background:radial-gradient(600px 300px at 50% 0,rgba(47,230,207,.04),transparent 70%),var(--bg-2);overflow:auto}.prov-graph-wrap svg{display:block}.pg-node-label{font-family:var(--font-mono);font-size:9px;fill:var(--text)}.pg-node-kind{font-family:var(--font-mono);font-size:7px;fill:var(--faint);letter-spacing:.1em;text-transform:uppercase}.repro-verdict{display:flex;align-items:center;gap:14px;border:1px solid var(--edge);border-radius:9px;padding:14px 16px;background:var(--panel)}.repro-verdict.ok{border-color:var(--good);box-shadow:inset 0 0 0 1px rgba(69,214,164,.25)}.repro-verdict.fail{border-color:var(--danger);box-shadow:inset 0 0 0 1px rgba(255,95,86,.25)}.repro-verdict .rv-icon{flex:0 0 auto}.repro-verdict.ok .rv-icon{color:var(--good)}.repro-verdict.fail .rv-icon{color:var(--danger)}.repro-verdict .rv-text{display:flex;flex-direction:column;gap:3px}.repro-verdict .rv-head{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text)}.repro-verdict .rv-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--dim)}.repro-verdict .rv-spacer{flex:1}td.match{color:var(--good)}td.mismatch{color:var(--danger)}.match-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.match-dot.ok{background:var(--good)}.match-dot.no{background:var(--danger)}.match-dot.unrec{background:var(--faint)}.citation{font-size:12.5px;line-height:1.6;border-left:3px solid var(--data-deep);padding:8px 0 8px 13px;background:rgba(47,230,207,.03)}.citation,.methods-doc{font-family:var(--font-body);color:var(--text)}.methods-doc{font-size:13.5px;line-height:1.7;border:1px solid var(--edge);border-radius:9px;background:var(--panel);padding:20px 24px;max-width:760px}.methods-doc p{margin:0 0 14px}.methods-doc p:last-child{margin-bottom:0}.methods-doc .first-letter{color:var(--data)}.citation-list{display:flex;flex-direction:column;gap:6px}.citation-list .ref{font-family:var(--font-mono);font-size:10.5px;color:var(--dim);line-height:1.5;padding-left:18px;text-indent:-18px}.citation-list .ref .marker{color:var(--data)}.comment{border:1px solid var(--edge);border-radius:8px;background:var(--panel);padding:11px 13px;display:flex;flex-direction:column;gap:6px}.comment.resolved{opacity:.62}.comment .cm-top{display:flex;align-items:center;gap:9px}.comment .cm-author{font-family:var(--font-mono);font-size:11px;color:var(--data);font-weight:600}.comment .cm-pin{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gate);border:1px solid var(--gate-deep);border-radius:4px;padding:1px 6px}.comment .cm-date{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;color:var(--faint)}.comment .cm-body{font-family:var(--font-body);font-size:13px;color:var(--text)}.role-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:2px 7px;border:1px solid var(--edge);color:var(--dim)}.role-badge.data{color:var(--data);border-color:var(--data-deep)}.role-badge.amber{color:var(--gate);border-color:var(--gate-deep)}.role-badge.good{color:var(--good);border-color:rgba(69,214,164,.5)}.rbac-grid{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:center}.rbac-verdict{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;border-radius:6px;padding:8px 12px;border:1px solid var(--edge)}.rbac-verdict.allow{color:var(--good);border-color:var(--good);background:rgba(69,214,164,.08)}.rbac-verdict.deny{color:var(--danger);border-color:var(--danger);background:rgba(255,95,86,.08)}.rbac-reason{font-size:10.5px;color:var(--dim)}.merge-verdict,.rbac-reason{font-family:var(--font-mono)}.merge-verdict{display:flex;align-items:center;gap:12px;font-size:12px}.merge-verdict .badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:3px 9px;font-weight:600}.merge-verdict .badge.clean{color:var(--good);background:rgba(69,214,164,.13)}.merge-verdict .badge.conflict{color:var(--gate);background:rgba(255,180,84,.14)}.conflict-row{border:1px solid var(--gate-deep);border-radius:7px;padding:9px 12px;background:rgba(255,180,84,.05);display:flex;flex-direction:column;gap:5px}.conflict-row .cr-path{font-family:var(--font-mono);font-size:10px;color:var(--faint);word-break:break-all}.conflict-row .cr-sides{display:flex;gap:10px;font-family:var(--font-mono);font-size:11px;flex-wrap:wrap}.conflict-row .side{display:inline-flex;gap:6px;align-items:center}.conflict-row .side .lbl{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.conflict-row .side.ours .val{color:var(--data)}.conflict-row .side.theirs .val{color:var(--violet)}.sop-row{display:flex;align-items:center;gap:12px;border:1px solid var(--edge);border-radius:8px;background:var(--panel);padding:11px 13px}.sop-row .sop-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.sop-row .sop-name{font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--text)}.sop-row .sop-desc{font-family:var(--font-mono);font-size:10px;color:var(--dim)}.sop-row .sop-tags{display:flex;gap:5px;flex-wrap:wrap}.applied-note{font-family:var(--font-mono);font-size:11px;color:var(--good);border:1px solid rgba(69,214,164,.4);border-radius:6px;padding:7px 11px;background:rgba(69,214,164,.06)}.token-row{display:flex;align-items:center;gap:12px;border:1px solid var(--edge);border-radius:8px;background:var(--panel);padding:10px 13px}.token-row .tk-text{display:flex;flex-direction:column;gap:3px;min-width:0}.token-row .tk-name{font-family:var(--font-body);font-size:13px;color:var(--text)}.token-row .tk-prefix{font-family:var(--font-mono);font-size:11px;color:var(--data)}.token-row .tk-secret{font-family:var(--font-mono);font-size:11px;color:var(--faint);letter-spacing:.18em}.token-row .tk-scopes{margin-left:auto;display:flex;gap:5px;flex-wrap:wrap}.scope-badge{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:2px 6px;border:1px solid var(--edge);color:var(--dim)}.scope-badge.data{color:var(--data);border-color:var(--data-deep)}.scope-badge.amber{color:var(--gate);border-color:var(--gate-deep)}.scope-badge.danger{color:var(--danger);border-color:rgba(255,95,86,.5)}.code-block{font-family:var(--font-mono);font-size:11.5px;line-height:1.65;color:var(--text);background:var(--bg);border:1px solid var(--edge);border-radius:8px;padding:14px 16px;overflow-x:auto;white-space:pre;tab-size:2}.code-block .c{color:var(--faint)}.code-block .k{color:var(--violet)}.code-block .s{color:var(--good)}.code-block .fn{color:var(--data)}.plugin-row{display:flex;align-items:center;gap:12px;border:1px solid var(--edge);border-radius:8px;background:var(--panel);padding:11px 13px}.plugin-row .pl-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.plugin-row .pl-name{font-family:var(--font-mono);font-size:12.5px;color:var(--data);font-weight:600}.plugin-row .pl-desc{font-family:var(--font-mono);font-size:10px;color:var(--dim)}.plugin-row .pl-caps{display:flex;gap:5px;flex-wrap:wrap}.plugin-log{font-family:var(--font-mono);font-size:11px;color:var(--dim);display:flex;flex-direction:column;gap:3px}.plugin-log .ln{display:flex;gap:8px}.plugin-log .ln .arrow{color:var(--data)}.gql-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.gql-result{background:var(--bg);border:1px solid var(--edge);border-radius:8px;padding:14px 16px;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:var(--good);overflow:auto;white-space:pre;min-height:160px}.gql-result.error{color:var(--danger)}.rule-row{display:flex;align-items:center;gap:12px;border:1px solid var(--edge);border-radius:8px;background:var(--panel);padding:11px 13px;flex-wrap:wrap}.rule-row.matched{border-color:var(--data);box-shadow:inset 0 0 0 1px rgba(47,230,207,.22)}.rule-row.disabled{opacity:.55}.rule-row .rl-name{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text)}.rule-flow{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;color:var(--dim);flex-wrap:wrap}.rule-flow .pill{border:1px solid var(--edge);border-radius:5px;padding:2px 7px;background:var(--bg-2);white-space:nowrap}.rule-flow .pill.trigger{color:var(--gate);border-color:var(--gate-deep)}.rule-flow .pill.action{color:var(--data);border-color:var(--data-deep)}.rule-flow .pill.target{color:var(--text)}.rule-flow .arrow{color:var(--faint)}.rule-row .rl-right{margin-left:auto;display:flex;align-items:center;gap:8px}.rule-row .fired{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bg);background:var(--data);border-radius:4px;padding:2px 7px;font-weight:600}.qc-report{border:1px solid var(--edge);border-radius:9px;background:var(--panel);overflow:hidden}.qc-report .qc-head{display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid var(--edge)}.qc-report .qc-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text)}.qc-report .qc-summary{font-family:var(--font-mono);font-size:10.5px;color:var(--dim)}.qc-status{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:2px 7px;font-weight:600}.qc-status.good{color:var(--good);background:rgba(69,214,164,.13)}.qc-status.amber{color:var(--gate);background:rgba(255,180,84,.14)}.qc-status.danger{color:var(--danger);background:rgba(255,95,86,.13)}.pf-empty{font-family:var(--font-mono);font-size:11.5px;color:var(--faint);display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;padding:40px 24px;line-height:1.6}.pf-empty svg{opacity:.5}.pf-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em}.pf-spinner{width:30px;height:30px;border:2px solid var(--edge);border-top-color:var(--data);border-radius:50%;animation:pf-spin .8s linear infinite}@keyframes pf-spin{to{transform:rotate(1turn)}}.pf-banner{font-size:11px;color:var(--danger);padding:6px 14px;background:rgba(255,95,86,.08);border-bottom:1px solid rgba(255,95,86,.3)}.inline-busy,.pf-banner{font-family:var(--font-mono)}.inline-busy{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;color:var(--faint)}.inline-busy .dot{width:6px;height:6px;border-radius:50%;background:var(--gate);animation:pf-pulse .7s ease-in-out infinite}