.viz{--viz-paper: var(--color-bg-surface);--viz-paper-2: var(--color-bg-main);--viz-line: var(--color-border-main);--viz-ink: var(--color-text-main);--viz-ink-sub: var(--color-text-sub);--viz-focus-bg: color-mix(in srgb, var(--color-accent) 14%, var(--color-bg-surface));--viz-focus-line: var(--color-accent);--viz-focus-ink: var(--color-text-main);--viz-found-bg: var(--color-bg-primary-light);--viz-found-line: var(--color-primary);--viz-found-ink: var(--color-text-main);--viz-out-bg: var(--color-bg-third);--viz-out-line: var(--color-gray-light);--viz-out-ink: var(--color-text-sub);--viz-range: var(--color-primary-dark);--viz-note-bg: var(--color-bg-main);--viz-key-bg: var(--color-bg-surface);--viz-key-line: var(--color-text-main);--viz-moved-bg: var(--color-bg-third);--viz-moved-line: var(--color-gray-light);--viz-moved-ink: var(--color-text-main);--viz-error-bg: color-mix(in srgb, var(--color-accent) 14%, var(--color-bg-surface));--viz-error-line: var(--color-accent);--viz-error-ink: var(--color-text-main)}.viz-paper{background:var(--viz-paper);border:1px solid var(--viz-line);color:var(--viz-ink)}.viz-cell{background:var(--viz-paper);border:1px solid var(--viz-line);color:var(--viz-ink);transition:background-color .24s ease,border-color .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease}.viz-cell[data-state=focus]{background:var(--viz-focus-bg);border:3px solid var(--viz-focus-line);color:var(--viz-focus-ink);transform:translateY(-6px);box-shadow:0 6px 0 -3px var(--viz-focus-line)}.viz-cell[data-state=found]{background:var(--viz-found-bg);border:3px double var(--viz-found-line);color:var(--viz-found-ink);transform:translateY(-6px)}.viz-cell[data-state=out]{background:var(--viz-out-bg);border:1px dashed var(--viz-out-line);color:var(--viz-out-ink)}.viz-state-label[data-state=focus]{color:var(--viz-focus-ink)}.viz-state-label[data-state=found]{color:var(--viz-found-ink)}.viz-state-label[data-state=out]{color:var(--viz-out-ink)}.viz-range-bar{height:4px;border-radius:2px;background:transparent;transition:background-color .24s ease}.viz-range-bar[data-in-range=true]{background:var(--viz-range)}.viz-swatch{display:inline-block;width:18px;height:18px;border-radius:4px;flex-shrink:0}.viz-swatch[data-state=focus]{background:var(--viz-focus-bg);border:3px solid var(--viz-focus-line)}.viz-swatch[data-state=found]{background:var(--viz-found-bg);border:3px double var(--viz-found-line)}.viz-swatch[data-state=out]{background:var(--viz-out-bg);border:1px dashed var(--viz-out-line)}.viz-swatch[data-state=range]{height:4px;background:var(--viz-range);border-radius:2px}.viz-note{background:var(--viz-note-bg);border:1px solid var(--viz-line);color:var(--viz-ink)}.viz-code-line{border-left:3px solid transparent;transition:background-color .24s ease,border-color .24s ease}.viz-code-line[aria-current=step]{background:var(--viz-focus-bg);border-left-color:var(--viz-focus-line);color:var(--viz-focus-ink)}.viz-result[data-correct=true]{background:var(--viz-found-bg);border:1px solid var(--viz-found-line);color:var(--viz-found-ink)}.viz-result[data-correct=false]{background:var(--viz-focus-bg);border:1px solid var(--viz-focus-line);color:var(--viz-focus-ink)}.viz-table{border-collapse:collapse;width:100%}.viz-table th,.viz-table td{border-bottom:1px solid var(--viz-line);padding:10px 8px;text-align:left;vertical-align:top}.viz-table thead th{border-bottom:2px solid var(--viz-line);color:var(--viz-ink-sub);font-weight:700;font-size:13px}.viz-cell[data-state=hole]{background:transparent;border:2px dashed var(--viz-out-line)}.viz-cell[data-state=moved]{background:var(--viz-moved-bg);border:2px solid var(--viz-moved-line);color:var(--viz-moved-ink)}.viz-cell[data-state=inserted]{background:var(--viz-found-bg);border:3px double var(--viz-found-line);color:var(--viz-found-ink)}.viz-state-label[data-state=hole]{color:var(--viz-ink-sub)}.viz-state-label[data-state=moved]{color:var(--viz-moved-ink)}.viz-state-label[data-state=inserted]{color:var(--viz-found-ink)}.viz-key{background:var(--viz-key-bg);border:2px solid var(--viz-key-line);color:var(--viz-ink);box-shadow:0 4px 0 0 var(--viz-key-line)}.viz-swatch[data-state=moved]{background:var(--viz-moved-bg);border:2px solid var(--viz-moved-line)}.viz-swatch[data-state=hole]{border:2px dashed var(--viz-out-line)}.viz-swatch[data-state=error]{background:var(--viz-error-bg);border:2px solid var(--viz-error-line)}.viz-swatch[data-state=key]{background:var(--viz-key-bg);border:2px solid var(--viz-key-line)}.viz-slot{border:1px dashed var(--viz-out-line);color:var(--viz-ink-sub)}.viz-slot[data-filled=true]{background:var(--viz-paper);border:2px solid var(--viz-ink);color:var(--viz-ink)}.viz-slot[data-state=added]{background:var(--viz-focus-bg);border:3px solid var(--viz-focus-line);color:var(--viz-focus-ink)}.viz-slot[data-state=out]{background:var(--viz-found-bg);border:3px double var(--viz-found-line);color:var(--viz-found-ink)}.viz-slot[data-state=error]{background:var(--viz-error-bg);border:2px solid var(--viz-error-line);color:var(--viz-error-ink)}.viz-error{background:var(--viz-error-bg);border:1px solid var(--viz-error-line);color:var(--viz-error-ink)}.viz-tone{color:var(--viz-ink-sub)}.viz-tone[data-tone=error]{color:var(--viz-error-line)}.viz-tone[data-tone=done],.viz-mark{color:var(--viz-range)}.viz-op{border:1px solid var(--viz-line);background:var(--viz-paper);color:var(--viz-ink)}.viz-op[data-status=done]{color:var(--viz-out-ink);background:var(--viz-out-bg)}.viz-op[data-status=current]{background:var(--viz-focus-bg);border:2px solid var(--viz-focus-line);color:var(--viz-focus-ink)}.viz-op[data-status=current-error]{background:var(--viz-error-bg);border:2px solid var(--viz-error-line);color:var(--viz-error-ink)}@media(prefers-reduced-motion:reduce){.viz-cell,.viz-range-bar,.viz-code-line{transition:none}.viz-cell[data-state=focus],.viz-cell[data-state=found]{transform:none}}.viz .viz-choice{background:var(--viz-paper);border:2px solid var(--viz-ink);box-shadow:0 2px 0 var(--viz-ink);color:var(--viz-ink);cursor:pointer}.viz .viz-choice:hover{background:var(--viz-focus-bg)}.viz .viz-choice:active{box-shadow:none;transform:translateY(2px)}.viz .viz-wrong-choice{border:2px solid var(--viz-focus-line);color:var(--viz-focus-ink)}.viz-frame{background:var(--viz-paper);border:2px solid var(--viz-ink);color:var(--viz-ink)}.viz-frame[data-state=active]{background:var(--viz-focus-bg);border:3px solid var(--viz-focus-line);color:var(--viz-focus-ink)}.viz-frame[data-state=empty]{background:transparent;border:1px dashed var(--viz-out-line)}.viz-turn{background:var(--viz-found-bg);border:3px double var(--viz-found-line);color:var(--viz-found-ink)}.viz-edge{stroke:var(--viz-line);stroke-width:2.5;transition:stroke .24s ease,stroke-width .24s ease}.viz-edge[data-state=active]{stroke:var(--viz-focus-line);stroke-width:6}.viz-node>circle{fill:var(--viz-paper);stroke:var(--viz-ink);stroke-width:2;transition:fill .24s ease,stroke .24s ease,stroke-width .24s ease}.viz-node>text{fill:var(--viz-ink)}.viz-node[data-state=visited]>circle{fill:var(--viz-found-bg);stroke:var(--viz-found-line);stroke-width:3}.viz-node[data-state=visited]>text{fill:var(--viz-found-ink)}.viz-node[data-state=current]>circle{fill:var(--viz-focus-bg);stroke:var(--viz-focus-line);stroke-width:5}.viz-node[data-state=current]>text{fill:var(--viz-focus-ink)}.viz-node[data-state=unreached]>circle{fill:var(--viz-out-bg);stroke:var(--viz-out-line);stroke-dasharray:4 3}.viz-node[data-state=unreached]>text{fill:var(--viz-out-ink)}.viz-order circle{fill:var(--viz-paper);stroke:var(--viz-found-line);stroke-width:1.5}.viz-order text{fill:var(--viz-found-ink)}.viz-weight rect{fill:var(--viz-paper);stroke:var(--viz-line);stroke-width:1.5}.viz-weight text{fill:var(--viz-ink)}.viz-weight[data-state=active] rect{fill:var(--viz-focus-bg);stroke:var(--viz-focus-line)}.viz-weight[data-state=active] text{fill:var(--viz-focus-ink)}.viz-node>text.viz-dist{fill:var(--viz-ink-sub);paint-order:stroke;stroke:var(--viz-paper);stroke-width:4px;stroke-linejoin:round}.viz-node>text.viz-dist[data-known=true]{fill:var(--viz-ink)}.viz-swatch[data-state=node],.viz-swatch[data-state=node-visited],.viz-swatch[data-state=node-current],.viz-swatch[data-state=node-unreached]{border-radius:50%;background:var(--viz-paper);border:2px solid var(--viz-ink)}.viz-swatch[data-state=node-visited]{background:var(--viz-found-bg);border:3px solid var(--viz-found-line)}.viz-swatch[data-state=node-current]{background:var(--viz-focus-bg);border:4px solid var(--viz-focus-line)}.viz-swatch[data-state=node-unreached]{background:var(--viz-out-bg);border:2px dashed var(--viz-out-line)}.viz-swatch[data-state=edge-active]{height:6px;border-radius:3px;background:var(--viz-focus-line)}.viz-swatch[data-state=frame-active]{background:var(--viz-focus-bg);border:3px solid var(--viz-focus-line)}.viz-swatch[data-state=frame]{background:var(--viz-paper);border:2px solid var(--viz-ink)}@media(prefers-reduced-motion:reduce){.viz-edge,.viz-node>circle{transition:none}}.viz-lnode>rect{fill:var(--viz-paper);stroke:var(--viz-ink);stroke-width:2}.viz-lnode>text{fill:var(--viz-ink)}.viz-lnode[data-state=cur]>rect{fill:var(--viz-focus-bg);stroke:var(--viz-focus-line);stroke-width:4}.viz-lnode[data-state=cur]>text:first-of-type{fill:var(--viz-focus-ink)}.viz-lnode[data-state=prev]>rect{fill:var(--viz-moved-bg);stroke:var(--viz-moved-line);stroke-width:2.5}.viz-lnode[data-state=new]>rect{fill:var(--viz-found-bg);stroke:var(--viz-found-line);stroke-width:3}.viz-lnode[data-state=new]>text:first-of-type{fill:var(--viz-found-ink)}.viz-lnode[data-state=removed]>rect{fill:var(--viz-out-bg);stroke:var(--viz-out-line);stroke-dasharray:5 3}.viz-lnode[data-state=removed]>text{fill:var(--viz-out-ink)}.viz-ptr{stroke:var(--viz-ink);stroke-width:2;fill:none}.viz-ptr[data-tone=active]{stroke:var(--viz-focus-line);stroke-width:4}.viz-ptr[data-tone=removed]{stroke:var(--viz-out-line);stroke-dasharray:4 3}.viz-arrowhead{fill:var(--viz-ink)}.viz-arrowhead[data-tone=active]{fill:var(--viz-focus-line)}.viz-arrowhead[data-tone=removed]{fill:var(--viz-out-line)}.viz-ptr-label{fill:var(--viz-range);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.viz-ptr-end{fill:var(--viz-ink-sub)}.viz-ptr-end[data-tone=active]{fill:var(--viz-focus-ink)}.viz-swatch[data-state=list-cur]{background:var(--viz-focus-bg);border:4px solid var(--viz-focus-line)}.viz-swatch[data-state=list-prev]{background:var(--viz-moved-bg);border:2px solid var(--viz-moved-line)}.viz-swatch[data-state=list-new]{background:var(--viz-found-bg);border:3px solid var(--viz-found-line)}.viz-swatch[data-state=list-removed]{background:var(--viz-out-bg);border:2px dashed var(--viz-out-line)}.viz-swatch[data-state=ptr-active]{height:6px;border-radius:3px;background:var(--viz-focus-line)}.viz-gap{fill:var(--viz-out-bg);stroke:var(--viz-out-line);stroke-width:1.5;stroke-dasharray:3 2}.viz-gap-text{fill:var(--viz-out-ink)}.viz-node[data-found=true]>circle{fill:var(--viz-found-bg);stroke:var(--viz-found-line);stroke-width:5}.viz-node[data-found=true]>text{fill:var(--viz-found-ink)}.viz-swatch[data-state=node-found]{border-radius:50%;background:var(--viz-found-bg);border:4px solid var(--viz-found-line)}.viz-lnode[data-state=found]>rect{fill:var(--viz-found-bg);stroke:var(--viz-found-line);stroke-width:5}.viz-lnode[data-state=found]>text{fill:var(--viz-found-ink)}.viz-swatch[data-state=hash-found]{background:var(--viz-found-bg);border:4px solid var(--viz-found-line)}.viz-aside-slot>rect{fill:none;stroke:var(--viz-ink-sub);stroke-width:1;stroke-dasharray:4 4;opacity:.6}.viz-aside-slot>text{fill:var(--viz-ink-sub)}
