/* ── TagAudit shared base ───────────────────────────────────────────────────────────────────
   Round 168, made GLOBAL on Edgar's instruction. Before this, every page carried its own
   inline <style> and there was NO shared sheet anywhere — 16 files, each inventing its own
   spacing, its own gutter, and its own minimum type size. That is why the same fix had to be
   made once per page and why they drifted.

   WHAT IS GLOBAL AND WHAT IS DELIBERATELY NOT:
     global  — the spacing scale, the responsive gutter, the 12px legibility floor, the
               [hidden] guard. None of these decide how wide a page's content is.
     NOT     — `--container`. Each page keeps its own max-width, because prose pages are
               760px ON PURPOSE (a 68ch measure) and widening them to the homepage's 1120px
               would be the readability defect Corbel's finding 2 is about, applied on purpose.
     NOT     — the report. `report_template.html` and `demo_*_report.html` are NOT linked
               here: a report is served from /runs/<id>/report.html and gets SAVED AND SHARED,
               so it must stay a self-contained file. Their type floor is a separate unit and
               it is [QA LEAD] Tycho's per TEAM.md.
   ───────────────────────────────────────────────────────────────────────────────────────── */

:root{
  --s1:4px; --s2:8px; --s3:12px; --s4:16px;
  --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  --gutter:24px;          /* fluid — raised per tier below */
  --measure:68ch;         /* prose only, never grids */
  --band:64px; --band-minor:48px;
}

/* The page had NO min-width query at all, so a 1440px and a 1024px screen rendered
   identically. These raise the GUTTER only; each page's container is its own business. */
@media (min-width:900px) { :root{ --band:72px; --band-minor:54px } }
@media (min-width:1280px){ :root{ --gutter:64px; --band:96px;  --band-minor:72px } }
@media (min-width:1600px){ :root{ --gutter:80px } }

/* ── THE [hidden] GUARD, and it is here because it shipped as a live defect ──────────────
   `.tierwhy{display:block}` beat the UA `[hidden]{display:none}`, so JS setting `hidden`
   did not hide the beta note — it would have rendered beside an ENABLED Pro button, a false
   statement at the moment of purchase. Any author `display` on any element does this. One
   line removes the whole class, on every page. */
[hidden]{display:none!important}

/* ── 12px LEGIBILITY FLOOR ───────────────────────────────────────────────────────────────
   Measured across the site: 9.28px–11.52px in live use, on lines that carry credibility —
   badges, table headers, timestamps, eyebrows, pills. The floor is a legibility rule, not a
   layout choice, so unlike the container it IS global. Declared here and loaded AFTER each
   page's inline block, so it wins at equal specificity without editing every rule. */
.launch, .betabadge, .tagchip, .rung .rn, .preview .ph .meta,   /* index */
.eyebrow,                                                       /* dpa · privacy · refunds · terms */
.pill,                                                          /* domains */
.badge{                                                         /* index-v2 · index-v3 */
  font-size:.75rem;
}
th{ font-size:max(.75rem, 1em) }   /* privacy — 11px table headers, without forcing a size up */
