/* v24.39 · Refined mobile typography
   Preserve the compact visual language of the original UI and only lift
   genuinely unreadable microcopy. This layer intentionally avoids broad
   body/small overrides: hierarchy belongs to each component.

   Refined compact scale:
   - micro metadata: 8px
   - metadata / compact labels: 8.5–9px
   - compact UI labels: 9.5–10px
   - body/display copy keeps its component-native size
   - form controls stay 16px to avoid mobile browser zoom
   Functional copy must not collapse into the historical 5–7px range.
*/
@media (max-width:760px){
  :root{
    --type-micro:8px;
    --type-meta:8.5px;
    --type-caption:9px;
    --type-label:9.5px;
    --type-compact:10px;
    --type-input:16px;
  }

  :is(#typography-refine,body) :is(input,textarea,select){font-size:var(--type-input)!important;}

  /* HUD: keep its compact game-like character, only lift unreadable labels. */
  :is(#typography-refine,body) .hud__menu-label,
  :is(#typography-refine,body) .hud__profile-kicker,
  :is(#typography-refine,body) .hud__player-head small,
  :is(#typography-refine,body) #hudPlayerMenuStatus,
  :is(#typography-refine,body) .hud__player-metrics small,
  :is(#typography-refine,body) .hud__profile-file small,
  :is(#typography-refine,body) .hud__character-switch>span,
  :is(#typography-refine,body) .hud__character-switch small,
  :is(#typography-refine,body) .hud__heist-exit>span,
  :is(#typography-refine,body) .hud__heist-exit small,
  :is(#typography-refine,body) .hud__announcement small,
  :is(#typography-refine,body) .hud__wanted--party .is-label{font-size:var(--type-meta)!important;}

  /* Invitados / preparation: preserve density, remove only the 6–7px cases. */
  :is(#typography-refine,body) .operation-stage__identity small,
  :is(#typography-refine,body) .operation-stage__status,
  :is(#typography-refine,body) .operation-social__copy small,
  :is(#typography-refine,body) .party-operation-card__crew .crew-access__copy>small,
  :is(#typography-refine,body) .operation-clandestine-access__copy small,
  :is(#typography-refine,body) .operation-heist__eyebrow>span,
  :is(#typography-refine,body) .operation-heist__countdown small{font-size:var(--type-meta)!important;}
  :is(#typography-refine,body) .operation-social__copy strong,
  :is(#typography-refine,body) .party-operation-card__crew .crew-access__copy>strong{font-size:var(--type-compact)!important;}
  :is(#typography-refine,body) .operation-social__copy span,
  :is(#typography-refine,body) .party-operation-card__crew .crew-access__copy>span,
  :is(#typography-refine,body) .operation-clandestine-access__copy span{font-size:var(--type-meta)!important;}

  /* La Banda list + dossier. */
  :is(#typography-refine,body) .crew-browser__overview small,
  :is(#typography-refine,body) .crew-member-card__name em,
  :is(#typography-refine,body) .crew-member-card__progress small,
  :is(#typography-refine,body) .crew-member-card__specialties>span,
  :is(#typography-refine,body) .crew-profile-sheet__identity>.kicker,
  :is(#typography-refine,body) .crew-profile-sheet__connection,
  :is(#typography-refine,body) .crew-profile-respect-pill>small,
  :is(#typography-refine,body) .crew-social-section>small,
  :is(#typography-refine,body) .crew-social-profile--compact .crew-social-section>small,
  :is(#typography-refine,body) .crew-social-empty small{font-size:var(--type-meta)!important;}
  :is(#typography-refine,body) .crew-social-profile--compact .character-summary-chip,
  :is(#typography-refine,body) .crew-profile-specialties .character-summary-chip{font-size:var(--type-meta)!important;}
  :is(#typography-refine,body) .crew-profile-sheet__progress .crew-phase-stepper>i,
  :is(#typography-refine,body) .crew-phase-stepper>i{font-size:7px!important;}

  /* Mi expediente: compact labels remain compact; useful text stays readable. */
  :is(#typography-refine,body) .character-file__section-label,
  :is(#typography-refine,body) .character-file__identity small,
  :is(#typography-refine,body) .character-file-block>header small,
  :is(#typography-refine,body) .character-file-block:not(.is-editing)>header::after,
  :is(#typography-refine,body) .character-summary-chip,
  :is(#typography-refine,body) .character-operation-summary .character-summary-chip,
  :is(#typography-refine,body) .specialty-chip,
  :is(#typography-refine,body) .character-avatar-fallback__head b,
  :is(#typography-refine,body) .character-avatar-fallback__head small,
  :is(#typography-refine,body) .character-operation__head>span,
  :is(#typography-refine,body) .character-operation__metrics small{font-size:var(--type-meta)!important;}
  :is(#typography-refine,body) .character-field-help,
  :is(#typography-refine,body) .specialty-picker__head small,
  :is(#typography-refine,body) .special-ability-field small,
  :is(#typography-refine,body) .character-file__edit-message,
  :is(#typography-refine,body) .character-file__save-toast{font-size:var(--type-caption)!important;}

  /* Social catalog: intentionally compact; the previous 10–12px blanket made
     the cards heavy. Only the old 6–8px microcopy is lifted slightly. */
  :is(#typography-refine,body) .social-catalog-launch small,
  :is(#typography-refine,body) .social-catalog-section-head small,
  :is(#typography-refine,body) .social-catalog-section-head span,
  :is(#typography-refine,body) .social-catalog-option__copy small{font-size:var(--type-micro)!important;}
  :is(#typography-refine,body) .social-catalog-tab{font-size:var(--type-meta)!important;}
  :is(#typography-refine,body) .social-catalog-option__copy b,
  :is(#typography-refine,body) .social-catalog-option--sentence .social-catalog-option__copy b{font-size:var(--type-caption)!important;}
  :is(#typography-refine,body) .social-catalog-custom>span,
  :is(#typography-refine,body) .social-catalog-message,
  :is(#typography-refine,body) .social-catalog-custom--note small{font-size:var(--type-caption)!important;}

  /* Operaciones Clandestinas: keep the elegant compact rail, but never 5–6px. */
  :is(#typography-refine,body) .clandestine-top-status .clandestine-active-player__copy small,
  :is(#typography-refine,body) .clandestine-status-actions .clandestine-general-ranking small{font-size:var(--type-micro)!important;}
  :is(#typography-refine,body) .clandestine-status-actions .clandestine-general-ranking b{font-size:var(--type-meta)!important;}
  :is(#typography-refine,body) .clandestine-game-meta,
  :is(#typography-refine,body) .clandestine-cover>span,
  :is(#typography-refine,body) .clandestine-cover .clandestine-game-state,
  :is(#typography-refine,body) .clandestine-record small,
  :is(#typography-refine,body) .clandestine-rival small,
  :is(#typography-refine,body) .clandestine-swipe-hint,
  :is(#typography-refine,body) .arcade-hub-sheet__header small,
  :is(#typography-refine,body) .arcade-hub-info small,
  :is(#typography-refine,body) .operation-ranking .arcade-ranking__head>span{font-size:var(--type-meta)!important;}

  /* Game/result chrome: only rescue text that historically reached 5–7px. */
  :is(#typography-refine,body) .operation-loading>small,
  :is(#typography-refine,body) .operation-result>small,
  :is(#typography-refine,body) .operation-result__score>span,
  :is(#typography-refine,body) .game-personal-record small,
  :is(#typography-refine,body) .game-pause-menu small,
  :is(#typography-refine,body) .inf-hud small,
  :is(#typography-refine,body) .inf-practice-badge,
  :is(#typography-refine,body) .blind-hud small,
  :is(#typography-refine,body) .blind-result-breakdown small,
  :is(#typography-refine,body) .safe-game-hud small,
  :is(#typography-refine,body) .safe-dial-core small,
  :is(#typography-refine,body) .safe-feedback small,
  :is(#typography-refine,body) .safe-result-metrics small,
  :is(#typography-refine,body) .safe-result-shots small,
  :is(#typography-refine,body) .safe-precision-feedback small,
  :is(#typography-refine,body) .safe-vault-core small{font-size:var(--type-micro)!important;}
  :is(#typography-refine,body) .operation-result__message,
  :is(#typography-refine,body) .operation-result .arcade-result-actions .btn,
  :is(#typography-refine,body) .operation-result .arcade-result-actions .game-result-back{font-size:var(--type-caption)!important;}

  /* Admin remains dense; only eliminate the tiniest labels. */
  :is(#typography-refine,body) .admin-player-row small,
  :is(#typography-refine,body) .admin-reset-pin,
  :is(#typography-refine,body) .admin-temp-pin,
  :is(#typography-refine,body) .admin-mission-director-row__copy small,
  :is(#typography-refine,body) .admin-mission-code small,
  :is(#typography-refine,body) .admin-mission-code span{font-size:var(--type-micro)!important;}
}

/* v24.39 · Mi expediente typography alignment -------------------------------
   This is deliberately scoped to the dossier. It standardizes peer elements
   without reviving the broad v24.37 enlargement. */
@media (max-width:760px){
  :is(#typography-refine,body) .character-file :is(
    .character-summary-chip,
    .social-selection-preview .character-summary-chip
  ){
    font-size:var(--type-meta)!important;
  }

  :is(#typography-refine,body) .character-file :is(
    label>span,
    .social-profile-field__head b,
    .social-custom-field>span,
    .character-photo-card__content b
  ){
    font-size:var(--type-label)!important;
    line-height:1.2;
    letter-spacing:.075em;
  }

  :is(#typography-refine,body) .character-file :is(input,textarea)::placeholder{
    color:var(--dossier-placeholder)!important;
    opacity:1;
    font-size:14px!important;
    font-weight:650;
    letter-spacing:0;
  }

  :is(#typography-refine,body) .character-file .character-photo-card__actions :is(.btn,.text-button){
    font-size:var(--type-label)!important;
  }

  :is(#typography-refine,body) .character-file :is(
    .character-photo-card__content small,
    .social-profile-field__head small,
    .character-pin-change small
  ){
    font-size:var(--type-caption)!important;
  }
}
