:root{--cl-0:#1f55ff;--cl-1:#e7000b;--cl-2:#1e9e57;--cl-3:#d9730d;--cl-4:#9810fa;--cl-5:#0891b2;--cl-6:#c026d3;--cl-7:#65a30d;--cl-none:#a1a1aa}html[data-theme="dark"]{--cl-0:#6b8cff;--cl-1:#ff5a5f;--cl-2:#3fcf7f;--cl-3:#f0a04b;--cl-4:#b86bff;--cl-5:#22d3ee;--cl-6:#e879f9;--cl-7:#a3e635;--cl-none:#71717a}.cl-c0{--cl:var(--cl-0)}.cl-c1{--cl:var(--cl-1)}.cl-none{--cl:var(--cl-none)}.cl-data{flex-wrap:wrap;gap:8px}.cl-select{height:28px;padding:0 6px;border:1px solid var(--tf-grid);border-radius:5px;background:var(--tf-cell);color:var(--tf-ink);font:inherit}.cl-select:focus-visible{outline:2px solid var(--tf-accent);outline-offset:1px}.tf-controls label.cl-nocaps{text-transform:none;letter-spacing:0;font-size:.85rem}.cl-frame{fill:var(--tf-paper);stroke:var(--tf-grid);cursor:crosshair}.cl-pt{fill:var(--cl);stroke:var(--tf-paper);stroke-width:1.2;pointer-events:none;transition:fill 300ms ease,r 300ms ease,opacity 300ms ease}.cl-pt.is-dim{filter:none;opacity:.35}.cl-pt.is-ring{stroke:var(--tf-ink);stroke-width:2}.cl-pt.is-noise{fill:var(--tf-paper);stroke:var(--cl-none);stroke-width:1.5}.cl-cell{fill:var(--cl);fill-opacity:.1;stroke:var(--cl);stroke-opacity:.35;pointer-events:none;transition:opacity 400ms ease}.cl-centre{pointer-events:none;transition:transform var(--tf-travel) var(--tf-ease),opacity 300ms ease}.cl-centre-halo{fill:var(--tf-paper);stroke:var(--tf-ink);stroke-width:2}.cl-centre-dot{fill:var(--cl)}.cl-link{stroke:var(--tf-muted);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.cl-link.is-best{stroke:var(--tf-ink);stroke-width:2;stroke-dasharray:none}.cl-link.is-trail{stroke:var(--tf-ink);stroke-width:1.5;stroke-dasharray:none}.cl-ellipse{fill:var(--cl);fill-opacity:.08;stroke:var(--cl);stroke-width:1.6;pointer-events:none}.cl-ellipse.is-inner{fill-opacity:.1;stroke-width:1;stroke-dasharray:3 3}.cl-mean{fill:var(--cl);stroke:var(--tf-paper);stroke-width:1.5}.cl-ring-eps{fill:var(--tf-accent);fill-opacity:.025;stroke:var(--tf-accent);stroke-width:1.2;pointer-events:none}.cl-line{fill:none;stroke:var(--tf-ink);stroke-width:1.6}.cl-line.cl-ref{stroke:var(--tf-accent);stroke-dasharray:4 3}.cl-mark{fill:var(--tf-ink)}.cl-mark.cl-ref{display:none}.cl-mark.is-focus{fill:var(--tf-accent)}.tf-svg text.is-focus{fill:var(--tf-accent);font-weight:700}.tf-svg .cl-line-label{fill:var(--tf-accent)}.cl-tree path{fill:none;stroke:var(--tf-muted);stroke-width:1.3}.cl-tree path.is-on{stroke:var(--cl,var(--tf-ink));stroke-width:2}.cl-tree path.is-focus{stroke:var(--tf-accent);stroke-width:2.5}.cl-cut{stroke:var(--tf-accent);stroke-width:1.5;stroke-dasharray:5 3}.cl-fig-svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto}.cl-fig-svg text{fill:var(--tf-ink);font-family:var(--tf-font);font-size:12px}.cl-fig-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 10px;font-size:.85rem}.cl-fig-row input[type="range"]{width:160px;accent-color:var(--tf-accent)}