.systems-lab{--sl-flow:var(--accent);--sl-read:var(--state-available);--sl-write:var(--state-warning);margin-top:var(--space-xs)}.sl-opening{justify-content:space-between;align-items:end;gap:var(--space-lg);margin-bottom:var(--space-xl);display:flex}.sl-opening h1{margin-block:var(--space-sm)}.sl-opening p{color:var(--text-muted);max-width:46rem}.sl-workbench{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) 17rem;align-items:start;display:grid}.sl-canvas{background:var(--surface);min-width:0}.sl-canvas-head{justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--rule-hair);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.sl-link{fill:none;stroke:var(--rule);stroke-width:1.8px}.sl-replication{fill:none;stroke:var(--state-warning);stroke-width:1.4px;stroke-dasharray:5 5}.sl-node{fill:var(--surface);stroke:var(--rule);stroke-width:1.3px}.sl-node-label{font-family:var(--font-interface);fill:var(--text);font-size:14px;font-weight:550}.sl-node-value{font-family:var(--font-apparatus);fill:var(--text-muted);font-size:11px}.sl-caption{padding:var(--space-sm) var(--space-md);font-size:var(--text-caption);color:var(--text-muted);border-top:1px solid var(--rule-hair)}.sl-inputs{gap:var(--space-md);flex-direction:column;display:flex}.sl-inputs h2{font-size:var(--text-h3)}.sl-note{font-size:var(--text-caption);color:var(--text-muted);line-height:1.6}@media (max-width:60rem){.sl-workbench{grid-template-columns:1fr}.sl-inputs{grid-template-columns:1fr 1fr;display:grid}.sl-inputs>h2,.sl-inputs>.sl-note{grid-column:1/-1}.sl-opening{align-items:start}.sl-opening h1{font-size:var(--text-h1)}}@media (max-width:35rem){.sl-opening{flex-direction:column}.sl-inputs{grid-template-columns:1fr}.sl-canvas-head .apparatus{font-size:var(--text-caption);letter-spacing:0;text-transform:none}}.sl-intro-note{max-width:17rem;font-family:var(--font-apparatus);font-size:var(--text-caption);color:var(--text-muted);line-height:1.6}.sl-intro-note p{font-family:var(--font-interface);font-size:var(--text-caption);margin-top:var(--space-sm)}.sl-live-mark{background:var(--state-available);border-radius:50%;width:7px;height:7px;margin-right:.5rem;display:inline-block}.sl-toolbar{gap:var(--space-sm);padding-block:var(--space-md);border-block:1px solid var(--rule);margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:end;display:flex}.sl-toolbar>div:first-child{min-width:16rem}.sl-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.sl-clock{font-family:var(--font-apparatus);font-size:var(--text-caption);white-space:nowrap;margin-left:auto;padding:.75rem}.sl-workbench{gap:var(--space-md);grid-template-columns:minmax(0,1fr) 19rem}.sl-metrics{background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius-surface);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.sl-metric{background:var(--ground);padding:var(--space-md);gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.sl-metric>span{font-size:var(--text-caption);color:var(--text-muted)}.sl-metric strong{font-family:var(--font-apparatus);overflow-wrap:anywhere;font-size:clamp(1.15rem,2.2vw,1.65rem);font-weight:500;line-height:1.4}.sl-metric small{font-size:var(--text-caption);color:var(--text-faint)}.sl-inspector{border:1px solid var(--rule);border-radius:var(--radius-surface);background:var(--surface);overflow:hidden}.sl-tabs{gap:var(--space-xs);padding:var(--space-sm);border-bottom:1px solid var(--rule-hair);grid-template-columns:1fr 1fr;display:grid}.sl-tabs button{font-size:var(--text-caption)}.sl-inputs{padding:var(--space-md);max-height:48rem;overflow:auto}.sl-inputs h2,.sl-inputs p{margin:0}.sl-inputs input,.sl-inputs select{width:100%;min-width:0}.sl-component{cursor:grab;outline:none}.sl-component:active{cursor:grabbing}.sl-selected .sl-node,.sl-component:focus-visible .sl-node{stroke:var(--accent);stroke-width:2.5px}.sl-node{fill:var(--surface)}.sl-status{fill:var(--state-available)}.sl-status-off{fill:var(--state-danger)}.sl-node-kind{font-size:9px;font-family:var(--font-apparatus);fill:var(--text-faint);letter-spacing:.5px}.sl-node-label{font-size:12px}.sl-offline{opacity:.38}.sl-offline .sl-link{stroke-dasharray:4 6}.sl-utilization{fill:var(--accent);opacity:.65}.sl-particle{fill:var(--state-available);pointer-events:none}.sl-particle-write{fill:var(--state-warning)}.sl-particle-push{fill:var(--accent)}.sl-particle-replication{fill:var(--text-muted)}.sl-motion-off .sl-particle{display:none}.sl-replication{stroke:var(--text-faint)}.sl-legend{gap:var(--space-sm);padding:var(--space-md);font-size:var(--text-caption);color:var(--text-muted);flex-wrap:wrap;display:flex}.sl-legend span{align-items:center;gap:.4rem;display:flex}.sl-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.sl-read-dot{background:var(--state-available)}.sl-write-dot{background:var(--state-warning)}.sl-push-dot{background:var(--accent)}.sl-replay-dot{background:var(--text-muted)}.sl-canvas-head{align-items:center}.sl-caption{margin:0;line-height:1.6}.sl-findings{gap:var(--space-xl);margin-block:var(--space-xxl);padding-top:var(--space-xl);border-top:1px solid var(--rule);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}.sl-findings h2,.sl-section h2{font-size:var(--text-h2);margin-block:var(--space-sm)}.sl-findings p,.sl-section p{color:var(--text-muted);line-height:1.7}.sl-findings ul{font-size:var(--text-caption);padding-left:1.25rem;line-height:1.7}.sl-findings li+li{margin-top:var(--space-sm)}.sl-detail-metrics{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.sl-detail-metrics .sl-metric{border:1px solid var(--rule-hair);border-radius:var(--radius-control)}.sl-bottom-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.sl-section{padding:var(--space-lg);margin-bottom:var(--space-lg)}.sl-fault-row{justify-content:space-between;align-items:center;gap:var(--space-sm);padding-block:var(--space-sm);border-bottom:1px solid var(--rule-hair);font-size:var(--text-caption);display:flex}.sl-fault-row small{color:var(--text-muted);margin-top:.35rem;display:block}.sl-table-scroll{overflow:auto}.sl-table-scroll table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-caption)}.sl-table-scroll caption{text-align:left;padding:var(--space-md);color:var(--text-muted)}.sl-table-scroll td,.sl-table-scroll th{padding:var(--space-sm);border-bottom:1px solid var(--rule-hair);white-space:nowrap}.sl-table-scroll th{font-weight:500}.sl-table-scroll td{font-family:var(--font-apparatus)}.sl-section summary{cursor:pointer;min-height:var(--control-min);font-size:var(--text-body);align-content:center;display:list-item}.sl-section summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sl-assumptions{max-width:75ch;font-size:var(--text-caption)}.sl-alert{border-left:3px solid var(--state-danger);background:var(--surface);padding:var(--space-md);color:var(--state-danger)}.sl-notice{background:var(--accent-quiet);padding:var(--space-sm) var(--space-md);font-size:var(--text-caption);justify-content:space-between;align-items:center;display:flex}@media (prefers-reduced-motion:reduce){.sl-motion-system .sl-particle{display:none}.sl-motion-hint{display:block!important}}@media (max-width:65rem){.sl-workbench{grid-template-columns:minmax(0,1fr)}.sl-tabs{display:flex;overflow:auto}.sl-tabs button{flex:1}.sl-inputs{gap:var(--space-md);grid-template-columns:1fr 1fr;max-height:25rem;display:grid}.sl-inputs>h2,.sl-inputs>.sl-note{grid-column:1/-1}.sl-intro-note{max-width:15rem}.sl-stage{height:28rem}}@media (max-width:45rem){.sl-opening{display:block}.sl-intro-note{max-width:100%;margin-top:var(--space-lg)}.sl-toolbar>div:first-child{width:100%}.sl-metrics{grid-template-columns:1fr 1fr}.sl-findings,.sl-bottom-grid{grid-template-columns:1fr}.sl-findings{gap:var(--space-lg)}.sl-section{padding:var(--space-md)}.sl-stage{height:25rem}.sl-clock{margin-left:0}.sl-inputs{max-height:22rem}.sl-tabs{gap:0;padding:.25rem}.sl-tabs button{padding-inline:.5rem}}@media (max-width:30rem){.sl-inputs,.sl-detail-metrics{grid-template-columns:1fr}.sl-metric{padding:var(--space-sm)}}.sl-controls{border:0;min-width:0;margin:0;padding:0}.sl-controls:disabled{opacity:.7}@media (min-width:82rem){.sl-metrics,.sl-workbench{width:min(100vw - 2 * var(--space-gutter),88rem);margin-inline:calc(50% - min(50vw - var(--space-gutter),44rem))}}.sl-motion-control{align-items:center;gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--rule-hair);flex-wrap:wrap;display:flex}.sl-motion-hint{max-width:24rem;font-size:var(--text-caption);color:var(--text-muted);display:none}.sl-edge{cursor:pointer;outline:none}.sl-edge-hit{fill:none;stroke:#0000;stroke-width:24px;pointer-events:stroke}.sl-edge:hover .sl-link,.sl-edge:hover .sl-replication,.sl-edge:focus-visible .sl-link,.sl-edge:focus-visible .sl-replication,.sl-edge-selected .sl-link,.sl-edge-selected .sl-replication{stroke:var(--accent);stroke-width:3px}.sl-explanation{line-height:1.65}.sl-explanation h3{font-size:var(--text-body);margin-block:var(--space-lg) var(--space-xs)}.sl-explanation p{color:var(--text-muted)}.sl-explain-metrics{margin:0}.sl-explain-metrics>div{padding-block:var(--space-sm);border-bottom:1px solid var(--rule-hair)}.sl-explain-metrics dt{font-weight:550}.sl-explain-metrics dd{color:var(--text-muted);font-size:var(--text-caption);margin:0}.sl-explain-links{gap:var(--space-xs);flex-direction:column;display:flex}.sl-explain-links button{text-align:left;white-space:normal}.sl-bottleneck-bar{gap:.2rem var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--rule-hair);font-size:var(--text-caption);border-left:3px solid var(--rule);flex-wrap:wrap;align-items:baseline;margin:0;display:flex}.sl-bottleneck-bar span{color:var(--text-muted)}.sl-bottleneck-bar.sl-load-hot{border-left-color:var(--state-danger);background:var(--surface)}.sl-bottleneck-bar.sl-load-hot strong{color:var(--state-danger)}.sl-bottleneck-bar.sl-load-warm{border-left-color:var(--state-warning);background:var(--surface)}.sl-bottleneck-bar.sl-load-warm strong{color:var(--state-warning)}.sl-bottleneck-bar.sl-load-clear{border-left-color:var(--state-available)}.sl-load-line{margin-block:var(--space-sm);font-size:var(--text-caption);color:var(--text-muted);flex-wrap:wrap;gap:.35rem;display:flex}.sl-load-line.sl-load-hot strong{color:var(--state-danger)}.sl-load-line.sl-load-warm strong{color:var(--state-warning)}.sl-load-line.sl-load-clear strong{color:var(--state-available)}.sl-load-clear .sl-utilization{fill:var(--state-available)}.sl-load-warm .sl-utilization{fill:var(--state-warning)}.sl-load-hot .sl-utilization{fill:var(--state-danger);opacity:1}.sl-load-hot .sl-node{stroke:var(--state-danger)}.sl-load-warm .sl-node{stroke:var(--state-warning)}.sl-bottleneck .sl-node{stroke-width:2.5px}.sl-bottleneck-badge rect{fill:var(--state-danger)}.sl-bottleneck-badge text{font-family:var(--font-apparatus);letter-spacing:.5px;fill:var(--ground);font-size:9px}.sl-edge-congested .sl-link{stroke:var(--state-danger);stroke-width:2.4px}@media (prefers-reduced-motion:no-preference){.sl-bottleneck .sl-node{animation:1.8s ease-in-out infinite sl-throb}@keyframes sl-throb{0%,to{stroke-opacity:1}50%{stroke-opacity:.35}}}.sl-stage{resize:vertical;background:var(--surface);touch-action:none;-webkit-user-select:none;user-select:none;height:34rem;min-height:18rem;position:relative;overflow:hidden}.sl-stage svg{width:100%;max-width:none;height:100%;display:block}.sl-world{pointer-events:all}.sl-rail{left:var(--space-sm);top:var(--space-sm);z-index:2;flex-direction:column;gap:.1rem;padding:.25rem;display:flex;position:absolute}.sl-rail hr{background:var(--rule-hair);width:60%;margin:.25rem auto}.sl-rail-button{width:2.15rem;height:2.15rem;color:var(--text-muted);border-radius:var(--radius-control);cursor:pointer;font-family:var(--font-apparatus);font-size:var(--text-ui);transition:background var(--motion-quick) var(--motion-ease);background:0 0;border:0;place-items:center;display:grid;position:relative}.sl-rail-button:hover:not(:disabled){background:var(--accent-quiet);color:var(--text)}.sl-rail-button:disabled{color:var(--control-disabled-text);cursor:not-allowed}.sl-rail-active,.sl-rail-active:hover:not(:disabled){background:var(--accent);color:var(--accent-on)}.sl-rail-key{font-family:var(--font-apparatus);opacity:.65;font-size:8px;line-height:1;position:absolute;bottom:0;right:2px}.sl-tool-hint{left:50%;top:var(--space-sm);z-index:2;border-radius:var(--radius-chip);background:var(--surface);border:1px solid var(--rule);font-size:var(--text-caption);color:var(--text-muted);pointer-events:none;margin:0;padding:.3rem .7rem;position:absolute;transform:translate(-50%)}.sl-chip{font-family:var(--font-interface);font-size:var(--text-caption);border:1px solid var(--rule-hair);border-radius:var(--radius-chip);background:var(--control-surface);color:var(--text);cursor:pointer;white-space:nowrap;padding:.3rem .55rem}.sl-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sl-chip:disabled{background:var(--control-disabled);color:var(--control-disabled-text);cursor:not-allowed;border-color:var(--rule-hair)}.sl-canvas-actions{right:var(--space-sm);top:var(--space-sm);z-index:2;gap:.25rem;padding:.25rem;display:flex;position:absolute}.sl-viewport-controls{right:var(--space-sm);bottom:var(--space-sm);z-index:2;align-items:center;padding:.15rem;display:flex;position:absolute}.sl-zoom-level{min-width:3.4rem;color:var(--text-muted);font-family:var(--font-apparatus);font-size:var(--text-caption);cursor:pointer;background:0 0;border:0}.sl-zoom-level:hover{color:var(--accent)}.sl-island{z-index:3;white-space:nowrap;pointer-events:none;align-items:center;gap:.2rem;padding:.25rem;display:flex;position:absolute;transform:translate(-50%,-100%)}.sl-island>*{pointer-events:auto}.sl-island .sl-chip{border-color:#0000}.sl-island-count{font-size:var(--text-caption);color:var(--text-muted);padding-inline:.4rem}.sl-menu{z-index:4;flex-direction:column;min-width:13rem;padding:.25rem;display:flex;position:absolute}.sl-menu hr{background:var(--rule-hair);margin:.2rem .4rem}.sl-menu button{text-align:left;color:var(--text);font-family:var(--font-interface);font-size:var(--text-caption);border-radius:var(--radius-chip);cursor:pointer;background:0 0;border:0;padding:.45rem .6rem}.sl-menu button:hover:not(:disabled){background:var(--accent-quiet)}.sl-menu button:disabled{color:var(--control-disabled-text);cursor:not-allowed}.sl-help{z-index:5;max-width:28rem;max-height:88%;padding:var(--space-md);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.sl-help h3{margin:0 0 var(--space-sm);font-size:var(--text-body)}.sl-help dl{gap:.35rem;margin:0;display:grid}.sl-help dl>div{gap:var(--space-sm);font-size:var(--text-caption);grid-template-columns:9.5rem 1fr;display:grid}.sl-help dt{font-family:var(--font-apparatus);color:var(--text-muted)}.sl-help dd{margin:0}.sl-handle{fill:var(--accent);stroke:var(--ground);stroke-width:2px;cursor:crosshair}.sl-handle:hover{fill:var(--accent-hover)}.sl-draft-link{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-dasharray:7 5;pointer-events:none}.sl-draft-invalid{stroke:var(--state-danger)}.sl-marquee{fill:var(--accent-quiet);fill-opacity:.55;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.sl-guide{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 4;opacity:.75;pointer-events:none}.sl-connect-target .sl-node{stroke-dasharray:4 4;stroke:var(--accent);stroke-width:2px}.sl-connect-blocked{opacity:.3}.sl-connect-source .sl-node{stroke:var(--accent);stroke-width:3px}.sl-selected .sl-node{stroke:var(--accent);stroke-width:2.5px}.sl-motion-control{flex-wrap:wrap;justify-content:space-between}.sl-motion-control>div:first-child{min-width:14rem}.sl-legend{padding:0}.sl-alert{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}@media (max-width:45rem){.sl-rail{left:var(--space-sm);right:var(--space-sm);scrollbar-width:none;flex-flow:row;overflow-x:auto}.sl-rail::-webkit-scrollbar{display:none}.sl-rail hr{flex:none;width:1px;height:1.6rem;margin:auto .15rem}.sl-rail-button{flex:none}.sl-canvas-actions{top:auto;bottom:var(--space-sm);left:var(--space-sm);right:auto}.sl-canvas-actions .sl-keys{display:none}.sl-tool-hint{top:auto;bottom:3.6rem}.sl-help dl>div{grid-template-columns:1fr;gap:0}.sl-help dd{margin-bottom:.3rem}}
