.ch-figure{min-width:0;font-family:var(--font);margin:0}.ch-title{font-size:var(--fs-sm);color:var(--text);margin-bottom:var(--sp-2);font-weight:800}.ch-wrap{width:100%;min-width:0;position:relative;overflow:hidden}.ch-wrap>svg{touch-action:pan-y;display:block;overflow:visible}.ch-svg:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius)}.ch-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 4;shape-rendering:crispedges}.ch-grid.is-zero{stroke:var(--line-strong);stroke-dasharray:none}.ch-axis{fill:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:700}.ch-axis-y{text-anchor:end}.ch-axis-x{text-anchor:middle}.ch-line{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:d var(--dur-slow) var(--ease-out)}.ch-line.is-dashed{stroke-dasharray:6 5}.ch-diff{stroke:none;transition:d var(--dur-slow) var(--ease-out)}.ch-diff.is-pos{fill:var(--neon-green);fill-opacity:.22}.ch-diff.is-neg{fill:var(--neon-pink);fill-opacity:.25}.ch-reveal{transform-box:fill-box;transform-origin:0;animation:ch-reveal 1.1s var(--ease-out) both}@keyframes ch-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ch-cross line{stroke:var(--text);stroke-opacity:.55;stroke-dasharray:3 4}.ch-cross circle{fill:var(--neon-yellow);stroke:var(--brand-ink);stroke-width:2.5px;animation:ch-pop .5s var(--ease-spring) .9s both}.ch-cross text{fill:var(--neon-yellow);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;paint-order:stroke;stroke:var(--brand-ink);stroke-width:3px;font-weight:700}@keyframes ch-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.ch-cross circle{transform-box:fill-box;transform-origin:50%}.ch-capture{fill:#0000;cursor:crosshair}.ch-hover line{stroke:var(--neon-cyan);stroke-width:1px;stroke-dasharray:3 3}.ch-hover circle{stroke:var(--brand-ink);stroke-width:2.5px}.ch-tip{z-index:2;max-width:min(240px,72%);padding:var(--sp-2) var(--sp-3);background:var(--brand-ink);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-solid-sm);font-size:var(--fs-xs);color:var(--text);pointer-events:none;line-height:1.35;position:absolute;top:4px}.ch-tip-x{font-family:var(--font-mono);color:var(--neon-cyan);margin-bottom:3px;font-weight:700}.ch-tip-row{white-space:nowrap;align-items:center;gap:6px;display:flex}.ch-tip-label{text-overflow:ellipsis;min-width:0;color:var(--text-dim);flex:1;overflow:hidden}.ch-tip-row b,.ch-tip-diff b{font-variant-numeric:tabular-nums}.ch-tip-diff{border-top:1px solid var(--line);margin-top:3px;padding-top:3px}.ch-tip-diff.is-pos b{color:var(--neon-green)}.ch-tip-diff.is-neg b{color:var(--pink-text)}.ch-legend{margin:var(--sp-2) 0 0;gap:4px var(--sp-4);font-size:var(--fs-xs);color:var(--text-dim);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ch-legend li{align-items:center;gap:6px;display:inline-flex}.ch-swatch{border-radius:var(--radius-sm);flex:none;width:10px;height:10px;display:inline-block}.ch-swatch.is-line{border-top:3px solid;border-radius:2px;width:18px;height:0}.ch-swatch.is-line.is-dashed{border-top-style:dashed}.ch-swatch.is-area.is-pos{background:#39ff8859}.ch-swatch.is-area.is-neg{background:#ff2d8766}.ch-note{margin:var(--sp-1) 0 0;font-size:var(--fs-xs);color:var(--text-faint);font-style:italic}.ch-spark{display:block;overflow:visible}.ch-spark-line{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:ch-draw .9s var(--ease-out) both}.ch-spark-area{animation:ch-fade .9s var(--ease-out) .2s both}.ch-spark-dot{fill:currentColor;stroke:var(--brand-ink);stroke-width:1.5px;animation:.3s .8s both ch-fade}@keyframes ch-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes ch-fade{0%{opacity:0}to{opacity:1}}.ch-step-bar{animation:ch-grow .7s var(--ease-spring) both;animation-delay:calc(var(--i,0) * .12s);transition:y var(--dur) var(--ease-out), height var(--dur) var(--ease-out)}.ch-step-value{fill:var(--text);font-family:var(--font-display);letter-spacing:.01em;text-anchor:middle;font-variant-numeric:tabular-nums;animation:.4s both ch-fade;animation-delay:calc(var(--i,0) * .12s + .4s);font-size:17px;font-weight:400}.ch-step-label{text-anchor:middle;font-size:var(--fs-xs);fill:var(--text-dim);font-weight:600}@keyframes ch-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.ch-reveal,.ch-step-bar,.ch-step-value,.ch-spark-line,.ch-spark-area,.ch-spark-dot,.ch-cross circle{animation:none}.ch-line,.ch-diff{transition:none}}.ch-stack-layer{stroke:var(--brand-ink);stroke-width:1px;opacity:.9;cursor:pointer;transition:opacity var(--dur) var(--ease-out)}.ch-stacked.has-selection .ch-stack-layer{opacity:.32}.ch-stacked.has-selection .ch-stack-layer.is-selected{opacity:1}.ch-stack-outline{fill:none;stroke:#fff;stroke-width:1.5px;pointer-events:none}.ch-stack-total{fill:none;stroke:#fff;stroke-width:2px;stroke-dasharray:2 3;opacity:.7;pointer-events:none}.ch-stack-cursor{stroke:var(--text-dim);stroke-width:1px;pointer-events:none}.ch-stack-tip{background:var(--brand-ink);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);max-width:calc(100% - 8px);box-shadow:var(--shadow-solid-sm);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;align-items:center;gap:6px;padding:4px 10px;animation:.2s both ch-fade;display:inline-flex;position:absolute;top:2px;left:50%;transform:translate(-50%)}.ch-stack-tip span:not(.ch-swatch){text-overflow:ellipsis;color:var(--text-dim);overflow:hidden}.ch-stack-tip b{font-variant-numeric:tabular-nums}.ch-big{flex-direction:column;gap:2px;min-width:0;display:flex}.ch-big-value{font-family:var(--font-display);font-synthesis:none;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 4px 0 var(--neon-pink);font-size:clamp(56px,17vw,96px);font-weight:400;line-height:.92}.ch-big.is-plain .ch-big-value{text-shadow:0 4px 0 var(--brand-ink)}.ch-big-label{font-size:var(--fs-sm);color:var(--text-dim);font-weight:600;line-height:1.3}
