/* Shared Hacker News Insights visualization grammar.
   Orange means active/current/focus. Neutral ink carries structure and unselected data.
   Additional hues are reserved for simultaneous categorical series or explicit status. */
.viz-tooltip{
  position:fixed;z-index:1000;max-width:min(360px,calc(100dvi - 16px));padding:8px 10px;
  border:1px solid var(--stroke);border-radius:8px;background:var(--bg);color:var(--ink);
  box-shadow:0 10px 28px rgba(0,0,0,.24);font-size:11.5px;line-height:1.42;
  pointer-events:none;white-space:normal
}
.viz-tooltip[hidden]{display:none}
.viz-mark{cursor:crosshair}
.viz-mark:focus-visible,.viz-line-chart:focus-visible,.viz-canvas:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px
}
.viz-line-chart{touch-action:pan-y}
.viz-line-chart polyline{transition:opacity var(--dur-fast) var(--ease),stroke-width var(--dur-fast) var(--ease)}
.viz-line-chart:has(.viz-line-active) polyline:not(.viz-line-active){opacity:.28}
.viz-line-active{opacity:1!important;stroke-width:3!important}
.viz-cursor{fill:var(--bg);stroke:var(--accent);stroke-width:2;pointer-events:none}
.correlation-value-change{fill:var(--accent)}
.viz-hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke}
[data-viz-fill]{transform-origin:left center;transition:transform var(--dur-slow) var(--ease-out)}
[data-viz-fill].viz-pending{transform:scaleX(0)}
[data-viz-fill][data-viz-axis="y"]{transform-origin:center bottom}
[data-viz-fill][data-viz-axis="y"].viz-pending{transform:scaleY(0)}

/* Restore the base line grammar after route-specific decoration: emphasis plus
   dash/weight differences remain readable without arbitrary rainbow coloring. */
.chart .ml-a{stroke:currentColor}
.chart .ml-b{stroke:var(--ink);stroke-width:1.7;opacity:.92}
.chart .ml-c{stroke:var(--ink-3);stroke-width:1.7;stroke-dasharray:5 3.5}
.chart .ml-d{stroke:var(--ink-2);stroke-width:1.9;stroke-dasharray:.5 3.4}
.chart .ml-e{stroke:var(--ink-2);stroke-width:1.3}
.chart .ml-f{stroke:var(--ink-3);stroke-width:1.7;stroke-dasharray:9 3}

@media(prefers-reduced-motion:reduce){
  .viz-line-chart polyline,[data-viz-fill]{transition:none!important}
}
