:root{--bg: #141414;--bg-2: #191919;--panel: #1c1c1c;--panel-2: #202020;--raised: #272727;--raised-2: #303030;--input: #101010;--line: #2e2e2e;--line-2: #3a3a3a;--line-3: #4a4a4a;--text: #ededed;--text-2: #b0b0b0;--text-3: #8a8a8a;--text-4: #6a6a6a;--red: #e5484d;--red-2: #ff9a9d;--red-bg: #2a1618;--blue: #4d8df5;--blue-2: #9dc0fb;--blue-bg: #14203a;--amber: #d99633;--amber-2: #f0bd77;--amber-bg: #2a2013;--green: #3fa66f;--green-2: #7fd0a5;--green-bg: #14241c;--violet: #8b6ee0;--violet-2: #b39cf0;--violet-bg: #221c33;--crimson: var(--red);--crimson-2: var(--red-2);--crimson-wash: var(--red-bg);--steel: var(--blue);--steel-2: var(--blue-2);--steel-wash: var(--blue-bg);--amber-wash: var(--amber-bg);--violet-wash: var(--violet-bg);--green-wash: var(--green-bg);--hair: #262626;--panel-flat: var(--panel-2);--bg-field: var(--bg);--sev-critical: var(--red);--sev-high: var(--amber);--sev-medium: #9a9a9a;--sev-low: #767676;--r: 2px;--r2: 3px;--sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--rail: 176px;--topbar: 40px;--statusbar: 24px;--row: 28px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:12.5px;line-height:1.45;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:#3a3a3a}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#3a3a3a;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#4e4e4e}::-webkit-scrollbar-corner{background:var(--bg)}.field{display:none}.app{display:grid;grid-template-columns:var(--rail) 1fr;grid-template-rows:var(--topbar) 1fr;grid-template-areas:"brand topbar" "rail main";height:100vh;background:var(--bg)}.brand{grid-area:brand;display:flex;align-items:center;gap:8px;padding:0 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}.topbar{grid-area:topbar;display:flex;align-items:center;gap:0;padding:0;border-bottom:1px solid var(--line);background:var(--panel)}.topbar>*{padding:0 12px}.topbar>*+*{border-left:1px solid var(--line);align-self:stretch;display:flex;align-items:center}.rail{grid-area:rail;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);overflow-y:auto;padding:0}.main{grid-area:main;overflow:hidden;position:relative;background:var(--bg)}.view{position:relative;height:100%;overflow-y:auto;padding:10px}.rail-group{padding:12px 12px 4px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);border-top:1px solid var(--line);margin-top:-1px}.rail>div:first-of-type .rail-group,.rail-group:first-child{border-top:0}.nav{display:flex;align-items:center;gap:8px;width:100%;height:var(--row);padding:0 12px;border:0;border-left:2px solid transparent;background:transparent;color:var(--text-2);font-family:var(--sans);font-size:12.5px;cursor:pointer;text-align:left}.nav:hover{background:var(--raised);color:var(--text)}.nav.on{background:var(--raised);border-left-color:var(--red);color:var(--text);font-weight:500}.nav-idx{font-family:var(--mono);font-size:10px;color:var(--text-4);width:15px;flex:0 0 auto}.nav-count{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--text-3)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.panel-head{display:flex;align-items:center;gap:8px;height:26px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--panel-2)}.panel-head h3{margin:0;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.panel-body{padding:10px}.panel-body.flush{padding:0}.label{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.mono{font-family:var(--mono)}.dim{color:var(--text-2)}.mute{color:var(--text-3)}.faint{color:var(--text-4)}h1,h2,h3,h4{margin:0;font-weight:600}.readout{font-family:var(--mono);font-size:21px;font-weight:500;line-height:1.1;letter-spacing:-.01em}.grid{display:grid;gap:8px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;align-items:center;gap:8px}.spread{display:flex;align-items:center;justify-content:space-between;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.stack{display:flex;flex-direction:column}.tile{padding:8px 10px 9px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.tile-sub{font-size:11px;color:var(--text-3);margin-top:3px}.chip{display:inline-flex;align-items:center;gap:5px;padding:1px 5px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--panel-2);font-family:var(--mono);font-size:10.5px;color:var(--text-2);white-space:nowrap}.chip-dot{width:6px;height:6px;border-radius:0;background:currentColor;flex:0 0 auto}.sev{text-transform:uppercase;font-weight:500}.sev-critical{color:var(--red-2);background:var(--red-bg);border-color:#5c2b2e}.sev-high{color:var(--amber-2);background:var(--amber-bg);border-color:#5c4423}.sev-medium{color:#b4b4b4;background:#262626;border-color:var(--line-2)}.sev-low{color:var(--text-3);background:#222;border-color:var(--line)}.div-offense{color:var(--red-2)}.div-defense{color:var(--blue-2)}.div-oversight{color:var(--amber-2)}.div-forge{color:var(--violet-2)}.bg-offense{background:var(--red-bg);border-color:#5c2b2e}.bg-defense{background:var(--blue-bg);border-color:#2b4272}.bg-oversight{background:var(--amber-bg);border-color:#5c4423}.bg-forge{background:var(--violet-bg);border-color:#453a63}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--raised);color:var(--text-2);font-family:var(--sans);font-size:11.5px;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--raised-2);color:var(--text);border-color:var(--line-3)}.btn:active:not(:disabled){background:#222}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:#7a2226;border-color:#9c2f34;color:#ffdcdd}.btn.primary:hover:not(:disabled){background:#8f282d;border-color:var(--red)}.btn.ghost{background:transparent}.btn.sm{height:21px;padding:0 7px;font-size:11px}.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;height:24px}.seg button{padding:0 10px;border:0;background:var(--raised);color:var(--text-3);font-family:var(--sans);font-size:11.5px;cursor:pointer}.seg button+button{border-left:1px solid var(--line-2)}.seg button:hover{color:var(--text)}.seg button.on{background:#3d3d3d;color:var(--text);font-weight:500}select,input[type=text],input[type=number],textarea{height:24px;padding:0 7px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--input);color:var(--text);font-family:var(--sans);font-size:12px;width:100%}textarea{height:auto;padding:6px 7px;resize:vertical;line-height:1.5;font-family:var(--sans)}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--blue)}input::placeholder,textarea::placeholder{color:var(--text-4)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;background:var(--line-3);cursor:pointer;padding:0;border-radius:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:9px;height:15px;border-radius:1px;background:#b0b0b0;border:0}input[type=range]::-webkit-slider-thumb:hover{background:var(--text)}.bar{height:3px;background:#2e2e2e;overflow:hidden;border-radius:0}.bar>i{display:block;height:100%;transition:width .26s linear}table.t{width:100%;border-collapse:collapse}table.t th{position:sticky;top:0;z-index:1;text-align:left;height:24px;padding:0 9px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);background:var(--panel-2);border-bottom:1px solid var(--line-2);border-right:1px solid var(--line);white-space:nowrap}table.t th:last-child{border-right:0}table.t td{padding:0 9px;height:var(--row);border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);font-size:12px;vertical-align:middle}table.t td:last-child{border-right:0}table.t tbody tr{cursor:pointer}table.t tbody tr:hover{background:#232323}table.t tbody tr.on{background:#2b3550}table.t tbody tr.on td{border-bottom-color:#35405c}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes dash{to{stroke-dashoffset:-12}}@keyframes nodeIn{0%{opacity:0}to{opacity:1}}@keyframes drawEdge{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}.svg-node{animation:nodeIn .16s linear both}.edge-draw{stroke-dasharray:var(--len);animation:drawEdge .3s linear both}.fade-up,.fade-in{animation:fadeIn .12s linear both}.live-dot{width:6px;height:6px;background:var(--green);border-radius:0}.live-dot.off{background:var(--text-4)}.live-dot.warn{background:var(--amber)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.scroll{overflow-y:auto}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 16px;text-align:center;color:var(--text-3);font-size:12px}.hair{height:1px;background:var(--line);border:0;margin:9px 0}.kv{display:grid;grid-template-columns:118px 1fr;gap:3px 12px;font-size:12px}.kv dt{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding-top:1px}.kv dd{margin:0;color:var(--text)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000000b3;display:grid;place-items:center}.sheet{width:min(880px,calc(100vw - 40px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-3);border-radius:var(--r2);overflow:hidden}.sheet-head{padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}.sheet-body{padding:14px;overflow-y:auto;flex:1 1 auto}.sheet-foot{padding:9px 14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--panel-2)}.field-row{margin-bottom:11px}.field-row>.label{display:block;margin-bottom:4px}.field-hint{font-size:11px;color:var(--text-3);margin-top:3px}.step-dot{display:flex;align-items:center;gap:6px;font-family:var(--sans);font-size:11.5px;color:var(--text-4)}.step-dot i{width:16px;height:16px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:var(--r);font-style:normal;font-family:var(--mono);font-size:10px}.step-dot.on{color:var(--text)}.step-dot.on i{border-color:var(--red);color:var(--red-2);background:var(--red-bg)}.step-dot.done i{border-color:#2f6b4c;color:var(--green)}.pick{display:block;width:100%;text-align:left;cursor:pointer;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2)}.pick:hover{border-color:var(--line-3);background:var(--raised)}.pick.on{border-color:var(--red);background:var(--red-bg)}.pick.on .pick-t{color:var(--text)}.pick-t{font-size:12.5px;font-weight:600;color:var(--text-2)}.pick-d{font-size:11.5px;color:var(--text-3);margin-top:2px}.tag-in{display:flex;flex-wrap:wrap;gap:4px;padding:5px;min-height:32px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--input)}.tag-in input{border:0;background:transparent;flex:1 1 90px;min-width:90px;height:20px;padding:0 2px}.tag{display:inline-flex;align-items:center;gap:5px;padding:1px 5px;border-radius:var(--r);background:var(--raised);border:1px solid var(--line-2);font-family:var(--mono);font-size:11px;color:var(--text-2)}.tag button{border:0;background:transparent;color:var(--text-4);cursor:pointer;padding:0 1px;font-size:12px;line-height:1}.tag button:hover{color:var(--red)}.splitter{position:relative;flex:0 0 auto;background:transparent;border:0;padding:0}.splitter[data-dir=v]{width:7px;margin:0 -3px;cursor:col-resize;z-index:3}.splitter[data-dir=h]{height:7px;margin:-3px 0;cursor:row-resize;z-index:3}.splitter:after{content:"";position:absolute;background:var(--line)}.splitter[data-dir=v]:after{top:0;bottom:0;left:3px;width:1px}.splitter[data-dir=h]:after{left:0;right:0;top:3px;height:1px}.splitter:hover:after,.splitter:focus-visible:after{background:var(--line-3)}.splitter[data-dragging]:after{background:var(--blue)}.splitter:focus{outline:none}.app{grid-template-rows:var(--topbar) 1fr var(--statusbar);grid-template-areas:"brand topbar" "rail main" "status status"}.statusbar{grid-area:status;display:flex;align-items:center;gap:0;height:var(--statusbar);border-top:1px solid var(--line);background:var(--panel);font-family:var(--mono);font-size:10.5px;color:var(--text-3);overflow:hidden}.statusbar>*{padding:0 10px;display:flex;align-items:center;gap:6px;height:100%}.statusbar>*+*{border-left:1px solid var(--line)}.statusbar .sb-btn{cursor:pointer;border:0;background:transparent;color:var(--text-3);font:inherit}.statusbar .sb-btn:hover{background:var(--raised);color:var(--text)}.app[data-nav=collapsed]{grid-template-columns:44px 1fr}.app[data-nav=collapsed] .brand{padding:0;justify-content:center}.app[data-nav=collapsed] .brand>div:last-child{display:none}.app[data-nav=collapsed] .rail-group{display:none}.app[data-nav=collapsed] .nav{padding:0;justify-content:center;gap:0}.app[data-nav=collapsed] .nav>*:not(.nav-idx){display:none}.app[data-nav=collapsed] .nav-idx{width:auto}.app[data-nav=collapsed] .rail>div:first-child{padding:4px}.app[data-nav=collapsed] .rail>div:first-child .btn{padding:0;font-size:14px}.nav[data-tip]:hover:after{content:attr(data-tip);position:fixed;left:48px;transform:translateY(-4px);padding:3px 7px;background:var(--raised-2);border:1px solid var(--line-3);border-radius:var(--r);font-size:11.5px;color:var(--text);white-space:nowrap;z-index:60;pointer-events:none}.app:not([data-nav=collapsed]) .nav[data-tip]:hover:after{display:none}.tb-item{display:flex;align-items:center;gap:7px;height:100%}.tb-spacer{flex:1 1 auto;border-left:0!important;padding:0!important}kbd{display:inline-block;min-width:16px;padding:1px 4px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:var(--r);background:var(--raised);font-family:var(--mono);font-size:10px;color:var(--text-3);text-align:center}.panel-btn{display:grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid transparent;border-radius:var(--r);background:transparent;color:var(--text-4);font-size:10px;line-height:1;cursor:pointer}.panel-btn:hover{background:var(--raised-2);color:var(--text-2);border-color:var(--line-2)}.panel-head{-webkit-user-select:none;user-select:none}.panel.collapsed{flex:0 0 auto!important}.panel.maximised{position:fixed;top:calc(var(--topbar) + 8px);left:calc(var(--rail) + 8px);right:8px;bottom:calc(var(--statusbar) + 8px);z-index:40;display:flex;flex-direction:column;border-color:var(--line-3)}.app[data-nav=collapsed] .panel.maximised{left:52px}.panel.maximised>.panel-body{flex:1 1 auto;overflow:auto}
