.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--bg: #0a0d12;--p0: #0e1218;--p1: #121821;--p2: #171e29;--p3: #1f2836;--ln: #252f3d;--ln2: #35425a;--tx: #d3dae5;--dim: #8d99ab;--faint: #77839a;--ac: #3dd6f5;--acd: rgba(61, 214, 245, .14);--acb: rgba(61, 214, 245, .5);--warn: #ffb020;--ok: #4fcf7e;--bad: #ff6a6e;--other: #c39bff;--off: #5b667a;--c1: #8bd3ff;--c2: #4fd1c5;--c3: #7a98ff;--c4: #f2c14e;--c5: #ff9248;--c6: #ff5d7a;--c13: #e0b3ff;--thera: #b6e35a;--shat: #ffb3de;--drift: #e6ebf2;--hs: #6fd4a0;--ls: #d9903f;--ns: #e04f5f;--poch: #e9a8a0;--wh: #9c85ff;--cb: #f06bc0;--da: #26a69a;--re: #d4b36a;--gs: #86d63f;--or: #b9825a;--un: #ffb020;--tk-shield: #5b9cf5;--tk-armor: #cdb68c;--tk-hull: #7c8697;--ui: "Barlow Semi Condensed", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--s-1: 2px;--s-2: 4px;--s-3: 6px;--s-4: 8px;--s-5: 12px;--s-6: 16px;--s-7: 24px;--inset: 18px;--block-w: 176px;--block-pad: 14px;--block-h: 108px;--block-h-scan: 126px;--row-h: 40px;--ctl-h: 28px;--input-h: 30px;--r-ctl: 3px;--r-card: 4px;--r-dlg: 6px}*{box-sizing:border-box}.app{font:13px/1.35 var(--ui);color:var(--tx);background:var(--bg);position:relative;overflow:hidden;-webkit-font-smoothing:antialiased}.app h1,.app h2,.app h3,.app p{margin:0}.m{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--dim)}.faint{color:var(--faint)}.tx{color:var(--tx)}.r{display:flex;align-items:center;gap:8px}.c{display:flex;flex-direction:column}.sp{flex:1;min-width:0}.g2{gap:2px}.g4{gap:4px}.g6{gap:6px}.g12{gap:12px}.g16{gap:16px}.g24{gap:24px}.wrap{flex-wrap:wrap}.top0{align-items:flex-start}.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up{font:600 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 11px;border:1px solid var(--ln2);background:var(--p2);color:var(--tx);border-radius:3px;font:500 12.5px var(--ui);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--p3)}.btn:focus-visible,.in:focus-visible,a:focus-visible{outline:2px solid var(--ac);outline-offset:1px}.btn.pri{background:var(--ac);color:#04161b;border-color:var(--ac);font-weight:600}.btn.dng{color:var(--bad);border-color:#ff6a6e80;background:transparent}.btn.sm{height:22px;padding:0 8px;font-size:11.5px}.btn.ghost{background:transparent;border-color:transparent;color:var(--dim)}.btn.ico{width:28px;padding:0}.btn[disabled]{opacity:.45;cursor:not-allowed}svg.i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.kbd{font:500 10.5px var(--mono);padding:1px 5px;border:1px solid var(--ln2);border-bottom-width:2px;border-radius:3px;color:var(--dim);background:var(--p0)}.top{height:44px;display:flex;align-items:center;gap:14px;padding:0 18px;background:var(--p1);border-bottom:1px solid var(--ln);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:9px;font:700 13px var(--ui);letter-spacing:.24em;color:var(--tx)}.select{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px;border:1px solid var(--ln2);border-radius:3px;background:var(--p0);color:var(--tx);font:500 12.5px var(--ui)}.role{display:inline-flex;align-items:center;height:16px;padding:0 6px;border-radius:2px;font:600 9.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;white-space:nowrap}.role.admin{color:#ffb020}.role.edit{color:var(--ac)}.role.view{color:#8d99ab}.role.own{color:#f2f5fa}.pill{display:flex;white-space:nowrap;min-width:max-content;align-items:center;gap:8px;height:32px;padding:0 10px 0 4px;border:1px solid var(--ln2);border-radius:16px;background:var(--p0)}.pill .nm{font-weight:600;line-height:1.1;font-size:12.5px}.pill .loc{font:10.5px var(--mono);color:var(--dim);line-height:1.1}.pill.track{border-color:var(--acb)}.pill.relog{border-color:#ffb020a6;background:#ffb02014}.pill.off .nm{color:var(--dim)}.av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 9.5px var(--ui);color:#0a0d12;background:hsl(var(--h, 200) 55% 66%);flex:none}.av.sm{width:18px;height:18px;font-size:8px;border:1.5px solid var(--p2)}.av.lg{width:40px;height:40px;font-size:14px}.av.sq{border-radius:3px}.chs{display:flex;margin-left:auto}.chs .av+.av{margin-left:-5px}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}.dot.off{background:#5b667a}.dot.warn{background:var(--warn)}.trk{width:14px;height:14px;color:var(--ac)}.trk.no{color:var(--faint)}.cv{position:absolute;background-color:var(--bg);background-image:radial-gradient(#1c2532 1px,transparent 1.3px);background-size:24px 24px;overflow:hidden}.lvl{position:absolute;top:0;bottom:0;border-left:1px solid var(--ln)}.lvl.f{border-left:0}.lvl.alt{background:#ffffff05}.lvl .lvn{position:absolute;left:12px;top:9px;font:600 11px var(--mono);letter-spacing:.16em;color:var(--faint)}.sys{position:absolute;width:176px;height:108px;padding:14px;background:var(--p2);border:1px solid var(--ln2);border-radius:4px;display:flex;flex-direction:column;gap:4px;color:var(--tx)}.sys:not([style*="position:relative"]){margin-top:-4px}.sys:has(.scn){height:126px}.sys:has(.scn):not([style*="position:relative"]){margin-top:-13px}.sys[style*="height:26px"]{margin-top:0!important}.scn{display:flex;align-items:center;gap:5px;height:14px;font:500 10.5px var(--mono);color:var(--dim);white-space:nowrap}.scn svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;flex:none}.scn.fresh{color:var(--ok)}.scn.stale{color:var(--bad)}.scn.none{color:var(--faint);font-style:italic}.sys .h{display:flex;align-items:center;gap:6px;height:18px}.sys .cls{width:54px;justify-content:center;padding:0}.sys .nm{font:600 13px var(--mono);letter-spacing:-.01em}.sys .lb{font:italic 500 11.5px var(--ui);color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px;height:16px}.sys .st{display:flex;gap:4px;height:18px;align-items:center}.sys .sg{font:500 11px var(--mono);color:var(--dim);display:flex;align-items:center;gap:6px;height:14px}.sys .sg .u{color:var(--un);font-weight:700}.sys .chs{position:absolute;right:14px;top:14px}.sys.hov{border-color:#52647f;background:var(--p3)}.sys.is-selected{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac),0 0 0 5px var(--acd)}.sys.mine{box-shadow:inset 0 -3px 0 var(--ac)}.sys.is-selected.mine{box-shadow:0 0 0 1px var(--ac),0 0 0 5px var(--acd),inset 0 -3px 0 var(--ac)}.sys.other{border-color:var(--other);border-style:dashed}.sys.lock .nm:after{content:""}.tagc{position:absolute;right:12px;top:-8px;display:inline-flex;align-items:center;gap:4px;height:15px;padding:0 5px;border-radius:2px;font:700 9px var(--ui);letter-spacing:.1em;text-transform:uppercase}.tagc.new{background:var(--ok);color:#04170b}.tagc.oth{background:var(--other);color:#150c26}.tagc.lk{color:var(--dim);background:var(--p2);padding:0 4px;border:1px solid var(--ln2)}.cls{display:inline-flex;align-items:center;height:16px;padding:0 5px;border-radius:2px;font:700 10.5px var(--mono);letter-spacing:.03em;color:#0a0d12;background:var(--c);white-space:nowrap}.k-c1{--c: var(--c1)}.k-c2{--c: var(--c2)}.k-c3{--c: var(--c3)}.k-c4{--c: var(--c4)}.k-c5{--c: var(--c5)}.k-c6{--c: var(--c6)}.k-c13{--c: var(--c13)}.k-th{--c: var(--thera)}.k-sh{--c: var(--shat)}.k-dr{--c: var(--drift)}.k-hs{--c: var(--hs)}.k-ls{--c: var(--ls)}.k-ns{--c: var(--ns)}.k-po{--c: var(--poch)}.stat{font:500 10.5px var(--mono);padding:1px 5px;border-radius:2px;background:var(--p0);border:1px solid var(--ln);color:var(--dim);white-space:nowrap}.stat b{font-weight:700;color:var(--c)}.fx{width:13px;height:13px;fill:none;stroke:var(--warn);stroke-width:1.3;stroke-linecap:round;flex:none}.lk{position:absolute;overflow:visible;pointer-events:none}.lk path{fill:none;stroke:#4a5a73;stroke-width:2}.lk.sl path{stroke:var(--ac);stroke-width:2.5}.lk.nw path{stroke:var(--ok);stroke-width:2.5}.lk.nw{filter:drop-shadow(0 0 4px rgba(79,207,126,.6))}.lk.sl{filter:drop-shadow(0 0 4px rgba(61,214,245,.5))}.lk circle{fill:var(--bg);stroke:#4a5a73;stroke-width:2}.lk.sl circle{stroke:var(--ac)}.lk.nw circle{stroke:var(--ok)}.mini{position:absolute;left:18px;bottom:18px;width:200px;height:128px;background:#0e1218eb;border:1px solid var(--ln2);border-radius:3px;overflow:hidden}.mini i{position:absolute;width:12px;height:6px;border-radius:1px;background:var(--c, #5a6a84)}.mini .vp{position:absolute;border:1px solid var(--ac);background:var(--acd)}.zoom{position:absolute;display:flex;flex-direction:column;gap:1px;border:1px solid var(--ln2);border-radius:3px;overflow:hidden}.zoom button{width:30px;height:28px;background:var(--p1);color:var(--tx);border:0;display:grid;place-items:center;cursor:pointer}.menu{position:absolute;width:200px;background:var(--p2);border:1px solid var(--ln2);border-radius:4px;box-shadow:0 10px 30px #0000008c;padding:4px 0;z-index:6}.mi{display:flex;align-items:center;gap:8px;height:27px;padding:0 10px;font-size:12.5px;color:var(--tx)}.mi.hot{background:var(--acd)}.mi .kbd{margin-left:auto}.mi.dg{color:var(--bad)}.msep{height:1px;background:var(--ln);margin:4px 0}.pal{position:absolute;width:560px;background:var(--p2);border:1px solid var(--ln2);border-radius:6px;box-shadow:0 20px 60px #0009;z-index:7;overflow:hidden}.pn{position:absolute;top:44px;right:0;bottom:0;background:var(--p1);border-left:1px solid var(--ln);display:flex;flex-direction:column;overflow:hidden}.pn .hd{padding:18px;border-bottom:1px solid var(--ln);display:flex;flex-direction:column;gap:8px}.sec{display:flex;align-items:center;gap:8px;height:38px;padding:0 18px;font:600 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);background:var(--p0);flex:none}.sec .n{font:500 11px var(--mono);color:var(--faint);letter-spacing:0}.th,.tr{display:grid;grid-template-columns:var(--cols, 62px 96px minmax(0, 1fr) 96px 46px 34px);gap:8px;align-items:center;padding:0 18px;height:40px}.th{font:600 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);height:32px}.tr{border-bottom:1px solid #1a222d;font:12px var(--mono);position:relative}.tr .id{font-weight:500;color:var(--tx)}.tr .nm{font:12.5px var(--ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr .lt{font:11.5px var(--mono);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr .num{text-align:right;color:var(--dim)}.sgb{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--dim)}.sgb i{display:block;width:100%;height:2px;background:var(--ln2);border-radius:1px}.sgb i b{display:block;height:2px;background:var(--dim);border-radius:1px}.cat{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 5px 0 6px;border:1px solid var(--ln2);border-radius:3px;font:500 11.5px var(--ui);background:var(--p0);color:var(--tx);width:max-content}.cat:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}.cat svg{width:9px;height:9px;fill:none;stroke:var(--faint);stroke-width:1.6;margin-left:2px}.ct-wh{--c: var(--wh)}.ct-cb{--c: var(--cb)}.ct-da{--c: var(--da)}.ct-re{--c: var(--re)}.ct-gs{--c: var(--gs)}.ct-or{--c: var(--or)}.ct-un{--c: var(--un)}.tr.part{background:#ffb0200d}.tr.part .id{color:var(--un);font-weight:700}.tr.part .cat{border-style:dashed;border-color:#ffb02099;color:var(--un);background:transparent}.tr.part .cat:before{background:transparent;border:1.5px dashed var(--un);width:8px;height:8px}.tr.new{background:#4fcf7e1c}.tr.new:after{content:"NEW";position:absolute;left:3px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;font:700 7px var(--ui);letter-spacing:.1em;color:var(--ok);margin-left:-8px;display:none}.nw{color:var(--ok);font:700 9px var(--ui);letter-spacing:.1em}.tr.miss .id,.tr.miss .nm,.tr.miss .lt,.tr.miss .num{text-decoration:line-through;color:var(--faint)}.tr.miss{background:#ff6a6e12}.tr.miss .cat{opacity:.55}.chg{box-shadow:0 0 0 1px var(--warn);background:#ffb0202e;border-radius:2px;padding:0 3px;margin:0 -3px;color:var(--tx)}.tr.is-selected{background:var(--acd)}.paste{margin:18px;height:56px;border:1px dashed var(--ln2);border-radius:4px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--dim);font-size:12.5px;background:var(--p0)}.toast{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--p3);border:1px solid var(--ln2);border-radius:4px;box-shadow:0 10px 28px #0000008c;position:relative;overflow:hidden}.toast .bar{position:absolute;left:0;bottom:0;height:2px;background:var(--ac)}.ban{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:3px;border:1px solid;font-size:12.5px}.ban.warn{color:#ffd37a;border-color:#ffb02080;background:#ffb02017}.ban.inf{color:#bfe9f5;border-color:var(--acb);background:var(--acd)}.ban.bad{color:#ffb1b3;border-color:#ff6a6e80;background:#ff6a6e17}.ban.mut{color:var(--dim);border-color:var(--ln2);background:var(--p0)}.note{width:100%;height:84px;background:var(--p0);border:1px solid var(--ln);border-radius:3px;padding:8px 10px;color:var(--tx);font:12.5px/1.45 var(--ui)}.lab{font:600 10.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:5px}.in{height:30px;padding:0 10px;background:var(--p0);border:1px solid var(--ln2);border-radius:3px;color:var(--tx);font:13px var(--ui);width:100%;display:flex;align-items:center}.in.ro{color:var(--dim);background:transparent;border-style:dashed}input[type=checkbox]{accent-color:#3dd6f5;width:15px;height:15px;margin:0}.tg{width:32px;height:18px;border-radius:9px;background:var(--ln2);position:relative;border:0;padding:0;flex:none;cursor:pointer}.tg:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#aab6c8}.tg.on{background:var(--ac)}.tg.on:after{left:17px;background:#04161b}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ln)}.tab{padding:10px 14px;color:var(--dim);border-bottom:2px solid transparent;font-weight:500;font-size:13px;text-decoration:none}.tab.on{color:var(--tx);border-bottom-color:var(--ac)}.dlg{background:var(--p1);border:1px solid var(--ln2);border-radius:6px;box-shadow:0 24px 70px #0009}.card{background:var(--p1);border:1px solid var(--ln);border-radius:4px}.gh,.gr{display:grid;gap:12px;align-items:center;padding:0 14px;min-height:42px;border-bottom:1px solid var(--ln)}.gh{min-height:30px;font:600 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);background:var(--p0)}.gr.lockd{background:#ffffff06}.legend{display:inline-flex;align-items:center;gap:5px;font:500 11.5px var(--ui);color:var(--dim)}.sw{width:44px;height:26px;border-radius:3px;background:var(--c)}.hr{height:1px;background:var(--ln);border:0;margin:0}.tr.exp .id,.tr.exp .nm{color:var(--dim)}.tr.exp .num{color:var(--bad);font-weight:600}.expt{display:inline-block;font:700 8.5px var(--ui);letter-spacing:.1em;color:var(--bad);border:1px solid rgba(255,106,110,.55);border-radius:2px;padding:0 3px;margin-right:5px;vertical-align:1px}.lk.ex path{stroke:var(--bad);stroke-dasharray:6 5}.lkt{position:absolute;transform:translate(-50%,-50%);font:700 9px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--bad);background:var(--bg);border:1px solid rgba(255,106,110,.55);border-radius:2px;padding:1px 5px}.tagc.exp{background:var(--bad);color:#2a0a0b}.fl{position:absolute;left:18px;top:44px;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 10px;background:var(--p2);border:1px solid rgba(255,106,110,.5);border-radius:4px;font-size:12.5px;z-index:3}.brl{position:absolute;font:600 10.5px var(--mono);letter-spacing:.1em;color:var(--faint);white-space:nowrap}.brl b{color:var(--tx);font-weight:700}.tags{position:absolute;right:12px;top:-8px;display:flex;gap:4px}.tags .tagc{position:static}.tagc svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.tagc.pin{background:var(--p3);color:var(--tx);border:1px solid var(--ln2)}.tagc.lkd{background:var(--p3);color:var(--dim);border:1px solid var(--ln2)}.tagc.rem{background:var(--bad);color:#2a0a0b}.tagc.keep{background:var(--p3);color:var(--tx);border:1px solid var(--ln2)}.sys.removing{border-style:dashed;border-color:var(--ln2);background:#ff6a6e12}.sys.removing>*:not(.tags):not(.tagc){opacity:.5}.lkc{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:9px;background:var(--p2);border:1px solid var(--ln2);color:var(--dim);font:600 10.5px var(--mono);white-space:nowrap;z-index:1}.lkc svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.lkc.eol{height:22px;padding:0 9px;border-radius:11px;background:var(--warn);border-color:var(--warn);color:#1d1400;font:700 12px var(--mono)}.lkc.gone{border:1px dashed rgba(255,106,110,.7);color:#ffb1b3;background:var(--bg)}.lkc.est{border-style:dotted;color:var(--tx)}.lkc.gate{background:var(--bg);color:var(--faint);font:600 9.5px var(--ui);letter-spacing:.1em}.lkc.sl{border-color:var(--ac);color:var(--ac);background:var(--bg)}.lkc.nw{border-color:var(--ok);color:var(--ok);background:var(--bg)}.lk.eol path{stroke:var(--warn);stroke-width:4}.lk.gone path{stroke:var(--bad);stroke-dasharray:6 5}.lk.est path{stroke-dasharray:1 6;stroke-linecap:round;stroke-width:2.5;stroke:#7d8da6}.lk.gate path{stroke-width:1;stroke:#6b7b94}.lk.fade path{opacity:.4}.lk.hlr path{stroke:var(--bad);stroke-dasharray:6 5}.ctb{position:absolute;right:18px;top:12px;display:flex;align-items:center;gap:8px;z-index:3}.ctb .hint{font-size:11.5px;color:var(--faint)}.ck{display:flex;align-items:center;justify-content:center}.keepb{display:flex;align-items:center;justify-content:center;color:var(--faint);width:18px;height:18px}.keepb svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.keepb.on{color:var(--tx)}.keepb.on svg{fill:currentColor}.tr.old .id,.tr.old .nm,.tr.old .lt,.tr.old .n1,.tr.old .n2{color:var(--faint)}.tr.old .cat{opacity:.6}.tr.old .num{color:var(--bad)}.tr.sel-r{background:var(--acd)}.nm2{display:flex;flex-direction:column;min-width:0;line-height:1.2}.nm2 .n1{font:12px var(--ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nm2 .n2{font:10.5px var(--mono);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nm2.w .n1{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.narrow .sgb i{display:none}.narrow .sgb{align-items:flex-end}.stub{position:absolute;width:96px;height:44px;background:var(--p2);border:1px solid var(--ln2);border-radius:4px;font:600 11px var(--mono);display:flex;align-items:center;justify-content:center}.strip{position:relative;height:88px;border:1px solid var(--ln);border-radius:4px;background-color:var(--bg);background-image:radial-gradient(#1c2532 1px,transparent 1.3px);background-size:24px 24px;overflow:hidden}.seg{width:max-content;display:inline-flex;border:1px solid var(--ln2);border-radius:3px;overflow:hidden;background:var(--p0)}.seg span{padding:0 12px;height:28px;display:flex;align-items:center;font:500 12px var(--ui);color:var(--dim);border-left:1px solid var(--ln2);white-space:nowrap}.seg span:first-child{border-left:0}.seg .on{background:var(--p3);color:var(--tx)}.seg .on.eol{background:var(--warn);color:#1d1400;font-weight:700}.kv{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--ln);font-size:12.5px;min-height:46px}.kv>span:first-child{color:var(--dim)}.h2{font:600 11px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.bt{font:700 22px var(--ui);color:var(--tx)}.tip{background:var(--p3);border:1px solid var(--ln2);border-radius:4px;padding:10px 12px;box-shadow:0 10px 28px #0000008c;font-size:12px;line-height:1.5;width:max-content}.tip .m{color:var(--dim)}.fl.inf{border-color:var(--acb);top:14px;left:18px}.tchip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border:1px solid var(--ln2);border-radius:3px;color:var(--dim);font:500 11px var(--ui);white-space:nowrap;background:var(--p0)}.tchip svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.stub.pinned{border-color:#9aa7ba}.stub .tg2{font:600 9.5px var(--mono);color:var(--faint);letter-spacing:.1em;line-height:1}.stub .c{align-items:center;gap:3px}.stub.gone{border-style:dashed;opacity:.5}.id{font:500 12px var(--mono);color:var(--dim)}.id b{font:700 16px var(--mono);color:var(--tx);letter-spacing:.03em}.tr.old .id b,.whr.old .id b{color:var(--dim)}.tr.miss .id b{color:var(--faint)}.gh2{display:flex;align-items:center;height:36px;padding:0 18px;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);background:var(--p0);font:600 10px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.gh2 b{color:var(--dim);font:500 11px var(--mono);margin-left:4px;letter-spacing:0}.whr{position:relative;display:flex;gap:14px;padding:16px 18px;border-bottom:1px solid var(--ln)}.whr .lc{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.whr .ra{display:flex;align-items:center;gap:10px;min-height:34px}.whr .rb{display:flex;gap:8px;margin-left:26px;align-items:flex-end}.whr .sid{width:74px;flex:none}.fw{display:flex;flex-direction:column;gap:4px;min-width:0}.fw>label{font:600 9.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.fin{height:30px;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--ln2);background:var(--p0);border-radius:3px;font:600 13px var(--mono);color:var(--tx);white-space:nowrap;overflow:hidden;min-width:0}.fin.ui{font:500 12.5px var(--ui)}.fin .ph{color:var(--faint);font-weight:500}.fin.need{border:1px dashed rgba(255,176,32,.65);background:#ffb0200d}.fin.need .ph{color:#e0a43a}.fin.foc{border-color:var(--ac);box-shadow:0 0 0 3px var(--acd)}.fin .cr{width:1px;height:16px;background:var(--ac);margin-left:1px;animation:none}.fin svg{width:9px;height:9px;fill:none;stroke:var(--faint);stroke-width:1.6;margin-left:auto;flex:none}.fin .dm{color:var(--dim);font-style:italic;font-weight:500}.der{display:flex;align-items:center;gap:6px;height:30px;font:600 13px var(--mono);color:var(--dim);white-space:nowrap}.der .a{color:var(--faint)}.cm{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;border:1px solid var(--ln2);border-radius:3px;font:500 11px var(--mono);color:var(--dim);white-space:nowrap;background:transparent;margin-left:auto}.cm svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.3}.rc{width:64px;flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px}.sn{font:700 22px/1 var(--mono);color:var(--tx)}.sn.fresh{color:var(--ok)}.sn.oldx{color:var(--bad)}.sb{display:flex;align-items:center;gap:6px;font:600 11px var(--mono);color:var(--dim)}.sb .oldt{font:700 8.5px var(--ui);letter-spacing:.1em;color:var(--bad);border:1px solid rgba(255,106,110,.55);border-radius:2px;padding:0 3px}.tk{width:18px;height:18px;fill:none;stroke:var(--ok);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tk circle{stroke-opacity:.45}.pc{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font:600 11px var(--mono);color:var(--un)}.pc i{display:block;width:52px;height:3px;background:var(--ln2);border-radius:2px}.pc i b{display:block;height:3px;background:var(--un);border-radius:2px}.seg.q span{height:30px;padding:0 9px;font-size:11.5px}.seg.q .on.nu{color:var(--faint)}.whr.sel{background:var(--acd)}.whr.del{background:#ff6a6e12}.whr.del .lc{opacity:.55}.whr.old .fin,.whr.old .der{opacity:.8}.str{position:relative;display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--ln)}.str .ra{flex:1;min-width:0}.str.part{background:#ffb0200d}.str.part .id,.str.part .id b{color:var(--un)}.str.part .cat{border-style:dashed;border-color:#ffb02099;color:var(--un);background:transparent}.str.sel{background:var(--acd)}.str.del{background:#ff6a6e12}.str.del .ra{opacity:.55}.str.old .id b{color:var(--dim)}.dd{position:absolute;z-index:6;width:290px;background:var(--p3);border:1px solid var(--ln2);border-radius:4px;box-shadow:0 14px 36px #0009;padding:4px}.ddi{display:flex;align-items:center;gap:10px;height:32px;padding:0 8px;border-radius:3px;font:500 12.5px var(--ui);color:var(--dim)}.ddi b{font:700 13px var(--mono);color:var(--tx);width:48px}.ddi.on{background:var(--acd);color:var(--tx)}.ddf{padding:6px 8px 3px;border-top:1px solid var(--ln2);margin-top:4px;font-size:11px;color:var(--faint);display:flex;gap:10px;align-items:center}.ra{display:flex;align-items:center;gap:10px;min-height:34px}.str .sid{width:74px;flex:none}.dd{width:330px}.ddf{white-space:nowrap}.gh2,.whr,.str,.sec{flex:none}.whr.new,.str.new{background:#4fcf7e1c}.whr.new:after,.str.new:after{content:"NEW";position:absolute;left:0;top:50%;transform:translateY(-50%) rotate(-90deg);font:700 8px var(--ui);letter-spacing:.1em;color:var(--ok);width:18px;text-align:center}.whr.miss,.str.miss{background:#ff6a6e12}.whr.miss .lc,.str.miss .ra,.whr.miss .rc,.str.miss .rc{opacity:.5}.whr.miss .id,.str.miss .id{text-decoration:line-through}.whr.miss:after,.str.miss:after{content:"MISSING";position:absolute;left:-21px;top:50%;transform:translateY(-50%) rotate(-90deg);width:60px;text-align:center;font:700 8px var(--ui);letter-spacing:.1em;color:var(--bad)}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--tx);font:13px/1.35 var(--ui);-webkit-font-smoothing:antialiased}a{color:inherit}img.av{object-fit:cover}a.btn{text-decoration:none}.seg button{padding:0 12px;height:28px;display:flex;align-items:center;font:500 12px var(--ui);color:var(--dim);background:none;border:0;border-left:1px solid var(--ln2);white-space:nowrap;cursor:pointer}.seg button:first-child{border-left:0}.seg button.on{background:var(--p3);color:var(--tx)}.seg button[disabled]{color:var(--faint);cursor:not-allowed}.scrim{position:fixed;inset:0;z-index:20;display:grid;place-items:start center;padding-top:48px;background:#05070a99}select.in{appearance:auto}.tab{background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}.menu .mi{width:100%;background:none;border:0;text-align:left;cursor:pointer}.menu .mi:hover,.menu .mi:focus-visible{background:var(--acd)}.menu .grp{padding:6px 10px 2px}.dlg:focus{outline:none}.settings-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:24px 40px;align-items:start}.scrim{padding:24px 0}.react-flow{--xy-background-color: transparent;--xy-edge-stroke-default: #4a5a73;--xy-controls-button-background-color: var(--p1);--xy-controls-button-background-color-hover: var(--p3);--xy-controls-button-color: var(--tx);--xy-controls-button-border-color: var(--ln2);background:transparent}.react-flow__node-system{cursor:pointer}.react-flow__node .sys{position:relative;margin-top:0!important;height:112px}.sys .systag{position:absolute;left:0;top:-19px;font:600 11px var(--mono);letter-spacing:.08em;color:var(--dim)}.sys.is-selected .systag{color:var(--ac)}.sys .h .chs{margin-left:auto}.sys-handle{width:10px;height:10px;background:var(--p3);border:1px solid var(--ln2);opacity:0}.react-flow__node:hover .sys-handle.connectable{opacity:1}.react-flow__edgelabel-renderer .lkc{position:absolute}.lkx{position:absolute;padding:0 5px;border:1px solid var(--ln2);border-radius:3px;background:var(--bg);font:600 9.5px/14px var(--mono);color:var(--faint);white-space:nowrap;pointer-events:none}.lkx.wait{border:1px dashed var(--warn);color:var(--warn)}.react-flow__minimap{border-radius:3px}.react-flow__controls{border:1px solid var(--ln2);border-radius:3px;box-shadow:none}.react-flow__controls-button svg{fill:currentColor}.pn{position:relative;top:auto;width:clamp(480px,31.25vw,600px);flex:none;overflow-y:auto}.hints{position:absolute;left:50%;bottom:14px;transform:translate(-50%);font-size:11.5px;white-space:nowrap;pointer-events:none}@keyframes toast-countdown{0%{width:100%}to{width:0}}.menu .mi{white-space:nowrap}.sigtable{outline:none}.sigtable .th,.sigtable .tr{--cols: 18px 62px 104px minmax(0, 1fr) 48px 36px 18px}.react-flow__node .sys{height:126px}.cat select{appearance:none;background:none;border:0;color:inherit;font:inherit;padding:0 2px 0 0;cursor:pointer;outline:none}.cat:has(select:focus-visible){outline:2px solid var(--ac)}button.paste{font:inherit;font-size:12.5px}button.paste:hover{border-color:var(--ac);color:var(--tx)}.sig-group+.sig-group{margin-top:6px}.sig-group .th{border-top:1px solid var(--ln)}.th .grp-l{grid-column:span 2;color:var(--tx);white-space:nowrap}.seg-eol .seg button.on{background:var(--warn);color:#1d1400;font-weight:700}.tr.wh .n1{flex-wrap:nowrap;white-space:nowrap}.seg-bad .seg button.on{background:var(--bad);color:#1a0505;font-weight:700}.lkc.crit{background:var(--bad);border-color:var(--bad);color:#1a0505;font-weight:700}.sys.ph{border:1px dashed var(--ln2);background:#141a228c;height:108px}.react-flow__node .sys.ph{height:108px}.sys.ph .nm{color:var(--dim);font-style:italic;font-family:var(--ui)}.sys.ph .nm.sig{color:var(--dim);font-style:normal;font-family:var(--mono)}.sys.ph .nm.sig b{color:var(--tx);font-size:15px;font-weight:700}.sys.ph .lb b{color:var(--tx);font-style:normal}.sys.ph .lb{font-style:normal}.sys.ph .sg{position:absolute;left:14px;right:14px;bottom:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys.ph:not([class*=k-]) .cls{border:1px dashed var(--ln2);color:var(--dim)}.sys .systag .via{color:var(--tx);letter-spacing:.04em}.routes{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 18px 14px;font-size:12.5px}.route{display:inline-flex;align-items:center;gap:7px}.xlinks a{font-size:12px;color:var(--ac);text-decoration:none}.xlinks a:hover{text-decoration:underline}.sguide{flex:none;margin-left:10px;white-space:nowrap}.sguide:empty{display:none}.activity{font:12px var(--mono);color:var(--dim)}.activity .hot{color:var(--bad);font-weight:600}.activity .lastkill{color:var(--dim);text-decoration:none}.activity .lastkill b{color:var(--tx)}.activity .lastkill:hover{color:var(--ac)}.seg.q button{height:30px;padding:0 9px;font-size:11.5px}.seg.q button.on.nu{color:var(--faint)}.seg.q:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.seg.q.eol button.on{background:var(--warn);color:#1d1400;font-weight:700}.seg.q.crit button.on{background:var(--bad);color:#1a0505;font-weight:700}input.fin,select.fin{outline:none}input.fin::placeholder{color:var(--faint);font-weight:500}input.fin.need::placeholder{color:#e0a43a}input.fin:focus,select.fin:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--acd)}select.fin{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);background-position:calc(100% - 13px) 13px,calc(100% - 9px) 13px;background-size:4px 4px;background-repeat:no-repeat;padding-right:22px}.whtype-box{position:relative}.whtype-box .dd{top:34px;left:0}button.cm{cursor:copy}button.cm:hover{border-color:var(--ac);color:var(--tx)}.gh2 .anom{margin-left:auto;margin-right:16px;display:inline-flex;gap:6px;align-items:center;font:500 11.5px var(--ui);letter-spacing:0;text-transform:none;color:var(--dim)}.whr .rb{flex-wrap:wrap}.whr .rb .fw:has(.seg.q){flex:none}.sigtable{container-type:inline-size}.whr .cm.narrow,.whr .brk{display:none}@container (max-width: 719px){.whr .cm.wide{display:none}.whr .cm.narrow{display:inline-flex}.whr .brk{display:block;flex-basis:100%;height:0}.whr .rb,.str .ra{flex-wrap:wrap}.str .nmw{flex-basis:100%;margin-left:26px!important}.seg.q button{padding:0 7px;font-size:11px}}.homes-view{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg)}.hv-bar{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--ln);background:var(--p0);flex:none}.hv-bar h1{font:700 20px var(--ui);margin:0}.hv-bar>.dim{font-size:13px}.hv-addsys{width:230px;justify-content:flex-start;color:var(--dim)}.hv-addsys .kbd{margin-left:auto}.hv-cols{display:flex;gap:16px;padding:16px 18px;flex:1;min-height:0}.hv-col{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--p0);border:1px solid var(--ln);border-radius:4px;border-top:2px solid var(--sc, var(--ln2))}.hv-ch{display:flex;align-items:baseline;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--ln);flex:none}.hv-ch b{font:700 12px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--sc, var(--tx))}.hv-ch .n{font:700 12px var(--mono);color:var(--dim)}.hv-ch .h{margin-left:auto;font-size:12px;color:var(--faint)}.hv-cl{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px;overflow-y:auto}.hv-cd{position:relative;flex:none;display:flex;background:var(--p1);border:1px solid var(--ln);border-radius:4px;overflow:hidden;cursor:pointer}.hv-cd:hover{border-color:var(--ln2)}.hv-cd:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.hv-cd.un{background:transparent;border-style:dashed;border-color:var(--ln2)}.hv-cd.pinned{border-color:var(--acb)}.hv-cd .r1{display:flex;align-items:center;gap:8px}.hv-cd .r1.wrap{flex-wrap:wrap;gap:6px}.hv-cd .nm{font:600 15px var(--mono);color:var(--tx)}.hv-cd .rg{font-size:12px;color:var(--dim);white-space:nowrap}.hv-note{font-size:12.5px}.hv-rail{width:68px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-right:1px solid var(--ln);background:var(--p2)}.hv-rail b{font:700 20px var(--mono);color:var(--tx);letter-spacing:-.02em}.hv-rail span{font:700 8px var(--ui);letter-spacing:.14em;color:var(--faint);text-align:center}.hv-rail.soon b{color:var(--warn)}.hv-rail.un{background:var(--p0)}.hv-rail.un b{color:var(--faint)}.hv-rail.scan,.hv-rail.scan span{color:var(--ac)}.hv-rail.scan svg{fill:none;stroke:currentColor;stroke-width:1.6}.hv-rb{flex:1;min-width:0;padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}.hv-act{position:absolute;top:8px;right:8px;display:flex;gap:6px}.hv-pin,.hv-rm{display:inline-flex;align-items:center;justify-content:center;height:26px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--faint);cursor:pointer}.hv-pin{width:26px}.hv-pin .i,.hv-rm .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.hv-pin:hover:not(:disabled){color:var(--tx);border-color:var(--ln2)}.hv-pin.on{color:var(--ac);background:var(--acd);border-color:var(--acb)}.hv-pin.on .i{fill:currentColor}.hv-pin:disabled{cursor:default}.hv-rm{gap:5px;padding:0 9px 0 7px;border-color:var(--ln2);color:var(--dim);font:500 12px var(--ui)}.hv-rm .i{width:12px;height:12px;stroke-width:1.6;stroke-linecap:round}.hv-rm:hover{color:var(--bad);border-color:var(--bad);background:#ff5a5a14}.hv-wc{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 6px;border:1px solid var(--ln2);border-radius:3px;font:500 11px var(--mono);color:var(--dim);white-space:nowrap}.hv-wc b{font-weight:700;color:var(--c, var(--tx))}.hv-wc.life-fresh,.hv-wc.life-decaying{border-color:var(--ok);background:#4fcf7e1f;color:var(--ok)}.hv-wc.life-eol{border-color:#ffb02073;color:var(--warn);opacity:.8}.hv-wc.life-hour,.hv-wc.life-crit{border-color:#ff6a6e73;color:var(--bad);opacity:.8}.hv-chn{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--ln)}.hv-chh{display:flex;align-items:center;justify-content:space-between}.hv-chh>span:first-child{font:700 9px var(--ui);letter-spacing:.12em;color:var(--faint);text-transform:uppercase}.hv-dp{display:flex;flex-direction:column;gap:6px;width:100%}.hv-dr{display:flex;align-items:baseline;gap:10px}.hv-dn{flex:none;min-width:34px;font:700 10px var(--mono);letter-spacing:.08em;color:var(--faint)}.hv-lk{display:inline-flex;align-items:center;gap:5px;font:600 12px var(--ui);color:var(--ac)}.hv-lk svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hv-lk.mute{color:var(--dim)}.hv-stats{display:flex;border:1px solid var(--ln);border-radius:3px;background:var(--p0)}.hv-stats div{flex:1;padding:6px 10px;display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--ln)}.hv-stats div:first-child{border-left:0}.hv-stats span{font:700 9px var(--ui);letter-spacing:.12em;color:var(--faint);text-transform:uppercase}.hv-stats b{font:700 16px var(--mono);color:var(--tx)}.hv-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.hv-empty b{font:700 18px var(--ui)}.hv-empty .dim{max-width:420px;font-size:13px;line-height:1.5}.hv-emptyi{width:64px;height:64px;display:grid;place-items:center;border:1px dashed var(--ln2);border-radius:6px;font:300 28px var(--ui);color:var(--dim)}.hv-loc{position:absolute;right:0;top:calc(100% + 6px);width:340px;background:var(--p2);border:1px solid var(--ln2);border-radius:6px;box-shadow:0 12px 32px #00000080;z-index:20;overflow:hidden}.hv-loch{padding:10px 14px;border-bottom:1px solid var(--ln);font:700 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.hv-locr{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer}.hv-locr:hover:not(.off),.hv-locr:focus-visible{background:var(--acd)}.hv-locr.off{opacity:.6;cursor:default}.hv-locn{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.hv-locn b{font:600 14px var(--ui)}.hv-locn span{font:500 12px var(--mono);color:var(--tx)}.hv-locn span.warn{font-family:var(--ui);color:#ffd37a}.hv-locadd{font:600 12px var(--ui);color:var(--ac)}.hv-locr .faint{font-size:12px}.hv-locf{padding:10px 14px;border-top:1px solid var(--ln);font-size:12px;color:var(--faint);line-height:1.4}.chainbar{position:absolute;top:12px;left:14px;z-index:5;align-items:center;font-size:13px}.chainhint{position:absolute;top:52px;left:14px;z-index:5;max-width:560px}.sys .sg .wh{color:var(--tx)}.menu .mh{padding:6px 10px 4px;font:600 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.menu .mi[disabled]{opacity:.45;cursor:default}.menu .mi .cls{min-width:46px;justify-content:center}.pn{background:var(--bg);padding:12px;gap:12px}.pn>*,.pn>.sigtable>*{flex:none}.pn>.sigtable{display:flex;flex-direction:column;gap:12px}.box{background:var(--p1);border:1px solid var(--ln);border-radius:6px;overflow:hidden}.box.head{padding:14px 16px 12px}.boxh{display:flex;align-items:center;gap:10px;width:100%;height:46px;padding:0 16px;background:var(--p2);border:0;border-left:2px solid var(--ln2);color:var(--tx);font:700 12.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer}.boxh:hover{background:var(--p3)}.boxh .i{flex:none;color:var(--dim)}.boxh .chev{transition:transform .12s}.box.open .boxh .chev{transform:rotate(90deg)}.box.open .boxh{border-bottom:1px solid var(--ln)}.boxn{min-width:22px;padding:1px 7px;border:1px solid var(--ln2);border-radius:10px;font:500 11px var(--mono);letter-spacing:0;text-align:center;color:var(--tx)}.boxs{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:500 11.5px var(--ui);letter-spacing:0;text-transform:none;color:var(--dim)}.boxs .flag{padding:0 5px;border:1px solid var(--warn);font:600 10px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--warn)}.boxs .age{font:600 11.5px var(--mono);color:var(--ok)}.boxs .age.stale{color:var(--warn)}.box-empty{padding:12px 16px 14px;font-size:12.5px;line-height:1.45}.box .gh2,.colh{height:30px;border-top:0;background:var(--p0);font:600 9.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.colh{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--ln)}.box .whr:last-child,.box .str:last-child{border-bottom:0}.sigtable>.sec{height:32px;padding:0 4px;background:none;border:0;color:var(--tx)}.sigtable>.sec.sel{padding:0 12px;border-radius:6px}.sigbar-last{font:500 11.5px var(--ui);letter-spacing:0;text-transform:none;color:var(--faint)}.sigtable>.paste{margin:0;height:44px}.sigtable>.ban,.sigtable>.card{margin:0!important}.boardline{font-size:12.5px}.boardline>.i{color:var(--ok)}.boardline b{color:var(--tx)}.linkbtn{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;color:var(--ac);cursor:pointer}.linkbtn:hover{text-decoration:underline}.exitw{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;font-size:12px;background:#ffb0200d;border-left:3px solid var(--warn);border-bottom:1px solid var(--ln)}.exitw b{font-weight:600;font-size:13.5px}.exitw .faint b{font-size:inherit;color:var(--tx)}.exitw .sn{align-self:center}.exiti{flex:none;width:30px;height:30px;padding:6px;border:1px dashed var(--warn);fill:none;stroke:var(--warn);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.exitc,.whr .exitt{font:600 9.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.exitc{padding:1px 5px;border:1px solid var(--ln2)}.whr.exit{box-shadow:inset 3px 0 var(--ac)}.whr .exitt{position:absolute;left:7px;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl}.struct{display:grid;grid-template-columns:96px minmax(0,1fr) auto 24px;gap:12px;align-items:center;padding:9px 16px;font-size:12.5px;border-bottom:1px solid var(--ln)}.struct:last-child{border-bottom:0}.struct .stype{display:flex;flex-direction:column;min-width:0}.struct .stype b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.struct .stype span{font-size:11px;color:var(--faint)}.struct .sname{font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tank-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:8px 16px;font:600 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--ln)}.tank-legend span{display:inline-flex;align-items:center;gap:5px}.tank-legend .faint:last-child{letter-spacing:0;text-transform:none;font-weight:500;font-size:11px}.tank-legend i{width:9px;height:9px;border-radius:2px}.t-shield{background:var(--tk-shield)}.t-armor{background:var(--tk-armor)}.t-hull{background:var(--tk-hull)}.ships-h span:first-child{flex:1}.ships-h span:nth-child(2){width:120px;text-align:right}.ships-h span:last-child{width:56px;text-align:right}.ship{border-bottom:1px solid var(--ln);border-left:3px solid transparent}.ship.k-tackle{border-left-color:var(--bad)}.ship.k-logistics,.ship.k-ewar,.ship.k-cloaky,.ship.k-support{border-left-color:var(--warn)}.ship.k-combat{border-left-color:var(--ln2)}.ship.k-harmless .shiph{opacity:.6}.shiph{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px 10px 13px;background:none;border:0;color:inherit;font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.shiph:hover,.ship.open .shiph{background:var(--p2)}.shipm{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.shipm .r{flex-wrap:wrap}.ship .stype-n{font-weight:600;font-size:13.5px}.ship .tl{padding:0 4px;border:1px solid var(--ln2);border-radius:3px;font:500 10px var(--mono);color:var(--dim)}.shipsub{font-size:11.5px;color:var(--dim)}.dmg{padding:0 3px;border:1px solid var(--ln2);border-radius:2px;font:700 9.5px var(--mono);color:var(--tx)}.shipe{width:120px;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.shipe>b{font-size:15px;font-weight:600}.shipe .faint{font-size:11px}.shipsig{width:56px;flex:none;text-align:right;font-size:12px}.tankbar{display:flex;align-items:flex-end;gap:2px;width:110px;height:7px}.tankbar i{height:4px;min-width:3px;border-radius:1px}.tankbar i.bonus{height:7px}.role{padding:0 5px;border:1px solid var(--ln2);border-radius:2px;font:700 9.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.role.r-tackle{border-color:var(--bad);color:var(--bad)}.role.r-logistics,.role.r-ewar,.role.r-cloaky,.role.r-support{border-color:var(--warn);color:var(--warn)}.shipx{display:flex;flex-direction:column;gap:12px;padding:4px 16px 14px 13px;background:var(--p2);font-size:12px}.shipgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;max-width:420px}.shipx .up{font-size:9.5px}.bonuses{display:flex;flex-direction:column;gap:6px}.bonusl{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;line-height:1.4}.shipx .xl{font-size:12px;color:var(--ac);text-decoration:none}.shipx .xl:hover{text-decoration:underline}.dscan-note{padding:10px 16px 12px;font-size:11.5px;line-height:1.45}
