/* D-35-3 input floor (spec 35). Touch devices only (founder 2026-10-25: never by
   width — a narrow desktop window keeps design sizes). iOS zooms the whole page into a
   focused field set under 16px, so every editable control reads the look's
   --kk-fs-input (>= 16px, contract-tested) at that width. Desktop keeps the slim
   design-system field sizes.

   It ships beside the App-look adapters (shared/design_system_head), so every
   layout that stamps data-interface-system gets it, including ones that do not
   load kk-shell.css. It targets the elements, so a field cannot escape by having
   a class nobody listed. The public layout (sign-in pages) loads it too; it stamps
   no look, so the role falls back to 16px there. !important because this is an accessibility floor, not
   a style; no shell stylesheet sets font-size !important.

   A floor only raises. max(role, 1em) keeps an editor that inherits a larger
   size (a board mind-map root topic is 20px; 1em is its parent's size) and
   raises everything else, board controls included, to the role. A field whose
   OWN class sets a size above 16px would still be pulled to max(role, parent),
   so those are excluded by name (.kk-compose-title, the /new and Space-name
   title). input_floor_contract_test finds such fields in every stylesheet and
   Svelte component and fails if one is missing here. */
@media (hover: none) and (pointer: coarse) {
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="submit"], [type="button"], [type="reset"], [type="image"], [type="hidden"], .kk-compose-title),
  select,
  textarea:not(.kk-compose-title) {
    font-size: max(var(--kk-fs-input, 16px), 1em) !important;
  }
}
