/* Touch screens (phones and tablets): every tap target at least 44px, and no text under 12px (css/touch.css,
   loaded last on every page). A mouse is precise, so desktop is untouched: everything here is inside
   @media (pointer: coarse). :root in front of each selector puts it above the page's own rule wherever that is.

   Tap targets: js/touch.js marks every button and link (.tap-44), and an invisible ::after around it makes its
   tap area at least 44px tall and wide without changing how it looks (min(0px, 50% - 22px) on each side:
   nothing for anything already that big). Text fields and menus are made 44px tall.
   Lists of choices (checkboxes, radio buttons) and the footer's links get real room instead, so neighbours'
   tap areas don't overlap. The map's zoom buttons are simply made 44px.
   Text: every rule that set text under 12px (found with a scan of css/; the faces' initials, the map's
   attribution and the Bennie game's pixel font keep theirs) is raised to 12px. A new rule with small text
   belongs in the list below. */
@media (pointer: coarse) {
  /* buttons and links: an invisible area around each, at least 44px (js/touch.js marks them) */
  .tap-pos { position: relative; }
  .tap-44::after { content: ''; position: absolute; inset: min(0px, calc(50% - 22px)); }
  /* text fields and menus can't have one: they're 44px tall */
  :root :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]), select) { min-height: 44px; }
  /* lists of choices: each row a fingertip tall */
  :root label:has(> input[type="checkbox"], > input[type="radio"]) { padding-block: 10px; }
  /* the footer's links: one per 44px row, so they don't crowd */
  :root .sf-row { row-gap: 0; }
  :root .sf-row a { display: inline-flex; align-items: center; min-height: 44px; }
  /* the map's + and − */
  :root .maplibregl-ctrl-group button { width: 44px; height: 44px; }

  /* Orbit's mix bubbles size their text to the bubble: the smallest it gets, raised */
  :root .mix-desc { font-size: clamp(12px, 8.6cqw, 17px); }
  :root .mix-people { font-size: clamp(12px, 6.4cqw, 13px); }

  /* text under 12px, raised */
  :root .acct-who em,
  :root .acct-menu .is-soon em,
  :root .acct-sub,
  :root .acct-fav em,
  :root .cmp-card .stats span,
  :root .h2h-heat .who b,
  :root .dt-stop.is-meeting .dt-node,
  :root .fd-label,
  :root .fd-kind,
  :root .fd-steps span,
  :root .fd-vote b,
  :root .fd-dl small,
  :root .fd-big-date small,
  :root .fd-pill,
  :root .fd-nav a small,
  :root .fd-nav button small,
  :root .fd-list .fd-pick,
  :root .fd-steps.is-7 span,
  :root .gen-gov-menu-head,
  :root .gen-frame-kicker,
  :root .gen-hundred-kicker,
  :root .gen-hundreds.is-pair .gen-hundred-kicker,
  :root .boss-text small,
  :root .boss-money,
  :root .boss-elect,
  :root .land-results-sec,
  :root .land-news-tag,
  :root .hs-tag,
  :root .jr-stops-text small,
  :root .jr-site small,
  :root .jr-place-tag,
  :root .learn-tag,
  :root .je-level-words small,
  :root .je-list li small,
  :root .admin-quiz-tag,
  :root .pb-head,
  :root .pb-end,
  :root .pb-tick,
  :root .mz-kind,
  :root .mz-yn b,
  :root .mz-dot,
  :root .mz-src,
  :root .mz-av.is-small,
  :root .bl-steps li,
  :root .bl-vote b,
  :root .bl-steps b,
  :root .bl-voted,
  :root .hm-pick em,
  :root .hm-steps span,
  :root .hm-tool small,
  :root .ab-echo small,
  :root .ab-widen small,
  :root .inv-group,
  :root .ls-group-name,
  :root .ls-blurb,
  :root .ls-device,
  :root .pb-cal small,
  :root .pm-ring small,
  :root .pos-mini .pos-chip,
  :root .pos-cal small,
  :root .pos-match.is-crowded .pos-chip,
  :root .ps-follows,
  :root .mk-suggest .mk-kind,
  :root .mk-badge,
  :root .mk-m .mk-mi,
  :root .pf-kicker,
  :root .pf-reps small,
  :root .pf-7-card .mk-pill,
  :root .pf-8-card .mk-pill,
  :root .pf-9-card .mk-pill,
  :root .pf-bio-edit span,
  :root .pf-mini-place,
  :root .pf-mini-chip,
  :root button.mk-pill.pf-photo-report,
  :root .rt.is-compact .rt-n,
  :root .mix-count,
  :root .group-pill .group-count,
  :root .mix-pill,
  :root .mix-count-in,
  :root .index-tabs button,
  :root .index-page small,
  :root .index-door-mix em,
  :root .wheel-all,
  :root .member-tag,
  :root .compare-bar .line-end,
  :root .chip-result-text small,
  :root .fc-date,
  :root .fc-field-title,
  :root .fc-chip,
  :root .fc-chance,
  :root .fc-legend,
  :root .map-row-label,
  :root .map-legend-note,
  :root .map-label-tag,
  :root .map-pin-name,
  :root .news-tag,
  :root .gen-d-head,
  :root .gen-d-card small,
  :root .stand-tag,
  :root .stand-src,
  :root .cal-head,
  :root .map-dcard-text small,
  :root .nav-more-item em,
  :root .tab,
  :root .mix-go,
  :root .vh-next small { font-size: 12px; }
}
