@layer utilities {

  /* Small, named helpers. Nothing here is a component. */

  .alasadi-visually-hidden:not(:focus):not(:active) {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  .alasadi-text-start { text-align: start; }
  .alasadi-text-center { text-align: center; }
  .alasadi-text-end { text-align: end; }

  .alasadi-measure { max-inline-size: var(--alasadi-measure); }

  .alasadi-muted { color: var(--alasadi-fg-muted); }

  /* Wide content escapes sideways inside its own scroller, never the page. */
  .alasadi-scroll-inline {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* Applied to the document while a full-screen panel is open. */
  .alasadi-scroll-locked { overflow: hidden; }
}
