:root{--ground:#eff4f4;--surface:#fff;--raised:#f4f6f8;--active:#e3ebeb;--border:#e8eaec;--rule:#f0f1f2;--control:#cdced1;--text:#131416;--muted:#5d5f60;--faint:#66696b;--accent:#1b6c80;--accent-pale:#e2eff2;--primary:#1d1f20;--primary-ink:#fff;--positive:#1e7b4f;--negative:#c4242a;--warning:#92400e;--pill-positive-bg:#dcfae5;--pill-positive-ink:#04250e;--pill-negative-bg:#ffedea;--pill-negative-ink:#831c1e;--pill-warning-bg:#fffbeb;--pill-warning-ink:#92400e;--pill-neutral-bg:#ebedee;--pill-neutral-ink:#353736;--chart-1:#1b6c80;--chart-2:#2f70bb;--chart-3:#a86f0c;--chart-muted:#cfd3d6;--strat-1:#2a78d6;--strat-2:#eb6834;--strat-3:#1baf7a;--strat-4:#eda100;--strat-5:#e87ba4;--strat-6:#6250d6;--strat-7:#008300;--strat-8:#e34948;--grid:var(--rule);--axis-ink:var(--muted);--ink:var(--text);--font:"IBM Plex Sans", Inter, system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--fs-title:22px;--fs-section:16px;--fs-kpi:28px;--fs-body:14px;--fs-small:12px;--sidebar-width:228px;--topbar:48px;--sheet-inset:8px;--radius-sheet:16px;--pad:24px;--gap:24px;--card-pad:20px;--radius-card:8px;--radius-control:6px;--control-height:32px;--row-height:48px;--nav-row:32px;--ease-out:cubic-bezier(.22, 1, .36, 1);--t-press:.12s;--t-hover:.15s;--t-ui:.2s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ground);color:var(--text);font:var(--fs-body)/20px var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}ul[class],ol[class]{padding:0;list-style:none}img,svg,video,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.num,table,.kpi-value{font-variant-numeric:tabular-nums}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100svh;display:grid}.sidebar{flex-direction:column;gap:2px;height:100svh;padding:16px 12px;display:flex;position:sticky;top:0;overflow:auto}.sidebar .group-label{font-size:var(--fs-small);color:var(--faint);margin:20px 8px 6px}.nav-item{height:var(--nav-row);color:var(--muted);transition:background-color var(--t-hover) ease, color var(--t-hover) ease;border-radius:8px;align-items:center;gap:10px;padding:0 8px;display:flex}.nav-item svg{stroke-width:1.5px;flex:none;width:16px;height:16px}.nav-item:hover{background:var(--raised);color:var(--text)}.nav-item[aria-current=page]{background:var(--active);color:var(--text)}.sidebar .bottom{margin-top:auto}.canvas{min-width:0;padding:var(--pad)}.title-row{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.title-row h1{font-size:var(--fs-title);letter-spacing:-.01em;font-weight:600;line-height:1.2}.title-row .sub{color:var(--muted);margin-top:4px}.filters{margin-bottom:var(--gap);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters .spacer{flex:1}.stamp{color:var(--faint);font-size:var(--fs-small)}.grid{gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad);min-width:0}.panel>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel h2{font-size:var(--fs-section);font-weight:600;line-height:1.3}.panel .meta{color:var(--faint);font-size:var(--fs-small)}.grid.top{align-items:start}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.chart-head h3{font-size:var(--fs-body);font-weight:500;line-height:20px}.chart{min-width:0;position:relative}.card-link{color:var(--text);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-weight:500;display:inline-flex}.card-link:after{content:"";width:12px;height:12px;-webkit-mask:var(--chevron) center / 12px no-repeat;-webkit-mask:var(--chevron) center / 12px no-repeat;mask:var(--chevron) center / 12px no-repeat;background:currentColor;flex:none}.card-link:hover{text-decoration:underline}:root{--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.5 2.5 8 6l-3.5 3.5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.rows{display:grid}.row{align-items:center;gap:12px;min-height:44px;padding:10px 0;display:flex}.row+.row{border-top:1px solid var(--rule);border-radius:0}.kpis{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.kpi{padding:16px var(--card-pad)}.kpi+.kpi{border-left:1px solid var(--border)}.kpi-label{color:var(--muted)}.kpi-value{font-size:var(--fs-kpi);letter-spacing:-.01em;margin-top:6px;font-weight:500;line-height:1.15}.kpi-value small{color:var(--muted);margin-left:2px;font-size:.55em;font-weight:400}.delta{font-size:var(--fs-small);color:var(--muted);margin-top:4px}.delta .up{color:var(--positive)}.delta .down{color:var(--negative)}.kpis[role=tablist] .kpi{cursor:pointer;position:relative}.kpis[role=tablist] .kpi[aria-selected=true]:after{content:"";background:var(--text);height:2px;position:absolute;bottom:-1px;left:0;right:0}.kpis[role=tablist]:not(.entities) .kpi[aria-selected=true] .kpi-label{color:var(--text)}.kpis[role=tablist]:not(.entities) .kpi[aria-selected=false] .kpi-value{color:var(--text);font-weight:400}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;height:36px;font-weight:400;font-size:var(--fs-small);color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:0 12px}td{padding:calc((var(--row-height) - 20px) / 2) 12px;border-bottom:1px solid var(--rule);vertical-align:baseline}tbody tr:last-child td{border-bottom:0}tbody tr[aria-selected=true] td{background:var(--active)}th.n,td.n{text-align:right}td .sub{font-size:var(--fs-small);color:var(--muted);display:block}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:28ch;overflow:hidden}.pill{height:22px;font-size:var(--fs-small);background:var(--pill-neutral-bg);color:var(--pill-neutral-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}.pill.pos{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.pill.neg{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.pill.warn{background:var(--pill-warning-bg);color:var(--pill-warning-ink)}.btn{height:var(--control-height);border-radius:var(--radius-control);border:1px solid var(--control);background:var(--surface);cursor:pointer;transition:background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--raised)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.field{gap:8px;display:grid}.field label{font-weight:500}.field .hint{color:var(--muted);font-size:var(--fs-small)}.input,select.input{border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);height:38px;padding:0 12px}.input::placeholder{color:var(--faint)}.tabs{border-bottom:1px solid var(--border);margin-bottom:var(--gap);gap:24px;display:flex}.tabs a{color:var(--muted);transition:color var(--t-hover) ease;padding:10px 0;position:relative}.tabs a[aria-selected=true]{color:var(--text)}.tabs a[aria-selected=true]:after{content:"";background:var(--text);height:2px;position:absolute;bottom:-1px;left:0;right:0}.segmented{background:var(--raised);border-radius:8px;width:max-content;max-width:100%;padding:2px;display:inline-flex}.segmented button{height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text)}.switch{appearance:none;background:var(--control);cursor:pointer;width:32px;height:20px;transition:background-color var(--t-ui) ease;border-radius:999px;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform var(--t-ui) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch:checked{background:var(--text)}.switch:checked:after{transform:translate(12px)}.empty{border:1px dashed var(--control);border-radius:var(--radius-control);min-height:96px;color:var(--muted);text-align:center;place-items:center;padding:16px;display:grid}.skeleton{background:var(--raised);border-radius:4px}.menu-toggle{display:none}@media (width<=860px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:20;background:var(--surface);width:100%;height:100%;transition:transform var(--t-ui) var(--ease-out);position:fixed;inset:0;transform:translate(-100%)}.sidebar.open{transform:none}.menu-toggle{display:inline-flex}.canvas{padding:16px}.grid>*{grid-column:1/-1!important}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.kpi+.kpi{border-left:0}.kpi:nth-child(n+3){border-top:1px solid var(--border)}.kpi:nth-child(2n){border-left:1px solid var(--border)}.kpi:last-child:nth-child(odd){grid-column:1/-1}.kpis[role=tablist] .kpi[aria-selected=true]{background:var(--active)}.kpis[role=tablist] .kpi[aria-selected=true]:after{content:none}.title-row{flex-wrap:wrap;align-items:flex-start}}@media (width<=480px){.segmented{width:100%;display:flex}.segmented button{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}.rows .empty,.grid>.empty,li>.empty{grid-column:1/-1;width:100%}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--muted)}.faint{color:var(--faint)}.nowrap{white-space:nowrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app{background:var(--ground)}.main{flex-direction:column;min-width:0;min-height:100svh;display:flex}.topbar{height:var(--topbar);padding:0 calc(var(--sheet-inset) + 16px) 0 4px;flex:none;align-items:center;gap:16px;display:flex;position:relative}.topbar .crumbs{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;display:flex}.topbar .crumbs a:hover{color:var(--text)}.topbar .crumbs span[aria-current]{color:var(--text);text-overflow:ellipsis;font-weight:500;overflow:hidden}.topbar .search{width:min(420px,36%);position:absolute;left:50%;transform:translate(-50%)}.topbar .search input{border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);width:100%;height:32px;padding:0 40px 0 34px}.topbar .search svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:8px;left:11px}.topbar .search kbd{border:1px solid var(--border);min-width:20px;height:20px;font:12px/18px var(--font);color:var(--muted);text-align:center;background:var(--raised);border-radius:4px;padding:0 5px;position:absolute;top:6px;right:8px}.topbar .right{color:var(--muted);font-size:var(--fs-small);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;display:flex}.sheet{min-width:0;margin:0 var(--sheet-inset) var(--sheet-inset) 0;padding:var(--pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet);flex:1}.sidebar{padding:12px 12px 16px}.brand{align-items:center;gap:10px;height:36px;padding:0 8px;font-weight:600;display:flex}.brand img{flex:none;width:auto;height:22px}.brand-name{line-height:1.15;display:grid}.brand-name b{font-weight:600}.brand-name small{font-size:var(--fs-small);color:var(--muted);font-weight:500}.scope{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);text-align:left;cursor:default;gap:2px;margin:8px 0 12px;padding:8px 10px;display:grid}.scope b{font-weight:500}.scope span{font-size:var(--fs-small);color:var(--muted)}.nav-item .count{font-size:var(--fs-small);color:var(--muted);margin-left:auto}.nav-item .flag{font-size:var(--fs-small);color:var(--negative);margin-left:auto;font-weight:500}.nav-item.sub{padding-left:34px}.services{font-size:var(--fs-small);color:var(--muted);gap:6px;padding:12px 8px 4px;display:grid}.services li{align-items:center;gap:8px;display:flex}.services li b{color:var(--text);font-weight:400}.services li span:last-child{margin-left:auto}.dot{background:var(--chart-muted);border-radius:50%;flex:none;width:8px;height:8px}.dot.ok{background:var(--positive)}.dot.bad{background:var(--negative)}.dot.run{background:var(--accent)}.reset{color:var(--muted);font-size:var(--fs-small);text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin:8px 8px 0;padding:0;text-decoration:underline}.title-row{margin-bottom:var(--gap);align-items:flex-start}.title-row .sub{max-width:78ch}.title-row .sub .bad{color:var(--negative);font-weight:500}.title-row .actions{flex:none;gap:8px;display:flex;position:relative}.btn.primary:hover{background:#33373a}.btn[disabled],.btn[aria-disabled=true]{color:var(--faint);background:var(--raised);border-color:var(--border);cursor:not-allowed}.btn svg{width:16px;height:16px}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.link:hover{text-underline-offset:3px;text-decoration:underline}.menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);min-width:220px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #1314161f}.menu[hidden]{display:none}.menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:2px;width:100%;padding:8px 10px;display:grid}.menu button:hover:not([disabled]){background:var(--raised)}.menu button span{font-size:var(--fs-small);color:var(--muted)}.menu button[disabled]{color:var(--faint);cursor:not-allowed}.menu button.danger{color:var(--negative)}.menu hr{border:0;border-top:1px solid var(--rule);margin:4px 0}.toast{z-index:40;border-radius:var(--radius-card);background:var(--primary);max-width:420px;color:var(--primary-ink);padding:12px 16px;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #1314162e}.toast[hidden]{display:none}.confirm-box{margin-bottom:var(--gap);border-radius:var(--radius-card);background:var(--pill-negative-bg);color:var(--pill-negative-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:14px 16px;display:flex}.confirm-box>div{gap:8px;display:flex}.btn.danger{background:var(--negative);color:#fff;border-color:#0000}.btn.danger:hover{background:#a51d22}.kpis{margin-bottom:var(--gap)}.kpi-value{font-weight:400}.kpi .delta{color:var(--muted)}.kpi .delta .bad{color:var(--negative);font-weight:500}.panel>header{margin-bottom:12px}.panel>header .meta{margin-left:auto}.panel>header .head-actions{align-items:center;gap:12px;display:flex}.panel .note{color:var(--muted);margin-bottom:12px}.span-12{grid-column:span 12}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.stack{gap:var(--gap);align-content:start;display:grid}.grid+.grid{margin-top:var(--gap)}.pill.run{background:var(--accent-pale);color:#134e5d}.pill .dot{width:6px;height:6px}.track{grid-template-columns:minmax(200px, 1.6fr) repeat(var(--stages,6), minmax(72px, 1fr)) minmax(150px, 1.1fr);display:grid}.track>.tr{display:contents}.track .th{height:36px;font-size:var(--fs-small);color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;align-items:center;padding:0 8px;display:flex}.track .th:first-child{padding-left:0}.track .td{border-bottom:1px solid var(--rule);flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:52px;padding:6px 8px;display:flex}.track .tr:last-child .td{border-bottom:0}.track .td.file{padding-left:0}.track .td.file a{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.track .td.file a:hover{color:var(--accent)}.track .td.file small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.track .tr:hover .td{background:#fafbfb}.track .tr.just-changed .td{background:var(--accent-pale);transition:background-color 1.2s}.seg{background:var(--rule);border-radius:3px;height:6px;position:relative}.seg i{background:var(--accent);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.seg.running{background:repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 10px);opacity:.55}.seg.failed i{background:var(--negative)}.seg.off{border:1px dashed var(--control);background:0 0;height:6px}.ms{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.ms.bad{color:var(--negative);font-weight:500}.ms.none{color:var(--faint)}.track .outcome{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:4px 8px}.track .outcome small{width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.track-foot{color:var(--muted);font-size:var(--fs-small);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.tabs{margin-bottom:12px}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 0;position:relative}.tabs button b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:400}.tabs button[aria-selected=true]{color:var(--text);font-weight:500}.tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.files td.state{white-space:nowrap}.files .kebab{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.files .kebab:hover{background:var(--raised);color:var(--text)}.files .kebab svg{width:16px;height:16px}.files td{padding-top:10px;padding-bottom:10px}.files td:first-child,.files th:first-child{padding-left:0}.files td:last-child,.files th:last-child{width:28px;padding-right:0}.files .row-menu{position:relative}.diff{border-radius:var(--radius-control);background:var(--pill-warning-bg);color:var(--pill-warning-ink);align-items:center;gap:12px;margin-top:12px;padding:10px 12px;display:flex}.diff[hidden]{display:none}.diff .link{color:var(--pill-warning-ink);margin-left:auto}.dropzone{margin-top:12px}.list{display:grid}.list li{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 16px;padding:10px 0;display:grid}.list li:first-child{border-top:0;padding-top:0}.list li .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.list li .line2{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:13px;overflow:hidden}.list li .t{align-items:center;gap:8px;min-width:0;display:flex}.list li .t>:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list.meta li{grid-template-columns:auto minmax(0,1fr)}.list.meta li .r{text-overflow:ellipsis;overflow:hidden}.mix{background:var(--rule);border-radius:4px;gap:2px;min-width:120px;height:8px;display:flex;overflow:hidden}.mix i{height:100%;display:block}.mix .ix{background:var(--accent)}.mix .ip{background:#8ab7c3}.mix .fl{background:var(--negative)}.mix-legend{font-size:var(--fs-small);color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:6px;display:flex}.mix-legend span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.mix-legend i{border-radius:2px;width:8px;height:8px}table.indexes td{vertical-align:middle}table.indexes td:first-child,table.indexes th:first-child{padding-left:0}table.indexes td:last-child,table.indexes th:last-child{padding-right:0}table.indexes tbody tr{cursor:pointer}table.indexes tbody tr:hover td{background:#fafbfb}table.indexes a{font-weight:500}.waterfall{gap:14px;display:grid}.wf-row{grid-template-columns:170px minmax(0,1fr) 80px;align-items:center;gap:12px;display:grid}.wf-row .lbl{font-size:var(--fs-small);color:var(--muted)}.wf-row .lbl b{font-size:var(--fs-body);color:var(--text);font-weight:500;display:block}.wf-bar{gap:2px;height:28px;display:flex;position:relative}.wf-bar span{background:var(--accent);color:#fff;min-width:3px;font-size:var(--fs-small);white-space:nowrap;border-radius:3px;align-items:center;padding:0 6px;display:flex;overflow:hidden}.wf-bar span.lite{color:var(--text);background:#8ab7c3}.wf-bar span.fail{background:var(--negative)}.wf-row .tot{text-align:right;font-variant-numeric:tabular-nums}.wf-axis{font-size:var(--fs-small);color:var(--muted);grid-template-columns:170px minmax(0,1fr) 80px;gap:12px;display:grid}.wf-axis div{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.kv{grid-template-columns:minmax(0,1fr) auto auto;gap:0 16px;display:grid}.kv>*{border-top:1px solid var(--rule);padding:7px 0}.kv>:nth-child(-n+3){border-top:0}.kv .r{text-align:right;font-variant-numeric:tabular-nums}.kv .h{font-size:var(--fs-small);color:var(--muted)}.error-box{border-radius:var(--radius-control);background:var(--pill-negative-bg);color:var(--pill-negative-ink);gap:10px;padding:12px;display:flex}.error-box b{font-weight:500}.state-error svg,.error-box svg{flex:none;width:16px;height:16px}.chunks li{border-top:1px solid var(--rule);grid-template-columns:28px minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;display:grid}.chunks li:first-child{border-top:0;padding-top:0}.chunks .ord{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.chunks .hp{min-width:0;font-weight:500}.chunks .tag{justify-self:end}.chunks .body{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:2/-1;display:-webkit-box;overflow:hidden}.chunks .meta2{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums;grid-column:2/-1}.form-section{border-top:1px solid var(--rule);grid-template-columns:200px minmax(0,1fr);gap:24px;padding:24px 0;display:grid}.form-section:first-of-type{border-top:0;padding-top:0}.form-section>div:first-child h2{font-size:var(--fs-section);font-weight:600}.form-section>div:first-child p{color:var(--muted);margin-top:4px}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.fields .wide{grid-column:1/-1}.fields .field{align-content:start}.field .input{width:100%}.field .input.mono{font-size:13px}.field.invalid .input{border-color:var(--negative)}.field .err{color:var(--negative);font-size:var(--fs-small)}.field .err[hidden]{display:none}.switch-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.switch-row b{font-weight:500}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--raised);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:26px;padding:0 6px 0 10px;font-size:13px;display:inline-flex}.chip button{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:1}.chip button:hover{background:var(--active);color:var(--text)}.preview{position:sticky;top:16px}pre.code{border-radius:var(--radius-control);background:var(--raised);font:12.5px/1.55 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;color:var(--text);margin:0;padding:14px 16px;overflow:auto}pre.code .k{color:#134e5d}pre.code .s{color:#5b3a07}.outcome-box{border-radius:var(--radius-control);margin-top:16px;padding:12px 14px}.outcome-box.ok{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.outcome-box.no{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.outcome-box a{text-underline-offset:3px;font-weight:500;text-decoration:underline}.outcome-box[hidden]{display:none}.scope-row{margin-bottom:var(--gap);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scope-row>span{color:var(--muted);margin-right:4px}.toggle-chip{border:1px solid var(--control);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;height:32px;padding:0 12px;display:inline-flex}.toggle-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-pale);color:#134e5d;font-weight:500}.toggle-chip[disabled]{color:var(--faint);border-color:var(--border);background:var(--raised);cursor:not-allowed}.convo{flex-direction:column;min-height:560px;display:flex;position:sticky;top:16px}.turns{flex:1;align-content:start;gap:20px;display:grid}.q{background:var(--raised);border-radius:12px 12px 4px;justify-self:end;max-width:80%;padding:10px 14px}.a{max-width:70ch;font-size:15px;line-height:24px}.a .who,.q .who{font-size:var(--fs-small);color:var(--muted);margin-bottom:4px;display:block}.cite{vertical-align:2px;background:var(--accent-pale);color:#134e5d;min-width:20px;height:18px;font:500 11px/18px var(--font);cursor:pointer;border:0;border-radius:4px;place-items:center;margin:0 1px;padding:0 4px;display:inline-grid}.cite:hover,.cite.on{background:var(--accent);color:#fff}.sources{gap:8px;margin-top:14px;display:grid}.sources li{grid-template-columns:24px minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;font-size:13px;display:grid}.sources li .n{color:#134e5d;text-align:right;font-weight:500}.sources li .h{color:var(--muted);font-size:var(--fs-small);grid-column:2}.a .usage{font-size:var(--fs-small);color:var(--muted);margin-top:12px}.composer{border:1px solid var(--control);background:var(--surface);border-radius:12px;align-items:flex-end;gap:8px;margin-top:24px;padding:8px;display:flex}.composer textarea{resize:vertical;min-height:40px;max-height:160px;font:inherit;background:0 0;border:0;flex:1;padding:8px}.composer textarea:focus{outline:none}.composer:focus-within{outline:2px solid var(--accent);outline-offset:1px}.trace ol.steps{counter-reset:s;gap:20px;padding:0;list-style:none;display:grid}.trace ol.steps>li{counter-increment:s}.trace .step-h{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.trace .step-h h3{font-size:var(--fs-body);font-weight:600}.trace .step-h h3:before{content:counter(s) ". ";color:var(--muted);font-weight:400}.trace .step-h .ms{margin-left:auto}.trace .step-note{color:var(--muted);margin-bottom:8px;font-size:13px}.trace table td,.trace table th{padding-left:8px;padding-right:8px}.trace table td:first-child,.trace table th:first-child{padding-left:0}.trace table td:last-child,.trace table th:last-child{padding-right:0}.trace table td{vertical-align:top;padding-top:7px;padding-bottom:7px}.trace tr.hl td{background:var(--accent-pale)}.trace .finding{border-radius:var(--radius-control);background:var(--pill-warning-bg);color:var(--pill-warning-ink);margin-top:8px;padding:8px 10px;font-size:13px}.edge{flex-wrap:wrap;align-items:baseline;gap:4px 6px;display:flex}.edge .rt{font-family:var(--mono);color:#134e5d;font-size:12px}.sk{background:var(--raised);vertical-align:middle;border-radius:4px;height:12px;display:inline-block}.sk.v{width:72px;height:28px}.state-error{border-radius:var(--radius-control);background:var(--pill-negative-bg);color:var(--pill-negative-ink);align-items:center;gap:12px;padding:12px 14px;display:flex}.state-error[hidden]{display:none}.state-error .link{color:var(--pill-negative-ink);margin-left:auto;text-decoration:underline}.first-run{border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.first-run>div{padding:16px 20px}.first-run>div+div{border-left:1px solid var(--border)}.first-run h3{font-size:var(--fs-body);margin-bottom:4px;font-weight:600}.first-run p{color:var(--muted)}.first-run .done h3{color:var(--positive)}@media (width<=1100px){.track{grid-template-columns:minmax(160px, 1.4fr) repeat(var(--stages,6), minmax(52px, 1fr)) minmax(120px, 1fr)}.form-section{grid-template-columns:minmax(0,1fr);gap:12px}.topbar .search{display:none}}@media (width<=860px){.main{min-height:0}.topbar{background:var(--ground);padding:0 16px}.sheet{border-width:1px 0 0;border-radius:0;margin:0;padding:16px}.title-row .actions{width:100%}.title-row .actions .btn.primary{flex:1}.track{display:block}.track .th{display:none}.track>.tr{border-bottom:1px solid var(--rule);grid-template-columns:repeat(6,minmax(0,1fr));gap:4px 6px;padding:12px 0;display:grid}.track>.tr.head{display:none}.track .td{border:0;min-height:0;padding:0}.track .td.file{grid-column:1/5}.track .td.outcome{grid-area:1/5/auto/7;justify-content:flex-end;overflow:hidden}.track .td.outcome small{text-align:right;white-space:normal;overflow-wrap:anywhere}.track .td.st .ms{font-size:11px}.track .td.st:before{content:attr(data-stage);color:var(--muted);font-size:11px}.wf-row,.wf-axis{grid-template-columns:minmax(0,1fr) 64px}.wf-row .lbl{grid-column:1/-1}.wf-axis>:first-child{display:none}.fields,.first-run{grid-template-columns:minmax(0,1fr)}.first-run>div+div{border-left:0;border-top:1px solid var(--border)}.convo{min-height:0;position:static}.q{max-width:92%}table.indexes thead{display:none}table.indexes tr{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 0;display:grid}table.indexes td{border:0;padding:0;display:block}table.indexes td.hide-sm{display:none}table.indexes td.mixcell{grid-column:1/-1}.files .hide-sm{display:none}.preview{position:static}.stamp-top{display:none!important}.topbar .crumbs{flex:1}.panel>header{flex-wrap:wrap}.panel>header .meta{order:3;width:100%;margin-left:0}.panel>header .head-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.tabs{scrollbar-width:none;gap:20px;overflow-x:auto}.tabs button{white-space:nowrap;flex:none}table.stack-sm thead{display:none}table.stack-sm tr{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;display:grid}table.stack-sm td{border:0;padding:0;display:block}table.stack-sm td:nth-child(2){color:var(--muted);grid-area:2/1/auto/-1;font-size:13px}table.stack-sm td.hide-sm{display:none}}.strat-bar{gap:2px;height:14px;display:flex}.strat-bar span{min-width:4px;transition:opacity var(--t-hover);border-radius:0}.strat-bar span:first-child{border-radius:4px 0 0 4px}.strat-bar span:last-child{border-radius:0 4px 4px 0}.strat-bar span:only-child{border-radius:4px}.s1{background:var(--strat-1)}.s2{background:var(--strat-2)}.s3{background:var(--strat-3)}.s4{background:var(--strat-4)}.s5{background:var(--strat-5)}.s6{background:var(--strat-6)}.s7{background:var(--strat-7)}.s8{background:var(--strat-8)}.sx{background:var(--chart-muted)}.fb{background:repeating-linear-gradient(135deg, var(--warning) 0 2px, var(--pill-warning-bg) 2px 5px);box-shadow:inset 0 0 0 1px var(--warning)}.strat-hover .strat-bar span:not(.on){opacity:.3}.strat-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:auto;min-width:min(100%,440px);margin-top:14px}.strat-table th{text-align:left;color:var(--muted);font-weight:400;font-size:var(--fs-small);border-bottom:1px solid var(--border);padding:0 12px 6px 0}.strat-table td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:8px 12px 8px 0}.strat-table tr:last-child td{border-bottom:0}.strat-table .num{text-align:right;white-space:nowrap;padding-left:12px;padding-right:0}.strat-table td:first-child{white-space:nowrap}.strat-table td:first-child .mono{font-size:13px}.strat-table tr.on td{background:var(--raised)}.strat-table .fb-row td:first-child,.strat-table .fb-row td:first-child .mono{color:var(--warning)}.strat-table .fb-row svg{vertical-align:-2px;width:14px;height:14px;color:var(--warning);display:inline-block}.sw{vertical-align:0;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block}.strat{font-family:var(--mono);align-items:center;font-size:12px;display:inline-flex}.strat .sw{width:8px;height:8px;margin-right:5px}.strat-doc{margin-bottom:14px}.strat-doc .meta2{font-size:var(--fs-small);color:var(--muted);margin-top:6px}.strat-doc .choice{font-size:var(--fs-small);color:var(--text);margin:0 0 10px}.strat-doc .choice .reason{color:var(--muted);margin-top:2px;display:block}.strat-doc .strat-bar{height:8px}.kpi-action{margin-top:8px}.kpi-action .link{align-items:center;gap:4px;font-size:13px;display:inline-flex}.kpi-action .link svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:12px;height:12px}.gx{--gx-backdrop:#050c0ecc;--gx-surface:#0d1618;--gx-raised:#142023;--gx-hover:#1b2a2e;--gx-border:#223236;--gx-rule:#1a272a;--gx-text:#e4edee;--gx-muted:#93a7ab;--gx-faint:#6d8286;--gx-accent:#62c6d9;--gx-edge:#33464b;--gx-edge-hi:#a9c4c9;--gx-dot-grid:#182528;--gx-t1:#5ec2d6;--gx-t2:#84a8f4;--gx-t3:#e3aa4f;--gx-t4:#e98ba1;--gx-t5:#7bcb9d;--gx-t6:#b7a0f2;z-index:60;padding:max(24px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));background:var(--gx-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--gx-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;animation:gx-in var(--t-ui) var(--ease-out);display:flex;position:fixed;inset:0}@keyframes gx-in{0%{opacity:0}}.gx-panel{background:var(--gx-surface);border:1px solid var(--gx-border);border-radius:var(--radius-sheet);min-width:0;animation:gx-rise .26s var(--ease-out);flex:1;grid-template-rows:auto auto minmax(0,1fr);display:grid;overflow:hidden}@keyframes gx-rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}.gx-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.gx-head h2{font-size:var(--fs-section);font-weight:500}.gx-head h2 .mono{color:var(--gx-accent);font-size:15px}.gx-sep{color:var(--gx-faint)}.gx-sub{font-size:var(--fs-small);color:var(--gx-muted);font-variant-numeric:tabular-nums;margin-top:2px}.gx-close{border-radius:var(--radius-control);border:1px solid var(--gx-border);background:var(--gx-raised);width:32px;height:32px;color:var(--gx-text);cursor:pointer;transition:background var(--t-hover);flex:none;place-items:center;display:grid}.gx-close:hover{background:var(--gx-hover)}.gx-close svg{stroke:currentColor;stroke-width:1.6px;fill:none;width:14px;height:14px}.gx button:focus-visible,.gx input:focus-visible{outline:2px solid var(--gx-accent);outline-offset:2px}.gx-tools{border-bottom:1px solid var(--gx-rule);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:0 20px 14px;display:flex}.gx-search{align-items:center;display:flex;position:relative}.gx-search svg{fill:none;width:14px;height:14px;stroke:var(--gx-faint);stroke-width:1.6px;pointer-events:none;position:absolute;left:10px}.gx-search input{border-radius:var(--radius-control);border:1px solid var(--gx-border);background:var(--gx-raised);width:240px;max-width:100%;height:32px;color:var(--gx-text);padding:0 10px 0 32px}.gx-search input::placeholder{color:var(--gx-faint)}.gx-types{flex-wrap:wrap;gap:6px;display:flex}.gx-type{border:1px solid var(--gx-border);background:var(--gx-raised);height:28px;color:var(--gx-text);cursor:pointer;transition:background var(--t-hover), opacity var(--t-hover);border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:13px;display:inline-flex}.gx-type:hover{background:var(--gx-hover)}.gx-type i,.gx-list i,.gx-counts i,.gx-kind i{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.gx-type span{color:var(--gx-faint);font-variant-numeric:tabular-nums}.gx-type[aria-pressed=false]{opacity:.45;background:0 0}.gx-type[aria-pressed=false] i{box-shadow:inset 0 0 0 1.5px var(--gx-faint);background:0 0!important}.gx-body{grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.gx-canvas{background:radial-gradient(var(--gx-dot-grid) 1px, transparent 1.2px) 0 0 / 22px 22px, var(--gx-surface);min-width:0;min-height:0;position:relative}.gx-canvas svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;position:absolute;inset:0}.gx-canvas svg.panning,.gx-canvas svg.dragging{cursor:grabbing}.gx-edge{stroke:var(--gx-edge);stroke-width:calc(1.2px * var(--k,1));transition:opacity var(--t-ui), stroke var(--t-ui)}.gx-edge.hot{stroke:var(--gx-edge-hi);stroke-width:calc(1.6px * var(--k,1))}.gx-edge.dim{opacity:.18}.gx-edge.off,.gx-node.off{display:none}.gx-elabel{font-family:var(--mono);font-weight:500;font-size:calc(10px * var(--k,1));letter-spacing:.04em;fill:var(--gx-edge-hi);text-anchor:middle;paint-order:stroke;stroke:var(--gx-surface);stroke-width:calc(4px * var(--k,1));opacity:0;pointer-events:none;transition:opacity var(--t-ui)}.gx-elabel.on{opacity:1}.gx-node{cursor:pointer;transition:opacity var(--t-ui)}.gx-node.dim{opacity:.16}.gx-dot{stroke:var(--gx-surface);stroke-width:calc(2px * var(--k,1))}.gx-halo{fill:none;stroke:var(--gx-accent);stroke-width:calc(2px * var(--k,1));opacity:0;transition:opacity var(--t-hover)}.gx-node:hover .gx-halo{opacity:.35}.gx-node.sel .gx-halo,.gx-node.match .gx-halo{opacity:1}.gx-label{font-size:calc(11.5px * var(--k,1));fill:var(--gx-text);text-anchor:middle;paint-order:stroke;stroke:var(--gx-surface);stroke-width:calc(4px * var(--k,1));stroke-linejoin:round;opacity:0;pointer-events:none;transition:opacity var(--t-ui)}.gx-node.labelled .gx-label{opacity:.92}.gx-node.sel .gx-label{opacity:1;font-weight:600}.gx-zoom{border:1px solid var(--gx-border);border-radius:var(--radius-control);background:var(--gx-raised);display:flex;position:absolute;bottom:14px;left:14px;overflow:hidden}.gx-zoom button{min-width:32px;height:30px;color:var(--gx-text);cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:13px}.gx-zoom button+button{border-left:1px solid var(--gx-border)}.gx-zoom button:hover{background:var(--gx-hover)}.gx-hint{font-size:var(--fs-small);color:var(--gx-faint);pointer-events:none;position:absolute;bottom:18px;right:14px}.gx-side{border-left:1px solid var(--gx-rule);background:var(--gx-surface);flex-direction:column;gap:10px;min-height:0;padding:18px 18px 20px;display:flex;overflow-y:auto}.gx-side h3{letter-spacing:.08em;text-transform:uppercase;color:var(--gx-faint);margin-top:8px;font-size:11px;font-weight:500}.gx-side h3:first-child{margin-top:0}.gx-list{flex-direction:column;display:flex}.gx-list button{border-radius:var(--radius-control);width:calc(100% + 16px);color:var(--gx-text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0 -8px;padding:7px 8px;display:grid}.gx-list button:hover{background:var(--gx-hover)}.gx-list .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gx-list .r{color:var(--gx-faint);font-variant-numeric:tabular-nums;font-size:12px}.gx-list.rel button{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"rt r""t t";row-gap:1px}.gx-list.rel .gx-rt{font:500 10.5px var(--mono);letter-spacing:.04em;color:var(--gx-muted);grid-area:rt}.gx-list.rel .t{white-space:normal;grid-area:t}.gx-list.rel .r{grid-area:r}.gx-counts{flex-direction:column;gap:6px;display:flex}.gx-counts div{justify-content:space-between;display:flex}.gx-counts dt{align-items:center;gap:9px;display:inline-flex}.gx-counts dd{color:var(--gx-muted);font-variant-numeric:tabular-nums}.gx-note{font-size:var(--fs-small);color:var(--gx-faint);line-height:1.5}.gx-pick{border-bottom:1px solid var(--gx-rule);padding-bottom:12px}.gx-kind{color:var(--gx-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.gx-name{text-wrap:balance;margin-top:4px;font-size:17px;font-weight:500;line-height:1.3}.gx-facts{color:var(--gx-muted);flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12px;display:flex}.gx-facts .mono{color:var(--gx-faint);font-size:11.5px}.gx-clear{border-radius:var(--radius-control);border:1px solid var(--gx-border);background:var(--gx-raised);height:30px;color:var(--gx-text);cursor:pointer;align-self:flex-start;margin-top:6px;padding:0 12px}.gx-clear:hover{background:var(--gx-hover)}.gx-empty{text-align:center;color:var(--gx-muted);border-top:1px solid var(--gx-rule);grid-row:2/-1;place-content:center;gap:6px;padding:40px 20px;display:grid}.gx-empty p:first-child{color:var(--gx-text);font-size:var(--fs-section)}@media (width<=860px){.gx{padding:max(8px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px))}.gx-body{grid-template-rows:minmax(0,1fr) minmax(0,38%);grid-template-columns:minmax(0,1fr)}.gx-side{border-left:0;border-top:1px solid var(--gx-rule)}.gx-hint{display:none}.gx-search,.gx-search input{width:100%}}.signin{place-items:center;min-height:100svh;padding:16px;display:grid}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet);flex-direction:column;align-items:flex-start;gap:8px;width:min(400px,100%);padding:32px;display:flex}.signin-card .brand{margin:0 0 16px -8px}.signin-card h1{font-size:var(--fs-title);letter-spacing:-.01em;font-weight:600;line-height:1.25}.signin-card .sub{color:var(--muted)}.signin-card .btn{width:100%;height:40px;margin-top:16px}
