.post-graph-v2 {
  --pg-accent: #c700b2;
  --pg-accent-min: #ffacdc;
  --pg-cell-size: 6px;
  --pg-empty: var(--color--bg-2);
  --pg-empty-hover-scale: 3;
  --pg-empty-size: 3px;
  --pg-grow-duration: 44ms;
  --pg-hover-scale: 1.75;
  --pg-shrink-duration: 66ms;
  --pg-slot-size: 12px;
  /* --pg-grow-duration:     75ms;
      --pg-shrink-duration:   200ms; */
  [data-theme="dark"] & {
    --pg-accent: #ff5ac8;
    --pg-accent-min: #412141;
  }

  position: relative;
  display: flex;
  overflow: hidden;
  flex-direction: row;
  justify-content: flex-end;
  width: fit-content;
  max-width: 100%;
  &::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: calc(var(--pg-slot-size) * 0.5);
    background: linear-gradient(to right,
                                var(--color--bg-base) 0%,
                                transparent 100%);
    pointer-events: none;
    content: "";
  }

  & .col {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
  }

  & .cell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--pg-slot-size);
    height: var(--pg-slot-size);
    cursor: default;
    &::after {
      width: var(--pg-cell-size);
      height: var(--pg-cell-size);
      background-color: var(--pg-empty);
      border-radius: 50%;
      content: "";
      transition: transform var(--pg-shrink-duration) ease-in;
    }

    &:hover::after {
      transform: scale(var(--pg-hover-scale));
      transition: transform var(--pg-grow-duration) ease-out;
    }

    &[data-level="0"]::after {
      width: var(--pg-empty-size);
      height: var(--pg-empty-size);
    }

    &[data-level="0"]:hover::after { transform: scale(var(--pg-empty-hover-scale)); }

    &[data-level="1"]::after {
      background-color: color-mix(in srgb,
                                  var(--pg-accent) 0%,
                                  var(--pg-accent-min));
    }

    &[data-level="2"]::after {
      background-color: color-mix(in srgb,
                                  var(--pg-accent) 50%,
                                  var(--pg-accent-min));
    }

    &[data-level="3"]::after {
      background-color: color-mix(in srgb,
                                  var(--pg-accent) 100%,
                                  var(--pg-accent-min));
    }

    &[data-level="4"]::after { background-color: var(--pg-accent); }
  }

  & .post-graph-v2__tooltip[popover] {
    position: fixed;
    padding: 0.2rem 0.6rem;
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--color--aaa-text);
    white-space: nowrap;
    background: var(--color--bg-raised);
    border: none;
    border-radius: 999px;
    box-shadow: var(--card-shadow-and-border);
    pointer-events: none;
    [data-theme="dark"] & { color: var(--color--max-text); }
  }
}
