/* Static document renderer. It reuses the approved foundation and typography.
 * Native form controls keep browser styling; this adapter has no app primitives. */
:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--color-content-surface-canvas); color: var(--color-content-text-primary); }
a { color: var(--color-content-text-brand); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .15em; }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--color-content-text-brand); outline-offset: 4px; }
.site-header, .page-layout, .site-footer { max-width: 86rem; margin-inline: auto; padding-inline: 2rem; }
.site-header { padding-block: 2rem 1.25rem; border-bottom: 1px solid var(--color-content-divider); }
.masthead { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.site-name { color: var(--color-content-text-primary); text-decoration: none; }
nav { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.25rem; }
.page-layout { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: 3.5rem; padding-block: 2rem; }
.reading-path { align-self: start; position: sticky; top: 1.5rem; }
.reading-path .link-list { list-style: none; padding: 0; display: grid; gap: 1rem; }
main { min-width: 0; max-width: 58rem; }
h1 { max-width: 27ch; margin-block: 1rem 1.5rem; }
h2 { margin-block: 0 1rem; }
p { max-width: 70ch; color: var(--color-content-text-body); }
.eyebrow { color: var(--color-content-text-secondary); }
.lead { max-width: 62ch; margin-block: 1.5rem 2rem; }
.disclosure { max-width: 76ch; color: var(--color-content-text-secondary); }
section { padding-block: 1.75rem; border-top: 1px solid var(--color-content-divider); }
.answer { padding: 1.5rem; margin-block: 1.5rem; border: 1px solid var(--color-content-divider); background: var(--color-content-surface-subtle); }
.link-list { display: grid; gap: .75rem; padding-left: 1.25rem; }
.fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.25rem; }
label { display: grid; gap: .5rem; }
.check { display: flex; align-items: start; gap: .75rem; padding-block: .5rem; }
input { min-width: 0; max-width: 100%; }
form { display: grid; gap: 1rem; }
fieldset { min-width: 0; padding: 1rem; }
legend { max-width: 100%; }
button { justify-self: start; }
output { display: block; max-width: 68ch; padding-block: 1rem; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
caption { caption-side: bottom; padding-block: 1rem; text-align: left; color: var(--color-content-text-secondary); }
th, td { padding: 1rem .75rem; border-bottom: 1px solid var(--color-content-divider); vertical-align: top; min-width: 10rem; }
details { padding-block: .75rem; border-bottom: 1px solid var(--color-content-divider); }
summary { cursor: pointer; }
.glossary { display: grid; gap: 2rem; }
dd { margin: .75rem 0 0; color: var(--color-content-text-body); }
.entity-chain { overflow-wrap: anywhere; }
.program-note { padding-block: 1rem; border-block: 1px solid var(--color-content-divider); }
.site-footer { margin-top: 2rem; padding-block: 2rem; border-top: 1px solid var(--color-content-divider); }
.skip-link { display: block; width: fit-content; margin: .75rem 2rem; }
@media (max-width: 52rem) {
  .page-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .reading-path { position: static; order: 2; border-top: 1px solid var(--color-content-divider); }
  .site-header, .page-layout, .site-footer { padding-inline: 1.25rem; }
  .masthead { align-items: start; }
  th, td { min-width: 9rem; }
}
