/* RACE CREATOR v1.9 · targeted mobile QA, layout, legibility and touch. */
:root{--mobile-tap:44px}
/* Grid children may shrink: a lengthy statistic must never widen a 320px viewport. */
.stats,.grid2,.badgegrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.stats>* , .grid2>* , .badgegrid>*{min-width:0;max-width:100%}
.stat b,.stat small,.achievement small,.info b,.info .label{overflow-wrap:anywhere;word-break:normal}
/* Tiny ranking elements can keep normal table layout on desktop and reflow on mobile. */
.rank-card{min-width:0;max-width:100%}
.rank-card .ranking-table,.rank-card .ranking-table tr,.rank-card .ranking-table td{min-width:0}
/* Touch controls and safe native input sizes: 16px prevents Safari focus autozoom. */
@media(max-width:849px){
  .field input:not([type=checkbox]),.field select,.field textarea,
  .authwrap input,.authwrap select,.authwrap textarea,
  #raceForm input,#raceForm select,#raceForm textarea{font-size:16px;line-height:1.35}
  .field input[type=file]{max-width:100%;font-size:15px}
  .topbar .tinybtn,.topbar .control-shortcut,.topbar .brand-button{min-height:44px}
  .btn,.flatbtn,.filter-chip,.chip,.tabs button,.tabrow button,.admin-pager button{min-height:44px}
  .nav{min-height:48px}
  .label,.small-note,.rank-card .ranking-table td[data-label]::before{font-size:11px;line-height:1.4}
  /* Do not let the keyboard and fixed navigation compete over the same space. */
  body:has(input:not([type=file]):not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus) .bottom{display:none}
  /* Allow native vertical page scroll for long forms and long lists, not sideways body pan. */
  .app,.shell,#app{min-width:0;max-width:100%}
  .stats{gap:6px}
}
@media(max-width:360px){
 .stat{padding:11px 6px}
 .stats .stat b{font-size:16px}
 .stat small{letter-spacing:0;font-size:9px;line-height:1.3;display:block}
 .topbar .control-shortcut{padding:6px 7px}
 .ranking-table .rank-runner{line-height:1.4}
 .rank-card .ranking-table tr{grid-template-columns:30px repeat(3,minmax(0,1fr));gap:8px 4px;padding:11px 6px}
}
