/*
 UBA2 PRIVATE TEAM PORTALS — TYPOGRAPHY UNIFICATION
 Lakerball & Blazerball · 30 October 2026
 VISUAL ONLY — one readable arcade-adjacent typeface, consistent scale.
 11 pt = 14.67 CSS px: smallest rendered informational type is 15px.
 Replaces the prior mixed-family team-readability.css; never stack both.
*/
:root {
  --uba2-type: ui-monospace, 'Cascadia Code', Consolas, 'SFMono-Regular', Menlo, Monaco, 'DejaVu Sans Mono', monospace;
  --uba2-body: 16px;
  --uba2-small: 15px;
  --uba2-subheading: 18px;
  --uba2-heading: 22px;
  --uba2-secondary: #c2d1e9;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  font-family: var(--uba2-type) !important;
  font-size: var(--uba2-body) !important;
  font-weight: 400;
  line-height: 1.55 !important;
  text-rendering: optimizeLegibility;
}
/* One font family throughout. Do not restyle SVG icons, charts or sprites. */
body :is(div,span,p,button,label,input,select,textarea,table,thead,tbody,tr,th,td,
  nav,aside,header,footer,small,strong,em,b,a,h1,h2,h3,h4,h5,li,blockquote,summary) {
  font-family: var(--uba2-type) !important;
}
/* Structural hierarchy: 22 page, 18 section, 16 body, 15 secondary. */
.heading h1,#page-title { font-size: var(--uba2-heading) !important; line-height: 1.3 !important; letter-spacing: .15px !important; font-weight: 800 !important; }
.sectionheading h2,.panelbody h3,.bm-choice h3,.bm-verified-tier h3,
.rb-deal h4,.rb-pitch h4,.rb-explain-grid h3,.rb-section-heading h2 {
  font-size: var(--uba2-subheading) !important;
  line-height: 1.4 !important; letter-spacing: 0 !important; font-weight: 800 !important;
}
/* Large hero titles and primary numeric scores keep their original prominence. */
.rb-hero h1,.lb-hero h1,.bm-head h1,.hp-hero h1 { font-size: clamp(24px, 2.4vw, 30px) !important; line-height: 1.24 !important; }
.retro-logo { font-size: clamp(21px,2.5vw,31px) !important; line-height: 1.2 !important; }
.kpi-val,.scoreblock .score,.statrow .big,.hp-large-number { font-size: clamp(27px,3vw,40px) !important; line-height: 1.13 !important; }
/* Main body copy, decisions, cards, tooltips, tables and form controls. */
body :is(p,button,input,select,textarea,label,li,table,th,td) { font-size: 16px !important; line-height: 1.5 !important; }
button,input,select,textarea,.search,.select,.button,.button.small,.pillnav {
  font-size: 15px !important; line-height: 1.45 !important; min-height: 36px;
}
.button,.button.small,.pillnav { white-space: normal !important; }
.navbtn { font-size: 15px !important; line-height: 1.5 !important; font-weight: 700 !important; letter-spacing: 0 !important; white-space: normal !important; }
.navlabel,.eyebrow,.brand small,.retro-sub,.kpi-label,.bm-eyebrow,.bm-choice-kicker,
.hp-kicker,.lb-kicker,.rb-eyebrow,.position-card .position,.depth-title {
  font-size: 15px !important; line-height: 1.4 !important; font-weight: 700 !important; letter-spacing: .3px !important;
}
/* Tables: same type family/size for heading, names and numerals. */
table,th,td,.hp-table,.hp-table th,.hp-table td,
.bm-plan-table,.bm-plan-table th,.bm-plan-table td,
.bm-metric-table,.bm-metric-table th,.bm-metric-table td,
.lb-evidence,.lb-evidence th,.lb-evidence td,
.rb-trade-table,.rb-trade-table th,.rb-trade-table td,
.rb-score-table,.rb-score-table th,.rb-score-table td,
.rb-deal-metrics,.rb-deal-metrics th,.rb-deal-metrics td {
  font-size: 15px !important; line-height: 1.5 !important; font-variant-numeric: tabular-nums;
}
th,.hp-table th,.bm-plan-table th,.bm-metric-table th,.lb-evidence th { font-weight: 800 !important; letter-spacing: 0 !important; }
td,th { padding-top: 12px !important; padding-bottom: 12px !important; }
/* Secondary content: never smaller than 11pt/15px. */
.mini,.tiny,.footnote,.faded,.muted,small,
.tag,.tag.red,.tag.green,.tag.amber,.role-flag,.sidesmall,.sidebottom,
#sidebar-meta,#team-live-status,#team-live-sync,
.depthrow,.depthrow .penalty,.depthname,.bm-muted,.bm-minor,.bm-keep,.bm-control-label,.bm-chip,
.rb-note,.rb-mini-stat,.rb-mini-stat small,.rb-peakstrip small,.rb-section-heading span,
.rb-explain-grid p,.rb-explain-grid b,.rb-deal .rb-note,.rb-deal-summary,.rb-deal-head p,
.rb-pitch,.rb-trade-flag,.rb-link-audit,.rb-table,.rb-table th,.rb-table td,
.bm-choice-note,.bm-choice-stat,.bm-choice-moves,.bm-safe-option,.bm-safe-option strong,
.hp-hero p,.lb-hero p,.lb-pills span,.lb-formula,.lb-three p,
.kpi-foot,.sectionheading .sub,.scoreblock .name,.scoremid .caption,
.quartercard .q,.quartercard em,.legend,.metric,.alert,.manual,.logrow,
.focus-card,.focus-card strong,.focus-card p,.summarybox p,.list-plain,
.official-assets p,.official-pick-tags span,.gm-private-ribbon {
  font-size: 15px !important; line-height: 1.55 !important;
}
/* Existing dynamically-rendered inline small labels. Exact small-value matches only. */
:is(div,span,p,small,label,em,strong,b,li,td,th)[style*="font-size:9px"],
:is(div,span,p,small,label,em,strong,b,li,td,th)[style*="font-size:10px"],
:is(div,span,p,small,label,em,strong,b,li,td,th)[style*="font-size:10.5px"],
:is(div,span,p,small,label,em,strong,b,li,td,th)[style*="font-size:11px"],
:is(div,span,p,small,label,em,strong,b,li,td,th)[style*="font-size:12px"],
:is(div,span,p,small,label,em,strong,b,li,td,th)[style*="font-size:13px"],
:is(div,span,p,small,label,em,strong,b,li,td,th)[style*="font-size:14px"] {
  font-size: 15px !important; line-height: 1.5 !important;
}
/* Readable muted tones, unchanged team accent colours. */
.mini,.tiny,.footnote,.muted,.sidesmall,.kpi-foot,.sectionheading .sub,
.scoreblock .name,.scoremid .caption,.legend,.bm-muted,.bm-minor {
  color: var(--uba2-secondary) !important;
}
.focus-card { padding: 16px 18px !important; }
.focus-card strong { font-weight: 800 !important; }
.tablewrap,.bm-scroll,.hp-table-scroll,.lb-scroll,.rb-scroll { max-width: 100%; overflow-x: auto; }
/* Chart cards retain the readable minimum instead of squeezing labels. */
.panelbody > .legend + div[style*="display:flex"] {
  overflow-x: auto !important; justify-content: flex-start !important;
}
.panelbody > .legend + div[style*="display:flex"] > div { min-width: 96px !important; }
/* Keep navigation/page title visible on mobile. */
@media (max-width: 850px) {
 .topbar { height: auto !important; min-height: 80px; padding-top: 11px; padding-bottom: 11px; }
 .topright { flex-wrap: wrap; justify-content: flex-end; }
 .content-grid,.content-grid.equal,.content-grid.tri { grid-template-columns: minmax(0,1fr) !important; }
 .sidebar { overflow-x: hidden; }
 .roster-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
 .roster-grid { grid-template-columns: minmax(0,1fr); }
 .sectionheading { flex-wrap: wrap; }
 .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .bm-head h1,.hp-hero h1,.heading h1 { overflow-wrap: anywhere; }
}
/* Some later-added trade / recruitment tools define their own 10–12px text. */
.lb-fold-help,.lb-fold-description,.lb-fold-title,.fa-note,.fa-note b,
.rb-pitch h4 span,.fa-flag,.fa-table small,.lb-fold-action {
 font-size: 15px !important; line-height: 1.5 !important;
}
