.density {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--spacing-xxxxsmall);
  padding: var(--spacing-xxxsmall);
  border: var(--stroke-xsmall) solid var(--border-transparent);
  border-radius: var(--radius-max);
  background: var(--background-tint);

  --segment-w: 34px;
  --segment-h: 28px;
}

.density-thumb {
  position: absolute;
  top: var(--spacing-xxxsmall);
  height: var(--segment-h);
  border: var(--stroke-small) solid var(--border-primary);
  border-radius: var(--radius-max);
  background: var(--background-overlay2);
  box-shadow: var(--effect-style-inner-shadow-thumb);
  pointer-events: none;
  transition: opacity var(--duration-fade) ease;
}

.density.is-live .density-thumb {
  transition:
    left var(--duration-slide) var(--ease-glide),
    right var(--duration-slide) var(--ease-glide),
    opacity var(--duration-fade) ease;
}

.density[data-cursor-in="true"] .density-thumb {
  opacity: 0;
  transition: opacity var(--duration-step-aside) ease;
}

.density button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--segment-w);
  height: var(--segment-h);
  padding: 0;
  border: 0;
  border-radius: var(--radius-max);
  background: transparent;
  font: var(--text-caption1-ac-medium);
  letter-spacing: var(--text-caption1-ac-medium-tracking);
  text-transform: uppercase;
  color: var(--content-tertiary);
  cursor: pointer;
  transition: color var(--duration-hover) ease;
}

.density button[data-on] { color: var(--content-primary); }

.density button[aria-pressed="true"] {
  color: var(--content-primary);
  cursor: default;
}

.density button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .density.is-live .density-thumb { transition-duration: 1ms, 1ms, var(--duration-step-aside); }
}
