.system-loop{--sl-line:var(--line);--sl-line-dim:var(--line-dim);--sl-grid:var(--muted);--sl-face-top:var(--secondary);--sl-face-l:var(--card);--sl-face-r:color-mix(in oklch,var(--card),var(--background));--sl-hole:color-mix(in oklch,var(--background) 70%,var(--primary-foreground));--sl-signal:var(--signal)}.system-loop svg.sl-scene{display:block;width:100%;height:auto}.sl-scene .grid path{fill:none;stroke:var(--sl-grid);stroke-width:1}.sl-scene .ring{fill:none;stroke:var(--sl-line-dim);stroke-width:1.2}.sl-scene .ring2{fill:none;stroke:var(--border);stroke-width:1;stroke-dasharray:2 7}.sl-scene .tickm{fill:none;stroke:var(--border);stroke-width:1}.sl-scene .datum,.sl-scene .tickm.major{stroke:var(--sl-line-dim)}.sl-scene .datum{fill:none;stroke-width:1}.sl-scene .comet{fill:none;stroke:var(--sl-signal);stroke-width:2.4;stroke-linecap:round}.sl-scene .solid ellipse,.sl-scene .solid path{stroke:var(--sl-line);stroke-width:1.1;stroke-linejoin:round}.sl-scene .f-t{fill:var(--sl-face-top)}.sl-scene .f-l{fill:var(--sl-face-l)}.sl-scene .f-r{fill:var(--sl-face-r)}.sl-scene .f-h{fill:var(--sl-hole)}.sl-scene .hole{stroke:var(--sl-line-dim);stroke-width:1}.sl-scene .dash,.sl-scene .wire{fill:none;stroke:var(--sl-line-dim);stroke-width:1}.sl-scene .dash{stroke-dasharray:3 3}.sl-scene .detail{fill:none;stroke:var(--sl-line);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.sl-scene .detail.dim{stroke:var(--sl-line-dim)}.sl-scene .cy{stroke:var(--sl-signal)!important}.sl-scene .padhi{fill:none;stroke:var(--sl-signal);stroke-width:1.4;opacity:0}.sl-scene .tube-o{fill:none;stroke:var(--sl-line);stroke-width:11.5;stroke-linecap:round;stroke-linejoin:round}.sl-scene .tube-i{fill:none;stroke:var(--sl-face-l);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.sl-scene .joint{fill:var(--sl-face-top);stroke:var(--sl-line);stroke-width:1.1}.sl-scene .finger{fill:none;stroke:var(--sl-line);stroke-width:2.6;stroke-linecap:round}.sl-scene .balloon circle{fill:var(--background);stroke:var(--sl-line-dim);stroke-width:1}.sl-scene .balloon circle.anchor{fill:var(--sl-line-dim);stroke:none}.sl-scene .balloon text{font:500 9px var(--font-mono);fill:var(--muted-foreground);text-anchor:middle;dominant-baseline:central;letter-spacing:.04em}.sl-scene .balloon .leader{stroke:var(--sl-line-dim);stroke-width:1;fill:none}.sl-scene .balloon .cap{font:500 9px var(--font-mono);letter-spacing:.12em;fill:var(--sl-signal);dominant-baseline:central;opacity:0}.sl-scene .balloon .cap[text-anchor=start]{text-anchor:start}.sl-scene .balloon .cap[text-anchor=end]{text-anchor:end}.sl-scene .balloon.on circle:not(.anchor){stroke:var(--sl-signal)}.sl-scene .balloon.on text{fill:var(--sl-signal)}.sl-scene .balloon.on .leader{stroke:var(--sl-signal)}.sl-scene .tag{fill:var(--sl-signal)}.sl-scene .lbl,.sl-scene .tag{font:500 8px var(--font-mono);letter-spacing:.1em}.sl-scene .lbl{fill:var(--muted-foreground)}.sl-scene .cone{fill:var(--sl-signal);fill-opacity:.07;stroke:var(--sl-signal);stroke-opacity:.45;stroke-width:1;stroke-dasharray:3 3}.sl-scene .bracket{fill:none;stroke:var(--sl-signal);stroke-width:1.6;stroke-linecap:square;vector-effect:non-scaling-stroke}.sl-scene .led{fill:var(--sl-line-dim)}.sl-scene .led.on{fill:var(--sl-signal)}.sl-scene .cube.hi path{stroke:var(--sl-signal)}.sl-scene .pulse{fill:var(--sl-signal)}.sl-scene .spark{fill:none;stroke:var(--sl-signal);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.sl-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--border)}.sl-legend li{position:relative;padding:12px 14px 14px;outline:none}.sl-legend li+li{border-left:1px solid var(--border)}.sl-legend li:focus-visible{box-shadow:inset 0 0 0 1px var(--sl-signal)}.sl-legend .rule{position:absolute;inset:-1px 0 auto;height:2px}.sl-legend .rule i{display:block;height:100%;background:var(--sl-signal);transform-origin:0 50%;transform:scaleX(0)}.sl-legend .num{font:500 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sl-line-dim)}.sl-legend .name,.sl-legend .num{display:block;transition:color var(--duration-base)}.sl-legend .name{margin-top:5px;font-size:13px;line-height:1.3;color:var(--muted-foreground)}.sl-legend li.on .num{color:var(--sl-signal)}.sl-legend li.on .name{color:var(--foreground)}@media (max-width:767px){.sl-legend{grid-template-columns:1fr}.sl-legend li{display:none;padding:10px 14px 12px}.sl-legend li+li{border-left:0}.sl-legend li.on{display:flex;gap:10px;align-items:baseline}.sl-legend .name{margin-top:0}.sl-scene .balloon .cap{display:none}}.sl-legend:not(:has(li.on)) li:first-child{display:flex}@media (min-width:768px){.sl-legend:not(:has(li.on)) li:first-child{display:block}}@keyframes sl-fade{0%{opacity:0}}@keyframes sl-draw{0%{stroke-dashoffset:1}}@keyframes sl-rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:no-preference){.sl-scene .grid{animation:sl-fade .7s var(--ease-move) backwards}.sl-scene .ring{animation:sl-draw 1.05s var(--ease-enter) .1s backwards}.sl-scene .ring2{animation:sl-fade .6s var(--ease-move) .6s backwards}.sl-scene .ticks{animation:sl-fade .6s var(--ease-move) .5s backwards}.sl-scene .zone{animation:sl-rise .55s var(--ease-enter) calc(.3s + var(--i) * .12s) backwards}.sl-scene .balloon{animation:sl-fade .35s var(--ease-move) calc(.95s + var(--i) * .08s) backwards}.sl-legend li{animation:sl-fade .35s var(--ease-move) calc(1s + var(--i) * .06s) backwards}}@media (prefers-reduced-motion:no-preference) and (max-width:767px){.sl-legend{animation:sl-fade .35s var(--ease-move) 1s backwards}.sl-legend li{animation:none}}