.kbx{--kb-ground:hsl(var(--surface-base));--kb-surface:hsl(var(--surface-elevated));--kb-surface-2:hsl(var(--surface-input));--kb-surface-3:hsl(var(--accent));--kb-hover:hsl(var(--surface-hover));--kb-border:hsl(var(--border));--kb-border-soft:hsl(var(--border-subtle));--kb-border-strong:hsl(var(--muted-foreground)/.45);--kb-text:hsl(var(--foreground));--kb-text-2:hsl(var(--foreground)/.8);--kb-muted:hsl(var(--muted-foreground));--kb-accent:hsl(var(--primary));--kb-accent-ink:hsl(var(--primary-foreground));--kb-accent-soft:hsl(var(--primary)/.12);--kb-ok:#059669;--kb-ok-soft:rgba(16,185,129,.12);--kb-warn:#b45309;--kb-warn-soft:rgba(245,158,11,.14);--kb-crit:#dc2626;--kb-crit-soft:rgba(239,68,68,.1);--kb-g0:#3f6fa8;--kb-g1:#0f7f74;--kb-g2:#7f57a8;--kb-g3:#b1731f;--kb-g4:#5d8434;--kb-g5:#a4526b;--kb-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--kb-shadow-lift:0 25px 50px -12px rgba(0,0,0,.25)}.dark .kbx{--kb-ok:#34d399;--kb-ok-soft:rgba(16,185,129,.15);--kb-warn:#fbbf24;--kb-warn-soft:rgba(245,158,11,.15);--kb-crit:#f87171;--kb-crit-soft:rgba(239,68,68,.15);--kb-g0:#7ba7dc;--kb-g1:#45b8ab;--kb-g2:#b18fdc;--kb-g3:#dfab5c;--kb-g4:#9ac46a;--kb-g5:#d98da3;--kb-shadow:none;--kb-shadow-lift:0 25px 50px -12px rgba(0,0,0,.6)}.kbx{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--kb-ground);color:var(--kb-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.kbx>*{flex-shrink:0}.kbx *,.kbx :after,.kbx :before{box-sizing:border-box}.kbx h1,.kbx h2,.kbx h3,.kbx h4{margin:0;text-wrap:balance;font-weight:600;letter-spacing:-.01em}.kbx button{color:inherit;background:none;border:none;cursor:pointer}.kbx button,.kbx input{font:inherit}.kbx .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.kbx .num{font-variant-numeric:tabular-nums}.kbx :focus-visible{outline:2px solid var(--kb-accent);outline-offset:2px;border-radius:4px}.kbx .main-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 20px 0}.kbx .main-head .ttl{flex:1;min-width:220px}.kbx .main-head h2{font-size:19px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.kbx .badge-adm{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--kb-muted);border:1px solid var(--kb-border);border-radius:6px;padding:2px 7px;font-weight:500}.kbx .btn{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:9px;border:1px solid var(--kb-border);background:var(--kb-surface);color:var(--kb-text-2);font-size:13px;font-weight:500}.kbx .btn:hover{border-color:var(--kb-border-strong);background:var(--kb-hover)}.kbx .btn.pri{background:var(--kb-accent);border-color:var(--kb-accent);color:var(--kb-accent-ink)}.kbx .btn.pri:hover{background:hsl(var(--primary)/.9);border-color:transparent}.kbx .btn.sm{padding:4px 9px;font-size:12px;border-radius:7px}.kbx .btn:disabled{opacity:.45;cursor:not-allowed}.kbx .tabs{position:relative;display:flex;margin:0;padding:4px;border-radius:999px;background:var(--kb-surface-3);width:min(230px,100%);flex:none}.kbx .tab-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--kb-surface);box-shadow:var(--kb-shadow);transition:transform .3s ease-in-out}.kbx .tab{position:relative;z-index:1;flex:1;padding:6px 12px;font-size:13.5px;font-weight:500;color:var(--kb-muted);border-radius:999px;transition:color .2s ease}.kbx .tab:hover{color:var(--kb-text-2)}.kbx .tab[aria-selected=true]{color:var(--kb-text)}.dark .kbx .tabs{background:hsl(var(--surface-elevated))}.dark .kbx .tab-pill{background:hsl(var(--skeleton))}.kbx .pane{animation:kbx-fade .28s ease;padding:16px 20px 22px;flex:1 0 auto}@keyframes kbx-fade{0%{opacity:0}to{opacity:1}}.kbx .strip{display:flex;flex-wrap:wrap;align-items:stretch;gap:1px;background:var(--kb-border-soft);border:1px solid var(--kb-border-soft);border-radius:11px;overflow:hidden;margin:14px 20px 0}.kbx .strip .cell{background:var(--kb-surface);padding:10px 14px;flex:1;min-width:132px;text-align:left}.kbx .strip button.cell{cursor:pointer}.kbx .strip .cell.act{flex:0 0 auto;min-width:0;display:flex;align-items:center;justify-content:center}.kbx .strip button.cell:hover{background:var(--kb-hover)}.kbx .upbar{flex:0 0 100%;display:flex;flex-direction:column;gap:8px;margin-top:-3px;animation:kbx-fade .28s ease}.kbx .upjob{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;max-width:520px}.kbx .upjob .uptxt{display:flex;align-items:baseline;gap:8px;min-width:0;text-align:left;padding:0}.kbx .upjob .upt{font-size:12.5px;font-weight:600;color:var(--kb-text);flex:none;max-width:60%}.kbx .upjob .upd,.kbx .upjob .upt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbx .upjob .upd{font-size:12px;color:var(--kb-muted);min-width:0}.kbx .upjob .uptxt:hover .upt{color:var(--kb-accent)}.kbx .upjob .upx{font-size:11px;color:var(--kb-muted);padding:0 2px;line-height:1}.kbx .upjob .upx:hover{color:var(--kb-text)}.kbx .upjob .track{grid-column:1/-1;height:4px;border-radius:999px;background:var(--kb-surface-3);overflow:hidden}.kbx .upjob .fill{height:100%;border-radius:999px;background:var(--kb-accent);transition:width .5s ease}.kbx .upjob.run .fill{background-image:linear-gradient(90deg,transparent,hsla(0,0%,100%,.35) 50%,transparent);background-size:200% 100%;animation:kbx-flow 1.6s linear infinite}.kbx .upjob.done .fill{background-color:var(--kb-ok)}.kbx .upjob.done .upd{color:var(--kb-ok)}.kbx .upjob.bad .fill{background-color:var(--kb-crit)}.kbx .upjob.bad .upd{color:var(--kb-crit)}@keyframes kbx-flow{0%{background-position:100% 0}to{background-position:-100% 0}}.kbx .strip .k{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--kb-muted)}.kbx .strip .v{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:2px}.kbx .strip .v small{font-size:12px;font-weight:500;color:var(--kb-muted);margin-left:5px;letter-spacing:0}.kbx .seg{display:flex;border:1px solid var(--kb-border);border-radius:9px;overflow:hidden}.kbx .seg button{padding:6px 11px;font-size:12.5px;color:var(--kb-muted);background:var(--kb-surface-2)}.kbx .seg button[aria-pressed=true]{background:var(--kb-accent-soft);color:var(--kb-accent);font-weight:500}.kbx .lchips{display:flex;flex-wrap:wrap;gap:4px}.kbx .chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--kb-surface-2);border:1px solid var(--kb-border-soft);color:var(--kb-text-2);white-space:nowrap}.kbx .chip.bare{color:var(--kb-warn);background:var(--kb-warn-soft);border-color:transparent}.kbx .dot{width:8px;height:8px;border-radius:3px;flex:none}.kbx .links-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.kbx .panel{border:1px solid var(--kb-border);border-radius:11px;background:var(--kb-surface);overflow:hidden}.kbx .panel-head{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--kb-border-soft);background:var(--kb-surface-2)}.kbx .panel-head h3{font-size:13.5px;flex:1;min-width:140px}.kbx .panel-head .hint{font-size:12px;color:var(--kb-muted)}.kbx .panel-body{padding:13px}.kbx .mwrap{overflow-x:auto}.kbx .glist{display:flex;flex-direction:column;border:1px solid var(--kb-border-soft);border-radius:10px;overflow:hidden}.kbx .grow{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--kb-surface);border-bottom:1px solid var(--kb-border-soft);text-align:left;width:100%}.kbx .grow:last-child{border-bottom:none}.kbx .grow:hover{background:var(--kb-hover)}.kbx .grow .gn:hover{text-decoration:underline;text-underline-offset:3px}.kbx .grow .gn{flex:1;cursor:pointer;min-width:0;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbx .grow .gc{font-size:13px;color:var(--kb-muted);white-space:nowrap}.kbx .grow[aria-pressed=true]{background:var(--kb-accent-soft)}.kbx .mtools{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px}.kbx .btn.rev{padding:5px 8px}.kbx .btn.rev[aria-pressed=true]{background:var(--kb-accent-soft);border-color:transparent;color:var(--kb-accent)}.kbx table.matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:640px;font-size:13px}.kbx table.matrix td,.kbx table.matrix th{padding:7px 8px;border-bottom:1px solid var(--kb-border-soft);text-align:center;font-size:13px}.kbx table.matrix td.lead,.kbx table.matrix th.lead{text-align:left;position:sticky;left:0;background:var(--kb-surface);z-index:1;min-width:236px}.kbx table.matrix th.lead{vertical-align:bottom;padding-bottom:10px;color:var(--kb-muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.kbx table.matrix td.lead{font-size:14px;color:var(--kb-text)}.kbx table.matrix thead th{width:116px;font-weight:600;vertical-align:bottom;line-height:1.3;padding-bottom:10px;text-align:center}.kbx table.matrix thead th .gname{display:block;font-size:12px;width:112px;margin:0 auto;text-align:center;color:var(--kb-text-2)}.kbx table.matrix tbody tr:hover td,.kbx table.matrix tbody tr:hover td.lead{background:var(--kb-hover)}.kbx table.matrix tr.flash td{animation:kbx-flash 1.4s ease}@keyframes kbx-flash{0%{background:var(--kb-accent-soft)}to{background:transparent}}.kbx .cellbox{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--kb-border-strong);display:inline-flex;align-items:center;justify-content:center;background:var(--kb-surface);transition:all .12s ease;cursor:pointer}.kbx .cellbox svg{width:12px;height:12px;opacity:0;color:#fff}.kbx .cellbox.on svg{opacity:1}.kbx .cellbox.changed{box-shadow:0 0 0 3px var(--kb-accent-soft)}.kbx .lead-dom{display:flex;align-items:center;gap:8px;white-space:nowrap}.kbx .sw{width:30px;height:17px;border-radius:999px;background:hsl(var(--muted-foreground)/.4);position:relative;flex:none;border:1px solid transparent;transition:background .15s ease,border-color .15s ease;cursor:pointer}.kbx .sw i{position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;transition:transform .15s ease,background .15s ease;display:block}.kbx .sw[aria-checked=true]{background:var(--kb-accent);border-color:var(--kb-accent)}.kbx .sw[aria-checked=true] i{transform:translateX(13px);background:#fff}.kbx .sw[aria-disabled=true]{opacity:.5;cursor:progress}.kbx tr.off .lead-dom .n,.kbx tr.off .lead-dom .nm{opacity:.45}.kbx tr.off .cellbox{opacity:.4}.kbx .btag{font-size:11px;color:var(--kb-muted);border:1px solid var(--kb-border);padding:1px 7px;border-radius:999px;white-space:nowrap}.kbx .grow.off .gc,.kbx .grow.off .gn{opacity:.45}.kbx .off-tag{font-size:11px;color:var(--kb-muted);background:var(--kb-surface-3);padding:1px 6px;border-radius:5px}.kbx .dr-switch{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--kb-border);border-radius:10px;background:var(--kb-surface-2)}.kbx .dr-switch .t{flex:1;min-width:0;font-size:13px}.kbx .dr-switch .d{font-size:11.5px;color:var(--kb-muted);margin-top:2px}.kbx .lead-dom .nm{font-size:14px;font-weight:500;color:var(--kb-text);cursor:pointer}.kbx .lead-dom .nm:hover{text-decoration:underline;text-underline-offset:3px}.kbx .lead-dom .n{font-size:12px;color:var(--kb-muted);white-space:nowrap}.kbx .idot{width:7px;height:7px;border-radius:50%;background:var(--kb-ok);flex:none}.kbx .idot.busy{background:var(--kb-warn);box-shadow:0 0 0 3px var(--kb-warn-soft)}.kbx .orphan{font-size:11px;color:var(--kb-warn);background:var(--kb-warn-soft);padding:1px 6px;border-radius:5px}.kbx .draft{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 13px;border-top:1px solid var(--kb-border-soft);background:var(--kb-surface-2)}.kbx .draft .txt{flex:1;min-width:180px;font-size:12.5px;color:var(--kb-muted)}.kbx .draft .txt b{color:var(--kb-text-2)}.kbx .draft .txt .err{color:var(--kb-crit)}.kbx .graphwrap{position:relative}.kbx svg.graph{width:100%;max-width:100%;height:auto;display:block;margin:0 auto}.kbx svg.graph .dim{opacity:.1}.kbx svg.graph .edge{transition:opacity .15s ease}.kbx svg.graph .node text{paint-order:stroke;stroke:var(--kb-surface);stroke-width:3.5px;stroke-linejoin:round}.kbx .legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.kbx .legend button{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;padding:6px 13px;border-radius:999px;border:1px solid var(--kb-border);background:var(--kb-surface-2);color:var(--kb-text-2)}.kbx .legend .dot{width:10px;height:10px}.kbx .legend .chip{font-size:14.5px;font-weight:500;padding:6px 13px;gap:8px}.kbx .legend button:hover{border-color:var(--kb-border-strong)}.kbx .legend button[aria-pressed=true]{border-color:currentColor}.kbx .scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}.kbx .drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--kb-surface);z-index:50;border-left:1px solid var(--kb-border);box-shadow:var(--kb-shadow-lift);display:flex;flex-direction:column}.kbx .dr-head{display:flex;align-items:flex-start;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--kb-border-soft)}.kbx .dr-head h3{font-size:16px}.kbx .dr-head .slug{font-size:12px;color:var(--kb-muted);margin-top:2px}.kbx .dr-body{flex:1;overflow-y:auto;padding:14px 18px 20px;display:flex;flex-direction:column;gap:16px}.kbx .kv{display:grid;grid-template-columns:136px minmax(0,1fr);gap:7px 10px;font-size:12.5px;margin:0}.kbx .kv dt{color:var(--kb-muted)}.kbx .kv dd{margin:0;color:var(--kb-text-2);word-break:break-all}.kbx .sec-t{margin-bottom:7px}.kbx .sec-t,.kbx .sec-toggle{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--kb-muted)}.kbx .sec-toggle{display:flex;align-items:center;gap:7px;width:100%;padding:0 0 7px;text-align:left}.kbx .sec-toggle:hover{color:var(--kb-text-2)}.kbx .sec-toggle .chev{flex:none;transition:transform .18s ease}.kbx .sec-toggle[aria-expanded=true] .chev{transform:rotate(90deg)}.kbx .file .sz{font-size:11px;color:var(--kb-muted);white-space:nowrap}.kbx .filelist{display:flex;flex-direction:column;gap:1px;border:1px solid var(--kb-border-soft);border-radius:9px;overflow:hidden}.kbx .file{display:flex;align-items:center;gap:9px;padding:8px 10px;background:var(--kb-surface-2);font-size:12.5px}.kbx .file .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--kb-text-2)}.kbx .file .st{font-size:11px;color:var(--kb-ok)}.kbx .file .st.busy{color:var(--kb-warn)}.kbx .file .st.bad{color:var(--kb-crit)}.kbx .dr-foot{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px;border-top:1px solid var(--kb-border-soft);background:var(--kb-surface-2)}.kbx .danger{color:var(--kb-crit);border-color:transparent;background:var(--kb-crit-soft)}.kbx .note{font-size:12.5px;color:var(--kb-text-2);background:var(--kb-accent-soft);border-radius:9px;padding:9px 11px}.kbx .note.err{color:var(--kb-crit);background:var(--kb-crit-soft)}.kbx .modal{position:fixed;z-index:50;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));background:hsl(var(--surface-overlay));border:1px solid var(--kb-border);border-radius:12px;box-shadow:var(--kb-shadow-lift);display:flex;flex-direction:column;max-height:min(86vh,720px)}.kbx .md-head{padding:16px 18px 10px;border-bottom:1px solid var(--kb-border-soft)}.kbx .md-head h3{font-size:16px}.kbx .steps{display:flex;gap:6px;margin-top:11px}.kbx .steps i{flex:1;height:3px;border-radius:2px;background:var(--kb-surface-3)}.kbx .steps i.on{background:var(--kb-accent)}.kbx .md-body{padding:15px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.kbx .md-body>p{margin:0}.kbx .field label,.kbx .md-body>p{font-size:12.5px;color:var(--kb-muted)}.kbx .field label{display:block;margin-bottom:5px}.kbx .field input{width:100%;padding:8px 11px;border:1px solid var(--kb-border);border-radius:9px;background:var(--kb-surface-2);color:var(--kb-text);outline:none}.kbx .field input:focus{border-color:var(--kb-accent)}.kbx .field input[readonly]{color:var(--kb-muted);cursor:default}.kbx .field input[readonly]:focus{border-color:var(--kb-border)}.kbx .field .help{font-size:11.5px;color:var(--kb-muted);margin-top:5px}.kbx .pick{display:flex;flex-wrap:wrap;gap:7px}.kbx .pick button{font-size:12.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--kb-border);background:var(--kb-surface-2);color:var(--kb-text-2);display:inline-flex;align-items:center;gap:6px}.kbx .pick button[aria-pressed=true]{border-color:currentColor;background:var(--kb-surface-3)}.kbx .pick button:disabled{opacity:.45;cursor:not-allowed}.kbx .kindpick button{padding:7px 13px}.kbx .drop{border:1px dashed var(--kb-border-strong);border-radius:11px;padding:22px;text-align:center;color:var(--kb-muted);font-size:12.5px;background:var(--kb-surface-2);cursor:pointer}.kbx .drop.over{border-color:var(--kb-accent);background:var(--kb-accent-soft)}.kbx .md-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--kb-border-soft);background:var(--kb-surface-2)}.kbx .sk{display:block;flex:none;border-radius:6px;background:hsl(var(--skeleton));animation:kbx-pulse 1.6s ease-in-out infinite}.kbx .skrow{display:flex;align-items:center;gap:10px;padding:9px 8px;overflow:hidden;border-bottom:1px solid var(--kb-border-soft)}.kbx .skrow:last-child{border-bottom:none}.kbx .skfill{flex:1;min-width:0}.kbx .skhead{padding-top:14px;padding-bottom:10px}.kbx .skhead .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--kb-muted)}.dark .kbx .sk{background:hsl(var(--foreground)/.08)}.kbx .skcell{width:96px;display:flex;justify-content:center;flex:none}@keyframes kbx-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (max-width:620px){.kbx .strip{margin:14px 12px 0}.kbx .pane{padding:16px 12px 22px}}@media (prefers-reduced-motion:reduce){.kbx *,.kbx :after,.kbx :before{transition:none!important;animation:none!important}}.kbx .del{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;color:var(--kb-muted);opacity:0;transition:opacity .12s ease}.kbx .del:focus-visible,.kbx .file:hover .del,.kbx .grow:hover .del{opacity:1}.kbx .del:hover{color:var(--kb-crit);background:var(--kb-crit-soft)}.kbx .del:disabled{opacity:0;pointer-events:none}@media (hover:none){.kbx .del{opacity:1}}.kbx .file.confirm{background:var(--kb-crit-soft)}.kbx .file.confirm .nm{color:var(--kb-text)}.kbx .grow .gpick{flex:1;min-width:0;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;color:inherit}.kbx .chip.pick{cursor:pointer}.kbx .chip.pick:hover{border-color:var(--kb-border-strong)}.kbx .chip.pick[aria-pressed=true]{background:var(--kb-accent-soft);border-color:transparent;color:var(--kb-text)}.kbx .chip.pick[aria-pressed=false] .dot{opacity:.35}.kbx .links-edit{display:flex;flex-direction:column;gap:9px}.kbx .links-edit .bar{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--kb-muted)}.kbx .links-edit .bar .sp{flex:1}