/* Shared by the portal, exercises and legacy exercise iframe.
   Only shape changes here: typography, focus, colour and layout stay local.
   A named layer makes this override old unlayered square-corner rules. */
@layer brightz-control-shapes {
  :root { --brightz-button-radius: 12px; }
  :is(button, [role="button"], a[data-slot="button"], input[type="button"], input[type="submit"], input[type="reset"]):not([role="checkbox"], [role="radio"], [role="switch"], [role="slider"], [role="separator"], [role="tab"], nav button, [role="tablist"] button, .bz-header button, .bz-word-details-tabs button),
  .bz-header .bz-appearance button {
    border-radius: var(--brightz-button-radius) !important;
  }
  /* Navigation and word-detail tabs keep their original text/dividers.
     Only the header's appearance utility opts into rounded controls. */
  /* Keep circular utilities and the existing catalogue pills circular. */
  :is(button, [role="button"], a[data-slot="button"]):is(.rounded-full, .bz-dictionary-orb, .bz-catalog-pill, .bz-catalog-select, .bz-appearance-trigger),
  .bz-catalog-option-group button,
  .bz-catalog-card [data-slot="button"],
  .bz-header .bz-appearance .bz-appearance-trigger {
    --brightz-button-radius: 999px;
    border-radius: 999px !important;
  }
  @media (max-width: 600px) { :root { --brightz-button-radius: 10px; } }
}
