.z-chart-hit{fill:none;pointer-events:all}.z-chart{padding-block:var(--sp-8);color:var(--ink)}.z-chart h2{max-width:28ch;margin:0 0 var(--sp-4)}.z-chart figure{width:100%;max-width:760px;margin:0 auto;padding:var(--sp-5);border:1px solid var(--line);border-radius:16px;background:var(--panel);box-sizing:border-box}.viz-plot{position:relative;isolation:isolate;aspect-ratio:8/5;width:100%;max-width:760px}.viz-plot.viz-square{aspect-ratio:5/4}.z-chart .viz-plot>svg{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;overflow:visible;color:var(--ink)}.viz-labels{position:absolute;inset:0;pointer-events:none}.viz-labels :is(span,b){position:absolute;line-height:1.2;font-family:var(--sans);font-size:var(--fs-xs);font-weight:400;font-style:normal;color:var(--ink);white-space:nowrap;transform:translate(var(--viz-anchor,0),-100%);font-variant-numeric:tabular-nums}.viz-labels .viz-middle{--viz-anchor:-50%;text-align:center}.viz-labels .viz-end{--viz-anchor:-100%;text-align:end}.viz-labels .profile-axis-label{font-weight:600}.viz-labels .profile-data-label{background:var(--panel);border-radius:4px}.viz-labels .z-chart-stage-number{font-size:var(--fs-body);font-weight:600}.viz-labels .z-chart-stage-number.is-selected{color:var(--accent-ink)}.z-chart figcaption,.z-chart-note{font-size:var(--fs-sm);line-height:1.5;color:var(--muted);margin:var(--sp-4) 0 0}.z-chart-bar{fill:var(--accent)}.z-chart-review{stroke:var(--ink);stroke-width:1.5}.z-chart-hatch{stroke:var(--ink);stroke-width:2;fill:none}.z-chart-axis{stroke:var(--line-2);stroke-width:2;fill:none}.z-chart-line,.z-chart-range{stroke:var(--accent);stroke-width:4;fill:none}.z-chart-dot{fill:var(--ink);stroke:var(--panel);stroke-width:2}.z-chart-stage{fill:var(--panel-2);stroke:var(--line-2);stroke-width:2}.z-chart input[type=range]{grid-column:1/-1;display:block;width:100%;min-height:44px;margin:0;accent-color:var(--accent);cursor:pointer}.z-chart-result{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);align-items:baseline;margin:var(--sp-4) 0 0;font-size:var(--fs-body);line-height:1.5}.z-chart-result strong{font-size:var(--fs-title-sm)}.z-chart-result span{color:var(--muted)}.z-chart-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);margin:var(--sp-4) 0}.z-chart-values dt{font-size:var(--fs-sm);color:var(--muted)}.z-chart-values dd{margin:0;font-size:var(--fs-body);font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.z-chart-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3);margin-top:var(--sp-4)}.z-chart-choices>div{border:1px solid var(--line);border-radius:12px;padding:var(--sp-3);background:var(--panel)}.z-chart button{display:block;width:100%;min-height:44px;border:1px solid var(--line-2);border-radius:8px;padding:var(--sp-2);background:var(--panel-2);color:var(--ink);font:600 var(--fs-body)/1.4 var(--sans);cursor:pointer}.z-chart-choices p{font-size:var(--fs-sm);line-height:1.5;margin:var(--sp-3) 0 0;color:var(--ink)}.z-chart [aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}.z-chart .is-selected .z-chart-dot{stroke:var(--accent);stroke-width:5}.z-chart .is-selected .z-chart-stage{fill:var(--accent)}.z-chart .is-selected .z-chart-bar{stroke:var(--ink);stroke-width:2}[data-zoya-chart=adoption] .z-chart-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.z-chart :is(button,input):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.profile-chart{padding-block:var(--sp-7)}.profile-grid{fill:none;stroke:var(--line-2);stroke-width:2}.profile-area{fill:var(--accent);fill-opacity:.18;stroke:var(--accent);stroke-width:3}.profile-comparison{fill:none;stroke:var(--ink);stroke-dasharray:6 5;stroke-width:3}.profile-fill,.profile-point{fill:var(--accent)}.profile-alt{fill:var(--ink)}.profile-range{stroke:var(--accent);stroke-width:8}.profile-cell{fill:var(--accent);stroke:var(--accent);stroke-width:2}.profile-values{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin:var(--sp-4) 0;font-size:var(--fs-sm)}.profile-values dd{margin:0;font-weight:700}.profile-steps{display:flex;gap:var(--sp-2);flex-wrap:wrap}.profile-steps button{width:auto;flex:1}.profile-compact{padding:var(--sp-4);margin-block:var(--sp-4);border:1px solid var(--line);border-radius:12px}.profile-compact h4{font-size:var(--fs-title-sm);margin:0 0 var(--sp-3)}.profile-compact svg :is(path,polygon):not([class]){fill:none;stroke:var(--line-2);stroke-width:2}.profile-compact dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,1fr);gap:var(--sp-2);align-items:center;margin:var(--sp-3) 0}.profile-compact dd{margin:0}.profile-compact dt{font-size:var(--fs-sm)}.profile-compact svg circle{fill:var(--accent)}
.chart-scenarios{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-block:var(--sp-4)}.chart-scenarios button{width:auto;flex:1;padding-inline:var(--sp-2);font-size:var(--fs-2xs)}.chart-scenarios:empty{display:none}.z-chart [data-scenario-note]{margin-block:var(--sp-2);font-size:var(--fs-sm);line-height:1.5}.z-chart [data-scenario-name]{font-weight:700}.z-chart [data-scenario-live]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:767px){.z-chart figure{padding:var(--sp-3)}.z-chart-choices,[data-zoya-chart=adoption] .z-chart-choices{grid-template-columns:1fr}.z-chart-values{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-steps{display:grid;grid-template-columns:1fr 1fr}.chart-scenarios{gap:var(--sp-1)}}
@media print{.z-chart{break-inside:avoid;padding-block:var(--sp-4);--ink:#111;--panel:#fff;--panel-2:#fff;--muted:#333;--accent:#333;--line-2:#777}.z-chart input{display:none;color:#111;background:#fff}.profile-inputs,.profile-steps,.chart-scenarios{display:none}.profile-compact input{display:block;border:0}.profile-compact{break-inside:auto}.profile-compact figcaption{color:#111}}

.viz-plot :is(path,line,polyline,polygon,circle,rect,use){vector-effect:non-scaling-stroke}

[data-zoya-chart=matrix] .viz-labels :is(span,b){background:var(--panel);border-radius:4px}
.viz-labels .visually-hidden{width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

[data-zoya-chart=radar] .viz-labels,[data-zoya-chart=timeline] .viz-dynamic{--viz-anchor:-50%}[data-zoya-chart=matrix] .viz-dynamic{--viz-anchor:-100%}.viz-labels .viz-start{--viz-anchor:0}
[data-zoya-chart=radar] .viz-labels{text-align:center}.viz-labels .viz-start{text-align:start}

/* Shared chart inputs. */

.z-chart input[type=number]{display:block;width:100%;min-width:0;min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-2);border-radius:4px;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/1.4 var(--sans);font-variant-numeric:tabular-nums;box-sizing:border-box}
.z-chart .profile-values input{max-width:12ch;margin-inline-start:auto}

.z-chart details .z-chart-note{font-size:var(--fs-2xs);line-height:1.6}
