/* Common Price/research chart surface. These are the terminal's existing px
   surface, layered canvas, compact toolbar and 16px icon rules, shared here. */
.pxcanvwrap,.evsurface{position:relative;flex:1 1 auto;min-height:220px;cursor:grab;touch-action:none;overflow:hidden}
.pxcanvwrap.grabbing,.evsurface.grabbing{cursor:grabbing}
.pxcanv,.evbase{display:block;width:100%;height:100%}
.pxcanvl,.evoverlay{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.pxctl,.evtoolbar{display:flex;align-items:center;gap:var(--sp-2,4px);flex:none;flex-wrap:wrap}
.pxi{width:16px;height:16px;display:block;stroke:currentColor}
/* Threshold data needs a fixed numeric-domain plot, rather than time controls. */
.evchart{display:flex;flex-direction:column;min-width:0;background:var(--panel);color:var(--ink);--ev-purple:#a78bfa}
.evtoolbar{padding:7px 10px;border-bottom:1px solid var(--line);row-gap:4px}
.evtoolbar button,.evreset{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:27px;padding:3px 7px;border:1px solid transparent;border-radius:3px;background:transparent!important;color:var(--ink)!important;font-size:11px;font-weight:400;line-height:1.3;white-space:nowrap}
.evtoolbar button:hover,.evreset:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)!important;filter:none}
.evtoolbar button[aria-pressed=true]{background:var(--ink)!important;color:var(--panel)!important}
.evtoolbar button.on{border-color:var(--line2,var(--line))}
.evdivider{height:18px;width:1px;background:var(--line);margin:0 3px}.evspacer{flex:1}
.evsurface{height:clamp(290px,40vh,500px);min-height:260px;outline-offset:-3px;font-variant-numeric:tabular-nums}
.evsurface[data-pointer=cross]{cursor:crosshair}.evsurface.grabbing{cursor:grabbing}
.evlegend{position:absolute;top:8px;left:14px;right:68px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;pointer-events:none;font-size:10px;line-height:1.3;color:var(--muted)}
.evlegend>span{white-space:nowrap}.evfitted{color:var(--ev-purple)}.evfitted:before,.evraw:before{content:'';display:inline-block;width:12px;border-top:2px solid currentColor;vertical-align:middle;margin-right:5px}.evraw:before{width:4px;height:4px;border:0;border-radius:50%;background:var(--ink)}.evlegendValue{font-variant-numeric:tabular-nums;color:var(--ink)}
.evreset{position:absolute;right:76px;bottom:42px;background:var(--panel)!important;border-color:var(--line)}
.evfoot{display:flex;justify-content:space-between;gap:12px;padding:5px 14px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap}
.evtransition{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.evchart:fullscreen,.evchart.evexpanded{background:var(--panel);padding:14px;width:100%;height:100%}.evchart:fullscreen .evsurface,.evchart.evexpanded .evsurface{height:auto;flex:1}.evchart.evexpanded{position:fixed;inset:0;z-index:1000}
@media(max-width:650px){.evtoolbar{padding:5px;gap:2px}.evtoolbar button{min-height:32px;padding:5px 6px}.evdivider{margin:0 2px}.evsurface{height:310px;min-height:250px}.evlegend{gap:7px}.evlegendValue{display:none}.evfoot{font-size:9px}}

body.evchart-open{overflow:hidden}
