:root{--ground: #0b0a09;--panel: #121010;--raise: #191615;--sunk: #0d0c0b;--line: #2b2622;--line-soft: #1e1a18;--ink: #ece7e1;--ink-2: #9d958c;--ink-3: #6a635c;--ink-4: #4a443e;--sev-medium: #9b9289;--sev-high: #dfa33c;--sev-critical: #e2553d;--settled: #7fa37a;--focus: #d8cfc3;--ui: "Archivo", "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", "Cascadia Mono", ui-monospace, monospace;--rail: 300px;--topbar: 46px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--ui);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.shell{display:grid;grid-template-rows:var(--topbar) auto 1fr;height:100%}.topbar{display:flex;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--panel)}.wordmark{font-weight:700;font-size:17px;letter-spacing:-.01em}.wordmark-row{display:flex;align-items:center;gap:10px}.topbar-id{display:flex;align-items:baseline;gap:8px;color:var(--ink-2);font-family:var(--mono);font-size:11.5px}.topbar-id b{color:var(--ink);font-weight:500}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.body{display:grid;grid-template-columns:var(--rail) 1fr;min-height:0}.rail{border-right:1px solid var(--line);background:var(--panel);overflow-y:auto;display:flex;flex-direction:column}.main{display:grid;grid-template-rows:1fr auto;min-height:0;min-width:0}.section{padding:14px 16px;border-bottom:1px solid var(--line-soft)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.label{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--ink-2)}.hint{color:var(--ink-3);font-size:11.5px}.status{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.active{color:var(--settled)}.status.revoked{color:var(--sev-critical)}.status.expired{color:var(--ink-3)}.gauge{display:flex;height:30px;border:1px solid var(--line);background:var(--sunk);overflow:hidden}.gauge-seg{transition:width .42s cubic-bezier(.2,.7,.2,1),background-color .2s}.gauge-settled{background:#3f4a3d;border-right:1px solid var(--ground)}.gauge-held{background-color:#322b22;background-image:repeating-linear-gradient(-45deg,transparent 0 3px,rgba(223,163,60,.42) 3px 6px);border-right:1px solid var(--ground)}.gauge-free{flex:1}.gauge-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:10px}.gauge-legend>div{display:flex;flex-direction:column;gap:2px}.gauge-legend .k{font-size:11px;color:var(--ink-3)}.gauge-legend .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px}.gauge-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}.gauge-total .big{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:25px;letter-spacing:-.02em;line-height:1}.gauge-total .of{color:var(--ink-3);font-family:var(--mono);font-size:11.5px}.rules{display:flex;flex-direction:column}.rule{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line-soft)}.rule:last-child{border-bottom:0}.rule-k{color:var(--ink-2);font-size:12px}.rule-v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;text-align:right;color:var(--ink)}.rule.fired .rule-k{color:var(--ink)}.rule-fires{font-family:var(--mono);font-size:10.5px;color:var(--sev-high);cursor:help}.scope{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.chip{display:inline-flex;align-items:center;gap:5px;padding:1px 6px;border:1px solid var(--line);background:var(--raise);color:var(--ink-2);font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;white-space:nowrap}.chip.rule-chip{border-color:color-mix(in oklab,currentColor 38%,transparent);background:color-mix(in oklab,currentColor 11%,var(--panel))}.chip.medium{color:var(--sev-medium)}.chip.high{color:var(--sev-high)}.chip.critical{color:var(--sev-critical);font-weight:700}.scope .chip,.shop-tries .chip,.product-meta .chip{text-transform:capitalize}.chip.more{cursor:pointer;color:var(--ink-3);border-style:dashed}.chip.more:hover{color:var(--ink);border-color:var(--ink-4)}.chip.state-pending{color:var(--sev-high);border-color:color-mix(in oklab,var(--sev-high) 34%,transparent)}.chip.state-settled{color:var(--settled);border-color:color-mix(in oklab,var(--settled) 34%,transparent)}.chip.state-released,.chip.state-failed{color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 13px;border:1px solid var(--line);background:var(--raise);color:var(--ink);font-size:12px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:border-color .14s,background-color .14s,color .14s}.btn:hover:not(:disabled){border-color:var(--ink-4);background:#211d1b}.btn:focus-visible{outline:1px solid var(--focus);outline-offset:1px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--ink);border-color:var(--ink);color:#16120f;font-weight:600}.btn.primary:hover:not(:disabled){background:#fff;border-color:#fff}.btn.danger{color:var(--sev-critical);border-color:color-mix(in oklab,var(--sev-critical) 40%,transparent)}.btn.danger:hover:not(:disabled){background:color-mix(in oklab,var(--sev-critical) 14%,var(--raise));border-color:var(--sev-critical)}.btn.wide{width:100%}.btn.small{padding:4px 9px;font-size:11px}.toggle{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border:1px solid var(--line);background:transparent;color:var(--ink-3);font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle.on{color:var(--sev-high);border-color:color-mix(in oklab,var(--sev-high) 40%,transparent);background:color-mix(in oklab,var(--sev-high) 10%,transparent)}.grid-frame{display:grid;grid-template-rows:auto 1fr auto;min-height:0;min-width:0}.grid-bar{display:flex;align-items:center;gap:14px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.grid-bar .spacer{margin-left:auto}.counts{display:flex;align-items:baseline;gap:5px;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.counts b{color:var(--ink);font-weight:500;font-size:13px}.counts .refused b{color:var(--sev-high)}.grid-host{min-height:0;min-width:0}.actionbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line);background:var(--panel)}.actionbar .spacer{margin-left:auto}.selection-note{font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}.verdict{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.13em}.verdict.allow{color:var(--ink-3)}.verdict.block{color:var(--sev-high)}.verdict.block.critical{color:var(--sev-critical)}.rules-cell{display:flex;align-items:center;gap:4px;overflow:hidden}.expander{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;padding:0;background:transparent;color:var(--ink-3);cursor:pointer;transition:transform .15s ease}.expander:hover{color:var(--ink)}.expander.open{transform:rotate(90deg);color:var(--ink-2)}.headroom{color:var(--ink-3);font-family:var(--mono);font-size:11px}.headroom.offered{color:var(--sev-high)}.evidence{padding:10px 14px 13px 46px;background:var(--sunk);border-bottom:1px solid var(--line)}.evidence-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}.evidence-title{font-size:12px;font-weight:600}.evidence-detail{color:var(--ink-2);font-size:12px;margin-bottom:9px;max-width:92ch}.facts{display:flex;flex-wrap:wrap;gap:1px 22px}.fact{display:flex;flex-direction:column;gap:1px;padding:3px 0}.fact .k{font-size:11px;color:var(--ink-3)}.fact .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--ink)}.cluster{margin-top:10px;display:flex;flex-direction:column;gap:3px;max-width:560px}.cluster-row{display:grid;grid-template-columns:74px 1fr 78px;align-items:center;gap:9px}.cluster-row .who{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);text-align:right}.cluster-row .track{height:10px;background:var(--panel);border:1px solid var(--line-soft);position:relative}.cluster-row .fill{position:absolute;inset:0 auto 0 0;background:#4a4034}.cluster-row .track:after{content:"";position:absolute;top:-2px;bottom:-2px;left:var(--cap);border-left:1px dashed color-mix(in oklab,var(--sev-critical) 72%,transparent)}.cluster-row.current .fill{background:#5c4b38}.cluster-row.together .track{border-color:color-mix(in oklab,var(--sev-critical) 40%,transparent)}.cluster-row.together .fill{background:color-mix(in oklab,var(--sev-critical) 48%,#4a4034)}.cluster-row.together .amt,.cluster-row.together .who{color:var(--sev-critical)}.cluster-row .amt{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;text-align:right;color:var(--ink-2)}.cluster-capline{margin-top:1px}.caprail{position:relative;height:13px}.caprail .mark{position:absolute;top:0;left:var(--cap);padding-left:5px;font-family:var(--mono);font-size:9.5px;line-height:13px;color:var(--sev-critical);white-space:nowrap}.ask{background:var(--panel);padding:11px 14px 12px}.ask-form{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:4px}.field>span{font-size:11.5px;color:var(--ink-3)}.field input,.field select{height:30px;padding:0 8px;border:1px solid var(--line);background:var(--sunk);color:var(--ink);font-family:var(--mono);font-size:12px}.field input:focus,.field select:focus{outline:0;border-color:var(--ink-4)}.field.amount input{text-align:right;width:94px}.field.payee select{width:150px}.field.category select{width:124px}.ask-echo{margin-top:9px;display:flex;align-items:flex-start;gap:8px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);min-height:17px}.ask-echo.block{color:var(--sev-high)}.ask-echo.critical{color:var(--sev-critical)}.console-tabs{display:flex;align-items:center;gap:2px;padding:0 14px;border-top:1px solid var(--line);background:var(--panel)}.console-tab{padding:10px 14px 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-3);font-size:13px;font-weight:500;cursor:pointer;transition:color .16s ease,border-color .16s ease}.console-tab.on{color:var(--ink);border-bottom-color:var(--sev-high)}.shop{padding:11px 14px 13px;background:var(--panel);max-height:46vh;overflow-y:auto}.shop-form{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.shop-tries{display:flex;gap:5px;margin-top:9px}.shop-problem{margin-top:9px;color:var(--sev-critical);font-family:var(--mono);font-size:11.5px}.shop-empty{margin-top:12px;color:var(--ink-4);font-size:12px}.shelf{display:flex;gap:1px;margin-top:11px;overflow-x:auto;padding-bottom:4px;border-top:1px solid var(--line-soft);padding-top:11px}.product{display:flex;gap:9px;flex:0 0 272px;padding:8px 10px 8px 8px;border:1px solid var(--line-soft);background:var(--sunk);margin-right:7px}.product:hover{border-color:var(--line)}.thumb{flex:0 0 auto;width:54px;height:54px;object-fit:cover;background:var(--raise);border:1px solid var(--line-soft)}.thumb-blank{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--ink-4)}.product-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.product-title{margin:0;font-size:11.5px;font-weight:500;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-meta{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-3);min-width:0}.product-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto}.product-price{font-size:14px;color:var(--ink)}.merchants{display:flex;gap:4px;overflow:hidden}.shop-result{margin-top:13px;padding-top:11px;border-top:1px solid var(--line-soft)}.shop-result .label{display:block;margin-bottom:8px}.trace{display:flex;flex-direction:column;gap:2px}.trace-row{display:grid;grid-template-columns:74px 1fr 150px 86px auto;align-items:center;gap:10px;padding:5px 9px;border-left:2px solid transparent;background:var(--sunk)}.trace-row.refused{border-left-color:var(--sev-high)}.trace-row.bought{border-left-color:var(--settled)}.trace-verdict{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.13em}.trace-verdict.refused{color:var(--sev-high)}.trace-verdict.bought{color:var(--settled)}.trace-what{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-where{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}.trace-amt{text-align:right;font-size:12px}.trace-rules{display:flex;gap:4px}.trace-turn{padding:3px 9px 3px 86px;color:var(--ink-2);font-size:11.5px}.trace-turn b{color:var(--sev-high);font-weight:500}.chose{display:flex;align-items:baseline;gap:9px;padding:5px 9px 3px 86px;font-size:11.5px}.chose-who{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--sev-high);border:1px solid color-mix(in srgb,var(--sev-high) 34%,transparent);border-radius:3px;padding:1px 6px;white-space:nowrap}.chose-why{color:var(--ink-2)}.banner{display:flex;align-items:center;gap:9px;padding:7px 14px;background:color-mix(in oklab,var(--sev-critical) 16%,var(--panel));border-bottom:1px solid color-mix(in oklab,var(--sev-critical) 36%,transparent);color:var(--sev-critical);font-size:12px}.banner .btn{margin-left:auto}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--ink-3);text-align:center}.empty h3{margin:0;font-size:14px;font-weight:600;color:var(--ink-2);letter-spacing:.01em}.empty p{margin:0;font-size:12px;max-width:44ch;line-height:1.6}@keyframes tick{to{transform:rotate(360deg)}}.spin{width:11px;height:11px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tick .62s linear infinite}.ag-row.row-blocked.row-high{box-shadow:inset 2px 0 0 var(--sev-high)}.ag-row.row-blocked.row-critical{box-shadow:inset 2px 0 0 var(--sev-critical);background-color:color-mix(in oklab,var(--sev-critical) 7%,transparent)}.ag-row.row-blocked{color:var(--ink-2)}.ag-row.row-settled{box-shadow:inset 2px 0 0 var(--settled)}.ag-row.row-evidence,.ag-row.row-evidence:hover{background:var(--sunk)!important}.ag-row.row-evidence .ag-cell,.ag-row.row-evidence .ag-full-width-row{border:0}.ag-full-width-row{overflow:hidden}.ag-header-cell-text{letter-spacing:0}.rail-foot{margin-top:auto;padding:14px 16px 18px;border-top:1px solid var(--line)}.rail-foot p{margin:0 0 10px;color:var(--ink-3);font-size:11.5px;line-height:1.55}.btn{transition:background-color .14s ease,border-color .14s ease,transform 90ms ease}.btn:active:not(:disabled){transform:translateY(1px)}.console-tab:hover{color:var(--ink-2)}.tagline{padding-left:14px;border-left:1px solid var(--line);color:var(--ink-3);font-size:13px}.topbar .topbar-id{color:var(--ink-4);font-size:11px}.intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:26px 24px 22px;border-bottom:1px solid var(--line);background:radial-gradient(70% 140% at 0% 0%,rgba(223,163,60,.06),transparent 60%),var(--panel)}.eyebrow{display:block;margin-bottom:10px;color:var(--ink-3);font-size:12.5px}.intro h1{margin:0;color:var(--ink);font-size:34px;font-weight:700;line-height:1.08;letter-spacing:-.022em;text-wrap:balance}.intro h1 .num{font-weight:600;letter-spacing:-.04em}.intro-sub{margin:10px 0 0;color:var(--ink-2);font-size:16px}.intro-right{display:grid;justify-items:end;gap:12px}.intro-actions{display:flex;flex-wrap:wrap;gap:8px}.intro-actions .btn{padding:9px 16px;font-size:13px}.proof{max-width:46ch;margin:0;color:var(--ink-3);font-size:12.5px;line-height:1.55;text-align:right;text-wrap:pretty}.intro-hide{padding:0;border:0;background:none;color:var(--ink-4);font-size:12px;cursor:pointer}.intro-hide:hover{color:var(--ink-2)}.intro.slim{display:flex;align-items:center;gap:16px;padding:9px 16px;background:var(--panel)}.intro.slim p{margin:0;color:var(--ink-2);font-size:13.5px}.intro.slim p b{color:var(--ink);font-weight:600}.intro.slim .intro-actions{margin-left:auto}.intro.slim .intro-actions .btn{padding:6px 12px;font-size:12px}.dock-panel{max-height:46vh;padding:16px 18px 18px;overflow-y:auto;border-top:1px solid var(--line-soft);background:var(--ground)}.dock-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:12px}.dock-head h2{margin:0 0 4px;color:var(--ink);font-size:16px;font-weight:600;letter-spacing:-.01em}.dock-head p{max-width:68ch;margin:0;color:var(--ink-3);font-size:13px;line-height:1.55;text-wrap:pretty}.dock-actions{display:flex;flex-shrink:0;gap:8px}.dock-hint{max-width:76ch;margin:12px 0 0;color:var(--ink-4);font-size:12px;line-height:1.55}.dock-problem{margin:0 0 8px;color:var(--sev-high);font-size:12.5px}.attack-empty p{max-width:76ch;margin:0 0 8px;color:var(--ink-3);font-size:13px;line-height:1.6}.attack-verdict{display:flex;align-items:baseline;gap:12px;margin-top:4px}.tally{min-width:2.2ch;color:var(--ink);font-size:44px;font-weight:600;line-height:1;letter-spacing:-.04em}.tally-of{color:var(--ink-2);font-size:16px}.attack-verdict.settled .tally-of b{color:var(--settled);font-weight:600}.tally-of .breach,.lane-count .breach{color:var(--sev-critical)}.attack-meta{margin-left:auto;color:var(--ink-4);font-family:var(--mono);font-size:11.5px}.lanes{display:grid;gap:7px;margin:14px 0 10px;padding:0;list-style:none}.lane{display:grid;grid-template-columns:200px minmax(0,1fr) 128px;align-items:center;gap:14px}.lane-name{color:var(--ink-2);font-size:12.5px}.lane.breached .lane-name{color:var(--sev-critical)}.ticks{display:flex;height:16px;overflow:hidden}.ticks i{flex:0 0 3px;height:100%;margin-right:1px;animation:tick-in .26s cubic-bezier(.2,.8,.2,1);transform-origin:bottom}.ticks i.refused{background:color-mix(in oklab,var(--sev-high) 78%,transparent)}.ticks i.inside{background:var(--ink-4)}@keyframes tick-in{0%{opacity:0;transform:scaleY(.15)}}@media (prefers-reduced-motion: reduce){.ticks i{animation:none}}.lane-count{color:var(--ink-3);font-size:12px;text-align:right;white-space:nowrap}.lane-count b{color:var(--settled);font-weight:600}.caught-by{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:4px 0 0;color:var(--ink-4);font-size:12px}.caught{color:var(--ink-2)}.caught b{color:var(--ink);font-weight:500}.model-moves,.their-moves{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}.model-moves li,.their-moves li{display:flex;align-items:baseline;gap:10px;font-size:12.5px}.move-payee{color:var(--ink-2);font-family:var(--mono);font-size:12px}.move-why{flex:1;min-width:0;overflow:hidden;color:var(--ink-3);font-style:italic;text-overflow:ellipsis;white-space:nowrap}.move-rule{color:var(--sev-high);font-size:12px}.verdict-chip{flex-shrink:0;padding:1px 7px;border:1px solid var(--line);color:var(--ink-3);font-size:11px;font-weight:500}.verdict-chip.block{border-color:color-mix(in oklab,var(--sev-high) 45%,transparent);color:var(--sev-high)}.connect-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px}.copyable{margin-bottom:14px}.copyable-label{display:block;margin-bottom:6px;color:var(--ink-2);font-size:12.5px;font-weight:500}.copyable-row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border:1px solid var(--line);background:var(--sunk)}.copyable-value{flex:1;min-width:0;color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.copyable-value.num{font-size:13.5px}.clients{display:grid;gap:5px;margin:0 0 16px;padding:0;list-style:none;color:var(--ink-3);font-size:12.5px;line-height:1.5}.clients b{display:inline-block;min-width:96px;color:var(--ink);font-weight:600}.dock-panel code{padding:1px 5px;background:var(--sunk);color:var(--ink-2);font-family:var(--mono);font-size:11.5px}.connect-side h3{margin:0 0 8px;color:var(--ink-2);font-size:12.5px;font-weight:600}.tools{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:12px}.tools li{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:baseline}.tools li span{color:var(--ink-3)}.no-money{margin:10px 0 18px;color:var(--settled);font-size:12.5px}.via-mcp{display:inline-block;padding:0 6px;border:1px solid var(--ink-4);color:var(--ink-2);font-family:var(--ui);font-size:10.5px;font-weight:600;line-height:16px;white-space:nowrap}.payee-cell{display:inline-flex;align-items:center;gap:7px}@media (max-width: 980px){.intro{grid-template-columns:1fr}.intro-right{justify-items:start}.proof{text-align:left}.connect-grid{grid-template-columns:1fr}.lane{grid-template-columns:140px minmax(0,1fr) 88px}}.scope-k{display:block;margin-bottom:5px;color:var(--ink-3);font-size:11.5px}*{scrollbar-color:var(--line) transparent;scrollbar-width:thin}.ag-overlay-no-rows-wrapper .empty h3{margin:0 0 8px;color:var(--ink);font-size:16px;font-weight:600}.ag-overlay-no-rows-wrapper .empty p{max-width:52ch;margin:0 auto;color:var(--ink-3);font-size:13px;line-height:1.6;text-wrap:balance}
