@layer lab{@media (prefers-reduced-motion:reduce){.arr .cell,.llsvg .ln-node .ln-circle{transition:none!important;animation:none!important}}.vega-readout .stat.p2 b{color:var(--p2)}.vega-legend .sw.p1{background:var(--p1-soft);border-color:var(--p1)}.vega-legend .sw.p2{background:var(--p2-soft);border-color:var(--p2)}.vega-legend .sw.done{background:var(--card);border-color:var(--line-strong);opacity:.4}.vega-legend .sw.hit{background:var(--hi);border-color:var(--accent)}.vega-legend .sw.water{background:var(--water-soft);border-color:var(--water)}.duo{grid-template-columns:1fr 1fr;gap:14px;display:grid}.duo .pane{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:10px;overflow:auto}.duo .pane .ph{font-family:var(--display);color:var(--accent-deep);margin:2px 4px 8px;font-size:12.5px;font-weight:600}@media (width<=720px){.duo{grid-template-columns:1fr}}.arr{font-family:var(--mono);flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px;display:flex}.arr .col{flex-direction:column;align-items:center;gap:3px;display:flex}.arr .ptrslot{flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:40px;display:flex}.arr .ptr{color:#fff;white-space:nowrap;border-radius:6px;padding:1px 7px;font-size:10.5px;font-weight:600;line-height:1.3}.arr .ptr.down:after{content:" ▾"}.arr .ptr.p1{background:var(--p1)}.arr .ptr.p2{background:var(--p2)}.arr .ptr.pw{background:var(--ink)}.arr .cell{width:38px;height:44px;color:var(--ink);border:1px solid var(--line-strong);background:var(--card);border-radius:9px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:background .14s,border-color .14s,opacity .14s,transform .14s;display:flex}.arr .cell.done{opacity:.4}.arr .cell.zero{color:var(--muted);background:#f3eee6;border-style:dashed}.arr .cell.p1{border-color:var(--p1);background:var(--p1-soft);box-shadow:0 0 0 2px var(--p1-line)}.arr .cell.p2{border-color:var(--p2);background:var(--p2-soft);box-shadow:0 0 0 2px var(--p2-line)}.arr .cell.hit{background:var(--hi);border-color:var(--accent)}.arr .cell.swap{animation:.32s tp-bump}.arr .cell.dead{opacity:.18}.arr .idx{color:var(--muted);font-size:10px}.arr .gap{width:14px}@keyframes tp-bump{0%{transform:none}40%{transform:translateY(-7px)scale(1.08)}to{transform:none}}.bars{justify-content:center;align-items:flex-end;gap:4px;padding-top:26px;display:flex}.bars .barcol{flex-direction:column-reverse;width:30px;display:flex;position:relative}.bars .bar{background:var(--accent-2);border-radius:3px 3px 0 0;width:100%;transition:background .14s}.bars .barcol.p1 .bar{background:var(--p1)}.bars .barcol.p2 .bar{background:var(--p2)}.bars .water{background:var(--water-soft);border-top:1px solid var(--water);width:100%;transition:height .18s}.bars .barcap{text-align:center;font-family:var(--mono);color:var(--muted);font-size:10px;font-weight:600;position:absolute;top:-20px;left:0;right:0}.bars .barcol.p1 .barcap{color:var(--p1)}.bars .barcol.p2 .barcap{color:var(--p2)}.bars .ptrtag{text-align:center;font-family:var(--mono);font-size:10.5px;font-weight:600;position:absolute;bottom:-22px;left:0;right:0}.bars .barcol.p1 .ptrtag{color:var(--p1)}.bars .barcol.p2 .ptrtag{color:var(--p2)}.llsvg{font-family:var(--mono);max-width:100%;margin:0 auto;display:block}.llsvg .ln-edge{stroke:var(--line-strong);stroke-width:2.4px;fill:none}.llsvg .ln-edge.loop{stroke:var(--accent-line);stroke-dasharray:5 4}.llsvg #lnarrow path{fill:var(--line-strong)}.llsvg .ln-node .ln-circle{fill:var(--card);stroke:var(--line-strong);stroke-width:2.4px;transition:fill .14s,stroke .14s}.llsvg .ln-node text{fill:var(--ink);text-anchor:middle;font-size:12px;font-weight:600}.llsvg .ln-node.visited .ln-circle{fill:var(--accent-soft);stroke:var(--accent-line)}.llsvg .ln-node.entry .ln-circle{fill:var(--hi);stroke:var(--accent);stroke-width:3.2px}.llsvg .ln-ptr{font-size:11.5px;font-weight:600}.llsvg .ln-ptr.p1{fill:var(--p1)}.llsvg .ln-ptr.p2{fill:var(--p2)}.llsvg .ln-node.slow .ln-circle{stroke:var(--p1);stroke-width:3.4px}.llsvg .ln-node.fast .ln-circle{stroke:var(--p2);stroke-width:3.4px}.llsvg .ln-node.both .ln-circle{fill:var(--bad-soft);stroke:var(--bad);stroke-width:3.6px}div.vega-lab:has(>.tp-code-only){box-shadow:none;background:0 0;border:none;border-radius:0;margin:18px 0;overflow:visible}div.vega-lab:has(>.tp-code-only)>.vega-codepanel{margin:0}}
