.ds-visualizer.ds-linear-group{--ds-ink:var(--ink,#182927);--ds-muted:var(--muted,#61716b);--ds-line:var(--line,#dbe3dc);--ds-line-strong:var(--line-strong,#c7d3cc);--ds-surface:var(--surface,#fff);--ds-soft:var(--soft,#eef2ed);--ds-accent:var(--accent,#087e70);--ds-accent-soft:var(--accent-soft,#e3f2ea);--ds-accent-wash:var(--accent-wash,#edf6f1);--ds-danger:var(--danger,#a0483d);--ds-danger-soft:var(--danger-soft,#f8eee9);--ds-warning:var(--warning,#8a6d2e);--ds-warning-soft:var(--warning-soft,#f4efde);--ds-focus:var(--focus,#d7a33d);--ds-on-accent:var(--on-accent,#fff);box-sizing:border-box;min-width:0;max-width:100%;color:var(--ds-ink);font-family:var(--sans,"Segoe UI", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif)}.ds-visualizer.ds-linear-group *,.ds-visualizer.ds-linear-group :before,.ds-visualizer.ds-linear-group :after{box-sizing:border-box}.ds-visualizer.ds-linear-group .ds-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.ds-visualizer.ds-linear-group .ds-toolbar button{appearance:none;border:1px solid var(--ds-line-strong);background:var(--ds-surface);color:var(--ds-ink);font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px;font-size:.86rem;line-height:1.2;transition:border-color .15s,background-color .15s}.ds-visualizer.ds-linear-group .ds-toolbar button:hover:not(:disabled){border-color:var(--ds-accent);background:var(--ds-accent-wash)}.ds-visualizer.ds-linear-group .ds-toolbar button:focus-visible{outline:2px solid var(--ds-focus);outline-offset:2px}.ds-visualizer.ds-linear-group .ds-toolbar button:disabled{color:var(--ds-muted);border-color:var(--ds-line);background:var(--ds-soft);cursor:not-allowed}.ds-visualizer.ds-linear-group .ds-toolbar .ds-speed{color:var(--ds-muted);align-items:center;gap:6px;margin-left:auto;font-size:.84rem;display:inline-flex}.ds-visualizer.ds-linear-group .ds-toolbar select{font:inherit;color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-line-strong);border-radius:6px;padding:5px 8px;font-size:.84rem}.ds-visualizer.ds-linear-group .ds-toolbar select:focus-visible{outline:2px solid var(--ds-focus);outline-offset:2px}.ds-visualizer.ds-linear-group .ds-grid{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;display:grid}@media (width>=900px){.ds-visualizer.ds-linear-group .ds-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,.85fr);align-items:start}}.ds-visualizer.ds-linear-group .ds-svg-scroll{border:1px solid var(--ds-line);background:var(--ds-surface);-webkit-overflow-scrolling:touch;border-radius:8px;max-width:100%;padding:6px;overflow:auto hidden}.ds-visualizer.ds-linear-group .ds-canvas{width:100%;min-width:520px;height:auto;font-family:inherit;display:block}.ds-visualizer.ds-linear-group .ds-canvas text{fill:var(--ds-ink);dominant-baseline:middle;font-size:12px}.ds-visualizer.ds-linear-group .ds-canvas text.ds-label{fill:var(--ds-muted);font-size:11px}.ds-visualizer.ds-linear-group .ds-canvas text.ds-strong{font-weight:600}.ds-visualizer.ds-linear-group .ds-canvas .ds-frame-bg{fill:var(--ds-accent-wash);stroke:var(--ds-accent);stroke-width:1px}.ds-visualizer.ds-linear-group .ds-canvas .ds-frame-bg-alt{fill:var(--ds-soft);stroke:var(--ds-line-strong);stroke-width:1px}.ds-visualizer.ds-linear-group .ds-canvas .ds-track{stroke:var(--ds-line-strong);stroke-width:1.5px}.ds-visualizer.ds-linear-group .ds-canvas .ds-cell{fill:var(--ds-surface);stroke:var(--ds-line-strong);stroke-width:1.2px}.ds-visualizer.ds-linear-group .ds-canvas .ds-cell.is-active,.ds-visualizer.ds-linear-group .ds-canvas .ds-cell.is-new{fill:var(--ds-accent-soft);stroke:var(--ds-accent);stroke-width:2px}.ds-visualizer.ds-linear-group .ds-canvas .ds-cell.is-removed{fill:var(--ds-danger-soft);stroke:var(--ds-danger);stroke-width:1.6px;stroke-dasharray:4 3}.ds-visualizer.ds-linear-group .ds-canvas .ds-cell.is-empty{fill:var(--ds-soft);stroke:var(--ds-line);stroke-dasharray:3 4}.ds-visualizer.ds-linear-group .ds-canvas .ds-node-box{fill:var(--ds-surface);stroke:var(--ds-line-strong);stroke-width:1.2px}.ds-visualizer.ds-linear-group .ds-canvas .ds-node-box.is-current,.ds-visualizer.ds-linear-group .ds-canvas .ds-node-box.is-new{fill:var(--ds-accent-soft);stroke:var(--ds-accent);stroke-width:2px}.ds-visualizer.ds-linear-group .ds-canvas .ds-node-box.is-removed{fill:var(--ds-danger-soft);stroke:var(--ds-danger);stroke-dasharray:4 3}.ds-visualizer.ds-linear-group .ds-canvas .ds-node-box.is-head{fill:var(--ds-warning-soft);stroke:var(--ds-warning)}.ds-visualizer.ds-linear-group .ds-canvas .ds-node-box.is-detached{fill:var(--ds-surface);stroke:var(--ds-line-strong);stroke-dasharray:4 3;opacity:.72}.ds-visualizer.ds-linear-group .ds-canvas .ds-tag{fill:var(--ds-warning);font-size:9px;font-weight:600}.ds-visualizer.ds-linear-group .ds-canvas .ds-link{fill:none;stroke:var(--ds-line-strong);stroke-width:1.6px}.ds-visualizer.ds-linear-group .ds-canvas .ds-link.is-active{stroke:var(--ds-accent);stroke-width:2.2px}.ds-visualizer.ds-linear-group .ds-canvas .ds-link.is-removed{stroke:var(--ds-danger);stroke-width:1.6px;stroke-dasharray:4 3}.ds-visualizer.ds-linear-group .ds-canvas .ds-link.is-new{stroke:var(--ds-accent);stroke-width:2.2px}.ds-visualizer.ds-linear-group .ds-canvas .ds-arrow-head{fill:var(--ds-line-strong)}.ds-visualizer.ds-linear-group .ds-canvas .ds-arrow-head.is-active{fill:var(--ds-accent)}.ds-visualizer.ds-linear-group .ds-canvas .ds-arrow-head.is-removed{fill:var(--ds-danger)}.ds-visualizer.ds-linear-group .ds-canvas .ds-pointer-line{stroke:var(--ds-warning);stroke-width:1.4px}.ds-visualizer.ds-linear-group .ds-canvas .ds-null-mark{fill:none;stroke:var(--ds-muted);stroke-width:1.4px}.ds-visualizer.ds-linear-group .ds-canvas .ds-bar{fill:var(--ds-accent-soft);stroke:var(--ds-accent);stroke-width:1px}.ds-visualizer.ds-linear-group .ds-canvas .ds-bar.is-active{fill:var(--ds-accent)}.ds-visualizer.ds-linear-group .ds-canvas .ds-bar.is-planned{fill:none;stroke:var(--ds-line-strong);stroke-dasharray:2 2}.ds-visualizer.ds-linear-group .ds-canvas .ds-bar-level{stroke:var(--ds-line-strong);stroke-width:1px;stroke-dasharray:2 3}.ds-visualizer.ds-linear-group .ds-canvas .ds-legend-swatch{stroke-width:1px}.ds-visualizer.ds-linear-group .ds-side{flex-direction:column;gap:10px;min-width:0;display:flex}.ds-visualizer.ds-linear-group .ds-code{background:var(--ds-soft);border:1px solid var(--ds-line);counter-reset:ds-code-line;max-width:100%;color:var(--ds-ink);white-space:pre;tab-size:2;border-radius:8px;margin:0;padding:8px 10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem;line-height:1.55;list-style:none;overflow-x:auto}.ds-visualizer.ds-linear-group .ds-code li{counter-increment:ds-code-line;border-radius:3px;margin:0;padding:0 4px 0 2.4em;display:block;position:relative}.ds-visualizer.ds-linear-group .ds-code li:before{width:1.9em;color:var(--ds-muted);text-align:right;content:counter(ds-code-line);user-select:none;position:absolute;left:0}.ds-visualizer.ds-linear-group .ds-code li[data-active=true]{background:var(--ds-accent-soft);box-shadow:inset 2px 0 0 var(--ds-accent)}.ds-visualizer.ds-linear-group .ds-code-caption{color:var(--ds-muted);margin:0;font-size:.78rem}.ds-visualizer.ds-linear-group .ds-readout{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:.84rem;list-style:none;display:flex}.ds-visualizer.ds-linear-group .ds-readout li{min-width:0}.ds-visualizer.ds-linear-group .ds-readout .ds-k{color:var(--ds-muted);margin-right:4px}.ds-visualizer.ds-linear-group .ds-readout .ds-v{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:600}.ds-visualizer.ds-linear-group .ds-status{border:1px solid var(--ds-line);border-left:3px solid var(--ds-accent);background:var(--ds-accent-wash);overflow-wrap:anywhere;border-radius:6px;margin:0;padding:8px 10px;font-size:.85rem;line-height:1.55}.ds-visualizer.ds-linear-group .ds-error{border:1px solid var(--ds-danger);background:var(--ds-danger-soft);color:var(--ds-danger);overflow-wrap:anywhere;border-radius:6px;margin:0;padding:8px 10px;font-size:.85rem;line-height:1.55}.ds-visualizer.ds-linear-group .ds-error[hidden],.ds-visualizer.ds-linear-group .ds-status[hidden]{display:none}.ds-visualizer.ds-linear-group .ds-output{overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.6}.ds-visualizer.ds-linear-group .ds-output code{background:var(--ds-soft);border-radius:3px;padding:0 3px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.ds-visualizer.ds-linear-group .ds-note{color:var(--ds-muted);margin:0;font-size:.8rem;line-height:1.6}.ds-visualizer.ds-linear-group .cmp-axis{fill:none;stroke:var(--ds-line-strong);stroke-width:1px}.ds-visualizer.ds-linear-group .cmp-point{fill:var(--ds-accent)}.ds-visualizer.ds-linear-group .cmp-point.is-dim{fill:var(--ds-line-strong)}.ds-visualizer.ds-linear-group .seq-form,.ds-visualizer.ds-linear-group .list-form{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin:0 0 12px;display:flex}.ds-visualizer.ds-linear-group .seq-form label,.ds-visualizer.ds-linear-group .list-form label{color:var(--ds-muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.ds-visualizer.ds-linear-group .seq-form input,.ds-visualizer.ds-linear-group .list-form input{font:inherit;color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-line-strong);border-radius:6px;width:8.5em;padding:5px 8px;font-size:.84rem}.ds-visualizer.ds-linear-group .seq-form input:focus-visible,.ds-visualizer.ds-linear-group .list-form input:focus-visible{outline:2px solid var(--ds-focus);outline-offset:1px}.ds-visualizer.ds-linear-group .ds-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.ds-visualizer.ds-linear-group .ds-toolbar button{transition:none}}
