/* Direct-queue density layer. The existing accessible cancellation behavior remains authoritative. */

.root-game-direct-queue-target:not([data-queue-state="active"]):not(.is-open)
  .root-game-direct-queue-marker {
  opacity: 0.42;
  transition:
    opacity 160ms ease,
    filter 180ms ease;
}

.root-game-direct-queue-target:not([data-queue-state="active"]):not(.is-open)
  :is(.root-game-direct-queue-marker-frame, .root-game-direct-queue-marker-icon) {
  transform: scale(0.86);
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.root-game-direct-queue-target:not([data-queue-state="active"]):is(:hover, :focus-within, .is-density-revealed)
  .root-game-direct-queue-marker,
.root-game-direct-queue-target.is-open .root-game-direct-queue-marker,
.root-game-direct-queue-target[data-queue-state="active"] .root-game-direct-queue-marker {
  opacity: 1;
  filter: drop-shadow(0 0 7px rgba(255, 224, 119, 0.9));
}

.root-game-direct-queue-target:not([data-queue-state="active"]):is(:hover, :focus-within, .is-density-revealed)
  :is(.root-game-direct-queue-marker-frame, .root-game-direct-queue-marker-icon),
.root-game-direct-queue-target.is-open
  :is(.root-game-direct-queue-marker-frame, .root-game-direct-queue-marker-icon),
.root-game-direct-queue-target[data-queue-state="active"]
  :is(.root-game-direct-queue-marker-frame, .root-game-direct-queue-marker-icon) {
  transform: scale(1);
}

.root-game-direct-queue-target:not([data-queue-state="active"]):not(.is-open)
  .root-game-direct-queue-marker-icon {
  opacity: 0.62;
}

.root-game-direct-queue-target.is-density-clustered {
  visibility: hidden;
  pointer-events: none;
}

.root-game-direct-queue-cluster {
  position: absolute;
  z-index: 8;
  display: inline-grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  padding: 0 9px;
  border: 2px solid #f4cf61;
  border-radius: 999px;
  background: rgba(15, 75, 60, 0.96);
  color: #fff5c9;
  box-shadow: 0 5px 16px rgba(6, 39, 31, 0.34), 0 0 0 3px rgba(255, 245, 201, 0.72);
  font: 800 13px/1 system-ui, sans-serif;
  cursor: pointer;
  transform: translate(-50%, -50%) scale(0.94);
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 180ms ease;
}

.root-game-direct-queue-cluster:is(:hover, :focus-visible) {
  outline: none;
  transform: translate(-50%, -50%) scale(1.04);
  box-shadow: 0 7px 20px rgba(6, 39, 31, 0.42), 0 0 0 4px rgba(255, 245, 201, 0.92), 0 0 18px rgba(244, 207, 97, 0.82);
}

.root-game-direct-queue.is-density-suppressed
  :is(.root-game-direct-queue-target, .root-game-direct-queue-cluster) {
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

@media (hover: none), (pointer: coarse), (max-width: 700px) {
  .root-game-direct-queue-target:not([data-queue-state="active"]):not(.is-open):not(.is-density-revealed)
    .root-game-direct-queue-marker {
    opacity: 0.27;
  }

  .root-game-direct-queue-target:not([data-queue-state="active"]):not(.is-open):not(.is-density-revealed)
    :is(.root-game-direct-queue-marker-frame, .root-game-direct-queue-marker-icon) {
    transform: scale(0.78);
  }

  .root-game-direct-queue-target:not([data-queue-state="active"]):not(.is-open):not(.is-density-revealed)
    .root-game-direct-queue-marker-icon {
    opacity: 0;
  }

  .root-game-direct-queue-cluster {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .root-game-direct-queue-target .root-game-direct-queue-marker,
  .root-game-direct-queue-target .root-game-direct-queue-marker-frame,
  .root-game-direct-queue-target .root-game-direct-queue-marker-icon,
  .root-game-direct-queue-cluster,
  .root-game-direct-queue.is-density-suppressed
    :is(.root-game-direct-queue-target, .root-game-direct-queue-cluster) {
    transition: none;
  }
}
