/* ==============================================================
   ARKANSAS DATA CENTERS WIKI · publish.css
   For  https://publish.obsidian.md/ardatacenters

   Concept — a quiet documentary publication.
   A forensic public-records wiki documenting Arkansas's hyperscale
   data-center buildout, the Act 548 tax-exemption framework, and
   the Entergy rate case that determines who pays for the new
   generation. The design recedes so the record can speak.

   Register — "monochrome editorial."
   Pure black on pure white (light mode) and pure white on near-
   black (dark mode), with one signal red reserved for contradictions
   and the SEALED treatment retained as the evidentiary signature.
   Hierarchy is carried by size, weight, and rule-line — never by
   ornamental color. Generous whitespace, hairline rules, a single
   serif (Source Serif 4) doing the heavy display work, monospace
   (IBM Plex Mono) reserved for evidentiary registers. Layout follows
   Publish's three-column chrome and stays out of its way.

   Companion file — publish.js (page-type chrome).
   Injects .page-kicker, .foia-coversheet, .page-meta-strip,
   .scroll-progress, .heading-anchor, and .compilation-footer.
   The CSS styles those classes; the JS injects the markup.

   Page hero — composed landing-page masthead.
   .page-hero-kicker / .page-hero-tagline / .page-hero-meta are
   markdown-embedded HTML on Home.md (and may be reused on other
   landing pages). Styled in §23.5.

   Signature interaction — CSS-only redaction reveal.
   <span data-redacted> spans and the [!web-research-unresolved]
   callout wear a hatched black bar that slides off on :hover /
   :focus-within. Respects prefers-reduced-motion.

   After editing, RE-PUBLISH from the Obsidian Publish changes
   dialog, then hard-refresh (Ctrl+Shift+R) — the CDN caches.
   ============================================================== */


/* ====  1 · FONT IMPORTS  ===================================== */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,500&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');


/* ====  2 · SHARED TOKENS (mode-independent)  ================= */
body {
  --font-text-theme:      'Source Serif 4', ui-serif, Georgia, 'Times New Roman', serif;
  --font-display-theme:   'Source Serif 4', ui-serif, Georgia, 'Times New Roman', serif;
  --font-interface-theme: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-monospace-theme: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', 'Consolas', monospace;
  --font-text-size: 17px;
}

.published-container {
  /* Layout — let Publish's chrome variables drive the columns.
     Setting width/max-width on .site-body-*-column collapses the grid. */
  --page-width: 44rem;
  --page-padding: 2.6rem;
  --graph-height: 240px;

  /* Page title — Publish injects its own .page-title (file name) */
  --page-title-font: 'Source Serif 4', ui-serif, Georgia, serif;
  --page-title-size: 2.35rem;
  --page-title-weight: 600;
  --page-title-line-height: 1.12;
  --page-title-style: normal;

  /* Navigation */
  --nav-item-size: 0.86rem;
  --nav-item-weight: 400;
  --nav-item-weight-active: 600;

  /* Outline / backlinks rail headers */
  --component-title-size: 0.68rem;
  --component-title-weight: 700;

  /* Metadata (frontmatter — kept hidden in §14; tokens retained for safety) */
  --metadata-border-radius: 4px;
  --metadata-padding: 0.55rem 1rem;
  --metadata-label-font-size: 0.66rem;

  /* Private theme tokens */
  --adc-radius:     4px;
  --adc-radius-sm:  2px;
  --adc-redaction:  #000000;
  --adc-redact-ink: #FFFFFF;
}


/* ====  3 · LIGHT PALETTE  ====================================
   Pure black on pure white. Hierarchy via size, weight, and rule —
   never ornamental color. Links are pure text-color underlined, the
   accent is the text itself. The signal red is retained but quieted
   and reserved exclusively for contradictions and the SEALED stamp's
   border accent. */
body.theme-light {
  --background-primary:        #FFFFFF;
  --background-primary-alt:    #FAFAFA;
  --background-secondary:      #F4F4F4;
  --background-secondary-alt:  #ECECEC;
  --background-modifier-border:        #E5E5E5;
  --background-modifier-border-hover:  #C7C7C7;
  --background-modifier-border-focus:  #0A0A0A;
  --background-modifier-hover:         rgba(10, 10, 10, 0.045);

  --text-normal:    #0A0A0A;
  --text-muted:     #555555;
  --text-faint:     #6E6E6E;   /* was #999 (2.85:1) → ~5:1, WCAG AA on white */
  --text-on-accent: #FFFFFF;

  --text-accent:        #0A0A0A;
  --text-accent-hover:  #000000;
  --interactive-accent: #0A0A0A;
  --interactive-accent-hover: #000000;
  --text-selection:     rgba(10, 10, 10, 0.14);
  --text-highlight-bg:  rgba(10, 10, 10, 0.10);

  --link-color: #0A0A0A;
  --link-color-hover: #000000;
  --link-external-color: #0A0A0A;

  --accent-h: 0;
  --accent-s: 0%;
  --accent-l: 4%;

  --blockquote-color: #1A1A1A;
  --hr-color: #E5E5E5;
  --bold-color: #000000;

  /* Private */
  --adc-accent:        #0A0A0A;
  --adc-accent-hover:  #000000;
  --adc-accent-quiet:  rgba(10, 10, 10, 0.045);
  --adc-accent-line:   rgba(10, 10, 10, 0.42);
  --adc-panel:         #FAFAFA;
  --adc-rule:          rgba(10, 10, 10, 0.12);
  --adc-rule-strong:   rgba(10, 10, 10, 0.78);
  --adc-signal:        #8B1A12;
  --adc-signal-quiet:  rgba(139, 26, 18, 0.06);

  /* Graph view */
  --graph-text:            #0A0A0A;
  --graph-line:            #CFCFCF;
  --graph-node:            #555555;
  --graph-node-focused:    #0A0A0A;
  --graph-node-unresolved: #CFCFCF;
  --graph-node-tag:        #999999;
  --graph-node-attachment: #999999;

  color-scheme: light;
}


/* ====  4 · DARK PALETTE  =====================================
   Pure white on near-black. The ground sits just off pure #000 so
   the eye reads it as a deep ink rather than a void; the text sits
   just off pure #FFF so it reads as warm bone rather than glare.
   The accent is the text itself; links underline rather than tint.
   The signal red lifts to a tempered coral for legibility on dark. */
body.theme-dark {
  --background-primary:        #0A0A0A;
  --background-primary-alt:    #141414;
  --background-secondary:      #050505;
  --background-secondary-alt:  #1A1A1A;
  --background-modifier-border:        rgba(250, 250, 250, 0.10);
  --background-modifier-border-hover:  rgba(250, 250, 250, 0.22);
  --background-modifier-border-focus:  rgba(250, 250, 250, 0.85);
  --background-modifier-hover:         rgba(250, 250, 250, 0.04);

  --text-normal:    #F5F5F5;
  --text-muted:     #A8A8A8;
  --text-faint:     #8A8A8A;   /* was #6B6B6B (3.7:1) → ~5.7:1, WCAG AA on near-black */
  --text-on-accent: #0A0A0A;

  --text-accent:        #FAFAFA;
  --text-accent-hover:  #FFFFFF;
  --interactive-accent: #FAFAFA;
  --interactive-accent-hover: #FFFFFF;
  --text-selection:     rgba(250, 250, 250, 0.16);
  --text-highlight-bg:  rgba(250, 250, 250, 0.12);

  --link-color: #FAFAFA;
  --link-color-hover: #FFFFFF;
  --link-external-color: #FAFAFA;

  --accent-h: 0;
  --accent-s: 0%;
  --accent-l: 98%;

  --blockquote-color: #E5E5E5;
  --hr-color: rgba(250, 250, 250, 0.14);
  --bold-color: #FFFFFF;

  /* Private */
  --adc-accent:        #FAFAFA;
  --adc-accent-hover:  #FFFFFF;
  --adc-accent-quiet:  rgba(250, 250, 250, 0.06);
  --adc-accent-line:   rgba(250, 250, 250, 0.40);
  --adc-panel:         #141414;
  --adc-rule:          rgba(250, 250, 250, 0.12);
  --adc-rule-strong:   rgba(250, 250, 250, 0.72);
  --adc-signal:        #E27968;
  --adc-signal-quiet:  rgba(226, 121, 104, 0.08);

  /* Graph view */
  --graph-text:            #EDEDED;
  --graph-line:            rgba(250, 250, 250, 0.16);
  --graph-node:            #8E8E8E;
  --graph-node-focused:    #FAFAFA;
  --graph-node-unresolved: rgba(250, 250, 250, 0.18);
  --graph-node-tag:        #A8A8A8;
  --graph-node-attachment: #6B6B6B;

  color-scheme: dark;
}


/* ====  5 · HIGH-SPECIFICITY FONT ENFORCEMENT  ================
   Obsidian Publish ships font rules near (0,2,1). The
   `html body[class]` prefix lifts ours to (0,2,3) so the wiki's
   typography wins every reasonable Publish selector. */

html body[class] .markdown-preview-view,
html body[class] .markdown-rendered,
html body[class] .markdown-preview-sizer,
html body[class] .markdown-preview-section,
html body[class] .published-container,
html body[class] .site-body,
html body[class] .markdown-preview-view p,
html body[class] .markdown-rendered p,
html body[class] .markdown-preview-view li,
html body[class] .markdown-rendered li,
html body[class] .markdown-preview-view td,
html body[class] .markdown-rendered td,
html body[class] .markdown-preview-view span,
html body[class] .markdown-rendered span,
html body[class] .markdown-preview-view a,
html body[class] .markdown-rendered a,
html body[class] .markdown-preview-view strong,
html body[class] .markdown-rendered strong,
html body[class] .markdown-preview-view em,
html body[class] .markdown-rendered em {
  font-family: var(--font-text-theme);
}

html body[class] .markdown-preview-view h1,
html body[class] .markdown-rendered h1,
html body[class] .markdown-preview-view h2,
html body[class] .markdown-rendered h2,
html body[class] .markdown-preview-view h3,
html body[class] .markdown-rendered h3,
html body[class] .page-title {
  font-family: var(--font-display-theme);
}

html body[class] .markdown-preview-view h4,
html body[class] .markdown-rendered h4,
html body[class] .markdown-preview-view h5,
html body[class] .markdown-rendered h5,
html body[class] .markdown-preview-view h6,
html body[class] .markdown-rendered h6 {
  font-family: var(--font-interface-theme);
}

html body[class] .markdown-preview-view code,
html body[class] .markdown-rendered code,
html body[class] .markdown-preview-view pre,
html body[class] .markdown-rendered pre,
html body[class] .markdown-preview-view blockquote,
html body[class] .markdown-rendered blockquote {
  font-family: var(--font-monospace-theme);
}

html body[class] .markdown-preview-view th,
html body[class] .markdown-rendered th,
html body[class] .markdown-preview-view table,
html body[class] .markdown-rendered table,
html body[class] .page-kicker,
html body[class] .reading-time,
html body[class] .page-meta-strip,
html body[class] .foia-coversheet,
html body[class] .foia-coversheet *,
html body[class] .compilation-footer,
html body[class] .compilation-footer *,
html body[class] .site-body-left-column-site-name,
html body[class] .site-name,
html body[class] .nav-file-title,
html body[class] .nav-folder-title,
html body[class] .tree-item-inner,
html body[class] .site-body-right-column,
html body[class] .site-body-right-column-inner,
html body[class] .site-body-right-column-inner * {
  font-family: var(--font-interface-theme);
}


/* ====  6 · BASE  ============================================= */
:root { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

.published-container .markdown-rendered,
.published-container .markdown-preview-view {
  font-family: var(--font-text-theme);
  font-size: var(--font-text-size);
  line-height: 1.68;
  color: var(--text-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.published-container .markdown-rendered p,
.published-container .markdown-preview-view p {
  margin: 0 0 1.1em;
  hyphens: auto;
  -webkit-hyphens: auto;
}

.published-container .markdown-rendered strong,
.published-container .markdown-preview-view strong {
  font-weight: 600;
  color: var(--bold-color);
}

.published-container .markdown-rendered em,
.published-container .markdown-preview-view em {
  font-style: italic;
}

.published-container .markdown-rendered ul,
.published-container .markdown-rendered ol,
.published-container .markdown-preview-view ul,
.published-container .markdown-preview-view ol {
  margin: 0.4em 0 1.2em;
  padding-left: 1.4em;
}

.published-container .markdown-rendered li,
.published-container .markdown-preview-view li { margin: 0.28em 0; line-height: 1.6; }

.published-container .markdown-rendered li::marker,
.published-container .markdown-preview-view li::marker {
  color: var(--text-faint);
}

.published-container .markdown-rendered mark,
.published-container .markdown-preview-view mark {
  background: var(--text-highlight-bg);
  color: var(--text-normal);
  border-radius: 2px;
  padding: 0.04em 0.20em;
}

::selection { background: var(--text-selection); color: var(--text-normal); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--background-modifier-border);
  border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover { background: var(--background-modifier-border-hover); }

* {
  scrollbar-width: thin;
  scrollbar-color: var(--background-modifier-border) transparent;
}


/* ====  6.5 · FOCUS-VISIBLE — keyboard parity for the hover affordances ====
   The design leans on :hover (nav, links, redaction reveal, heading anchors);
   this gives keyboard users an equivalent, on-brand indicator (WCAG 2.4.7). */
.published-container a:focus-visible,
.published-container .tree-item-self:focus-visible,
.published-container .site-body-right-column-inner a:focus-visible,
.published-container .heading-anchor:focus-visible,
.published-container [data-redacted]:focus-visible,
.published-container .backlinks a:focus-visible,
.published-container button:focus-visible {
  outline: 2px solid var(--adc-accent);
  outline-offset: 2px;
  border-radius: 1px;
}


/* ====  7 · LAYOUT  ===========================================
   Content width and padding are governed ENTIRELY by Publish's
   own --page-width / --page-padding (set in §2). Setting width
   or padding directly on .site-body-*-column collapses Publish's
   three-column grid, so only cosmetic properties are set here. */
.published-container .site-body-center-column {
  background: var(--background-primary);
}
.published-container .site-body-left-column,
.published-container .site-body-right-column {
  background: var(--background-secondary);
}
.published-container .site-body-left-column {
  border-right: 1px solid var(--background-modifier-border);
}
.published-container .site-body-right-column {
  border-left: 1px solid var(--background-modifier-border);
}


/* ====  8 · SITE HEADER + NAV  ================================
   Header chrome is left to Publish; only colours are set. */
.published-container .site-header {
  background: var(--background-secondary);
  border-bottom: 1px solid var(--background-modifier-border);
}

.published-container .site-body-left-column-site-name,
.published-container .site-name {
  font-family: var(--font-interface-theme);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: -0.005em;
  color: var(--text-normal);
}

.published-container .nav-view-outer { padding-top: 0.5rem; }

.published-container .tree-item-self {
  font-family: var(--font-interface-theme);
  font-size: var(--nav-item-size);
  font-weight: var(--nav-item-weight);
  border-radius: var(--adc-radius-sm);
  color: var(--text-muted);
  padding: 0.22rem 0.5rem;
  transition: background-color 90ms ease, color 90ms ease;
}
.published-container .tree-item-self:hover {
  background: var(--background-modifier-hover);
  color: var(--text-normal);
}

/* Active page — a quiet wash + a thin accent rule on the left */
.published-container .tree-item-self.mod-active,
.published-container .tree-item-self.is-active {
  background: var(--adc-accent-quiet);
  color: var(--text-accent);
  font-weight: var(--nav-item-weight-active);
  box-shadow: inset 2px 0 0 var(--adc-accent);
}

/* Folder titles — quiet uppercase index labels */
.published-container .tree-item-self.mod-collapsible {
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-top: 0.7rem;
}
.published-container .tree-item-self.mod-collapsible:hover {
  color: var(--text-muted);
  background: transparent;
}


/* ====  9 · HEADINGS  =========================================
   Publish renders its own page title (file name) as the .page-title
   element above the content on most pages. The content's leading
   "# H1" would repeat it, so content H1s are suppressed and the
   page-title above takes the masthead role.

   EXCEPTION — landing pages (Home, About, How to Read, License):
   Publish does NOT inject .page-title on the home page, and the
   wiki's landing-page filenames ("Home", "About This Wiki", etc.)
   don't carry the masthead. So on landing pages we show the
   content H1 instead — which carries the real title from the
   markdown (e.g. # Arkansas Data Centers Wiki). */

/* Publish renders the file name as its own title chrome (.page-header inside
   .mod-header; older builds used .page-title). The wiki authors a real
   "# Title" as the first line of every page, so we hide Publish's chrome and
   promote the content H1 to the masthead. This renders correctly with OR
   without publish.js, and pairs with "Hide page title" = ON in Site options
   (which stops Publish emitting .page-header at all — the clean primary path;
   the rule below is the belt-and-suspenders fallback should that toggle be off). */
.published-container .mod-header .page-header,
.published-container .page-title {
  display: none !important;
}

/* The content H1 (the page's own "# Title") IS the masthead — every page. */
.published-container .markdown-rendered h1,
.published-container .markdown-preview-view h1 {
  display: block;
  font-family: var(--font-display-theme);
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1.09;
  letter-spacing: -0.022em;
  color: var(--text-normal);
  margin: 0.4rem 0 1.6rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--adc-rule-strong);
}

.published-container .markdown-rendered h2,
.published-container .markdown-preview-view h2 {
  font-family: var(--font-display-theme);
  font-weight: 600;
  font-size: 1.52rem;
  line-height: 1.22;
  letter-spacing: -0.010em;
  color: var(--text-normal);
  margin: 2.6em 0 0.7em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--adc-rule);
  scroll-margin-top: 5rem;
  position: relative;
}

.published-container .markdown-rendered h3,
.published-container .markdown-preview-view h3 {
  font-family: var(--font-display-theme);
  font-weight: 600;
  font-size: 1.18rem;
  line-height: 1.32;
  letter-spacing: -0.005em;
  color: var(--text-normal);
  margin: 2em 0 0.5em;
  scroll-margin-top: 5rem;
  position: relative;
}

/* H4 — a small interface label, not a display heading */
.published-container .markdown-rendered h4,
.published-container .markdown-preview-view h4 {
  font-family: var(--font-interface-theme);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--text-muted);
  margin: 1.8em 0 0.5em;
  scroll-margin-top: 5rem;
}

.published-container .markdown-rendered h5,
.published-container .markdown-rendered h6,
.published-container .markdown-preview-view h5,
.published-container .markdown-preview-view h6 {
  font-family: var(--font-interface-theme);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--text-muted);
  margin: 1.4em 0 0.4em;
}


/* ====  10 · LINKS  ===========================================
   Wikilinks carry the single archival-amber accent. */

.published-container .markdown-rendered a.internal-link,
.published-container .markdown-preview-view a.internal-link {
  color: var(--text-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--adc-accent-line);
  text-underline-offset: 0.17em;
  transition: text-decoration-color 90ms ease, color 90ms ease;
}
.published-container .markdown-rendered a.internal-link:hover,
.published-container .markdown-preview-view a.internal-link:hover {
  color: var(--text-accent-hover);
  text-decoration-color: var(--text-accent-hover);
}

/* Unresolved wikilinks — visibly not-yet-live (forensic credibility) */
.published-container .markdown-rendered a.internal-link.is-unresolved,
.published-container .markdown-preview-view a.internal-link.is-unresolved {
  color: var(--text-faint);
  text-decoration-style: dotted;
  text-decoration-color: var(--text-faint);
  font-style: italic;
}
.published-container .markdown-rendered a.internal-link.is-unresolved:hover,
.published-container .markdown-preview-view a.internal-link.is-unresolved:hover {
  color: var(--text-muted);
}

/* External links — a small outbound mark */
.published-container .markdown-rendered a.external-link,
.published-container .markdown-preview-view a.external-link {
  color: var(--text-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--adc-accent-line);
  text-underline-offset: 0.17em;
}
.published-container .markdown-rendered a.external-link:hover,
.published-container .markdown-preview-view a.external-link:hover {
  color: var(--text-accent-hover);
  text-decoration-color: var(--text-accent-hover);
}
.published-container .markdown-rendered a.external-link::after,
.published-container .markdown-preview-view a.external-link::after {
  content: "\2197";
  margin-left: 0.12em;
  font-size: 0.78em;
  color: var(--text-faint);
  text-decoration: none;
}


/* ====  11 · BLOCKQUOTES (verbatim source quotes)  ============
   The corpus's #1 evidence display — every verbatim quote sits
   in the machine register (monospace), framed as a captured
   record fragment. */
.published-container .markdown-rendered blockquote,
.published-container .markdown-preview-view blockquote {
  font-family: var(--font-monospace-theme);
  font-size: 0.83rem;
  line-height: 1.65;
  color: var(--text-normal);
  background: var(--adc-accent-quiet);
  border: 1px solid var(--background-modifier-border);
  border-left: 3px solid var(--adc-accent);
  border-radius: 0 var(--adc-radius-sm) var(--adc-radius-sm) 0;
  margin: 1.5em 0;
  padding: 0.9em 1.1em;
}

.published-container .markdown-rendered blockquote p:last-child,
.published-container .markdown-preview-view blockquote p:last-child {
  margin-bottom: 0;
}

.published-container .markdown-rendered blockquote a,
.published-container .markdown-preview-view blockquote a {
  font-family: var(--font-monospace-theme);
}


/* ====  12 · CODE  ============================================ */
.published-container .markdown-rendered code,
.published-container .markdown-preview-view code {
  font-family: var(--font-monospace-theme);
  font-size: 0.82em;
  background: var(--background-primary-alt);
  color: var(--text-normal);
  padding: 0.12em 0.40em;
  border-radius: var(--adc-radius-sm);
  border: 1px solid var(--background-modifier-border);
  font-variant-ligatures: none;
  font-variant-numeric: tabular-nums lining-nums;
  word-break: break-word;
}

.published-container .markdown-rendered pre,
.published-container .markdown-preview-view pre {
  font-family: var(--font-monospace-theme);
  font-size: 0.80rem;
  line-height: 1.55;
  background: var(--background-primary-alt);
  border: 1px solid var(--background-modifier-border);
  border-left: 3px solid var(--adc-accent);
  border-radius: var(--adc-radius);
  padding: 0.9em 1.1em;
  margin: 1.4em 0;
  overflow-x: auto;
}

.published-container .markdown-rendered pre code,
.published-container .markdown-preview-view pre code {
  background: none;
  border: none;
  padding: 0;
  font-size: inherit;
}


/* ====  13 · TABLES (regulatory-schedule treatment)  ========== */
.published-container .markdown-rendered table,
.published-container .markdown-preview-view table {
  font-family: var(--font-interface-theme);
  font-size: 0.88rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums lining-nums;
  border-collapse: collapse;
  width: 100%;
  margin: 1.7em 0;
  border: 1px solid var(--background-modifier-border);
}

.published-container .markdown-rendered thead th,
.published-container .markdown-preview-view thead th {
  font-family: var(--font-interface-theme);
  font-weight: 700;
  font-size: 0.70rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
  color: var(--text-muted);
  background: var(--background-secondary);
  border-bottom: 1px solid var(--adc-rule-strong);
  padding: 0.7em 0.95em;
}

.published-container .markdown-rendered tbody td,
.published-container .markdown-preview-view tbody td {
  padding: 0.62em 0.95em;
  border-top: 1px solid var(--background-modifier-border);
  vertical-align: top;
  color: var(--text-normal);
}

.published-container .markdown-rendered tbody tr:hover,
.published-container .markdown-preview-view tbody tr:hover {
  background: var(--background-primary-alt);
}


/* ====  14 · FRONTMATTER — hidden (metadata, not content)  ==== */
.published-container .frontmatter,
.published-container .frontmatter-container,
.published-container .metadata-container,
.published-container .mod-frontmatter {
  display: none;
}


/* ====  15 · HR  ============================================== */
.published-container .markdown-rendered hr,
.published-container .markdown-preview-view hr {
  border: none;
  height: 1px;
  background: var(--hr-color);
  margin: 2.6em 0;
  position: relative;
}
.published-container .markdown-rendered hr::before,
.published-container .markdown-preview-view hr::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 1px;
  background: var(--adc-accent);
}


/* ====  16 · DEFINITION LISTS (regulatory glossary)  ========== */
.published-container .markdown-rendered dl,
.published-container .markdown-preview-view dl {
  margin: 1.5em 0;
  display: grid;
  grid-template-columns: minmax(110px, 1fr) 3fr;
  column-gap: 1.2em;
  row-gap: 0.6em;
  padding: 0.8em 0;
  border-top: 1px solid var(--adc-rule-strong);
  border-bottom: 1px solid var(--adc-rule-strong);
}

.published-container .markdown-rendered dt,
.published-container .markdown-preview-view dt {
  font-family: var(--font-interface-theme);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--text-normal);
  padding-top: 0.30em;
  border-right: 1px solid var(--background-modifier-border);
  padding-right: 0.8em;
}

.published-container .markdown-rendered dd,
.published-container .markdown-preview-view dd {
  margin: 0;
  color: var(--text-muted);
}


/* ====  17 · CALLOUTS  ========================================
   --callout-color is an "R, G, B" triplet (Obsidian rejects hex).
   Base register uses the page accent; only contradictions take
   the signal red. */
.published-container .callout {
  --callout-radius: var(--adc-radius);
  --callout-border-width: 0px;
  --callout-padding: 0.9em 1.15em;
  --callout-color: 10, 10, 10;  /* light-mode = pure text-normal */
  --callout-icon: lucide-info;
  margin: 1.6em 0;
  background: var(--adc-panel);
  border: 1px solid var(--background-modifier-border);
  border-left: 3px solid rgb(var(--callout-color));
  font-size: 0.95em;
}
body.theme-dark .callout { --callout-color: 250, 250, 250; }

.published-container .callout-title {
  padding: 0.05em 0;
  font-family: var(--font-interface-theme);
  font-weight: 700;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(var(--callout-color));
}

.published-container .callout-title-inner { color: inherit; }

.published-container .callout-content {
  font-family: var(--font-text-theme);
  color: var(--text-normal);
  margin-top: 0.5em;
  font-size: 1rem;
  line-height: 1.6;
}
.published-container .callout-content p:last-child { margin-bottom: 0; }

/* — update — amendments and addenda — */
.published-container .callout[data-callout="update"] {
  --callout-icon: lucide-asterisk;
}

/* — important / tip / hint — keep on the same amber family — */
.published-container .callout[data-callout="important"],
.published-container .callout[data-callout="tip"],
.published-container .callout[data-callout="hint"] {
  --callout-icon: lucide-flag;
}

/* — contradiction / warning / danger — single retained signal red,
     reserved exclusively for evidentiary contradictions — */
.published-container .callout[data-callout="contradiction"],
.published-container .callout[data-callout="warning"],
.published-container .callout[data-callout="danger"] {
  --callout-color: 139, 26, 18;
  --callout-icon: lucide-alert-triangle;
  background: var(--adc-signal-quiet);
}
body.theme-dark .callout[data-callout="contradiction"],
body.theme-dark .callout[data-callout="warning"],
body.theme-dark .callout[data-callout="danger"] {
  --callout-color: 226, 121, 104;
}

/* — web-research-unresolved — dashed border (no extra color);
     the redaction reveal in §19 fires on hover/focus — */
.published-container .callout[data-callout="web-research-unresolved"] {
  --callout-icon: lucide-help-circle;
  border-style: dashed;
  border-left-style: solid;
  position: relative;
  overflow: hidden;
}
.published-container .callout[data-callout="web-research-unresolved"] .callout-title {
  font-style: italic;
  color: var(--text-muted);
}

/* — docket — regulatory reference card — */
.published-container .callout[data-callout="docket"] {
  --callout-icon: lucide-file-text;
  background: var(--background-primary-alt);
}
.published-container .callout[data-callout="docket"] .callout-title {
  font-family: var(--font-monospace-theme);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-accent);
}


/* ====  18 · SEALED CALLOUT — the signature visual moment  ====
   When a record exists but is sealed under § 23-2-316 HSPI or a
   protective order, the callout IS the redaction — pure black
   ground, gold seal-stripe, "SEALED" stamp. */
.published-container .callout[data-callout="sealed"] {
  /* Mode-independent — the ground is fixed pure black; the stamp is bone-white.
     A thin signal-red left border carries the evidentiary semantic. */
  --callout-color: 245, 245, 245;
  --sealed-stripe: 139, 26, 18;
  background: var(--adc-redaction);
  color: var(--adc-redact-ink);
  border: none;
  border-left: 3px solid rgb(var(--sealed-stripe));
  font-family: var(--font-monospace-theme);
  font-size: 0.92em;
  padding: 1.1em 1.2em 1.1em 1.4em;
  position: relative;
  overflow: hidden;
  border-radius: 0 var(--adc-radius-sm) var(--adc-radius-sm) 0;
}

/* Hatch overlay — redacted-stamp pattern */
.published-container .callout[data-callout="sealed"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    135deg,
    transparent 0, transparent 10px,
    rgba(255, 255, 255, 0.038) 10px, rgba(255, 255, 255, 0.038) 12px
  );
  pointer-events: none;
}

/* "SEALED" stamp, top-right corner */
.published-container .callout[data-callout="sealed"]::after {
  content: "SEALED";
  position: absolute;
  top: 0.65em;
  right: 0.85em;
  font-family: var(--font-interface-theme);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  color: rgb(var(--callout-color));
  opacity: 0.74;
  border: 1px solid rgb(var(--callout-color));
  padding: 2px 6px 2px 8px;
  border-radius: var(--adc-radius-sm);
  transform: rotate(-2deg);
  background: rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

.published-container .callout[data-callout="sealed"] > * {
  position: relative;
  z-index: 1;
}

.published-container .callout[data-callout="sealed"] .callout-title {
  color: rgb(var(--callout-color));
  font-family: var(--font-interface-theme);
  font-weight: 700;
  letter-spacing: 0.14em;
}

.published-container .callout[data-callout="sealed"] .callout-content {
  color: var(--adc-redact-ink);
  font-family: var(--font-monospace-theme);
}

.published-container .callout[data-callout="sealed"] a {
  color: rgb(var(--callout-color));
  text-decoration: underline;
  text-decoration-color: rgba(245, 245, 245, 0.42);
}
.published-container .callout[data-callout="sealed"] a:hover {
  text-decoration-color: rgb(var(--callout-color));
}


/* ====  19 · REDACTION REVEAL — CSS-only, hover / focus-within
   Two surfaces wear the stripe:
     · <span data-redacted>…</span>                          — inline
     · .callout[data-callout="web-research-unresolved"] body  — panel
   The stripe slides off horizontally on hover; reduced-motion
   users get an opacity fade. */

.published-container .callout[data-callout="web-research-unresolved"] .callout-content,
.published-container [data-redacted] {
  position: relative;
}

.published-container [data-redacted] {
  display: inline-block;
}

.published-container .callout[data-callout="web-research-unresolved"] .callout-content::after,
.published-container [data-redacted]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--adc-redaction);
  background-image: repeating-linear-gradient(
    90deg,
    var(--adc-redaction) 0, var(--adc-redaction) 28px,
    rgba(0, 0, 0, 0.85) 28px, rgba(0, 0, 0, 0.85) 32px
  );
  transform: translateX(0);
  transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1),
              opacity 420ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 1;
  border-radius: 1px;
  opacity: 1;   /* fully opaque at rest — a redaction you can read isn't one */
}

.published-container .callout[data-callout="web-research-unresolved"]:hover .callout-content::after,
.published-container .callout[data-callout="web-research-unresolved"]:focus-within .callout-content::after,
.published-container [data-redacted]:hover::after,
.published-container [data-redacted]:focus-within::after {
  transform: translateX(-104%);
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .published-container .callout[data-callout="web-research-unresolved"] .callout-content::after,
  .published-container [data-redacted]::after {
    transition: opacity 120ms ease;
  }
  .published-container .callout[data-callout="web-research-unresolved"]:hover .callout-content::after,
  .published-container [data-redacted]:hover::after {
    transform: none;
    opacity: 0;
  }
}

.published-container .callout[data-callout="web-research-unresolved"] .callout-content {
  position: relative;
  z-index: 0;
}


/* ====  20 · IMAGES & EMBEDS  ================================= */
.published-container .markdown-rendered img,
.published-container .markdown-preview-view img {
  max-width: 100%;
  height: auto;
  border: 1px solid var(--background-modifier-border);
  border-radius: var(--adc-radius-sm);
  margin: 1.2em 0;
}

.published-container .markdown-rendered span.internal-embed.image-embed img,
.published-container .markdown-preview-view span.internal-embed.image-embed img {
  display: block;
  width: 100%;
}

.published-container .markdown-rendered .markdown-embed,
.published-container .markdown-preview-view .markdown-embed {
  border-left: 2px solid var(--background-modifier-border);
  padding: 0.4em 1em;
  margin: 1.4em 0;
  background: var(--background-primary-alt);
  border-radius: 0 var(--adc-radius-sm) var(--adc-radius-sm) 0;
}


/* ====  21 · TAGS  ============================================ */
.published-container .tag {
  font-family: var(--font-monospace-theme);
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--adc-accent-quiet);
  border: 1px solid transparent;
  color: var(--text-accent);
  text-decoration: none;
  transition: border-color 90ms ease;
}
.published-container .tag:hover { border-color: var(--adc-accent); }


/* ====  22 · RIGHT COLUMN — outline rail + graph view  ======= */
.published-container .site-body-right-column-inner {
  font-family: var(--font-interface-theme);
  font-size: 0.78rem;
}

.published-container .site-body-right-column-inner .outline-view-outer h3,
.published-container .site-body-right-column-inner .graph-view-outer h3 {
  font-family: var(--font-interface-theme);
  font-size: var(--component-title-size);
  font-weight: var(--component-title-weight);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: 0.9rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--background-modifier-border);
}

/* Outline-rail entries; publish.js marks .is-active / .is-passed */
.published-container .site-body-right-column-inner .outline a,
.published-container .site-body-right-column-inner a {
  color: var(--text-muted);
  border-left: 2px solid transparent;
  padding-left: 9px;
  margin-left: -11px;
  text-decoration: none;
  transition: color 0.18s ease, border-left-color 0.18s ease;
}
.published-container .site-body-right-column-inner a:hover {
  color: var(--text-normal);
}
.published-container .site-body-right-column-inner a.is-active {
  color: var(--text-normal);
  border-left-color: var(--adc-accent);
  font-weight: 600;
}
.published-container .site-body-right-column-inner a.is-passed {
  color: var(--text-faint);
}

/* Graph view container */
.published-container .graph-view-container {
  border: 1px solid var(--background-modifier-border);
  border-radius: var(--adc-radius);
  overflow: hidden;
  background: var(--background-primary-alt);
}


/* ====  23 · PAGE KICKER — entity-type label (injected by JS)
   A small monitoring indicator above the page title. */
.published-container .page-kicker {
  font-family: var(--font-interface-theme);
  font-weight: 700;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-accent);
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 0.6rem;
}

.published-container .page-kicker::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--adc-accent);
  flex: none;
}

body[data-page-type="source"] .published-container .page-kicker {
  font-family: var(--font-monospace-theme);
  font-weight: 500;
  letter-spacing: 0.10em;
}


/* ====  23.5 · PAGE HERO — composed landing-page masthead  =====
   Markdown-embedded HTML on Home.md (and any other landing page that
   wants the composition). Three pieces, all siblings of the H1:

     <div class="page-hero-kicker">…</div>
     # Page Title
     <p class="page-hero-tagline">…</p>
     <div class="page-hero-meta"><span>…</span><span>…</span>…</div>

   Composition rules:
   · Kicker — short institutional label (mono, tracked, hairline rule
     leading into it) sitting just above the title.
   · Title — the existing landing-page H1 from §9; when a kicker is
     present, the H1's individual bottom rule is suppressed and the
     meta block carries the closing rule for the whole hero.
   · Tagline — display-italic editorial caption answering "what is this
     wiki for?" in one sentence, in the muted register so it doesn't
     out-compete the title.
   · Meta — small mono register; counts and provenance, dot-separated. */

.published-container .page-hero-kicker {
  font-family: var(--font-monospace-theme);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin: 0.4rem 0 1.1rem;
}

.published-container .page-hero-kicker::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 1px;
  background: var(--text-normal);
  flex: none;
}

/* When the hero composition is in play, suppress the H1's individual
   underline — the meta strip carries the closing rule. */
/* Hero landing pages — the .page-hero-meta strip carries the hero's closing
   rule, so the title sheds its own border and grows. Publish wraps each block
   in its own .el-* div, so the kicker and H1 are NOT adjacent siblings; match
   via :has() (needs no JS) and via body[data-page-type="landing"] once
   publish.js is running. */
.published-container:has(.page-hero-kicker) .markdown-rendered h1,
.published-container:has(.page-hero-kicker) .markdown-preview-view h1,
body[data-page-type="landing"] .published-container .markdown-rendered h1,
body[data-page-type="landing"] .published-container .markdown-preview-view h1 {
  font-size: 2.95rem;
  border-bottom: none !important;
  margin-bottom: 0.7rem !important;
  padding-bottom: 0 !important;
}

.published-container .page-hero-tagline {
  font-family: var(--font-display-theme);
  font-style: italic;
  font-weight: 400;
  font-size: 1.28rem;
  line-height: 1.42;
  letter-spacing: -0.004em;
  color: var(--text-muted);
  max-width: 38rem;
  margin: 0 0 1.7rem;
}

.published-container .page-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem 1.3rem;
  font-family: var(--font-monospace-theme);
  font-size: 0.70rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin: 0 0 2.4rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--text-normal);
}

.published-container .page-hero-meta span {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.published-container .page-hero-meta span + span::before {
  content: "";
  display: inline-block;
  width: 2px;
  height: 2px;
  background: var(--text-faint);
  margin-right: 1.3rem;
  margin-left: -1.3rem;
  border-radius: 50%;
  flex: none;
}

@media (max-width: 768px) {
  .published-container .page-hero-kicker {
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    gap: 0.65rem;
  }
  .published-container .page-hero-kicker::before { width: 22px; }
  .published-container .page-hero-tagline {
    font-size: 1.10rem;
    line-height: 1.40;
  }
  .published-container .page-hero-meta {
    font-size: 0.64rem;
    gap: 0.35rem 1.0rem;
    padding-bottom: 1.1rem;
    margin-bottom: 1.9rem;
  }
  .published-container .page-hero-meta span + span::before {
    margin-right: 1.0rem;
    margin-left: -1.0rem;
  }
}


/* ====  24 · PAGE META STRIP — reading time (injected by JS) === */
.published-container .page-meta-strip {
  font-family: var(--font-interface-theme);
  font-size: 0.74rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin: -0.6rem 0 1.3rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--background-modifier-border);
}

.published-container .reading-time {
  font-family: var(--font-monospace-theme);
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-faint);
  display: inline-flex;
  align-items: center;
}

.published-container .reading-time::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 7px;
  border: 1px solid var(--text-faint);
  border-radius: 50%;
}


/* ====  25 · FOIA COVER SHEET — injected on source pages  =====
   Header of a produced record: agency, production, requester.
   Corner ticks echo a document stamp. */
.published-container .foia-coversheet {
  position: relative;
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 7px 20px;
  font-family: var(--font-monospace-theme);
  font-size: 0.74rem;
  color: var(--text-muted);
  background: var(--background-primary-alt);
  border: 1px solid var(--background-modifier-border);
  border-top: 2px solid var(--adc-accent);
  padding: 16px 18px;
  margin: 1.1rem 0 2.4rem;
}

.published-container .foia-coversheet::before,
.published-container .foia-coversheet::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border: 1px solid var(--adc-accent);
}
.published-container .foia-coversheet::before {
  top: 6px; right: 6px;
  border-left: none; border-bottom: none;
}
.published-container .foia-coversheet::after {
  bottom: 6px; left: 6px;
  border-right: none; border-top: none;
}

.published-container .foia-coversheet .cs-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-faint);
  padding-top: 1px;
}

.published-container .foia-coversheet .cs-value {
  color: var(--text-normal);
  word-break: break-word;
}


/* ====  26 · SCROLL PROGRESS — bar injected by JS  ============ */
.published-container .scroll-progress,
body > .scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: var(--adc-accent);
  box-shadow: 0 0 8px var(--adc-accent-line);
  opacity: 0;
  z-index: 9000;
  pointer-events: none;
  transition: opacity 0.25s ease, width 0.08s linear;
}
.published-container .scroll-progress.is-visible,
body > .scroll-progress.is-visible {
  opacity: 0.85;
}


/* ====  27 · HEADING ANCHORS — # injected on H2/H3  =========== */
.published-container .heading-anchor {
  position: absolute;
  right: -26px;
  top: 0.18em;
  font-family: var(--font-monospace-theme);
  font-size: 0.85rem;
  color: var(--text-faint);
  text-decoration: none;
  border: none;
  opacity: 0;
  padding: 2px 5px;
  transition: opacity 0.16s ease, color 0.16s ease;
}

.published-container .markdown-rendered h2:hover .heading-anchor,
.published-container .markdown-preview-view h2:hover .heading-anchor,
.published-container .markdown-rendered h3:hover .heading-anchor,
.published-container .markdown-preview-view h3:hover .heading-anchor {
  opacity: 0.6;
}

.published-container .heading-anchor:hover {
  opacity: 1;
  color: var(--adc-accent);
}


/* ====  28 · BACKLINKS — the inbound-citation panel  ========== */
.published-container .backlinks {
  font-family: var(--font-interface-theme);
  font-size: 0.84rem;
  margin-top: 4rem;
  padding-top: 1.5rem;
  position: relative;
}

.published-container .backlinks::before {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  background: var(--adc-accent);
  margin-bottom: 1.4rem;
}

.published-container .backlink-title {
  font-family: var(--font-interface-theme);
  font-weight: 700;
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.9rem;
}

.published-container .backlinks .tree-item-self {
  padding: 6px 0;
  border-bottom: 1px solid var(--background-modifier-border);
  transition: padding-left 0.16s ease;
}

.published-container .backlinks .tree-item-self:hover {
  padding-left: 7px;
}

.published-container .backlinks a {
  font-family: var(--font-interface-theme);
  text-decoration: none;
}


/* ====  29 · COMPILATION FOOTER — injected by JS  ============= */
.published-container .compilation-footer {
  display: block;
  margin-top: 4.5rem;
  padding: 1.6rem 0 1.4rem;
  border-top: 1px solid var(--background-modifier-border);
  font-family: var(--font-interface-theme);
  font-size: 0.78rem;
  line-height: 1.6;
  color: var(--text-muted);
  clear: both;
}

.published-container .compilation-footer .footer-rule {
  width: 34px;
  height: 2px;
  background: var(--adc-accent);
  margin-bottom: 1rem;
}

.published-container .compilation-footer .footer-attribution {
  font-weight: 500;
  color: var(--text-normal);
  margin-bottom: 0.55rem;
}

.published-container .compilation-footer .footer-license {
  font-size: 0.74rem;
  color: var(--text-muted);
  margin-bottom: 0.7rem;
}

.published-container .compilation-footer .footer-meta {
  font-family: var(--font-monospace-theme);
  font-size: 0.68rem;
  letter-spacing: 0.03em;
  color: var(--text-faint);
}

.published-container .compilation-footer a {
  color: var(--text-muted);
  text-decoration: underline;
  text-decoration-color: var(--background-modifier-border);
}

.published-container .compilation-footer a:hover {
  color: var(--text-accent);
  text-decoration-color: var(--text-accent);
}


/* ====  30 · PAGE-TYPE VARIANTS  ==============================
   Source pages — the title reads as a document title rather than
   an editorial headline. */
body[data-page-type="source"] .published-container .markdown-rendered h1,
body[data-page-type="source"] .published-container .markdown-preview-view h1 {
  font-family: var(--font-text-theme);
  font-weight: 500;
  font-size: 1.95rem;
  letter-spacing: -0.008em;
}

/* Synthesis pages inherit the 700 masthead weight (editorial gravity). */

/* Landing-page H1 masthead is handled in §9 — it's the content H1,
   not Publish's .page-title. */


/* ====  31 · RESPONSIVE  ====================================== */
@media (max-width: 900px) {
  .heading-anchor { display: none; }
}

@media (max-width: 768px) {
  .published-container { --font-text-size: 16px; }

  .published-container .markdown-rendered h1,
  .published-container .markdown-preview-view h1 {
    font-size: 2.0rem;
  }
  .published-container:has(.page-hero-kicker) .markdown-rendered h1,
  .published-container:has(.page-hero-kicker) .markdown-preview-view h1,
  body[data-page-type="landing"] .published-container .markdown-rendered h1,
  body[data-page-type="landing"] .published-container .markdown-preview-view h1 {
    font-size: 2.15rem;
  }
  body[data-page-type="source"] .published-container .markdown-rendered h1,
  body[data-page-type="source"] .published-container .markdown-preview-view h1 {
    font-size: 1.6rem;
  }

  .published-container .markdown-rendered h2,
  .published-container .markdown-preview-view h2 {
    font-size: 1.3rem;
    margin-top: 2em;
  }

  .published-container .markdown-rendered h3,
  .published-container .markdown-preview-view h3 {
    font-size: 1.08rem;
  }

  .published-container .markdown-rendered blockquote,
  .published-container .markdown-preview-view blockquote {
    font-size: 0.78rem;
    padding: 0.8em 1em;
  }

  .published-container .markdown-rendered table,
  .published-container .markdown-preview-view table {
    font-size: 0.82rem;
  }

  .published-container .foia-coversheet {
    grid-template-columns: 84px 1fr;
    font-size: 0.70rem;
  }

  .published-container .markdown-rendered dl,
  .published-container .markdown-preview-view dl {
    grid-template-columns: 1fr;
    row-gap: 0.4em;
  }
  .published-container .markdown-rendered dt,
  .published-container .markdown-preview-view dt {
    border-right: none;
    border-bottom: 1px solid var(--background-modifier-border);
    padding-bottom: 0.3em;
    padding-right: 0;
  }
}


/* ====  32 · PRINT  =========================================== */
@media print {
  .site-body-left-column,
  .site-body-right-column,
  .mod-header,
  .scroll-progress,
  .heading-anchor,
  .backlinks {
    display: none !important;
  }

  .markdown-preview-sizer { max-width: 100%; }

  .published-container .markdown-rendered,
  .published-container .markdown-preview-view {
    color: #000;
  }

  .published-container .markdown-rendered blockquote,
  .published-container .markdown-preview-view blockquote {
    background: #f4f4f4;
    border-left: 2px solid #555;
    color: #000;
  }

  .callout,
  .foia-coversheet,
  table { break-inside: avoid; }

  .callout[data-callout="sealed"] {
    background: #000 !important;
    color: #fff !important;
  }

  .published-container .callout[data-callout="web-research-unresolved"] .callout-content::after,
  .published-container [data-redacted]::after {
    display: none;
  }

  a { color: #000; text-decoration: underline; }
  a.external-link::after {
    content: " (" attr(href) ")";
    font-family: var(--font-monospace-theme);
    font-size: 0.8em;
  }
}
