.viz{--viz-ink:var(--accent-text);--viz-bg:var(--surface);background:var(--viz-bg);border:1px solid var(--line);border-radius:var(--r-cell);flex-direction:column;gap:6px;min-width:0;padding:10px 10px 8px;display:flex;position:relative}.viz--inset,.viz--bare{--viz-bg:var(--surface-inset)}.viz--inset{border-radius:var(--r-inner)}.viz--bare{background:0 0;border:0;border-radius:0;padding:0}.viz--muted{--viz-ink:var(--ink-muted)}.viz--down{--viz-ink:var(--down)}.viz:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.viz__plot{touch-action:pan-y;cursor:crosshair;width:100%;min-width:0;position:relative}.viz__svg{width:100%;height:100%;display:block;overflow:visible}.viz__line{fill:none;stroke:var(--viz-ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.viz__step{stroke-linecap:butt}.viz__ahead{fill:var(--viz-ink);fill-opacity:.06}.viz__zero,.viz__max{fill:none;stroke:var(--line-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.viz__zero{stroke-dasharray:2 3}.viz__max{stroke-dasharray:3 3}.viz__cursor{stroke:var(--ink);stroke-opacity:.35;stroke-width:1px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.viz__mark{stroke:var(--ink-muted);stroke-width:1px;vector-effect:non-scaling-stroke}.viz__mark--lock{stroke:var(--ink);stroke-dasharray:2 3}.viz__resale{stroke:var(--ink-muted);stroke-opacity:.6;stroke-width:1px;stroke-dasharray:1 3;vector-effect:non-scaling-stroke}.viz__bar{fill:var(--viz-ink);fill-opacity:.72}.viz__bar--down{fill:var(--down)}.viz__bar--on{fill-opacity:1}.viz__base{background:var(--line-strong);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.viz__dot{background:var(--viz-ink);pointer-events:none;opacity:0;width:5px;height:5px;transition:opacity var(--t-1) var(--ease);border-radius:50%;margin:-2.5px 0 0 -2.5px;position:absolute}.viz__dot--on{opacity:1}.viz__dot--hover{border:2px solid var(--surface);opacity:1;width:12px;height:12px;margin:-6px 0 0 -6px;transition:none}.viz--inset .viz__dot--hover,.viz--bare .viz__dot--hover{border-color:var(--surface-inset)}.viz__tip{z-index:2;border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:8px;align-items:baseline;gap:6px;padding:3px 7px;font-size:12px;line-height:1.3;display:flex;position:absolute;top:2px;transform:translate(8px)}.viz__tip--flip{transform:translate(calc(-100% - 8px))}.viz__tip b{font-weight:700}.viz__tip span{color:var(--ink-subtle)}.viz:has(.viz__tip) .sim--corner,.viz:has(.viz__tip) .viz__maxl{opacity:0}.viz__maxl,.viz__markl{z-index:1;font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle);pointer-events:none;white-space:nowrap;font-size:10px;position:absolute}.viz__maxl{line-height:1;left:0}.viz__markl{line-height:1;top:calc(22% + 4px);transform:translate(4px)}.viz__markl--flip{transform:translate(calc(-100% - 4px))}.viz__axis{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--ink-subtle);white-space:nowrap;justify-content:space-between;gap:8px;font-size:10px;display:flex}.viz__axis>span{text-overflow:ellipsis;overflow:hidden}.viz__cap{min-width:0;color:var(--ink-subtle);justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;line-height:1.3;display:flex}.viz__cap>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viz__last{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);flex:none;font-weight:700}.viz--none{text-align:center;justify-content:center;align-items:center;gap:2px}.viz__none{font-family:var(--mono);color:var(--ink-subtle);font-size:18px}.viz--none .viz__cap{justify-content:center}.viz .sim--corner{height:15px;padding:0 4px;font-size:10px;top:6px;right:6px}.dna{--dna-a:var(--accent-ui);--dna-b:var(--dna-cool);--dna-n:var(--ink-subtle);flex-direction:column;gap:10px;min-width:0;display:flex}.dna__stage{aspect-ratio:2.15;min-height:150px;max-height:250px;padding:0;overflow:hidden}.dna__cv{width:100%;height:100%;display:block}.dna__probe{width:0;height:0;position:absolute;overflow:hidden;transition:none!important}.dna__key{grid-template-columns:minmax(0,1fr) auto 3ch;align-items:center;gap:6px 12px;display:grid}.dna__row{display:contents}.dna__k{color:var(--ink-muted);min-width:0;font-size:12px;font-weight:600}.dna__sw{gap:3px;display:flex}.dna__rung{background:var(--dna-n);border-radius:4px;width:14px;height:8px;display:block}.dnam{border-radius:var(--r-cell);border:1px solid var(--line);background:var(--surface-inset);width:40px;height:40px;display:block}.dna__v{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);font-size:12.5px;font-weight:700}.dna__v--none{color:var(--ink-subtle)}@media (prefers-reduced-motion:reduce){.viz__dot{transition:none}}.viz__legend{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-subtle);white-space:nowrap;flex-wrap:wrap;gap:4px 14px;font-size:11px;display:flex}.viz__key{align-items:center;gap:6px;display:inline-flex}.viz__key b{color:var(--ink);font-weight:700}.viz__key i{background:var(--viz-ink);border-radius:2px;width:10px;height:10px}.viz__key--sell i{background:var(--down)}.viz__buy{fill:var(--viz-ink);fill-opacity:.8}.viz__sell{fill:var(--down);fill-opacity:.8}.viz__tr--on .viz__buy,.viz__tr--on .viz__sell{fill-opacity:1}.viz__mid{stroke:var(--line-strong);stroke-width:1px;vector-effect:non-scaling-stroke}
