:root{--brand:#5b5bd6;--brand-hover:#6b6be0;--brand-press:#4f46e5;--brand-suppl:#7c83eb;--brand-deep:#7c3aed;--brand-soft:#5b5bd61a;--brand-soft-strong:#5b5bd62e;--brand-on:#fff;--success:#059669;--success-soft:#0596691c;--warning:#d97706;--warning-soft:#d977061f;--danger:#dc2626;--danger-soft:#dc26261a;--info:#0284c7;--info-soft:#0284c71a;--text:#12151c;--text-muted:#5a6478;--text-faint:#98a1b3;--surface:#fff;--surface-sunken:#f7f8fb;--surface-raised:#fff;--surface-hover:#f4f5f9;--sidebar:#fbfbfd;--border:#e6e8ef;--border-soft:#f0f1f6;--viz-1:#5b5bd6;--viz-2:#0d9488;--viz-3:#d97706;--viz-4:#db2777;--viz-5:#0284c7;--viz-6:#65a30d;--fs-micro:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--fs-stat:28px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 4px 16px #10182812;--shadow-lg:0 16px 48px #10182824;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#8b8ff0;--brand-hover:#9a9ef4;--brand-press:#7c83eb;--brand-suppl:#a5a8f6;--brand-deep:#7c3aed;--brand-soft:#8b8ff024;--brand-soft-strong:#8b8ff03d;--brand-on:#12151c;--success:#34d399;--success-soft:#34d39924;--warning:#d4a84b;--warning-soft:#d4a84b1f;--danger:#f87171;--danger-soft:#f8717124;--info:#38bdf8;--info-soft:#38bdf824;--text:#e9ecf3;--text-muted:#99a2b5;--text-faint:#6a7285;--surface:#191a20;--surface-sunken:#101116;--surface-raised:#1f2028;--surface-hover:#22232c;--sidebar:#141519;--border:#2a2c36;--border-soft:#22232b;--viz-1:#8b8ff0;--viz-2:#2dd4bf;--viz-3:#fbbf24;--viz-4:#f472b6;--viz-5:#38bdf8;--viz-6:#a3e635;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 16px 48px #0000008c}*{box-sizing:border-box}button{color:inherit}body{font-family:var(--font);font-size:var(--fs-md);color:var(--text);background:var(--surface-sunken);-webkit-font-smoothing:antialiased;transition:background .18s,color .18s}b,strong{font-weight:600}.num{font-variant-numeric:tabular-nums}.shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:244px;transition:background .18s,border-color .18s;display:flex}.brand{padding:var(--sp-5) var(--sp-4) var(--sp-4);align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand), #7c3aed);color:#fff;width:32px;height:32px;font-weight:700;font-size:var(--fs-sm);border-radius:9px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 6px 16px #5b5bd647}.brand-text b{font-size:var(--fs-md);letter-spacing:-.01em;display:block}.brand-text span{font-size:var(--fs-micro);color:var(--text-faint);margin-top:1px;display:block}.nav{padding:0 var(--sp-2);flex:1;overflow-y:auto}.nav-group{letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);padding:var(--sp-4) var(--sp-3) var(--sp-2);font-size:10px;font-weight:600}.nav-item{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--text-muted);padding:9px var(--sp-3);border-radius:var(--r-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;transition:background .14s,color .14s;display:flex;position:relative}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.nav-item.active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.nav-item svg{flex-shrink:0;width:17px;height:17px}.nav-badge{border-radius:var(--r-pill);background:var(--warning-soft);color:var(--warning);margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.nav-item.active .nav-badge{background:var(--brand-soft-strong);color:var(--brand)}.sidebar-foot{border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-4);align-items:center;gap:10px;display:flex}.avatar{color:#4f46e5;width:28px;height:28px;font-weight:700;font-size:var(--fs-xs);background:linear-gradient(135deg,#dbeafe,#ddd6fe);border-radius:50%;place-items:center;display:grid}.sidebar-foot .who{flex:1;min-width:0}.sidebar-foot .who b{font-size:var(--fs-xs);display:block}.sidebar-foot .who span{color:var(--text-faint);font-size:10px;display:block}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;height:56px}.topbar .content-inner{align-items:center;gap:var(--sp-3);height:100%;display:flex}.crumb{font-size:var(--fs-sm);color:var(--text-faint)}.crumb b{color:var(--text);font-weight:600}.crumb .sep{margin:0 6px}.topbar-right{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.proto-flag{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-sm);background:var(--warning-soft);color:var(--warning);padding:3px 8px;font-size:10px;font-weight:600}.content{min-height:0;padding:var(--sp-4) 0 12px;flex-direction:column;flex:1;display:flex;overflow-y:auto}.content-inner{width:100%;padding:0 var(--sp-4);box-sizing:border-box}:is(.content-inner:has(.tax-browse),.content-inner:has(.fill-rest),.content-inner:has(.fill-board)){flex-direction:column;flex:1;min-height:0;display:flex}:is(.content:has(.fill-rest),.content:has(.fill-board)){overflow:hidden}:is(.content-inner:has(.tax-browse)>:not(.tax-browse),.content-inner:has(.fill-rest)>:not(.fill-rest),.content-inner:has(.fill-board)>:not(.fill-board)){flex-shrink:0}.fill-rest{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.fill-rest>.card-head,.fill-rest>.note{flex-shrink:0}.fill-rest>.card-body,.fill-rest>.page-loading{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.fill-rest>.card-body{padding:0}.fill-rest .page-loading .card-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.fill-rest .tbl-wrap{flex:1;min-height:0;overflow:auto}.fill-rest .tbl-foot{flex-shrink:0}.fill-rest thead th{z-index:1;position:sticky;top:0}.fill-board{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.fill-board>.filters,.fill-board>.search-hero{flex-shrink:0}.fill-board>.fill-rest{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.fill-board>.grid{flex:1;align-items:stretch;min-height:0}.fill-board>.grid>.card{flex-direction:column;min-height:0;display:flex;overflow:hidden}.fill-board>.grid>.card>.card-body,.fill-board .diff-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.fill-board .diff-list{flex:1;min-height:0;overflow:auto}.fill-board .diff-stats,.fill-board .diff-actions{flex-shrink:0}.fill-board .tbl-wrap{flex:1;min-height:0;overflow:auto}.fill-board .tbl-foot{flex-shrink:0}.fill-board thead th{z-index:1;position:sticky;top:0}.fill-board .n-spin-container{flex-direction:column;flex:1;min-height:0;display:flex}.fill-board .n-spin-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tax-browse{gap:var(--sp-4);flex:1;grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);align-items:stretch;min-height:0;display:grid}.tax-browse>.card{flex-direction:column;min-height:0;display:flex;overflow:hidden}.tax-browse>.card>.card-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.tax-browse .n-spin-container,.tax-browse .n-spin-content{flex-direction:column;flex:1;min-height:0;display:flex}.tax-browse .n-tree{flex:1;min-height:280px;height:100%!important}.cascade{gap:var(--sp-3);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.cascade-layer{background:var(--surface-sunken);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4) var(--sp-4)}.cascade-layer .lab{letter-spacing:.04em;color:var(--text-faint);margin-bottom:var(--sp-3);font-size:10px;font-weight:600}.cascade-chips{flex-wrap:wrap;gap:8px;display:flex}.cascade-chip{font:inherit;font-size:var(--fs-sm);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;padding:8px 14px;line-height:1.3;transition:border-color .12s,background .12s,color .12s,box-shadow .12s}.cascade-chip:hover{border-color:var(--brand);background:var(--brand-soft)}.cascade-chip.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);box-shadow:0 0 0 1px var(--brand);font-weight:600}.cascade-chip.leaf{color:var(--text-muted);border-style:dashed}.cascade-chip.leaf.on{color:var(--brand);border-style:solid}.cascade-chip.dragging{opacity:.4}.cascade-chip.drop-on{border-style:solid;border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px var(--brand-soft-strong)}.cascade-layer.drop-on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.page-head h1{font-size:var(--fs-2xl);letter-spacing:-.022em;margin:0;font-weight:650}.page-head p{font-size:var(--fs-xs);color:var(--text-muted);max-width:68ch;margin:6px 0 0;line-height:1.6}.head-actions{gap:var(--sp-2);flex-shrink:0;display:flex}.btn{font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:7px 13px;transition:background .14s,border-color .14s,color .14s}.btn:hover{background:var(--surface-hover);border-color:var(--text-faint)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-on);font-weight:600}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-hover);color:var(--text)}.btn.tiny{font-size:var(--fs-xs);padding:4px 9px}.btn.icon{place-items:center;padding:7px;display:grid}.btn.icon svg{width:16px;height:16px}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.ok{color:var(--success)}.btn.ok:hover{background:var(--success-soft);border-color:var(--success)}.tabs{border-bottom:1px solid var(--border);margin-bottom:var(--sp-4);gap:2px;display:flex}.tab{font:inherit;font-size:var(--fs-sm);cursor:pointer;color:var(--text-muted);padding:9px var(--sp-3);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;transition:color .14s,border-color .14s;display:flex}.tab:hover{color:var(--text)}.tab.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tab .count{border-radius:var(--r-pill);background:var(--surface-hover);color:var(--text-muted);padding:1px 5px;font-size:10px;font-weight:600}.tab.on .count{background:var(--brand-soft-strong);color:var(--brand)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:background .18s,border-color .18s}.card-head{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-soft);display:flex}.card-head h3{font-size:var(--fs-md);margin:0;font-weight:600}.card-head .sub{font-size:var(--fs-micro);color:var(--text-faint)}.card-head .extra{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.card-body{padding:var(--sp-5)}.card-body.tight{padding:var(--sp-3) var(--sp-5)}.card-body.flush{padding:0}.card.tall{flex-direction:column;display:flex}.card.tall>.card-body{flex-direction:column;flex:1;min-height:0;display:flex}.chart-box.fill{flex:1;min-height:190px}.chart-box.fill>svg{width:100%;height:100%;position:absolute;top:0;left:0}.grid{gap:var(--sp-4);display:grid}.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))}.g-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.g-1-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.mt4{margin-top:var(--sp-4)}.mt5{margin-top:var(--sp-5)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .14s}.stat:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat.is-static{cursor:default}.stat.is-static:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:none}.stat .label{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.stat .label svg{opacity:.6;width:14px;height:14px}.stat .value{font-size:var(--fs-stat);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:6px;font-weight:650;line-height:1.1}.stat .value.sm{font-size:var(--fs-xl)}.stat .foot{font-size:var(--fs-micro);color:var(--text-faint);margin-top:5px}.stat .foot.warn{color:var(--warning)}.stat .foot.ok{color:var(--success)}.pipeline{gap:var(--sp-2);margin-bottom:var(--sp-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stage{font:inherit;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:100%;padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:border-color .14s,background .14s;position:relative}.stage:hover{border-color:var(--brand)}.stage .top{align-items:center;gap:7px;display:flex}.stage .dot{background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px}.stage.block .dot{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.stage.idle .dot{background:var(--text-faint)}.stage .name{font-size:var(--fs-sm);font-weight:600}.stage .arrow{color:var(--text-faint);place-items:center;margin-left:auto;display:grid}.stage .arrow svg{width:14px;height:14px}.stage .meta{font-size:var(--fs-micro);color:var(--text-muted);margin-top:5px;padding-left:14px}.stage.block{border-color:color-mix(in srgb, var(--warning) 40%, var(--border));background:var(--warning-soft)}.stage.block .meta{color:var(--warning);font-weight:600}.suggest{align-items:flex-start;gap:var(--sp-3);border:1px solid color-mix(in srgb, var(--warning) 40%, var(--border));background:var(--warning-soft);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-4);display:flex}.suggest.ok{border-color:color-mix(in srgb, var(--success) 40%, var(--border));background:var(--success-soft)}.card-body>.suggest:first-child{margin:var(--sp-1) 0 var(--sp-3)}.suggest .ico{color:var(--warning);flex-shrink:0;margin-top:1px}.suggest.ok .ico{color:var(--success)}.suggest .ico svg{width:18px;height:18px}.suggest .txt{flex:1;min-width:0}.suggest .txt b{font-size:var(--fs-sm);display:block}.suggest .txt p{font-size:var(--fs-xs);color:var(--text-muted);margin:4px 0 0;line-height:1.6}.row{align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border-soft);padding:11px 0;display:flex}.tbl-wrap>.row{padding:10px var(--sp-5);gap:var(--sp-2)}.row-lead{flex-shrink:0;align-items:center;width:14px;display:flex}.row-lead .n-checkbox{--n-label-padding:0!important;padding:0!important}.row-lead .n-checkbox .n-checkbox__label{display:none}.row:last-child{border-bottom:0}.row.active{background:var(--brand-soft);margin:0 calc(var(--sp-2) * -1);padding-inline:var(--sp-2);border-radius:var(--r-sm)}.tbl-wrap>.row.active{padding-inline:var(--sp-5);border-radius:0;margin:0}.rank-no{border-radius:var(--r-sm);background:var(--brand-soft);width:22px;height:22px;color:var(--brand);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;font-weight:700;display:grid}.rank-no.hot{background:var(--warning-soft);color:var(--warning)}.row-main{flex:1;min-width:0}.row-main b{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.row-main span{font-size:var(--fs-micro);color:var(--text-faint);margin-top:2px;display:block}.row-val{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:650}.row-acts{flex-shrink:0;gap:5px;display:flex}.meter{border-radius:var(--r-pill);background:var(--border-soft);height:4px;margin-top:6px;overflow:hidden}.meter i{border-radius:var(--r-pill);background:var(--brand);height:100%;display:block}.pill{font-size:var(--fs-micro);border-radius:var(--r-pill);background:var(--surface-hover);color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.pill.ok{background:var(--success-soft);color:var(--success)}.pill.warn{background:var(--warning-soft);color:var(--warning)}.pill.bad{background:var(--danger-soft);color:var(--danger)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.brand{background:var(--brand-soft);color:var(--brand)}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);padding:10px var(--sp-5);background:var(--surface-sunken);border-bottom:1px solid var(--border);white-space:nowrap;font-size:10px;font-weight:600}td{padding:11px var(--sp-5);font-size:var(--fs-sm);border-bottom:1px solid var(--border-soft);vertical-align:middle}tbody tr{cursor:pointer;transition:background .12s}.tbl-wrap.plain tbody tr{cursor:default}.tbl-wrap.plain tbody tr:hover td{background:0 0}tbody tr:hover td{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:0}td .t1{font-weight:600;display:block}td .t2{font-size:var(--fs-micro);color:var(--text-faint);font-variant-numeric:tabular-nums;margin-top:2px;display:block}.tbl-foot{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-soft);font-size:var(--fs-xs);color:var(--text-muted);display:flex}.tbl-foot .pager{align-items:center;gap:6px;margin-left:auto;display:flex}.prog{font-size:var(--fs-micro);color:var(--text-faint);align-items:center;gap:4px;display:inline-flex}.prog i{background:var(--border);border-radius:50%;width:7px;height:7px;display:block}.prog i.on{background:var(--success)}.spec-bar{gap:var(--sp-5);padding:var(--sp-3) var(--sp-5);flex-wrap:wrap;align-items:center;display:flex}.spec-bar .k{color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.spec-bar .v{font-size:var(--fs-sm);margin-top:3px;font-weight:600}.filters{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;flex-shrink:0;align-items:center;display:flex}.sel,.inp{font:inherit;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:7px 11px}.sel:focus,.inp:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.inp::placeholder{color:var(--text-faint)}.inp.grow{flex:1;min-width:200px}.filters .extra{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.tree{font-size:var(--fs-sm)}.tnode{padding:6px var(--sp-2);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:7px;transition:background .12s;display:flex}.tnode:hover{background:var(--surface-hover)}.tnode.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.tnode .caret{width:14px;height:14px;color:var(--text-faint);flex-shrink:0;place-items:center;display:grid}.tnode .caret svg{width:11px;height:11px}.tnode .caret.open svg{transform:rotate(90deg)}.tnode .kind{color:var(--text-faint);margin-left:auto;font-size:10px;font-weight:400}.tchildren{padding-left:var(--sp-5)}.snap-tree{max-height:60vh;margin:calc(var(--sp-3) * -1) 0;overflow:auto}.snap-line{font-size:var(--fs-sm);color:var(--text);padding:3px 8px;line-height:1.65}.detail-block{padding:var(--sp-4) 0;border-bottom:1px solid var(--border-soft)}.detail-block:last-child{border-bottom:0}.detail-block>.h{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--sp-3);font-size:10px;font-weight:600}.field{margin-bottom:var(--sp-3)}.field label{font-size:var(--fs-micro);color:var(--text-muted);margin-bottom:4px;display:block}.field .inp,.field .sel{width:100%}.kv{gap:var(--sp-2);font-size:var(--fs-xs);padding:4px 0;display:flex}.kv .k{color:var(--text-faint);flex-shrink:0;width:76px}.kv .v{color:var(--text);font-variant-numeric:tabular-nums}.timeline{padding-left:var(--sp-5);position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.tl-item{padding:0 0 var(--sp-4);position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";left:calc(var(--sp-5) * -1 + 2px);background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;position:absolute;top:5px}.tl-item.muted:before{background:var(--text-faint)}.tl-item b{font-size:var(--fs-sm);display:block}.tl-item span{font-size:var(--fs-micro);color:var(--text-faint);margin-top:2px;display:block}.chart-box{position:relative}.chart-box svg{width:100%;display:block;overflow:visible}.chart-grid line{stroke:var(--border-soft);stroke-width:1px}.chart-axis text{fill:var(--text-faint);font-size:10px;font-family:var(--font)}.chart-box svg text{font-family:var(--font)}.donut-total{fill:var(--text);font-size:17px;font-weight:650}.donut-cap{fill:var(--text-faint);font-size:8px}.chart-tip{pointer-events:none;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);font-size:var(--fs-xs);opacity:0;z-index:5;white-space:nowrap;padding:7px 10px;transition:opacity .12s;position:absolute}.chart-tip.on{opacity:1}.chart-tip b{font-variant-numeric:tabular-nums}.chart-tip .lbl{color:var(--text-faint);font-size:10px;display:block}.legend{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.legend .li{font-size:var(--fs-micro);color:var(--text-muted);align-items:center;gap:6px;display:flex}.legend .sw{border-radius:3px;flex-shrink:0;width:9px;height:9px}.matrix-wrap{overflow:auto}.matrix{border-collapse:separate;border-spacing:3px}.matrix th{background:var(--surface);padding:var(--sp-2) 6px;text-transform:none;letter-spacing:0;border:0;font-size:10px}.matrix thead th{z-index:1;position:sticky;top:0}.matrix th.col{writing-mode:vertical-rl;text-align:left;height:78px}.matrix th.rowh{text-align:right;font-size:var(--fs-xs);color:var(--text);text-transform:none;letter-spacing:0;white-space:nowrap;padding-right:var(--sp-3);z-index:2;font-weight:600;position:sticky;left:0}.matrix td{border:0;padding:0}.cell{border-radius:var(--r-sm);border:1px solid var(--border-soft);background:var(--surface-sunken);width:46px;height:30px;font-size:var(--fs-micro);color:var(--text-faint);cursor:pointer;place-items:center;font-weight:700;transition:transform .12s,box-shadow .12s;display:grid}.cell:hover{box-shadow:var(--shadow-md);z-index:2;transform:scale(1.08)}.cell.l1{background:var(--brand-soft);color:var(--brand);border-color:#0000}.cell.l2{background:var(--brand-soft-strong);color:var(--brand);border-color:#0000}.cell.l3{background:var(--brand);color:var(--brand-on);border-color:#0000}.search-hero{gap:var(--sp-2);margin-bottom:var(--sp-5);display:flex}.search-hero .inp{font-size:var(--fs-md);padding:11px var(--sp-4);flex:1}.search-hero .n-input,.search-hero .n-base-selection{flex:1;min-width:200px}.mode-switch{background:var(--surface-hover);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.mode-switch.wrap{flex-wrap:wrap;row-gap:2px;max-width:100%}.mode-switch button{font:inherit;font-size:var(--fs-xs);cursor:pointer;color:var(--text-muted);border-radius:var(--r-sm);background:0 0;border:0;padding:5px 11px}.mode-switch button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.mode-switch button .count{border-radius:var(--r-pill);background:var(--warning-soft);color:var(--warning);margin-left:4px;padding:0 5px;font-size:10px;font-weight:600}.mode-switch button.on .count{background:var(--brand-soft-strong);color:var(--brand)}.hit{align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-soft);display:flex}.hit:last-child{border-bottom:0}.hit .score{text-align:right;width:46px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--brand);flex-shrink:0;font-weight:700}.hit .bar{border-radius:var(--r-pill);background:var(--border-soft);flex-shrink:0;width:84px;height:5px;overflow:hidden}.hit .bar i{background:var(--brand);border-radius:var(--r-pill);height:100%;display:block}.hit .body{flex:1;min-width:0}.hit .body b{font-size:var(--fs-sm);display:block}.hit .body span{font-size:var(--fs-micro);color:var(--text-faint);margin-top:2px;display:block}.scrim{opacity:0;pointer-events:none;z-index:20;background:#0f141e6b;transition:opacity .2s;position:fixed;inset:0}.scrim.on{opacity:1;pointer-events:auto}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(620px,94vw);box-shadow:var(--shadow-lg);z-index:21;flex-direction:column;transition:transform .26s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.on{transform:none}.drawer-head{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);align-items:flex-start;gap:var(--sp-3);display:flex}.drawer-head h3{font-size:var(--fs-lg);margin:0;font-weight:650}.drawer-head .meta{font-size:var(--fs-micro);color:var(--text-faint);gap:var(--sp-2);flex-wrap:wrap;margin-top:5px;display:flex}.drawer-meta{font-size:var(--fs-micro);color:var(--text-faint);margin-bottom:var(--sp-4)}.drawer-body{padding:var(--sp-5) var(--sp-6);flex:1;overflow-y:auto}.drawer-foot{border-top:1px solid var(--border);padding:var(--sp-4) var(--sp-6);gap:var(--sp-2);flex-wrap:wrap;display:flex}.steps{gap:var(--sp-2);margin-bottom:var(--sp-5);display:flex}.step{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken);flex:1}.step.done{border-color:var(--success);background:var(--success-soft)}.step.now{border-color:var(--brand);background:var(--brand-soft)}.step .n{font-size:var(--fs-xs);align-items:center;gap:6px;font-weight:600;display:flex}.step .n .badge{background:var(--border);width:16px;height:16px;color:var(--text-muted);border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid}.step.done .n .badge{background:var(--success);color:var(--surface)}.step.now .n .badge{background:var(--brand);color:var(--brand-on)}.step .d{color:var(--text-faint);margin-top:4px;font-size:10px}.body-text{font-size:var(--fs-xs);color:var(--text-muted);background:var(--surface-sunken);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--sp-4);white-space:pre-wrap;max-height:190px;line-height:1.75;overflow-y:auto}.tag-set{flex-wrap:wrap;gap:6px;display:flex}.swatches{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.sw-item .chip{border-radius:var(--r-md);border:1px solid var(--border);height:44px;margin-bottom:6px}.sw-item .nm{font-size:10px;font-weight:600}.sw-item .vl{color:var(--text-faint);font-family:ui-monospace,monospace;font-size:10px}.scale-row{align-items:baseline;gap:var(--sp-4);border-bottom:1px solid var(--border-soft);padding:7px 0;display:flex}.scale-row:last-child{border-bottom:0}.scale-row .tk{width:100px;color:var(--text-faint);flex-shrink:0;font-family:ui-monospace,monospace;font-size:10px}.empty{text-align:center;padding:var(--sp-5) var(--sp-4);color:var(--text-faint);font-size:var(--fs-xs)}.empty svg{opacity:.4;width:30px;height:30px;margin-bottom:var(--sp-3)}.note{font-size:var(--fs-micro);color:var(--text-faint);margin-top:var(--sp-4);line-height:1.7}code{background:var(--surface-hover);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.94em}.sw-item .vl{word-break:break-all}.diff-stats{gap:var(--sp-2);margin-bottom:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.diff-stat{text-align:center;padding:var(--sp-3);border-radius:var(--r-md)}.diff-stat .v{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:650;line-height:1.1}.diff-stat .l{color:var(--text-muted);margin-top:2px;font-size:10px}.diff-stat.ok{background:var(--success-soft)}.diff-stat.ok .v{color:var(--success)}.diff-stat.bad{background:var(--danger-soft)}.diff-stat.bad .v{color:var(--danger)}.diff-stat.info{background:var(--info-soft)}.diff-stat.info .v{color:var(--info)}.diff-stat.warn{background:var(--warning-soft)}.diff-stat.warn .v{color:var(--warning)}@media (width<=1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3,.g-2-1,.g-1-2{grid-template-columns:minmax(0,1fr)}.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-browse{grid-template-columns:minmax(0,1fr);min-height:0}}@media (width<=900px){.drawer{border-left:0;width:100vw}}@media (width<=860px){.sidebar{display:none}.g2{grid-template-columns:minmax(0,1fr)}.content{padding:var(--sp-3) 0 8px}.content-inner{padding:0 var(--sp-3)}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.n-card{box-shadow:var(--shadow-sm);background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important}.n-card>.n-card-header{border-bottom:1px solid var(--border-soft);padding:var(--sp-4) var(--sp-5)!important}.n-card-header__main{font-size:var(--fs-md)!important;font-weight:600!important}.n-card>.n-card__content{padding:var(--sp-5)!important}.n-card--small-padding>.n-card__content{padding:var(--sp-3) var(--sp-5)!important}.n-button{--n-border-radius:var(--r-sm)!important;--n-height:32px!important;--n-font-size:var(--fs-sm)!important;--n-padding:0 13px!important}.n-button--tiny-type{--n-height:24px!important;--n-font-size:var(--fs-xs)!important;--n-padding:0 9px!important}.n-button--small-type{--n-height:26px!important;--n-font-size:var(--fs-xs)!important;--n-padding:0 9px!important}.n-button--primary-type{font-weight:600}.n-data-table .n-data-table-th{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)!important;background:var(--surface-sunken)!important;font-size:10px!important;font-weight:600!important}.n-data-table .n-data-table-td{font-size:var(--fs-sm)!important}.n-tag{font-weight:600;--n-border-radius:var(--r-pill)!important}.n-input .n-input-wrapper,.n-base-selection{--n-border-radius:var(--r-sm)!important}.n-drawer.n-drawer--right-placement{width:min(620px,94vw)!important}.row-acts b{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:650}html,body{height:100%;margin:0}body{font-family:var(--font);background:var(--surface-sunken);color:var(--text);overflow:hidden}#app{height:100%}a{color:inherit}.panel-scroll{max-height:420px;overflow:auto}.caption{font-size:var(--fs-micro);color:var(--text-faint);margin-top:2px;display:block}
