/* Performance chart (ct-perf.js) — agent A. Shared by the homepage and /portfolio. Tokens from ct.css only. */
.hm-chart-body{position:relative}
.hm-chart-body svg{display:block;width:100%;height:100%;overflow:visible;touch-action:pan-y;cursor:crosshair}
.hm-chart-body svg:focus{outline:none}
.hm-chart-body svg:focus-visible{outline:2px solid var(--ct-accent);outline-offset:4px;border-radius:4px}
.hm-grid line{stroke:var(--ct-chart-grid)}
.hm-grid .zero{stroke:var(--ct-border-strong)}
.hm-axis text{fill:var(--ct-chart-axis);font:11px var(--ct-font-ui);font-variant-numeric:tabular-nums}
.hm-line{fill:none;stroke-linejoin:round;stroke-linecap:round}
.hm-line--pf{stroke:var(--ct-chart-portfolio);stroke-width:2.25}
.hm-line--spy{stroke:var(--ct-chart-bench);stroke-width:1.5}
.hm-gap--pos{fill:var(--ct-pos);opacity:.09}
.hm-gap--neg{fill:var(--ct-neg);opacity:.11}
.hm-cross{stroke:var(--ct-text-4);stroke-width:1}
.hm-dot{stroke:var(--ct-bg);stroke-width:2}
.hm-dot--pf{fill:var(--ct-chart-portfolio)}
.hm-dot--spy{fill:var(--ct-chart-bench)}
.hm-halo{fill:var(--ct-chart-portfolio)}
.hm-tip{position:absolute;top:6px;pointer-events:none;background:var(--ct-surface-3);border:1px solid var(--ct-border-strong);border-radius:var(--ct-r-md);padding:8px 10px;font-size:12.5px;line-height:1.5;min-width:188px;box-shadow:0 8px 20px rgba(0,0,0,.35);transition:left var(--ct-dur-fast) var(--ct-ease)}
.hm-tip b{display:block;font-weight:600;color:var(--ct-text);margin-bottom:2px}
.hm-tip div{display:flex;justify-content:space-between;gap:var(--ct-s4);color:var(--ct-text-2)}
.hm-tip span:last-child{font-variant-numeric:tabular-nums;color:var(--ct-text)}
.hm-tip .ex{border-top:1px solid var(--ct-border);margin-top:4px;padding-top:4px}
