/* ========================================================================
   BOMBARERA TYPOGRAPHY V86 — BRAND TYPE SYSTEM
   One readable type family across the whole game. Exo 2 is the branded
   webfont; Trebuchet/Segoe UI keep the interface stable if it is unavailable.
   This layer is intentionally loaded last so legacy Nunito/Orbitron rules can
   no longer fragment the visual language between screens.
   ======================================================================== */

:root{
  --bm-brand-font:'Exo 2','Trebuchet MS','Segoe UI',Arial,sans-serif;
  --font-body:var(--bm-brand-font);
  --font-title:var(--bm-brand-font);
  --menu-font:var(--bm-brand-font);
  --menu-display:var(--bm-brand-font);
  --ui-font:var(--bm-brand-font);
  --ui-display:var(--bm-brand-font);
  --skins-font:var(--bm-brand-font);
  --v34-font:var(--bm-brand-font);
  --settings-font:var(--bm-brand-font);

  /* Keep microcopy readable without inflating the overall UI. */
  --ui-fs-kicker:10px;
  --ui-fs-meta:12px;
  --ui-fs-body:14px;
  --ui-fs-body-lg:16px;
  --ui-fs-label:14px;
}

html,
body.ui-v45,
body.ui-v45 #app,
body.ui-v45 button,
body.ui-v45 input,
body.ui-v45 select,
body.ui-v45 textarea{
  font-family:var(--bm-brand-font)!important;
}

/* Beat old route-specific / modal-specific font shorthands without changing
   their sizing, geometry or layout. */
html body.ui-v45 #app *,
html body.ui-v45 > .header *,
html body.ui-v45 > .boot-screen-v65 *,
html body.ui-v45 > .orientation-lock *{
  font-family:var(--bm-brand-font)!important;
}

body.ui-v45{
  font-kerning:normal;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body.ui-v45 :is(button,input,select,textarea){
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}

/* Brand headings: bold and game-like, but less crushed than the previous
   ultra-heavy treatment. */
body.ui-v45 :is(
  h1,h2,h3,h4,
  .brand-lockup__word,
  .campaign-header__title,
  .ui-dialog__title,
  .achievement-card__name,
  .skins-v77__title-lockup strong,
  .skins-v81__equipped-name-row h2,
  .skins-v82__intro h1
){
  font-weight:800!important;
}

/* Small uppercase labels were the main readability problem. Keep the
   Bombarera HUD character, but reduce excessive tracking and avoid 7px text. */
body.ui-v45 :is(
  .mode-header__meta,
  .home-v12__season,
  .skins-v77__title-lockup small,
  .skins-v77__wallet small,
  .skins-v77__collection-stat small,
  .skins-v77__card-rarity,
  .skins-v77__new,
  .skins-v80__ability,
  .skins-v81__top-collection small,
  .skins-v81__equipped-label,
  .skins-v81__equipped-rarity,
  .skins-v81__equipped-skill small,
  .skins-v81__equipped-profile-title,
  .skins-v81__mini-metric > span,
  .skins-v82__intro-meta > span,
  .skins-v82__intro-meta strong em
){
  letter-spacing:.055em!important;
  line-height:1.18!important;
}

/* Skins screen: preserve the current card dimensions while making every
   informational label readable at normal desktop distance. */
body[data-ui-context="skins"] .skins-v77__title-lockup small{font-size:9.5px!important}
body[data-ui-context="skins"] .skins-v77__wallet small{font-size:9.5px!important}
body[data-ui-context="skins"] .skins-v81__top-collection small{font-size:9px!important}
body[data-ui-context="skins"] .skins-v81__top-collection strong em{font-size:10px!important}
body[data-ui-context="skins"] .skins-v82__intro-meta>span{font-size:9.5px!important}
body[data-ui-context="skins"] .skins-v82__intro-meta strong{font-size:11px!important}
body[data-ui-context="skins"] .skins-v82__intro-meta strong em{font-size:9.5px!important}
body[data-ui-context="skins"] .skins-v81__equipped-label{font-size:9px!important}
body[data-ui-context="skins"] .skins-v81__equipped-rarity{font-size:9px!important}
body[data-ui-context="skins"] .skins-v81__equipped-role{font-size:10.5px!important}
body[data-ui-context="skins"] .skins-v81__equipped-skill small{font-size:9px!important}
body[data-ui-context="skins"] .skins-v81__equipped-skill strong{font-size:11.5px!important}
body[data-ui-context="skins"] .skins-v81__equipped-profile-title{font-size:9px!important}
body[data-ui-context="skins"] .skins-v81__mini-metric>span{font-size:9.5px!important}
body[data-ui-context="skins"] .skins-v81__equipped-open{font-size:10px!important}
body[data-ui-context="skins"] .skins-v77__card-rarity,
body[data-ui-context="skins"] .skins-v77__new{font-size:9px!important}
body[data-ui-context="skins"] .skins-v80__ability{font-size:9.5px!important}
body[data-ui-context="skins"] .skins-v77__card-copy small{font-size:10px!important}
body[data-ui-context="skins"] .skins-v77__card-bottom b{font-size:11px!important}
body[data-ui-context="skins"] .skins-v77__card-bottom em{font-size:9.5px!important}

/* Mobile/compact layouts should stay compact, but never return to 7px labels. */
@media (max-width:760px){
  body[data-ui-context="skins"] .skins-v81__equipped-label,
  body[data-ui-context="skins"] .skins-v81__equipped-rarity,
  body[data-ui-context="skins"] .skins-v81__equipped-skill small{font-size:8.5px!important}
}
