/* Phone polish shared by every page: readable text floor, comfortable tap
   targets, and cards that never push their contents past the edge. Loaded
   last so it only fills gaps the page styles leave. */
@media(max-width:640px){
  /* Text never drops below a readable size. */
  .eyebrow,.step-label,.preview-kicker,.mobile-kicker,.feedback-result-eyebrow,.letter-editor-eyebrow,.letter-section-label,.application-helper-eyebrow{font-size:.72rem!important}
  small,.char-count,.detail-hint,.field-help,.form-status,.cv-entry-privacy,.badge,.criteria-met,.fit-label,.end-review,.scroll-cue,.score-date,.skills-rating-label,.person-meta span,.school-row-stats span,.reports-total-card small,.account-totals small,.student-summary small,.text-button,.filter-chip,.tiny-button,.guide-card-topic,.guide-card-tags span,.guide-card footer span,.guide-card footer b,#guide-dialog-topic,.job-check-progress li span,.job-check-progress li b,#interview-view ol li span,#interview-view ol li b,.job-check-privacy,.letter-colors span,.letter-pane-heading span,.iv-roles-head span,.guide-state,.admin-guide-row p,.admin-guide-row footer span,.guide-manager-head small,.limit-input span{font-size:.75rem!important}
  .field>span{font-size:.78rem}

  /* Tap targets. */
  .filter-chip,.tiny-button,.text-button{min-height:36px}
  .text-button{display:inline-flex;align-items:center}
  .color-swatch{width:34px;height:34px}
  .color-swatches{gap:12px}
  .site-footer a{padding-block:6px}

  /* Keep the floating accessibility button off the last line of content. */
  body{padding-bottom:64px}
}

/* Interview role cards: the title may shrink so the Train button stays inside the card. */
.interview-job-card>span:first-child{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.interview-job-card>span:last-child{flex:0 0 auto}
