/* Computed WCAG contrast: #1a1a1a/#ffffff 17.40:1; #0b57d0/#ffffff 6.39:1; #6b3fa0/#ffffff 7.38:1. All exceed 4.5:1. */
html { background: #ffffff; color: #1a1a1a; font-family: system-ui, sans-serif; line-height: 1.6; }
body { margin: 0 auto; padding: 1.5rem; max-width: 70ch; }
a { color: #0b57d0; text-decoration: underline; overflow-wrap: anywhere; }
a:visited { color: #6b3fa0; }
:focus-visible { outline: 3px solid #0b57d0; outline-offset: 3px; }
.skip { position: absolute; left: -10000px; }
.skip:focus { position: static; }
h1, h2, h3, h4, h5, h6 { line-height: 1.25; margin-top: 2rem; }
table { display: block; overflow-x: auto; border-collapse: collapse; }
th, td { border: 1px solid #1a1a1a; padding: 0.5rem; vertical-align: top; }
th { text-align: left; }
pre { overflow-x: auto; padding: 0.5rem; border: 1px solid #1a1a1a; }
code { overflow-wrap: anywhere; }
.requirement-link { margin-left: 0.35em; }
.source-record { margin-top: 3rem; border-top: 1px solid #1a1a1a; font-size: 0.9em; }
.source-record dt { font-weight: bold; }
.source-record dd { margin: 0 0 0.5rem 0; }
