/* the page is the whole document here, not a component inside a framework */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #ffffff;
  color: #111111;
  font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.tts-page { max-width: 1080px; margin: 0 auto; padding: 26px 24px 30px; }
@media (max-width: 600px) { .tts-page { padding: 18px 14px 22px; } }

.tts-chart {
  --tts-series: #ff9d00;
  --tts-wash: rgba(255, 157, 0, 0.14);
  --tts-brand: #ffd21e;
  --tts-ink: #111111;
  --tts-ink-2: #5b5952;
  --tts-muted: #8c8a82;
  --tts-grid: #ece9e1;
  --tts-axis: #cfccc2;
  --tts-hairline: rgba(17, 17, 17, 0.10);
  --tts-surface: #ffffff;
  --tts-shadow: rgba(17, 17, 17, 0.18);
  font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--tts-ink);
}
.dark .tts-chart {
  --tts-series: #ff9d00;
  --tts-wash: rgba(255, 157, 0, 0.16);
  --tts-ink: #ffffff;
  --tts-ink-2: #c3c2b7;
  --tts-muted: #8c8a82;
  --tts-grid: #2c2c2a;
  --tts-axis: #3a3a37;
  --tts-hairline: rgba(255, 255, 255, 0.11);
  --tts-surface: #232321;
  --tts-shadow: rgba(0, 0, 0, 0.6);
}
.tts-chart h1 { margin-bottom: 4px; }

.tts-eyebrow {
  display: flex; align-items: center; gap: 9px;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--tts-muted);
}
.tts-mark {
  width: 11px; height: 11px; border-radius: 3px; flex: none;
  background: var(--tts-brand); border: 1px solid var(--tts-hairline);
}
.tts-chart h1 {
  font-size: 23px; font-weight: 600; letter-spacing: -0.012em; margin: 0;
  color: var(--tts-ink);
}
.tts-totals {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
  font-size: 16px; color: var(--tts-ink-2); margin-bottom: 20px;
}
.tts-asof {
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 14px; color: var(--tts-muted);
}

.tts-totals strong {
  font-size: 20px; font-weight: 600; color: var(--tts-ink);
  font-variant-numeric: tabular-nums;
}
.tts-sep { color: var(--tts-axis); }
.tts-plot { overflow-x: auto; }
.tts-svg { display: block; width: 100%; min-width: 420px; height: auto; }
.tts-bar { transition: opacity 90ms linear; }
.tts-svg:hover .tts-bar { opacity: 0.45; }

/* Hover slots: one per month, drawn above the columns. The highlight path is a
   copy of the column so the hovered one stays at full strength while the rest
   dim; the tooltip is real SVG revealed by :hover, because gr.HTML strips
   scripts and a JS tooltip would never run. */
.tts-slot { cursor: pointer; outline: none; }
.tts-bar-hi, .tts-cross, .tts-tip { opacity: 0; pointer-events: none; }
.tts-slot:hover .tts-bar-hi, .tts-slot:is(:focus-visible,.is-pinned) .tts-bar-hi { opacity: 1; }
.tts-slot:hover .tts-cross, .tts-slot:is(:focus-visible,.is-pinned) .tts-cross { opacity: 1; }
.tts-slot:hover .tts-tip, .tts-slot:is(:focus-visible,.is-pinned) .tts-tip { opacity: 1; }

/* Click (or tab) to a month and its box stays put so the model links inside
   are reachable; while one is pinned, passing the cursor over other months
   must not swap the box out from under the pointer. */
.tts-svg:has(.tts-slot:is(:focus-visible,.is-pinned)) .tts-slot:hover .tts-tip { opacity: 0; }
.tts-svg:has(.tts-slot:is(:focus-visible,.is-pinned)) .tts-slot:is(:focus-visible,.is-pinned) .tts-tip { opacity: 1; }
.tts-svg:has(.tts-slot:is(:focus-visible,.is-pinned)) .tts-slot:hover .tts-bar-hi,
.tts-svg:has(.tts-slot:is(:focus-visible,.is-pinned)) .tts-slot:hover .tts-cross { opacity: 0; }
.tts-svg:has(.tts-slot:is(:focus-visible,.is-pinned)) .tts-slot:is(:focus-visible,.is-pinned) .tts-bar-hi,
.tts-svg:has(.tts-slot:is(:focus-visible,.is-pinned)) .tts-slot:is(:focus-visible,.is-pinned) .tts-cross { opacity: 1; }
.tts-svg:has(.tts-slot:is(:focus-visible,.is-pinned)) .tts-bar { opacity: 0.45; }
.tts-tip-eyebrow {
  fill: var(--tts-muted); font-size: 8.5px; letter-spacing: 0.1em;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}
.tts-tip-link text {
  fill: var(--tts-ink); font-size: 11.5px; font-weight: 500;
  text-decoration: underline; text-underline-offset: 2px;
}
.tts-tip-link:hover text { fill: var(--tts-series); }
.tts-cross { stroke: var(--tts-axis); stroke-width: 1; }
.tts-tip-box {
  fill: var(--tts-surface); stroke: var(--tts-hairline); stroke-width: 1;
  filter: drop-shadow(0 2px 6px var(--tts-shadow));
}
.tts-tip-swatch { fill: var(--tts-series); }
.tts-tip-title { fill: var(--tts-ink); font-size: 21px; font-weight: 600; }
.tts-tip-label { fill: var(--tts-ink-2); font-size: 19px; }
.tts-tip-value {
  fill: var(--tts-ink); font-size: 19px; font-weight: 500; text-anchor: end;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-variant-numeric: tabular-nums;
}
.tts-tip-rule { stroke: var(--tts-hairline); stroke-width: 1; }
.tts-tip-note { fill: var(--tts-ink-2); font-size: 18px; }
@media (prefers-reduced-motion: reduce) {
  .tts-bar-hi, .tts-cross, .tts-tip { transition: none; }
}
.tts-tick {
  fill: var(--tts-muted); font-size: 22px;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-variant-numeric: tabular-nums;
}
.tts-anno { fill: var(--tts-ink-2); font-size: 11.5px; }
.tts-anno-sub {
  fill: var(--tts-muted); font-size: 11px;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}
.tts-foot { font-size: 12.5px; color: var(--tts-muted); margin: 12px 0 0; max-width: 80ch; }

/* Release pins: a hairline dropped at the release date, numbered at the top.
   The key below resolves the numbers — several releases land within weeks of
   each other, so names on the plot would collide. */
.tts-rel-stem { stroke: var(--tts-axis); stroke-width: 1; opacity: 0.55; }
.tts-rel-pin { fill: var(--tts-surface); stroke: var(--tts-axis); stroke-width: 1; }
.tts-rel-num {
  fill: var(--tts-ink-2); font-size: 9.5px; text-anchor: middle;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}

/* ---- release stream --------------------------------------------------- */
/* Each logo is absolutely placed at its release date as a percentage of the
   1040-unit viewBox, so it tracks the chart at any width. Logos overlap where
   releases cluster; the surface ring keeps them separable, and hover raises
   the one under the cursor above its neighbours. */
.tts-stream {
  position: relative;
  height: 52px;
  margin: 22px 0 0;
  min-width: 420px;
}
.tts-rel {
  position: absolute; left: var(--x); top: 6px;
  transform: translateX(-50%);
  width: 32px; height: 32px;
  text-decoration: none;
  transition: left 240ms cubic-bezier(.2,.8,.3,1);
}
.tts-rel::before {
  content: ""; position: absolute; left: 50%; width: 1px;
  top: -22px; height: 22px;
  background: var(--tts-axis); opacity: 0.3;
  transition: background-color 160ms linear, opacity 160ms linear;
}
.tts-av {
  width: 32px; height: 32px; border-radius: 50%;
  object-fit: cover; display: block;
  background: var(--tts-grid);
  border: 2px solid var(--tts-surface);
  box-shadow: 0 0 0 1px var(--tts-hairline);
  transition: transform 180ms cubic-bezier(.2,.8,.3,1), border-color 180ms linear;
  transform-origin: center bottom;
}
.tts-rel:hover { z-index: 20; }
.tts-rel:hover .tts-av, .tts-rel:focus-visible .tts-av {
  transform: translateY(-5px) scale(1.5);
  border-color: var(--tts-series);
}
.tts-rel:hover::before { background: var(--tts-series); opacity: 1; }

/* hover card, floated above the logo over the chart's lower band */
.tts-card {
  position: absolute; bottom: calc(100% + 16px); left: 50%;
  transform: translateX(-50%) translateY(4px);
  display: flex; flex-direction: column; gap: 1px;
  min-width: 200px; padding: 11px 13px;
  background: var(--tts-surface);
  border: 1px solid var(--tts-hairline); border-radius: 6px;
  box-shadow: 0 4px 16px var(--tts-shadow);
  opacity: 0; pointer-events: none;
  transition: opacity 140ms linear, transform 180ms cubic-bezier(.2,.8,.3,1);
}
.tts-card-start .tts-card { left: 0; transform: translateX(0) translateY(4px); }
.tts-card-end .tts-card { left: auto; right: 0; transform: translateX(0) translateY(4px); }
.tts-rel:hover .tts-card, .tts-rel:focus-visible .tts-card {
  opacity: 1; transform: translateX(-50%) translateY(0);
}
.tts-card-start:hover .tts-card, .tts-card-end:hover .tts-card {
  transform: translateX(0) translateY(0);
}
.tts-card-name { font-size: 16px; font-weight: 600; color: var(--tts-ink); }
.tts-card-id {
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 13px; color: var(--tts-ink-2); overflow-wrap: anywhere;
}
.tts-card-meta {
  display: flex; justify-content: space-between; gap: 12px; margin-top: 4px;
  padding-top: 5px; border-top: 1px solid var(--tts-hairline);
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 12.5px; color: var(--tts-muted); white-space: nowrap;
}
.tts-stream-cap {
  margin: 6px 0 0; padding-left: var(--x0, 5.385%);
  font-size: 14px; color: var(--tts-muted);
}
.tts-sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .tts-av, .tts-card { transition: none; }
}
.tts-sub { margin-top: 30px; border-top: 1px solid var(--tts-hairline); padding-top: 18px; }
.tts-sub h2 {
  font-size: 14px; font-weight: 600; margin: 0 0 4px; color: var(--tts-ink);
}
.tts-sub > p { margin: 0 0 10px; font-size: 12.5px; color: var(--tts-ink-2); max-width: 84ch; }
.tts-svg-sub { min-width: 640px; }
.tts-bar-sub { opacity: 0.85; }
.tts-bar-sub:hover { opacity: 1; }
.tts-key { margin-top: 22px; border-top: 1px solid var(--tts-hairline); padding-top: 16px; }
.tts-key h2 {
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--tts-muted); margin: 0 0 14px; font-weight: 500;
}
.tts-key ol {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 11px 28px;
}
.tts-key li {
  display: grid; grid-template-columns: 18px minmax(0, 1fr);
  column-gap: 9px; row-gap: 1px; font-size: 12.5px; align-items: start;
}
.tts-key-num {
  grid-row: span 2;
  width: 17px; height: 17px; border-radius: 50%; margin-top: 1px;
  border: 1px solid var(--tts-axis); color: var(--tts-muted);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 9.5px;
}
.tts-key-head { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.tts-key-date {
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  font-size: 11px; color: var(--tts-muted); white-space: nowrap;
}
.tts-key-label { font-weight: 600; color: var(--tts-ink); overflow-wrap: anywhere; }
.tts-key-sub { display: flex; align-items: baseline; gap: 8px; min-width: 0; flex-wrap: wrap; }
.tts-key-id {
  color: var(--tts-ink-2); font-size: 11px; text-decoration: none;
  overflow-wrap: anywhere; border-bottom: 1px solid transparent;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}
.tts-key-id:hover { border-bottom-color: var(--tts-series); color: var(--tts-ink); }
.tts-key-stat {
  color: var(--tts-muted); font-size: 11px; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.tts-key-foot { font-size: 11.5px; color: var(--tts-muted); margin: 16px 0 0; max-width: 92ch; }
@media (max-width: 1040px) { .tts-key ol { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 780px) { .tts-key ol { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .tts-bar { transition: none; } }

.tts-plot:has(.tts-slot-202204:hover) .tts-rel-202204,.tts-plot:has(.tts-slot-202204.is-pinned) .tts-rel-202204{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202204:hover) .tts-rel-202204 .tts-av,.tts-plot:has(.tts-slot-202204.is-pinned) .tts-rel-202204 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202204:hover) .tts-rel-202204::before,.tts-plot:has(.tts-slot-202204.is-pinned) .tts-rel-202204::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202204:hover) .tts-slot-202204 .tts-bar-hi,.tts-plot:has(.tts-rel-202204:hover) .tts-slot-202204 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202205:hover) .tts-rel-202205,.tts-plot:has(.tts-slot-202205.is-pinned) .tts-rel-202205{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202205:hover) .tts-rel-202205 .tts-av,.tts-plot:has(.tts-slot-202205.is-pinned) .tts-rel-202205 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202205:hover) .tts-rel-202205::before,.tts-plot:has(.tts-slot-202205.is-pinned) .tts-rel-202205::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202205:hover) .tts-slot-202205 .tts-bar-hi,.tts-plot:has(.tts-rel-202205:hover) .tts-slot-202205 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202207:hover) .tts-rel-202207,.tts-plot:has(.tts-slot-202207.is-pinned) .tts-rel-202207{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202207:hover) .tts-rel-202207 .tts-av,.tts-plot:has(.tts-slot-202207.is-pinned) .tts-rel-202207 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202207:hover) .tts-rel-202207::before,.tts-plot:has(.tts-slot-202207.is-pinned) .tts-rel-202207::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202207:hover) .tts-slot-202207 .tts-bar-hi,.tts-plot:has(.tts-rel-202207:hover) .tts-slot-202207 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202211:hover) .tts-rel-202211,.tts-plot:has(.tts-slot-202211.is-pinned) .tts-rel-202211{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202211:hover) .tts-rel-202211 .tts-av,.tts-plot:has(.tts-slot-202211.is-pinned) .tts-rel-202211 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202211:hover) .tts-rel-202211::before,.tts-plot:has(.tts-slot-202211.is-pinned) .tts-rel-202211::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202211:hover) .tts-slot-202211 .tts-bar-hi,.tts-plot:has(.tts-rel-202211:hover) .tts-slot-202211 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202301:hover) .tts-rel-202301,.tts-plot:has(.tts-slot-202301.is-pinned) .tts-rel-202301{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202301:hover) .tts-rel-202301 .tts-av,.tts-plot:has(.tts-slot-202301.is-pinned) .tts-rel-202301 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202301:hover) .tts-rel-202301::before,.tts-plot:has(.tts-slot-202301.is-pinned) .tts-rel-202301::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202301:hover) .tts-slot-202301 .tts-bar-hi,.tts-plot:has(.tts-rel-202301:hover) .tts-slot-202301 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202302:hover) .tts-rel-202302,.tts-plot:has(.tts-slot-202302.is-pinned) .tts-rel-202302{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202302:hover) .tts-rel-202302 .tts-av,.tts-plot:has(.tts-slot-202302.is-pinned) .tts-rel-202302 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202302:hover) .tts-rel-202302::before,.tts-plot:has(.tts-slot-202302.is-pinned) .tts-rel-202302::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202302:hover) .tts-slot-202302 .tts-bar-hi,.tts-plot:has(.tts-rel-202302:hover) .tts-slot-202302 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202303:hover) .tts-rel-202303,.tts-plot:has(.tts-slot-202303.is-pinned) .tts-rel-202303{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202303:hover) .tts-rel-202303 .tts-av,.tts-plot:has(.tts-slot-202303.is-pinned) .tts-rel-202303 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202303:hover) .tts-rel-202303::before,.tts-plot:has(.tts-slot-202303.is-pinned) .tts-rel-202303::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202303:hover) .tts-slot-202303 .tts-bar-hi,.tts-plot:has(.tts-rel-202303:hover) .tts-slot-202303 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202304:hover) .tts-rel-202304,.tts-plot:has(.tts-slot-202304.is-pinned) .tts-rel-202304{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202304:hover) .tts-rel-202304 .tts-av,.tts-plot:has(.tts-slot-202304.is-pinned) .tts-rel-202304 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202304:hover) .tts-rel-202304::before,.tts-plot:has(.tts-slot-202304.is-pinned) .tts-rel-202304::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202304:hover) .tts-slot-202304 .tts-bar-hi,.tts-plot:has(.tts-rel-202304:hover) .tts-slot-202304 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202305:hover) .tts-rel-202305,.tts-plot:has(.tts-slot-202305.is-pinned) .tts-rel-202305{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202305:hover) .tts-rel-202305 .tts-av,.tts-plot:has(.tts-slot-202305.is-pinned) .tts-rel-202305 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202305:hover) .tts-rel-202305::before,.tts-plot:has(.tts-slot-202305.is-pinned) .tts-rel-202305::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202305:hover) .tts-slot-202305 .tts-bar-hi,.tts-plot:has(.tts-rel-202305:hover) .tts-slot-202305 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202306:hover) .tts-rel-202306,.tts-plot:has(.tts-slot-202306.is-pinned) .tts-rel-202306{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202306:hover) .tts-rel-202306 .tts-av,.tts-plot:has(.tts-slot-202306.is-pinned) .tts-rel-202306 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202306:hover) .tts-rel-202306::before,.tts-plot:has(.tts-slot-202306.is-pinned) .tts-rel-202306::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202306:hover) .tts-slot-202306 .tts-bar-hi,.tts-plot:has(.tts-rel-202306:hover) .tts-slot-202306 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202307:hover) .tts-rel-202307,.tts-plot:has(.tts-slot-202307.is-pinned) .tts-rel-202307{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202307:hover) .tts-rel-202307 .tts-av,.tts-plot:has(.tts-slot-202307.is-pinned) .tts-rel-202307 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202307:hover) .tts-rel-202307::before,.tts-plot:has(.tts-slot-202307.is-pinned) .tts-rel-202307::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202307:hover) .tts-slot-202307 .tts-bar-hi,.tts-plot:has(.tts-rel-202307:hover) .tts-slot-202307 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202308:hover) .tts-rel-202308,.tts-plot:has(.tts-slot-202308.is-pinned) .tts-rel-202308{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202308:hover) .tts-rel-202308 .tts-av,.tts-plot:has(.tts-slot-202308.is-pinned) .tts-rel-202308 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202308:hover) .tts-rel-202308::before,.tts-plot:has(.tts-slot-202308.is-pinned) .tts-rel-202308::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202308:hover) .tts-slot-202308 .tts-bar-hi,.tts-plot:has(.tts-rel-202308:hover) .tts-slot-202308 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202309:hover) .tts-rel-202309,.tts-plot:has(.tts-slot-202309.is-pinned) .tts-rel-202309{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202309:hover) .tts-rel-202309 .tts-av,.tts-plot:has(.tts-slot-202309.is-pinned) .tts-rel-202309 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202309:hover) .tts-rel-202309::before,.tts-plot:has(.tts-slot-202309.is-pinned) .tts-rel-202309::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202309:hover) .tts-slot-202309 .tts-bar-hi,.tts-plot:has(.tts-rel-202309:hover) .tts-slot-202309 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202312:hover) .tts-rel-202312,.tts-plot:has(.tts-slot-202312.is-pinned) .tts-rel-202312{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202312:hover) .tts-rel-202312 .tts-av,.tts-plot:has(.tts-slot-202312.is-pinned) .tts-rel-202312 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202312:hover) .tts-rel-202312::before,.tts-plot:has(.tts-slot-202312.is-pinned) .tts-rel-202312::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202312:hover) .tts-slot-202312 .tts-bar-hi,.tts-plot:has(.tts-rel-202312:hover) .tts-slot-202312 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202402:hover) .tts-rel-202402,.tts-plot:has(.tts-slot-202402.is-pinned) .tts-rel-202402{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202402:hover) .tts-rel-202402 .tts-av,.tts-plot:has(.tts-slot-202402.is-pinned) .tts-rel-202402 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202402:hover) .tts-rel-202402::before,.tts-plot:has(.tts-slot-202402.is-pinned) .tts-rel-202402::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202402:hover) .tts-slot-202402 .tts-bar-hi,.tts-plot:has(.tts-rel-202402:hover) .tts-slot-202402 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202404:hover) .tts-rel-202404,.tts-plot:has(.tts-slot-202404.is-pinned) .tts-rel-202404{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202404:hover) .tts-rel-202404 .tts-av,.tts-plot:has(.tts-slot-202404.is-pinned) .tts-rel-202404 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202404:hover) .tts-rel-202404::before,.tts-plot:has(.tts-slot-202404.is-pinned) .tts-rel-202404::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202404:hover) .tts-slot-202404 .tts-bar-hi,.tts-plot:has(.tts-rel-202404:hover) .tts-slot-202404 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202405:hover) .tts-rel-202405,.tts-plot:has(.tts-slot-202405.is-pinned) .tts-rel-202405{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202405:hover) .tts-rel-202405 .tts-av,.tts-plot:has(.tts-slot-202405.is-pinned) .tts-rel-202405 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202405:hover) .tts-rel-202405::before,.tts-plot:has(.tts-slot-202405.is-pinned) .tts-rel-202405::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202405:hover) .tts-slot-202405 .tts-bar-hi,.tts-plot:has(.tts-rel-202405:hover) .tts-slot-202405 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202406:hover) .tts-rel-202406,.tts-plot:has(.tts-slot-202406.is-pinned) .tts-rel-202406{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202406:hover) .tts-rel-202406 .tts-av,.tts-plot:has(.tts-slot-202406.is-pinned) .tts-rel-202406 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202406:hover) .tts-rel-202406::before,.tts-plot:has(.tts-slot-202406.is-pinned) .tts-rel-202406::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202406:hover) .tts-slot-202406 .tts-bar-hi,.tts-plot:has(.tts-rel-202406:hover) .tts-slot-202406 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202407:hover) .tts-rel-202407,.tts-plot:has(.tts-slot-202407.is-pinned) .tts-rel-202407{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202407:hover) .tts-rel-202407 .tts-av,.tts-plot:has(.tts-slot-202407.is-pinned) .tts-rel-202407 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202407:hover) .tts-rel-202407::before,.tts-plot:has(.tts-slot-202407.is-pinned) .tts-rel-202407::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202407:hover) .tts-slot-202407 .tts-bar-hi,.tts-plot:has(.tts-rel-202407:hover) .tts-slot-202407 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202409:hover) .tts-rel-202409,.tts-plot:has(.tts-slot-202409.is-pinned) .tts-rel-202409{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202409:hover) .tts-rel-202409 .tts-av,.tts-plot:has(.tts-slot-202409.is-pinned) .tts-rel-202409 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202409:hover) .tts-rel-202409::before,.tts-plot:has(.tts-slot-202409.is-pinned) .tts-rel-202409::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202409:hover) .tts-slot-202409 .tts-bar-hi,.tts-plot:has(.tts-rel-202409:hover) .tts-slot-202409 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202412:hover) .tts-rel-202412,.tts-plot:has(.tts-slot-202412.is-pinned) .tts-rel-202412{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202412:hover) .tts-rel-202412 .tts-av,.tts-plot:has(.tts-slot-202412.is-pinned) .tts-rel-202412 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202412:hover) .tts-rel-202412::before,.tts-plot:has(.tts-slot-202412.is-pinned) .tts-rel-202412::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202412:hover) .tts-slot-202412 .tts-bar-hi,.tts-plot:has(.tts-rel-202412:hover) .tts-slot-202412 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202502:hover) .tts-rel-202502,.tts-plot:has(.tts-slot-202502.is-pinned) .tts-rel-202502{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202502:hover) .tts-rel-202502 .tts-av,.tts-plot:has(.tts-slot-202502.is-pinned) .tts-rel-202502 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202502:hover) .tts-rel-202502::before,.tts-plot:has(.tts-slot-202502.is-pinned) .tts-rel-202502::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202502:hover) .tts-slot-202502 .tts-bar-hi,.tts-plot:has(.tts-rel-202502:hover) .tts-slot-202502 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202505:hover) .tts-rel-202505,.tts-plot:has(.tts-slot-202505.is-pinned) .tts-rel-202505{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202505:hover) .tts-rel-202505 .tts-av,.tts-plot:has(.tts-slot-202505.is-pinned) .tts-rel-202505 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202505:hover) .tts-rel-202505::before,.tts-plot:has(.tts-slot-202505.is-pinned) .tts-rel-202505::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202505:hover) .tts-slot-202505 .tts-bar-hi,.tts-plot:has(.tts-rel-202505:hover) .tts-slot-202505 .tts-cross{opacity:1}
.tts-plot:has(.tts-slot-202602:hover) .tts-rel-202602,.tts-plot:has(.tts-slot-202602.is-pinned) .tts-rel-202602{z-index:5;left:calc(var(--xc) + var(--off))}
.tts-plot:has(.tts-slot-202602:hover) .tts-rel-202602 .tts-av,.tts-plot:has(.tts-slot-202602.is-pinned) .tts-rel-202602 .tts-av{transform:translateY(-5px) scale(1.5);border-color:var(--tts-series)}
.tts-plot:has(.tts-slot-202602:hover) .tts-rel-202602::before,.tts-plot:has(.tts-slot-202602.is-pinned) .tts-rel-202602::before{background:var(--tts-series);opacity:1}
.tts-plot:has(.tts-rel-202602:hover) .tts-slot-202602 .tts-bar-hi,.tts-plot:has(.tts-rel-202602:hover) .tts-slot-202602 .tts-cross{opacity:1}
