/* PEOPLE:charts — keep page scrolling available until a chart is zoomed. */
.pp-estimate-chart,.pp-flow-chart{position:relative;min-width:0}
.pp-estimate-chart svg,.pp-flow-chart svg{touch-action:pan-y}
.pp-page .pp-estimate-chart svg,.pp-page .pp-flow-chart svg{min-width:0;width:100%}
/* Generic full-height event hit strips must not cover the estimate curve points. */
.pp-estimate-chart .tt-hit{pointer-events:none}
.pp-estimate-chart svg.pp-chart-zoomed,.pp-flow-chart svg.pp-chart-zoomed{touch-action:none;cursor:grab}
.pp-chart-bubble{position:absolute;z-index:4;top:9px;right:9px;max-width:min(270px,calc(100% - 18px));padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--card);box-shadow:0 8px 20px rgba(20,35,30,.16);font-size:12px;line-height:1.45;color:var(--text);pointer-events:none;overflow-wrap:anywhere}
.pp-chart-bubble[hidden]{display:none}
.pp-chart-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0 0;touch-action:manipulation}
.pp-chart-controls button{min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font:inherit;font-size:12px;cursor:pointer}
.pp-chart-controls button:disabled{opacity:.5;cursor:default}
.pp-chart-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pp-chart-controls span{font-size:11px;line-height:1.45;color:var(--muted)}
@media(max-width:920px),(pointer:coarse){.pp-chart-controls button{min-height:44px}.pp-chart-controls span{flex-basis:100%}}
