:root {
  --chart-active-accent: #f59e0b;
  --chart-active-accent-strong: #f97316;
  --chart-active-outline: #fff;
  --chart-active-shadow: rgba(194, 65, 12, .48);
}
.chart-data-tooltip {
  position: fixed;
  z-index: 2147483000;
  min-width: 168px;
  max-width: min(310px, calc(100vw - 24px));
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 10px;
  background: var(--tooltip-bg);
  color: var(--tooltip-text);
  box-shadow: var(--shadow-floating);
  font-size: var(--font-size-md);
  line-height: 1.45;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(3px);
  transition: opacity .1s ease, transform .1s ease;
}
.chart-data-tooltip.visible { opacity: 1; visibility: visible; transform: none; }
.chart-data-tooltip > strong { display: block; margin-bottom: 6px; font-size: var(--font-size-md); }
.chart-data-tooltip > div { display: grid; gap: 3px; }
.chart-data-tooltip span { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; color: var(--tooltip-muted); }
.chart-data-tooltip span.active { color: var(--tooltip-text); }
.chart-data-tooltip span.active::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--chart-active-accent); box-shadow: 0 0 0 2px rgba(255, 255, 255, .2); flex: 0 0 auto; }
.chart-data-tooltip i { font-style: normal; }
.chart-data-tooltip b { direction: ltr; unicode-bidi: isolate; white-space: nowrap; font-variant-numeric: tabular-nums; }
.chart-data-tooltip--financial {
  width: min(320px, calc(100vw - 24px));
  min-width: min(288px, calc(100vw - 24px));
  padding: 12px 14px;
}
.chart-tooltip-financial__header { display: grid; gap: 2px; padding-bottom: 8px; }
.chart-tooltip-financial__header strong { font-size: 14px; line-height: 1.35; }
.chart-tooltip-financial__header small { color: var(--tooltip-muted); font-size: 11px; font-weight: 600; }
.chart-tooltip-financial__rows { display: grid; gap: 5px; }
.chart-tooltip-financial__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: baseline;
  gap: 16px;
  color: var(--tooltip-muted);
}
.chart-tooltip-financial__row i { min-width: 0; line-height: 1.35; white-space: nowrap; }
.chart-tooltip-financial__row b { color: var(--tooltip-text); font-weight: 700; }
.chart-tooltip-financial__row.has-divider { margin-top: 3px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, .18); }
.chart-tooltip-financial__row.is-primary { margin-block: 2px; }
.chart-tooltip-financial__row.is-primary i { color: var(--tooltip-text); font-weight: 700; }
.chart-tooltip-financial__row.is-primary b { font-size: 15px; font-weight: 900; }
.chart-tooltip-financial__row.is-positive b { color: #86efac; }
.chart-tooltip-financial__row.is-negative b { color: #fda4af; }
.chart-tooltip-financial__row.is-neutral b { color: var(--tooltip-text); }
html[dir="rtl"] .chart-data-tooltip--financial { direction: rtl; text-align: right; }
html[dir="ltr"] .chart-data-tooltip--financial { direction: ltr; text-align: left; }
.chart-help-marker {
  position: fixed;
  z-index: 2147483001;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--chart-active-accent);
  color: #4a2500;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, .2), 0 5px 14px var(--chart-active-shadow);
  font: 800 12px/1 system-ui, sans-serif;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: scale(.82);
  transition: opacity .1s ease, transform .1s ease;
}
.chart-help-marker.visible { opacity: 1; visibility: visible; transform: scale(1); }
[data-chart-point] { transition: opacity .12s ease, filter .12s ease, transform .12s ease; }
[data-chart-point] { cursor: help; outline: none; transform-box: fill-box; transform-origin: center; }
[data-chart-point]:focus-visible { filter: brightness(1.08) drop-shadow(0 0 5px var(--chart-active-accent)); }
.chart-active-local-segment {
  pointer-events: none;
  fill: none;
  opacity: 1;
  stroke: var(--chart-active-accent) !important;
  stroke-width: 5.5px !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 4px var(--chart-active-shadow));
}
svg circle[data-chart-point].chart-point-active {
  fill: var(--chart-active-accent) !important;
  stroke: var(--chart-active-outline) !important;
  stroke-width: 2.75px !important;
  transform: scale(1.7);
}
svg rect[data-chart-point].chart-point-active {
  fill: var(--chart-active-accent) !important;
  stroke: var(--chart-active-outline) !important;
  stroke-width: 1.75px !important;
}
svg path[data-chart-point].chart-point-active {
  fill: var(--chart-active-accent) !important;
  stroke: var(--chart-active-outline) !important;
  stroke-width: 1.75px !important;
}
[data-chart-point].chart-point-active:not(circle):not(rect):not(path) {
  background: linear-gradient(90deg, var(--chart-active-accent-strong), var(--chart-active-accent)) !important;
  outline: 2px solid var(--chart-active-outline);
  outline-offset: 1px;
}
[data-chart-point].chart-point-active {
  opacity: 1;
  filter: brightness(1.08) saturate(1.22) drop-shadow(0 2px 5px var(--chart-active-shadow));
}
[data-chart-point].chart-point-active { position: relative; z-index: 1; }
.chart-virtual-datum-overlay {
  position: fixed;
  z-index: 2147482998;
  overflow: visible;
  pointer-events: none;
}
.chart-virtual-datum-overlay path {
  fill: rgba(245, 158, 11, .62);
  stroke: var(--chart-active-outline);
  stroke-width: 2.1;
  filter: drop-shadow(0 0 4px var(--chart-active-shadow));
}

@media (forced-colors: active) {
  svg circle[data-chart-point].chart-point-active,
  svg rect[data-chart-point].chart-point-active,
  svg path[data-chart-point].chart-point-active,
  .chart-virtual-datum-overlay path { fill: Highlight !important; stroke: HighlightText !important; }
  .chart-active-local-segment { fill: none !important; stroke: Highlight !important; }
}

@media (max-width: 480px) {
  .chart-data-tooltip { min-width: 152px; padding: 9px 10px; font-size: 11px; }
  .chart-data-tooltip--financial { width: min(306px, calc(100vw - 20px)); min-width: 0; padding: 10px 11px; }
  .chart-tooltip-financial__row { gap: 10px; }
  .chart-tooltip-financial__row.is-primary b { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .chart-data-tooltip, .chart-help-marker, [data-chart-point] { transition: none; }
}
