/* PROMPTLRD tap targets (v1.02 road item 17, 2026-09-27).
   Linked from every page that runs the QOL network engine (/qol-edit.js).

   Every tap target is at least 44x44 CSS px on phones and touch screens. Everything here sits
   in ONE query: phones by width, touch screens by pointer. A desktop with a mouse never
   matches, so desktop geometry is unchanged (1280 box diff before/after in the commit).
   Measured, not assumed: a Playwright sweep at 375x812 scrolls to every a/button/input/select/
   [role=button]/summary, hit-tests its centre with elementFromPoint and scans outward for the
   real tappable area. A 20x20 control button proves the sweep flags small targets.

   Page-specific fixes live in each page's own <style>, next to the rules they extend. This
   file holds only what every page shares:
     .tap      the element's own box grows to 44px tall and wide (min-height/min-width only)
     .tap-row  class-less text links: an inline-flex box that centres the text, 44px minimum
     .tap-hit  keeps the drawn box and adds an invisible ::after hit area of 44x44.
               It sets position:relative, so never put it on a positioned element.
     the network band: 44px on touch screens, and its "Back to QOL Network" link fills it */
@media (max-width: 767px), (pointer: coarse) {
  .tap { min-height: 44px; min-width: 44px; }
  .tap-row { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  .tap-hit { position: relative; }
  .tap-hit::after {
    content: ""; position: absolute; left: 50%; top: 50%;
    width: max(100%, 44px); height: max(100%, 44px);
    transform: translate(-50%, -50%);
  }
  /* the shared top-nav link: its height comes from each page's own padding rule; a short
     label ("Pricing", 43.6px on /try) also needs the 44px width */
  .topnav-link { min-width: 44px; text-align: center; }

  /* The engine draws a 40px band whose link is 16px tall. Every value the engine derives from
     the band height reads --qe-band-h (pinned navs, scroll-padding), so overriding the
     variable moves them together. Each selector outranks the engine's own rule by specificity,
     which is what beats a <style> tag injected after this sheet; :has(#qe-hubband) keeps all
     of it off a page where the band is not mounted. */
  /* Engine v4.6 (2026-09-30): the band is 58px, two rows (the link, then the Back/Forward
     keys under it). It is already taller than 44px, so the old 44px height override is gone:
     capping it would clip the keys. */
  /* the assistant panel's own controls (21-38px tall as the engine draws them) */
  html body #qe-assist-in input, html body #qe-assist-in button { min-height: 44px; }
  html body #qe-assist-copilot-link { position: relative; }
  html body #qe-assist-copilot-link::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 44px; transform: translateY(-50%); }
}
