/* EBL READING FLOOR. Added October 2026 (Arnold).
   Several readers, young and old, said the text was too small. This sheet is
   linked LAST on every published page by render_type_floor.py. Every rule
   carries "html:root" and !important so it outranks the phone, tablet,
   supplement-page and room rules in styles.css and rooms.css, several of
   which are themselves !important. Every value is a raise, never a cut:
   nothing renders under 14px, reading sizes step up 1 to 2px, and headings
   (18px and up) are untouched. Rungs that land above 14.5px skip h1 to h3 so
   no heading carrying a small utility class can ever be shrunk.
   gate_g226_reading_floor.py holds every rung and the page links. */

/* 1. The utility-class ladder */
html:root .text-\[8px\],
html:root .text-\[9px\],
html:root .text-\[9\.5px\],
html:root .text-\[10px\],
html:root .text-\[10\.5px\],
html:root .text-\[11px\],
html:root .text-\[11\.5px\] { font-size: 14px !important; }
html:root .text-\[12px\],
html:root .text-\[12\.5px\] { font-size: 14.5px !important; }
html:root .text-\[13px\]:not(h1):not(h2):not(h3),
html:root .text-\[13\.5px\]:not(h1):not(h2):not(h3) { font-size: 15px !important; }
html:root .text-\[14px\]:not(h1):not(h2):not(h3),
html:root .text-\[14\.5px\]:not(h1):not(h2):not(h3) { font-size: 16px !important; }
html:root .text-\[15px\]:not(h1):not(h2):not(h3),
html:root .text-\[15\.5px\]:not(h1):not(h2):not(h3) { font-size: 17px !important; }
html:root .text-\[16px\]:not(h1):not(h2):not(h3),
html:root .text-\[16\.5px\]:not(h1):not(h2):not(h3) { font-size: 17.5px !important; }
html:root .text-\[17px\]:not(h1):not(h2):not(h3) { font-size: 18px !important; }
/* Small prose (not monospace labels) reads at 15px: long passages need more than labels do */
html:root .text-\[8px\]:not(.font-mono):not(.uppercase),
html:root .text-\[9px\]:not(.font-mono):not(.uppercase),
html:root .text-\[9\.5px\]:not(.font-mono):not(.uppercase),
html:root .text-\[10px\]:not(.font-mono):not(.uppercase),
html:root .text-\[10\.5px\]:not(.font-mono):not(.uppercase),
html:root .text-\[11px\]:not(.font-mono):not(.uppercase),
html:root .text-\[11\.5px\]:not(.font-mono):not(.uppercase),
html:root .text-\[12px\]:not(.font-mono):not(.uppercase),
html:root .text-\[12\.5px\]:not(.font-mono):not(.uppercase) { font-size: 15px !important; }
html:root .text-xs { font-size: 14px !important; line-height: 1.45; }
html:root .text-sm:not(h1):not(h2):not(h3) { font-size: 16px !important; line-height: 1.5; }
html:root .text-base:not(h1):not(h2):not(h3) { font-size: 17.5px !important; }
/* Wide tracking on enlarged uppercase micro labels costs width and legibility */
html:root .tracking-widest.text-\[8px\],
html:root .tracking-wider.text-\[8px\],
html:root .tracking-widest.text-\[9px\],
html:root .tracking-wider.text-\[9px\],
html:root .tracking-widest.text-\[9\.5px\],
html:root .tracking-wider.text-\[9\.5px\],
html:root .tracking-widest.text-\[10px\],
html:root .tracking-wider.text-\[10px\],
html:root .tracking-widest.text-\[10\.5px\],
html:root .tracking-wider.text-\[10\.5px\],
html:root .tracking-widest.text-\[11px\],
html:root .tracking-wider.text-\[11px\],
html:root .tracking-widest.text-\[11\.5px\],
html:root .tracking-wider.text-\[11\.5px\] { letter-spacing: .07em; }
/* 2. Inline style="font-size:Npx" attributes (only !important reaches them) */
html:root [style*="font-size:8px"],
html:root [style*="font-size: 8px"],
html:root [style*="font-size:9px"],
html:root [style*="font-size: 9px"],
html:root [style*="font-size:9.5px"],
html:root [style*="font-size: 9.5px"],
html:root [style*="font-size:10px"],
html:root [style*="font-size: 10px"],
html:root [style*="font-size:10.5px"],
html:root [style*="font-size: 10.5px"],
html:root [style*="font-size:11px"],
html:root [style*="font-size: 11px"],
html:root [style*="font-size:11.5px"],
html:root [style*="font-size: 11.5px"] { font-size: 14px !important; }
html:root [style*="font-size:12px"],
html:root [style*="font-size: 12px"],
html:root [style*="font-size:12.5px"],
html:root [style*="font-size: 12.5px"] { font-size: 14.5px !important; }
html:root [style*="font-size:13px"],
html:root [style*="font-size: 13px"],
html:root [style*="font-size:13.5px"],
html:root [style*="font-size: 13.5px"] { font-size: 15px !important; }
html:root [style*="font-size:14px"],
html:root [style*="font-size: 14px"],
html:root [style*="font-size:14.5px"],
html:root [style*="font-size: 14.5px"] { font-size: 16px !important; }
html:root [style*="font-size:15px"],
html:root [style*="font-size: 15px"],
html:root [style*="font-size:15.5px"],
html:root [style*="font-size: 15.5px"] { font-size: 17px !important; }
html:root [style*="font-size:16px"],
html:root [style*="font-size: 16px"],
html:root [style*="font-size:16.5px"],
html:root [style*="font-size: 16.5px"] { font-size: 17.5px !important; }
html:root [style*="font-size:17px"],
html:root [style*="font-size: 17px"] { font-size: 18px !important; }
/* 3. Custom-class micro type found by the full-site crawl of October 2026 */
html:root :is(.eyebrow,.ebl-k,.lbl,.kind,.date) { font-size: 14px !important; letter-spacing: .1em; }
html:root :is(.pm,.pmid,.src,.cap,.meta,.fp-num,.ebl-dmap-k,.ss-foot,.ss-lbl,.ss-dir,.ss-sample,.ss-pill,.ss-dose,.ss-sub,.ebl-ms-go,.ebl-flag-static,.ebl-sample-k,.ebl-chap,.pe-pmid,.evi-chip,.pyramid-row-short,.pyramid-axis-top,.pyramid-axis-bot,.pyramid-rule,.ebl-try-note,.ebl-ways-c,.grade), html:root small { font-size: 14px !important; }
html:root :is(.btn-primary,.btn-ghost,.ebl-tour-tx,.ebl-tour-cap):not(header *) { font-size: 15px !important; }
html:root :is(.why,.ttl,.note) { font-size: 15.5px !important; }
