:root { color-scheme: light; --ink: #172033; --muted: #526079; --line: #d7e1ef; --brand: #125f91; --soft: #f4f7fb; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--soft); font-family: Georgia, 'Times New Roman', serif; }
header, main, footer { width: min(1100px, calc(100% - 32px)); margin: 0 auto; }
header { padding: 32px 20px 14px; }
header nav { font: 700 .82rem/1.6 system-ui, sans-serif; }
a { color: #175c9b; text-underline-offset: .15em; overflow-wrap: anywhere; }
a:hover { color: #0b365b; }
a:focus-visible { outline: 3px solid #2186d9; outline-offset: 4px; }
h1 { font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: 1.16; margin: 12px 0; overflow-wrap: anywhere; }
h2 { font: 700 1.1rem/1.4 system-ui, sans-serif; margin: 24px 0 10px; }
main { padding: 28px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 12px 32px #14376c12; }
.meta, .status { color: var(--muted); font: .88rem/1.6 system-ui, sans-serif; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; font: .95rem/1.5 system-ui, sans-serif; }
.button { display: inline-block; border-radius: 999px; padding: 10px 16px; background: var(--brand); color: white; text-decoration: none; font: 750 .95rem/1.4 system-ui, sans-serif; }
.button:hover { background: #114b70; color: white; }
.rule-text p, .notes-text p { line-height: 1.65; margin: 0 0 .85rem; overflow-wrap: anywhere; }
.notes { border-top: 1px solid var(--line); margin-top: 26px; }
.official { margin-top: 26px; font: .95rem/1.5 system-ui, sans-serif; }
.adjacent { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font: .95rem/1.5 system-ui, sans-serif; }
.rule-list, .set-list { padding-left: 22px; }
.rule-list li { margin: 0 0 12px; line-height: 1.5; }
.status { margin-left: 6px; }
.set-list li { margin: 0 0 24px; line-height: 1.5; }
.set-list .meta { display: block; margin-top: 4px; }
footer { padding: 20px 20px 36px; font: .85rem/1.6 system-ui, sans-serif; color: var(--muted); }
.skip-link { position: absolute; top: -100px; left: 16px; padding: 12px; background: white; z-index: 2; }
.skip-link:focus { top: 8px; }
@media (max-width: 600px) { header { padding: 22px 4px 12px; } main { padding: 20px; } footer { padding-inline: 4px; } }
@media print { body { background: white; } header, main, footer { width: 100%; } main { border: 0; padding: 0; box-shadow: none; } header { padding: 0; } .actions, .adjacent, .skip-link { display: none; } a { color: inherit; } }
