#graph{--surface: var(--canvas);display:block;aspect-ratio:640 / 520;--plot-aspect: 640 / 520;max-width:100%;max-height:100%;width:auto;height:auto;touch-action:none;user-select:none}@media(min-width:1024px)and (min-height:541px){.graph-wrap{container-type:size}#graph{--room-l: max(0px, var(--switch-room) - var(--stage-pad));--room-b: max(0px, var(--switch-room) - var(--stage-foot));--w0: min(100cqw, 100cqh * var(--plot-aspect));--short-l: calc(var(--room-l) - (100cqw - var(--w0)) / 2);--short-b: calc(var(--room-b) - (100cqh - var(--w0) / (var(--plot-aspect))) / 2);--w-l: min(100cqw - var(--room-l), 100cqh * var(--plot-aspect));--w-b: min(100cqw, (100cqh - var(--room-b)) * var(--plot-aspect));--m-l: min(clamp(0px, var(--short-l) * 1000, var(--room-l)), clamp(0px, var(--short-b) * 1000, var(--room-l)), clamp(0px, (var(--w-l) - var(--w-b)) * 1000, var(--room-l)));--m-b: min(clamp(0px, var(--short-l) * 1000, var(--room-b)), clamp(0px, var(--short-b) * 1000, var(--room-b)), clamp(0px, (var(--w-b) - var(--w-l) + 1px) * 1000, var(--room-b)));margin:0 0 var(--m-b) var(--m-l);max-width:calc(100% - var(--m-l));max-height:calc(100% - var(--m-b))}}.axis-line{stroke:var(--ink);stroke-width:calc(1.5px * var(--plot-k, 1))}.arrowhead{fill:var(--ink)}.shift-arrow.tone-demand,.shift-arrowhead.tone-demand{--tone: color-mix(in srgb, var(--demand) 72%, var(--muted))}.shift-arrow.tone-supply,.shift-arrowhead.tone-supply{--tone: color-mix(in srgb, var(--supply) 72%, var(--muted))}.shift-arrow.tone-curve3,.shift-arrowhead.tone-curve3{--tone: color-mix(in srgb, var(--curve3) 72%, var(--muted))}.shift-arrow.tone-curve4,.shift-arrowhead.tone-curve4{--tone: color-mix(in srgb, var(--curve4) 72%, var(--muted))}.shift-arrow.tone-ink,.shift-arrowhead.tone-ink{--tone: var(--muted)}.shift-arrowhead{fill:var(--tone, var(--muted))}.tick{stroke:var(--grid);stroke-width:1}.tick-label{fill:var(--muted);font-size:calc(11px * var(--plot-k, 1))}.axis-title{fill:var(--ink);font-family:var(--font-ui);font-size:clamp(13px,calc(12px * var(--plot-hit, 1)),calc(13px * var(--plot-k, 1)));font-weight:500}.axis-title-y{paint-order:stroke;stroke:var(--surface);stroke-width:calc(3.5px * var(--plot-k, 1));stroke-linejoin:round}.curve{fill:none;stroke-width:calc(2.25px * var(--plot-k, 1));stroke-linecap:round;stroke-linejoin:round}.curve.demand{stroke:var(--demand)}.curve.supply{stroke:var(--supply)}.curve.lras,.curve.ppf{stroke:var(--curve3)}.curve.budget{stroke:var(--ink)}.curve.indiff{stroke:var(--demand)}.curve.indiff-faint{stroke:var(--demand);opacity:.32}.curve.laffer,.curve.mr{stroke:var(--curve4)}.curve.social{stroke:var(--curve4);stroke-dasharray:7 4}.curve.ke-ref{stroke:var(--muted);stroke-width:1.5}.curve-label.ke-ref{fill:var(--muted)}.ke-knob{fill:var(--surface);stroke:var(--demand);stroke-width:2.5}.ke-knob-hit{fill:transparent;cursor:ns-resize}.ke-knob-hit:focus-visible{outline:none;stroke:var(--ink);stroke-width:2.5;stroke-dasharray:3 2}.curve.lorenz-eq{stroke:var(--muted);stroke-width:1.5}.curve-label.lorenz-eq{fill:var(--muted)}.curve.lorenz{stroke:var(--demand)}.curve.react1{stroke:var(--curve3)}.curve.react2{stroke:var(--curve4)}.curve.react1-faint{stroke:var(--curve3);opacity:.38}.curve.react2-faint{stroke:var(--curve4);opacity:.38}.curve.out-line{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:6 4}.curve-label.lorenz{fill:var(--demand)}.region-gini{fill:color-mix(in srgb,var(--curve4) 16%,transparent)}.region-lens{fill:color-mix(in srgb,var(--curve3) 12%,transparent)}.box-origin{fill:var(--ink);font-family:var(--font-display);font-size:clamp(20px,calc(14px * var(--plot-hit, 1)),calc(20px * var(--plot-k, 1)));font-weight:600;font-style:italic}.panel-title{font-family:var(--font-display);font-size:clamp(15px,calc(13px * var(--plot-hit, 1)),calc(15px * var(--plot-k, 1)));font-weight:600;fill:var(--ink)}.axval{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:calc(11px * var(--plot-k, 1));font-weight:600;fill:var(--eq);paint-order:stroke;stroke:var(--surface);stroke-width:calc(3px * var(--plot-k, 1));stroke-linejoin:round}.axval.lr{fill:var(--warn)}.label-knockout{fill:var(--surface);opacity:.9;pointer-events:none}.axval-leader{stroke:var(--eq);stroke-width:1.1;stroke-dasharray:2 2;opacity:.55;pointer-events:none}.region-leader{stroke:var(--muted);stroke-width:.9;pointer-events:none}.curve-hit{fill:none;stroke:transparent;stroke-width:14;cursor:grab;outline:none;transition:stroke var(--t-ui) var(--ease-ui)}.curve-hit.ew{cursor:ew-resize}.curve-hit:hover{stroke:color-mix(in srgb,var(--ink) 12%,transparent)}.curve-hit:active{cursor:grabbing}.curve-hit:focus-visible,.pc-hit:focus-visible{stroke:color-mix(in srgb,var(--focus) 35%,transparent)}.prod-hit:focus-visible{stroke:color-mix(in srgb,var(--focus) 60%,transparent);stroke-width:2.5}.curve.ghost{stroke-dasharray:5 5;stroke-width:calc(1.75px * var(--plot-k, 1));opacity:.45}.ghost-label{opacity:.5}.shift-arrow{stroke:var(--tone, var(--muted));stroke-width:1.5}.curve-label{font-family:var(--font-display);font-size:clamp(17px,calc(12px * var(--plot-hit, 1)),calc(17px * var(--plot-k, 1)));font-weight:600;font-style:italic}.curve-label.demand{fill:var(--demand)}.curve-label.supply{fill:var(--supply)}.curve-label.lras,.curve-label.ppf{fill:var(--curve3)}.curve-label.budget{fill:var(--ink)}.curve-label.indiff{fill:var(--demand)}.curve-label.mr,.curve-label.social,.curve-label.laffer{fill:var(--curve4)}.curve-label.react1{fill:var(--curve3)}.curve-label.react2{fill:var(--curve4)}.curve-label.out-line{fill:var(--muted)}.region-cs{fill:var(--fill-demand)}.region-ps{fill:var(--fill-supply)}.region-gap{fill:var(--fill-warn)}.region-attainable{fill:var(--fill-curve3)}.region-prohibitive{fill:var(--fill-warn)}.region-profit{fill:var(--fill-profit)}.region-loss{fill:var(--fill-loss)}.region-label{font-family:var(--font-ui);font-size:calc(11px * var(--plot-k, 1));font-weight:600;fill:var(--muted);paint-order:stroke;stroke:var(--surface);stroke-width:calc(3px * var(--plot-k, 1));stroke-linejoin:round}.region-label.rl-cs{fill:var(--demand)}.region-label.rl-ps{fill:var(--supply)}.region-label.rl-dwl{fill:var(--ink)}.region-label.rl-gap{fill:var(--warn)}.region-label.rl-rev{fill:var(--curve3)}.region-label.rl-cost{fill:var(--curve4)}.region-rev{fill:color-mix(in srgb,var(--curve3) 16%,transparent)}.region-cost{fill:color-mix(in srgb,var(--curve4) 16%,transparent)}.region-dwl{fill:url(#dwlHatch)}.dwl-hatch-line{stroke:var(--supply);stroke-width:1.1;opacity:.55}.gap-arrow{stroke:var(--warn);stroke-width:1.6}.gap-arrowhead{fill:var(--warn)}.eq-dot{fill:var(--surface);stroke:var(--eq);stroke-width:3;transform-box:fill-box;transform-origin:center}svg:not([data-interacting]) .eq-dot{animation:eqspring var(--t-curve) var(--ease-curve)}@keyframes eqspring{0%{transform:scale(.55)}62%{transform:scale(1.12)}to{transform:scale(1)}}.eq-line{stroke:var(--eq);stroke-width:1.1;stroke-dasharray:4 4;opacity:.55}.eq-label{fill:var(--ink);font-size:clamp(12px,calc(11px * var(--plot-hit, 1)),calc(12px * var(--plot-k, 1)));paint-order:stroke;stroke:var(--surface);stroke-width:calc(3px * var(--plot-k, 1));stroke-linejoin:round}.ctrl-dot{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}.ctrl-label{fill:var(--ink);font-size:clamp(11.5px,calc(11px * var(--plot-hit, 1)),calc(11.5px * var(--plot-k, 1)));paint-order:stroke;stroke:var(--surface);stroke-width:calc(3px * var(--plot-k, 1));stroke-linejoin:round}.ctrl-dot.react1{stroke:var(--curve3)}.ctrl-dot.react2{stroke:var(--curve4)}.ctrl-label.react1{fill:var(--curve3)}.ctrl-label.react2{fill:var(--curve4)}.xsect-dot{fill:var(--muted);stroke:var(--surface);stroke-width:1.5}.peak-dot{fill:var(--curve4);stroke:var(--surface);stroke-width:2}.peak-label{fill:var(--curve4);font-size:clamp(12px,calc(11px * var(--plot-hit, 1)),calc(12px * var(--plot-k, 1)));paint-order:stroke;stroke:var(--surface);stroke-width:calc(3px * var(--plot-k, 1));stroke-linejoin:round}.prod-dot{fill:var(--supply);stroke:var(--surface);stroke-width:2}.prod-hit{fill:transparent;cursor:grab}.prod-hit:active{cursor:grabbing}.prod-label{fill:var(--supply);font-size:clamp(12px,calc(11px * var(--plot-hit, 1)),calc(12px * var(--plot-k, 1)));paint-order:stroke;stroke:var(--surface);stroke-width:calc(3px * var(--plot-k, 1));stroke-linejoin:round}.pc-line{stroke:var(--warn);stroke-width:2.2;stroke-dasharray:6 4;cursor:ns-resize}.pc-hit{stroke:transparent;stroke-width:18;cursor:ns-resize}.pc-label{fill:var(--warn);font-size:clamp(12px,calc(11px * var(--plot-hit, 1)),calc(12px * var(--plot-k, 1)));paint-order:stroke;stroke:var(--surface);stroke-width:calc(3px * var(--plot-k, 1));stroke-linejoin:round}.world-line{stroke:var(--curve4);stroke-width:2;stroke-dasharray:7 4}.world-line.domestic{stroke:var(--warn)}.xh-line{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3;opacity:.38}.xh-dot{fill:var(--ink)}.xh-dot.locked{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}.xh-pill{fill:var(--surface);stroke:var(--hairline);stroke-width:1;opacity:.75}.xh-tag{fill:var(--ink);font-size:calc(11px * var(--plot-k, 1));font-weight:500}.layer-crosshair,.layer-labels,.layer-ghosts,.layer-regions,.layer-markers,.layer-curves,.layer-axes{pointer-events:none}#graph:focus{outline:none}#graph:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(pointer:coarse){.curve-hit{stroke-width:max(14px,calc(28px * var(--plot-hit, 1)))}.prod-hit{stroke:transparent;stroke-width:calc(28px * var(--plot-hit, 1))}.pc-hit{stroke-width:max(18px,calc(28px * var(--plot-hit, 1)))}}
