.popover {
  background-color: var(--color-surface);
  border-radius: var(--rounded-md);
  border-width: var(--border);
  box-shadow: var(--shadow-md);
  color: var(--color-text);
  inline-size: var(--popover-size, max-content);

  /* Anchor position */
  position-area: var(--popover-position, block-end);
  position-try-fallbacks: var(--popover-position-try-fallbacks, flip-block);
  margin-block: var(--popover-margin-block, var(--size-1) 0);

  /* Setup transition */
  transition-duration: var(--time-150);
  transition-property: display, opacity, overlay, transform;

  /* Exit stage to */
  opacity: 0; transform: var(--scale-95);

  /* On stage */
  &:popover-open {
    opacity: 1; transform: var(--scale-100);
  }

  /* Enter stage from */
  @starting-style {
    &:popover-open {
      opacity: 0; transform: var(--scale-95);
    }
  }
}

.popover--position-none {
  --popover-position: none;
  --popover-position-try-fallbacks: none;
  --popover-margin-block: 0;
}

.popover--block-end-center {
  --popover-position: block-end;
  --popover-margin-block: var(--size-1) 0;
}

.popover--block-end-start {
  --popover-position: block-end span-inline-end;
  --popover-margin-block: var(--size-1) 0;
}

.popover--block-end-end {
  --popover-position: block-end span-inline-start;
  --popover-margin-block: var(--size-1) 0;
}

.popover--block-start-center {
  --popover-position: block-start;
  --popover-margin-block: 0 var(--size-1);
}

.popover--block-start-start {
  --popover-position: block-start span-inline-end;
  --popover-margin-block: 0 var(--size-1);
}

.popover--block-start-end {
  --popover-position: block-start span-inline-start;
  --popover-margin-block: 0 var(--size-1);
}

