.zoom-controls{display:flex;align-items:center;gap:var(--space-1);height:var(--control-height);background-color:var(--color-button-bg);border:1px solid var(--color-control-btn-border);border-radius:var(--radius);padding:var(--pill-pad)}.zoom-btn{display:flex;align-items:center;justify-content:center;width:var(--control-inner);height:var(--control-inner);background:transparent;border:none;border-radius:var(--radius-inner);color:var(--color-button-text-hover);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.zoom-btn:hover:not(:disabled){background-color:var(--color-button-hover);color:var(--color-button-text-hover)}.zoom-btn:active:not(:disabled){background-color:var(--color-button-active)}.zoom-btn:disabled{color:var(--color-button-text-hover);cursor:not-allowed}.zoom-btn:focus-visible{outline:2px solid var(--color-button-accent);outline-offset:1px}.zoom-btn--active{color:var(--color-button-accent)}.zoom-level{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-weight-bold);color:var(--color-button-text-hover);min-width:42px;text-align:center;-webkit-user-select:none;user-select:none;background:transparent;border:none;border-radius:var(--radius-inner);cursor:pointer;height:var(--control-inner);transition:background-color var(--transition-fast),color var(--transition-fast)}.zoom-level:hover:not(:disabled){background-color:var(--color-button-hover);color:var(--color-button-text-hover)}.zoom-level:active:not(:disabled){background-color:var(--color-button-active)}.zoom-level:disabled{opacity:.3;cursor:not-allowed}.zoom-divider{width:2px;height:18px;background-color:var(--color-button-divider);margin:0 var(--space-1)}.size-controls{display:flex;align-items:center;gap:var(--space-1);height:var(--control-height);background-color:var(--color-button-bg);border:1px solid var(--color-control-btn-border);border-radius:var(--radius);padding:var(--pill-pad)}.size-toggle-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);height:var(--control-inner);min-width:var(--control-inner);padding:0 var(--space-2);background:transparent;border:none;border-radius:var(--radius-inner);color:var(--color-button-text-hover);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.size-toggle-btn:hover:not(:disabled){background-color:var(--color-button-hover);color:var(--color-button-text-hover)}.size-toggle-btn:active:not(:disabled){background-color:var(--color-button-active)}.size-toggle-btn:disabled{color:var(--color-button-text-hover);cursor:not-allowed}.size-toggle-btn:focus-visible{outline:2px solid var(--color-button-accent);outline-offset:1px}.size-toggle-icon{flex-shrink:0}.size-toggle-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-weight-bold);line-height:1}.size-divider{width:2px;height:18px;background-color:var(--color-button-divider);margin:0 var(--space-1)}.pane{display:flex;flex-direction:column;position:relative;height:100%;background-color:var(--color-pane-bg, var(--color-bg-primary));border:1px solid var(--pane-border-color, transparent);border-radius:var(--pane-border-radius);overflow:hidden}.pane--focused{box-shadow:inset 0 0 0 2px var(--pane-accent, var(--color-node-selected))}.pane-header{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);position:absolute;top:1.1rem;left:0;right:0;padding:0 1.1rem;z-index:10;pointer-events:none}.pane-header-left,.pane-header-right{display:flex;align-items:center;gap:var(--space-2);pointer-events:auto}.pane-header-left{margin-right:auto}.pane-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);position:absolute;bottom:.366rem;left:0;right:0;height:55px;padding:0 1.1rem;background-color:transparent;z-index:10;pointer-events:none}.pane-footer-left,.pane-footer-right{display:flex;align-items:center;gap:var(--space-2);pointer-events:auto}.pane-content{flex:1;overflow:auto;position:relative}.pane-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-4)}.pane-empty-text{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.pane-visualization{width:100%;height:100%;position:absolute;top:0;left:0}.pane-visualization svg{display:block;width:100%;height:100%}.nodelink-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.nodelink-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:grab}.nodelink-overlay:active{cursor:grabbing}.pane-visualization:focus{outline:2px solid var(--color-node-selected);outline-offset:-2px}.pane-visualization:focus:not(:focus-visible){outline:none}.nodelink-lasso-group .lasso-path{fill:var(--color-node-selected);fill-opacity:.08;stroke:var(--color-node-selected);stroke-width:1;stroke-dasharray:4 2;stroke-linejoin:round}.size-toggle-btn--on{background-color:var(--color-button-text-hover);color:var(--color-bg-primary)}.size-toggle-btn--on:hover{background-color:var(--color-button-text-hover);color:var(--color-bg-primary);filter:brightness(1.15)}.matrixfabric-host{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.matrixfabric-svg{display:block;width:100%;height:100%}.matrixfabric-header-controls{display:flex;align-items:center;gap:var(--space-2)}.matrixfabric-view-toggle{display:inline-flex;align-items:center;gap:1px;padding:2px;border:1px solid var(--color-control-border, var(--color-fabric-axis));border-radius:999px;background:var(--color-control-bg, var(--color-pane-bg));box-shadow:var(--shadow-control, 0 1px 3px rgba(0, 0, 0, .12))}.matrixfabric-view-toggle button{border:0;border-radius:999px;padding:.35rem .7rem;color:var(--color-text-secondary);background:transparent;font:inherit;font-size:var(--text-xs, .72rem);line-height:1.1;white-space:nowrap;cursor:pointer}.matrixfabric-view-toggle button:hover,.matrixfabric-view-toggle button:focus-visible{color:var(--color-text-primary);outline:none;background:var(--color-bg-secondary, rgba(0, 0, 0, .05))}.matrixfabric-view-toggle button.is-active{color:var(--color-text-on-accent, #fff);background:var(--pane-accent, var(--color-accent-adjmatrix))}.mf-comparison-view{width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:4.75rem 1.25rem 5.25rem;color:var(--color-text-primary)}.mf-comparison-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;min-height:2.1rem;padding:.35rem .55rem;border:1px solid var(--color-control-border, var(--color-fabric-axis));border-radius:var(--pane-border-radius, .5rem);background:color-mix(in srgb,var(--color-pane-bg, #fff) 94%,transparent);box-shadow:0 2px 8px #00000014;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.mf-comparison-toolbar-label{font-size:var(--text-sm, .8rem);font-weight:650;white-space:nowrap}.mf-comparison-toolbar-help{color:var(--color-text-secondary);font-size:var(--text-xs, .72rem);white-space:nowrap}.mf-comparison-size-control{display:inline-flex;align-items:center;gap:.2rem;margin-left:auto;color:var(--color-text-secondary);font-size:var(--text-xs, .72rem);white-space:nowrap}.mf-comparison-size-control input[type=range]{width:9rem;margin:0;accent-color:var(--pane-accent, var(--color-accent-adjmatrix))}.mf-comparison-size-control output{min-width:3.4rem;color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:right}.mf-comparison-group{margin-top:1.15rem}.mf-comparison-group h3{margin:0 0 .55rem;color:var(--color-text-secondary);font-size:var(--text-xs, .72rem);font-weight:700;letter-spacing:.055em;text-transform:uppercase}.mf-comparison-grid{display:grid;grid-template-columns:repeat(auto-fill,var(--mf-tile-size));align-items:start;justify-content:start;gap:.75rem}.mf-comparison-item{width:var(--mf-tile-size);min-width:var(--mf-tile-size)}.mf-comparison-tile-header{display:flex;flex-direction:column;justify-content:flex-end;height:4.4rem;min-height:4.4rem;margin-bottom:.4rem;overflow:hidden}.mf-comparison-tile{position:relative;width:var(--mf-tile-size);height:var(--mf-tile-size);min-width:var(--mf-tile-size);min-height:var(--mf-tile-size);box-sizing:border-box;overflow:hidden;outline:1px solid var(--color-control-border, var(--color-fabric-axis));outline-offset:-1px;border-radius:0;background:var(--color-pane-bg, #fff);box-shadow:0 1px 3px #00000014}.mf-comparison-tile.is-active{outline-color:var(--pane-accent, var(--color-accent-adjmatrix));box-shadow:0 0 0 2px color-mix(in srgb,var(--pane-accent, #777) 28%,transparent)}.mf-comparison-tile-button{position:absolute;z-index:2;top:0;right:0;left:0;bottom:0;display:flex;flex-direction:column;width:100%;height:100%;border:0;padding:0;color:transparent;background:transparent;text-align:left;cursor:pointer}.mf-comparison-tile-button:hover,.mf-comparison-tile-button:focus-visible{background:transparent;outline:2px solid color-mix(in srgb,var(--pane-accent, #777) 70%,transparent);outline-offset:-2px}.mf-comparison-tile-title{display:-webkit-box;overflow:hidden;font-size:var(--text-sm, .8rem);font-weight:650;text-overflow:ellipsis;line-height:1.15;line-clamp:3;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mf-comparison-tile-meta{color:var(--color-text-secondary);font-size:var(--text-xs, .68rem);line-height:1.15}.mf-comparison-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;background:var(--color-pane-bg, #fff)}.mf-comparison-canvas,.mf-comparison-canvas-placeholder{display:block;image-rendering:pixelated}.mf-comparison-canvas{width:100%;height:100%}.mf-comparison-canvas-placeholder{min-width:2rem;min-height:2rem;background:linear-gradient(135deg,transparent 48%,var(--color-fabric-axis) 49%,transparent 51%);opacity:.35}.mf-axis{stroke:var(--color-fabric-axis);stroke-width:var(--mf-axis-w, 1);stroke-opacity:var(--mf-axis-opacity, 1);vector-effect:non-scaling-stroke}.mf-root.is-bare .mf-axis{display:none}.mf-segment{stroke:var(--color-fabric-mark);stroke-width:var(--mf-segment-w, 1.2);vector-effect:non-scaling-stroke;cursor:pointer}.mf-dot{fill:var(--color-fabric-mark);r:var(--mf-dot-r);cursor:pointer}.mf-axis.is-node-selected{stroke:var(--color-sel-c);stroke-width:calc(var(--mf-axis-w, 1) * 1.6);stroke-opacity:1}.mf-axis.is-edge-selected{stroke:var(--color-sel-m);stroke-width:calc(var(--mf-axis-w, 1) * 1.6);stroke-opacity:1}.mf-segment.is-edge-selected{stroke:var(--color-sel-m);stroke-width:calc(var(--mf-segment-w, 1.2) * 1.5)}.mf-dot.is-node-selected{fill:var(--color-sel-c)}.mf-dot.is-edge-selected{fill:var(--color-sel-m)}.mf-dot.is-carried{fill:var(--color-sel-y)}.mf-band{pointer-events:none;fill-opacity:.18}.mf-band--node{fill:var(--color-sel-c)}.mf-band--edge{fill:var(--color-sel-m)}.mf-dimmed,.is-dimmed{opacity:.15}.matrixfabric-lasso-group .lasso-path{fill:var(--color-node-selected);fill-opacity:.08;stroke:var(--color-node-selected);stroke-width:1;stroke-dasharray:4 2;pointer-events:none}.control-group{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.selection-group .selection-pill{flex:0 0 var(--selection-pill-width);width:var(--selection-pill-width)}.selection-group .selection-badge-clear{flex:0 0 var(--control-height)}.control-slider-wrap{display:flex;align-items:center;height:var(--control-inner);padding:0 var(--space-2)}.control-range{width:60px;height:var(--control-inner);margin:0;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.control-range::-webkit-slider-runnable-track{height:2px;background:var(--color-button-text-hover);border-radius:1px}.control-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:11px;height:11px;border-radius:50%;background:var(--color-button-text-hover);margin-top:-4.5px}.control-range::-moz-range-track{height:2px;background:var(--color-button-text-hover);border-radius:1px}.control-range::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--color-button-text-hover);border:none}.control-label{display:inline-block;height:var(--control-height);line-height:var(--control-height);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-label-text);text-transform:uppercase;letter-spacing:.05em}.control-select{font-family:var(--font-sans);font-size:var(--text-base);height:var(--control-height);padding:0 var(--space-3);padding-right:var(--space-8);width:15em;background-color:var(--color-button-bg);color:var(--color-button-text-hover);font-weight:var(--font-weight-medium);border:1px solid var(--color-control-btn-border);border-radius:var(--radius);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%238b949e' d='M3 5.5L8 11L13 5.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.control-select:focus{outline:none}.control-select:disabled{opacity:.5;cursor:not-allowed}.selection-badge{display:inline-flex;align-items:center;justify-content:flex-end;flex:0 0 var(--selection-badge-width);font-family:var(--font-sans);font-size:var(--text-base);height:var(--control-height);width:var(--selection-badge-width);padding:0 var(--space-3);border:1px solid var(--color-control-btn-border);border-radius:var(--radius);background-color:var(--color-button-bg);color:var(--color-button-text-hover);white-space:nowrap;text-align:right}.selection-total{display:inline-block;flex:0 0 var(--selection-total-width);height:var(--control-height);line-height:var(--control-height);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-secondary);white-space:nowrap}.selection-badge-clear{display:flex;align-items:center;justify-content:center;width:var(--control-height);height:var(--control-height);border:1px solid var(--color-control-btn-border);border-radius:var(--radius);padding:0;cursor:pointer;background-color:var(--color-button-bg);color:var(--color-button-text-hover);transition:background-color var(--transition-fast),color var(--transition-fast)}.selection-badge-clear:disabled{cursor:default}.selection-badge-clear:not(:disabled):hover{filter:brightness(.9)}.selection-badge-clear:not(:disabled):active{filter:brightness(.82)}.selection-badge-clear:focus-visible{outline:2px solid var(--color-button-accent);outline-offset:1px}.selection-pill{display:inline-flex;align-items:center;height:var(--control-height);flex:0 0 auto;padding:0 var(--space-3);border:1px solid var(--color-control-btn-border);border-radius:var(--radius);background-color:var(--color-button-bg);color:var(--color-button-text-hover);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.selection-pill:hover{background-color:var(--color-button-hover)}.selection-pill--selected:hover{background-color:var(--color-button-bg);filter:brightness(.9)}.selection-pill--armed:hover{filter:brightness(.9)}.selection-pill:focus-visible{outline:2px solid var(--color-button-accent);outline-offset:1px}.control-btn-wrap{display:flex;align-items:center;height:var(--control-height);background-color:var(--color-button-bg);border:1px solid var(--color-control-btn-border);border-radius:var(--radius);padding:var(--pill-pad)}.control-icon-btn{display:flex;align-items:center;justify-content:center;width:var(--control-inner);height:var(--control-inner);background:transparent;border:none;border-radius:var(--radius-inner);color:var(--color-button-text-hover);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.control-icon-btn:hover{background-color:var(--color-button-hover);color:var(--color-button-text-hover)}.control-icon-btn:active{background-color:var(--color-button-active)}.control-icon-btn:focus-visible{outline:2px solid var(--color-button-accent);outline-offset:1px}.control-icon-btn:disabled{opacity:.35;cursor:default}.control-icon-btn:disabled:hover,.control-icon-btn:disabled:active{background-color:var(--color-button-bg)}.control-icon-btn--off{background-color:var(--color-button-bg);color:var(--color-button-text-hover)}.control-icon-btn--off:hover{background-color:var(--color-button-hover);color:var(--color-button-text-hover)}.control-icon-btn--off:active{background-color:var(--color-button-active)}.control-status{display:inline-block;height:var(--control-height);line-height:var(--control-height);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-status-error)}.panel{min-width:0;position:relative}.panel-group{min-width:0}.panel--nodelink{flex:0 0 var(--nodelink-panel-width, clamp(320px, calc(100% - 400px) , 760px));width:var(--nodelink-panel-width, clamp(320px, calc(100% - 400px) , 760px));min-width:320px;display:flex;flex-direction:column;align-items:center;height:100%;overflow:hidden}.panel-resizer{flex:0 0 12px;display:flex;align-items:stretch;justify-content:center;position:relative;z-index:20;cursor:col-resize;touch-action:none}.panel-resizer:before{content:"";width:2px;border-radius:1px;background:var(--color-divider);transition:width .12s ease,background-color .12s ease}.panel-resizer:hover:before,.panel-group.is-resizing .panel-resizer:before,.panel-resizer:focus-visible:before{width:4px;background:var(--color-accent-adjmatrix)}.panel-resizer:focus-visible{outline:none}.panel-group.is-resizing,.panel-group.is-resizing *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.selection-bar{flex:0 0 auto;margin-top:auto;width:100%;display:flex;align-items:center;gap:var(--space-6);padding-bottom:var(--space-6);overflow-x:auto}.nodelink-square{flex:0 1 auto;width:100%;aspect-ratio:1 / 1;min-height:0}.control-columns{flex:0 0 auto;margin-bottom:auto;width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);padding-top:var(--space-6);overflow-x:auto}.control-column{display:flex;flex-direction:column;gap:var(--space-2)}.control-column .control-label{flex:0 0 var(--control-label-width);white-space:nowrap}.control-column .control-group{width:calc(var(--control-label-width) + var(--space-2) + var(--control-field-width))}.control-column .control-select,.control-column .control-btn-wrap,.control-column .selection-pill{flex:0 0 var(--control-field-width);width:var(--control-field-width)}.control-column .control-select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-column .control-slider-wrap{flex:1;min-width:0}.control-column .control-range{width:100%}.control-column--settings .control-group{position:relative}.control-column--settings .control-status{position:absolute;left:calc(100% + var(--space-2));top:0;white-space:nowrap;pointer-events:none}.panel--matrix{flex:1 1 0;min-width:360px;width:auto;height:100%;max-width:none;overflow:hidden}.app{display:flex;flex-direction:column;height:100%;overflow:hidden}.app-main{flex:1;overflow:hidden;padding:var(--pane-gap);background-color:var(--color-bg-secondary)}:root{--color-bg-primary: #f4f5f7;--color-bg-secondary: #f0f1f4;--color-bg-tertiary: #e5e8ec;--color-pane-bg: #ffffff;--color-border: #c6ccd4;--color-surface-active: #cfd5dd;--color-text-primary: #1f2328;--color-text-secondary: #8b949e;--color-text-muted: #636c76;--color-node-default: #4d5561;--color-edge-default-line: #d8dce4;--color-edge-default-point: #4d5561;--color-node-selected: #009ac2;--color-edge-selected: #c90069;--color-node-selected-contrast-text: #ffffff;--color-edge-selected-contrast-text: #0d1117;--color-sel-c: #009ac2;--color-sel-m: #c90069;--color-sel-y: #d49f07;--color-sel-cm: #464dc5;--color-sel-cy: #00731f;--color-sel-my: #ff6d4a;--color-sel-cmy: #000000;--color-hopcensus-grid-line: #e4e8f0;--color-fabric-axis: #ccd1d8;--color-fabric-mark: #1f2328;--color-accent-nodelink: #0277f2;--color-accent-adjmatrix: #0277f2;--color-node-selected-bg: rgba(0, 154, 194, .18);--color-node-selected-bg-hover: rgba(0, 154, 194, .32);--color-node-selected-bg-active: rgba(0, 154, 194, .5);--color-edge-selected-bg: rgba(201, 0, 105, .18);--color-edge-selected-bg-hover: rgba(201, 0, 105, .32);--color-edge-selected-bg-active: rgba(201, 0, 105, .5);--color-divider: #bcc3cc;--color-status-error: #f85149;--color-text-bright: #000000;--font-sans: "Roboto Condensed", -apple-system, BlinkMacSystemFont, sans-serif;--font-weight-medium: 500;--font-weight-bold: 700;--text-xs: .825rem;--text-sm: .894rem;--text-base: .9625rem;--text-lg: 1.1rem;--text-xl: 1.238rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--control-height: 32px;--radius: 999px;--radius-inner: 999px;--pill-pad: 2px;--control-inner: calc(var(--control-height) - 2px - 2 * var(--pill-pad));--selection-pill-width: 8.5rem;--selection-badge-width: 4.5rem;--selection-total-width: 6.5rem;--control-label-width: 6rem;--control-field-width: 13rem;--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease;--color-button-bg: #dde5f0;--color-button-hover: #b7c0cb;--color-button-active: #a7b2be;--color-button-text: #4c5662;--color-button-text-hover: #1f2328;--color-button-text-bright: #0f1419;--color-button-border: #1f2328;--color-button-divider: #a4adb8;--color-button-accent: #58a6ff;--color-control-btn-border: #1f2328;--pane-gap: 14px;--pane-border-radius: 16px;--color-label-text: var(--color-text-primary);--pane-border-color: #1f2328}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;scrollbar-width:none}*::-webkit-scrollbar{display:none}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.panel-group{display:flex;flex-direction:row;height:100%;gap:var(--pane-gap)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-surface-active);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}
