.chicken-call-wheel {
  position: fixed;
  z-index: 24;
  top: max(10px, env(safe-area-inset-top));
  left: 50%;
  width: 52px;
  height: 52px;
  transform: translateX(-50%);
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.chicken-call-main {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  display: grid;
  width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 0;
  place-items: center;
  border: 2px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  color: #f4fbff;
  background: linear-gradient(160deg, #395267, #213243);
  box-shadow: 0 7px 18px rgba(7, 18, 27, 0.3);
  pointer-events: auto;
  touch-action: none;
}

.chicken-call-main svg {
  width: 31px;
  height: 31px;
  fill: currentColor;
  stroke: #f2ad36;
  stroke-width: 1.35;
  stroke-linejoin: round;
}

.chicken-call-main:hover,
.chicken-call-main:focus-visible,
.chicken-call-wheel.is-open .chicken-call-main {
  color: #fff;
  background: linear-gradient(160deg, #4b6d82, #293e51);
}

.chicken-call-fan {
  position: absolute;
  z-index: 2;
  top: 23px;
  left: 50%;
  width: 320px;
  height: 178px;
  overflow: visible;
  opacity: 0;
  transform: translateX(-50%) scale(0.82);
  transform-origin: 50% 0;
  transition: opacity 130ms ease, transform 170ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  filter: drop-shadow(0 9px 12px rgba(4, 15, 24, 0.28));
}

.chicken-call-wheel.is-open .chicken-call-fan {
  opacity: 1;
  transform: translateX(-50%) scale(1);
  pointer-events: auto;
}

.chicken-call-segment {
  cursor: pointer;
  pointer-events: auto;
}

.chicken-call-segment path {
  fill: rgba(24, 43, 56, 0.94);
  stroke: color-mix(in srgb, var(--call-color) 78%, white 22%);
  stroke-width: 3;
  stroke-linejoin: round;
  transition: fill 100ms ease, filter 100ms ease;
}

.chicken-call-segment text {
  fill: #fff;
  font: 900 27px system-ui, sans-serif;
  text-anchor: middle;
  dominant-baseline: central;
  pointer-events: none;
}

.chicken-call-segment:hover path,
.chicken-call-segment.is-selected path {
  fill: color-mix(in srgb, var(--call-color) 52%, #142735 48%);
  filter: drop-shadow(0 0 8px var(--call-color));
}

.chicken-call-wheel.is-unavailable {
  display: none;
}

@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .chicken-call-wheel {
    top: max(5px, env(safe-area-inset-top));
  }
  .chicken-call-main {
    width: 48px;
    height: 48px;
    min-height: 48px;
  }
  .chicken-call-wheel {
    width: 48px;
    height: 48px;
  }
}
