@layer components {
  .icon {
    background-color: currentColor;
    block-size: var(--icon-size, 1em);
    display: inline-block;
    flex-shrink: 0;
    inline-size: var(--icon-size, 1em);
    mask-image: var(--svg);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: var(--icon-size, 1em);
    pointer-events: none;
    user-select: none;
  }

  .icon--close { --svg: url("/assets/icons/close-0a2a1828.svg"); }
  .icon--more-vert { --svg: url("/assets/icons/more_vert-20644bbb.svg"); }
  .icon--trash { --svg: url("/assets/icons/delete-391c5bd0.svg"); }
}