* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

/*
 * AppLink is the only place link affordance (color, underline) is decided —
 * this reset keeps a bare <a> (e.g. inside rich text) from inheriting the
 * browser's default blue/underline before AppLink's own styling applies.
 */
a {
  color: inherit;
  text-decoration: none;
}

::selection {
  background-color: var(--bal-primary-soft);
  color: var(--bal-text-primary);
}

/*
 * Directional icons (back/chevron_start, …) are authored for LTR and mirror
 * under RTL. AppIcon sets `data-icon-directional` for every name registered
 * in AppIcon/config.ts's DIRECTIONAL_ICONS — this is the only flip rule in
 * the app; never hand-roll a per-component mirror.
 */
[dir='rtl'] [data-icon-directional] {
  transform: scaleX(-1);
}
