@layer components {
  .hd-resource-dots {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--hd-formbox-dot-gap, 0.25rem);
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
  }

  .hd-resource-dots__button {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: inherit;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
  }

  .hd-resource-dots__button:focus-visible {
    outline: 2px solid var(--hd-focus-ring, var(--hd-border-accent));
    outline-offset: 2px;
    border-radius: var(--hd-radius-sm);
  }

  .hd-resource-dots__dot {
    pointer-events: none;
  }

  .hd-resource-dots__button:disabled {
    cursor: default;
    opacity: 0.8;
  }
}
