/* Desktop readability layer. Mode styles own layout and visual identity; this
   file provides a shared type scale comparable to the companion 2KDB site. */
@media (min-width: 961px) {
  body { font-size: 16px; }
  .lobby-nav a { font-size: 14px; }
  .account-link, .text-button { font-size: 14px; }
  .mode-context-kicker { font-size: 10px; }
  .mode-context-switch { font-size: 11px; }

  /* Lobby, mode selection and guide. */
  .lobby-hero-copy > p:not(.eyebrow) { font-size: 16px; }
  .lobby-section-heading > :is(a, span) { font-size: 13px; }
  .lobby-save-mode, .lobby-activity small, .lobby-update-card article small { font-size: 11px; }
  .lobby-save-card > p, .lobby-save-card footer small { font-size: 12px; }
  .lobby-visual-save-head span, .lobby-visual-save-head em { font-size: 11px; }
  .lobby-visual-save-head b, .lobby-visual-save-title p, .lobby-visual-save-details dd, .lobby-visual-save-footer a { font-size: 12px; }
  .lobby-visual-save-details dt, .lobby-visual-save-progress > div, .lobby-visual-save-footer small { font-size: 11px; }
  .lobby-activity p { font-size: 14px; }
  .lobby-activity div > b { font-size: 12px; }
  .lobby-resource-card p:not(.eyebrow) { font-size: 13px; }
  .lobby-update-card article strong { font-size: 13px; }
  .lobby-update-card article p { font-size: 12px; line-height: 1.6; }

  .mode-heading > p { font-size: 15px; }
  .mode-status, .mode-kicker { font-size: 12px; }
  .mode-copy > p:not(.mode-kicker) { font-size: 14px; }
  .mode-access strong, .mode-access span { font-size: 12px; }
  .mode-save-meta > span, .mode-save-meta > small { font-size: 12px; }
  .mode-action, .mode-action .mode-delete { font-size: 13px; }

  .guide-jump a { font-size: 13px; }
  .guide-mode-main > p:not(.mode-kicker) { font-size: 15px; }
  .guide-mode-main li { font-size: 12px; }
  .guide-mode aside > small { font-size: 11px; }
  .guide-mode aside > p, .guide-mode aside > strong { font-size: 13px; }
  .guide-mode aside > span, .guide-mode aside > a { font-size: 12px; }
  .guide-basics li span { font-size: 11px; }
  .guide-basics li p { font-size: 13px; line-height: 1.7; }
  .guide-topics > header > p:last-child { font-size: 13px; }
  .guide-topic summary > span { font-size: 11px; }
  .guide-topic h4 { font-size: 19px; }
  .guide-topic-body > p { font-size: 13px; line-height: 1.7; }
  .guide-topic-body > ul li { font-size: 12px; line-height: 1.6; }
  .guide-topic-body > aside strong { font-size: 10px; }
  .guide-topic-body > aside p, .guide-topic-body > a { font-size: 12px; }

  /* Shared basketball display components. */
  .basketball-player-summary__copy small { font-size: 12px; }
  .basketball-player-summary__copy > span { font-size: 11px; }
  .basketball-game-location, .basketball-game-status { font-size: 12px; }
  .basketball-game-result :is(button, a) { font-size: 12px; }
  .basketball-leader-row small { font-size: 12px; }
  .basketball-bracket-series p, .basketball-play-in-game p { font-size: 12px; }
  .basketball-standing-team small { font-size: 11px; }
  .basketball-roster-filters button { font-size: 12px; }
  .basketball-box-table { font-size: 13px; }
  .basketball-box-table th { font-size: 11px; }
  .basketball-tactic-select { font-size: 12px; }
  .basketball-tactic-dimensions span { font-size: 11px; }

  /* MyLeague: reserve 11px for labels, not explanatory text. */
  :root {
    --game-body-small: 13px;
    --game-body-compact: 14px;
  }
  .myleague-page .game-nav a { font-size: 14px; }
  .myleague-page .game-hero > div:first-child > p:last-child { font-size: 15px; }
  .myleague-page .game-page :is(p, li):not(.eyebrow):not(.step) { line-height: 1.65; }
  .myleague-page .game-page :is(button, input, select) { font-size: 13px; }
  .myleague-page .game-page table { font-size: 13px; }
  .myleague-page .game-page th { font-size: 12px; }

  /* MyTeam contains dense asset tools; raise functional copy without making
     card art labels compete with player names and ratings. */
  .myteam-page .game-nav a { font-size: 14px; }
  .myteam-page .myteam-kicker { font-size: 12px; }
  .myteam-page .myteam-hero p { font-size: 15px; line-height: 1.7; }
  .myteam-page .myteam-shell p:not(.myteam-kicker) { font-size: 13px; line-height: 1.65; }
  .myteam-page .myteam-shell small { font-size: 12px; }
  .myteam-page .myteam-shell :is(label, dt) { font-size: 12px; }
  .myteam-page .myteam-shell :is(button, input, select) { font-size: 13px; }

  /* FastPlay is deliberately compact, but tables and result explanations are
     still primary reading content on desktop. */
  .fastplay-page .fast-shell p { font-size: 14px; line-height: 1.65; }
  .fastplay-page .fast-section-nav a { font-size: 13px; }
  .fastplay-page .fast-simulation-progress > div { font-size: 12px; }
  .fastplay-page .fast-setup-hero aside span,
  .fastplay-page .fast-results small,
  .fastplay-page .fast-results a { font-size: 12px; }
  .fastplay-page .fast-stat-table { font-size: 13px; }
  .fastplay-page .fast-stat-table th { font-size: 11px; }

  /* Player details are shared by all modes and should read like 2KDB. */
  .standalone-player-dialog .player-season-table { font-size: 13px; }
  .standalone-player-dialog .player-season-table thead th { font-size: 11px; }
  .standalone-player-dialog .attribute-group > div > div,
  .standalone-player-dialog .strength-list > div { font-size: 13px; }
}
