/*
 * The runtime-named glyph, painted the same way `Icon` is: the wrapper owns the
 * ink and the SVG strokes `currentColor`, so one declaration repaints both.
 */
@layer theme, base, lotics, components, utilities;
@layer lotics.tokens, lotics.reset, lotics.components;

@layer lotics.components {
  .lotics-dynamic-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* An icon never gives way: it is the one thing on a row with no readable
       shorter form. */
    flex-shrink: 0;
    color: var(--lotics-icon-color, var(--lotics-ink-default));
    line-height: 1;
  }

  /* What is on screen while lucide's per-icon chunk loads: the glyph's own box,
     so the row it sits in does not resize when the icon arrives. */
  .lotics-dynamic-icon__placeholder {
    display: inline-block;
    width: var(--lotics-dynamic-icon-size);
    height: var(--lotics-dynamic-icon-size);
  }
}
