/* Shared icon primitive (arch 09 §5). Icons are fill: currentColor SVG, so they
   inherit the surrounding text colour and theme automatically. The size classes
   map to the Carbon scale tokens; the glyph keeps its own rounded geometry and is
   exempt from --radius (square chrome applies to chrome, not icons). */
.icon {
  display: inline-block;
  flex: 0 0 auto;
  fill: currentColor;
  vertical-align: middle;
}

.sm {
  width: var(--icon-sm);
  height: var(--icon-sm);
}

.md {
  width: var(--icon-md);
  height: var(--icon-md);
}

.lg {
  width: var(--icon-lg);
  height: var(--icon-lg);
}

.xl {
  width: var(--icon-xl);
  height: var(--icon-xl);
}
