:root { --ink:#111715; --ground:#161c18; --paper:#f5eedc; --panel:#e7dfc9; --gold:#d8a846; --muted:#9e9b8f; --line:rgba(231,223,201,.18); --sheet-ink:#1b211d; }
* { box-sizing:border-box; } html { background:var(--ink); scroll-behavior:smooth; }
body { width:min(1240px,calc(100% - 48px)); min-height:calc(100vh - 4rem); margin:clamp(1.5rem,4vw,4rem) auto; padding-inline:clamp(1.25rem,3vw,3.5rem); color:var(--paper); background:var(--ground); border:1px solid rgba(231,223,201,.09); box-shadow:0 18px 46px rgba(0,0,0,.2); font:17px/1.65 Georgia,"Times New Roman",serif; }
a { color:inherit; text-decoration-color:rgba(216,168,70,.8); text-underline-offset:.18em; } a:hover { color:var(--gold); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.rule-sheet a:focus-visible, .rule-sheet button:focus-visible, .rule-sheet input:focus-visible, .rule-sheet select:focus-visible { outline-color:var(--sheet-ink); }
.skip-link { position:absolute; left:1rem; top:-5rem; z-index:2; padding:.65rem .9rem; color:var(--ink); background:var(--gold); } .skip-link:focus { top:1rem; }
.copy-fallback { position:fixed; opacity:0; pointer-events:none; }
.site-header { min-height:92px; display:grid; grid-template-columns:minmax(220px,1fr) minmax(250px,320px) auto; gap:1.25rem; align-items:center; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:.55rem; text-decoration:none; font-weight:700; font-size:1.25rem; line-height:1; letter-spacing:-.04em; } .brand strong,.eyebrow { color:var(--gold); } .brand-mark { width:3.5rem; height:2rem; flex:none; object-fit:contain; } .brand-mark:not(img) { background:url("brand-mark.svg") center/contain no-repeat; font-size:0; }
.brand small { display:block; margin-top:.4rem; color:var(--muted); font:700 .58rem/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
nav { display:flex; gap:1rem; font:700 .7rem/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; } nav a { color:var(--muted); text-decoration:none; }
.primary-nav a[aria-current="page"] { color:var(--paper); text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:2px; text-underline-offset:.45em; }
.search { display:flex; min-width:0; border-bottom:1px solid var(--line); } .search input { flex:1; min-width:0; width:100%; padding:.5rem 0; color:var(--paper); background:transparent; border:0; font:inherit; } .search input::placeholder { color:var(--muted); }
.search button { padding:.5rem 0 .5rem .65rem; color:var(--gold); background:transparent; border:0; cursor:pointer; font:700 .67rem/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.hero { max-width:820px; padding:7.5rem 0 5rem; } .eyebrow { margin:0 0 .9rem; font:700 .68rem/1 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; align-items:center; margin-top:1.6rem; }
.hero-actions .card-link { margin-top:0; }
.home-hero { max-width:900px; padding-bottom:4rem; }
.home-search { margin:2rem 0 1.25rem; }
.home-search > label { display:block; margin-bottom:.65rem; color:var(--paper); font:700 .68rem/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.home-search > div { display:flex; border:1px solid rgba(216,168,70,.65); background:#1b211d; box-shadow:0 8px 22px rgba(0,0,0,.16); }
.home-search input { min-width:0; flex:1; padding:.9rem 1rem; color:var(--paper); background:transparent; border:0; font:1.05rem/1.4 Georgia,"Times New Roman",serif; }
.home-search input::placeholder { color:var(--muted); }
.home-search button { flex:none; padding:.9rem 1.1rem; color:var(--ink); background:var(--gold); border:0; cursor:pointer; font:700 .68rem/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.home-search button:hover { background:#e5bb65; }
.home-version { display:flex; flex-wrap:wrap; gap:.65rem 1.2rem; align-items:center; }
.home-version .version { margin:0; }
.home-version > a { color:var(--gold); font:700 .68rem/1.3 Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; }
.home-directory { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr); gap:1rem; margin-bottom:1rem; }
.home-directory article { min-width:0; padding:1.7rem; border-top:3px solid var(--gold); background:rgba(231,223,201,.08); }
.home-directory h2 { font-size:clamp(1.8rem,4vw,2.5rem); }
.home-directory article > p:not(.eyebrow) { color:#d8d2c1; }
.home-chapters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem 1rem; margin:1.5rem 0; text-transform:none; letter-spacing:0; }
.home-chapters a { display:grid; grid-template-columns:2.5rem minmax(0,1fr); gap:.65rem; align-items:baseline; padding:.65rem 0; border-top:1px solid var(--line); color:var(--paper); font-size:.86rem; line-height:1.35; }
.home-chapters strong { color:var(--gold); }
.home-release { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr) auto; gap:1.5rem 2rem; align-items:center; margin:0 0 5rem; padding:1.7rem; border-top:3px solid var(--gold); background:rgba(231,223,201,.08); }
.home-release h2 { font-size:clamp(1.8rem,4vw,2.6rem); }
.release-date { white-space:nowrap; }
.home-release p { margin:.75rem 0 0; color:#d8d2c1; }
.home-release-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1rem; color:var(--muted); font:700 .68rem/1.3 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.home-release-counts strong { display:block; margin-top:.25rem; color:var(--paper); font-size:1.15rem; }
h1,h2,h3 { margin:0; color:var(--paper); font-weight:400; line-height:1.08; letter-spacing:-.045em; } h1 { font-size:clamp(3.4rem,8vw,6.7rem); } h1 em { color:var(--gold); }
.lede { max-width:640px; margin:2rem 0; color:#c4c0b4; font-size:1.2rem; } .version { color:var(--muted); font:700 .72rem/1.4 Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; } .version strong { color:var(--paper); } .version a { margin-left:1rem; color:var(--gold); }
.prose { width:min(730px,100%); margin:0 auto; padding:6rem 0; color:#d9d3c3; } .prose h1 { margin-bottom:2rem; font-size:clamp(2.8rem,6vw,4.6rem); } .prose h2 { margin-top:3rem; color:var(--gold); font-size:2rem; } .rules-list { padding-left:1.35rem; } .rules-list li { margin:.75rem 0; } .prose article + article { padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid var(--line); }
.toc-chapter { padding:2.5rem 0; border-top:1px solid var(--line); } .toc-chapter h2 { margin:0 0 1.75rem; } .toc-section + .toc-section { margin-top:2rem; } .toc-section h3 { color:var(--paper); font-size:1.35rem; } .toc-section ol { display:grid; gap:.5rem; margin:.8rem 0 0; padding-left:1.35rem; } .toc-section li { color:var(--muted); } .toc-section a { color:var(--paper); }
.search-page { width:min(900px,100%); } .search-guidance { max-width:62ch; margin-bottom:2rem; color:#c4c0b4; } .search-page #search { min-height:12rem; margin-top:2rem; } .search-loading,.search-error { padding:1.2rem; border-left:3px solid var(--gold); background:rgba(231,223,201,.08); } .search-page .pagefind-ui { --pagefind-ui-scale:1; --pagefind-ui-primary:var(--gold); --pagefind-ui-text:var(--paper); --pagefind-ui-background:#1b211d; --pagefind-ui-border:rgba(216,168,70,.4); --pagefind-ui-tag:rgba(216,168,70,.15); --pagefind-ui-font:Arial,sans-serif; } .search-page .pagefind-ui__search-input { color:var(--paper); background:#1b211d; } .search-page .pagefind-ui__message { color:var(--paper); } .search-page .pagefind-ui__result-link { color:var(--gold); text-decoration:underline; text-decoration-thickness:.12em; text-underline-offset:.2em; } .search-page .pagefind-ui__result-excerpt { color:#d8d2c1; } .search-page .pagefind-ui mark { padding:.05em .15em; color:var(--sheet-ink); background:var(--gold); } .search-page .pagefind-ui__button { color:var(--gold); background:#1b211d; }
.rule-reader { padding:5rem 0; border-top:1px solid var(--line); } .crumbs { gap:.55rem; margin-bottom:2rem; color:var(--muted); font-size:.68rem; } .crumbs a { color:var(--paper); }
.chapter-context { margin:-.8rem 0 1.5rem; color:var(--muted); font:700 .68rem/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; } .chapter-context span { color:var(--gold); }
.reader-layout { display:grid; grid-template-columns:minmax(200px,.48fr) minmax(0,2fr); gap:2rem; } .contents { position:sticky; top:1rem; align-self:start; max-height:calc(100vh - 2rem); overflow:auto; padding:1.25rem 0; border-top:3px solid var(--gold); } .contents .rule-nav { display:block; text-transform:none; letter-spacing:0; } .contents a { display:block; padding:.6rem 0; color:var(--muted); font-size:.9rem; } .contents a.active { color:var(--paper); border-left:2px solid var(--gold); padding-left:.65rem; } .contents-return { margin-top:1.2rem; border-top:1px solid var(--line); } .mobile-contents { display:none; }
.rule-context-nav { display:grid; gap:.15rem; margin-top:1.2rem; padding-top:.7rem; border-top:1px solid var(--line); text-transform:none; letter-spacing:0; }
.rule-context-nav a { font-size:.78rem; }
.rule-sheet { scroll-margin-top:2rem; padding:clamp(1.5rem,4vw,3.5rem); color:#39362f; background:var(--panel); border-top:3px solid var(--gold); box-shadow:10px 10px 0 rgba(0,0,0,.16); } .rule-sheet:target { outline:4px solid var(--gold); outline-offset:5px; } .rule-sheet h1,.rule-sheet h2 { color:var(--sheet-ink); font-size:clamp(2.4rem,5vw,4rem); } .rule-sheet .eyebrow { color:#685e49; }
.provenance { margin:1.2rem 0 3rem; color:#685e49; font:700 .65rem/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; } .rule-sheet section + section { margin-top:2.5rem; } .rule-sheet h3 { color:var(--sheet-ink); font-size:1.45rem; }
.rule-sheet h3 a,.rule-sheet p a { color:#25332d; font-weight:700; text-decoration:underline; text-decoration-color:#90702e; text-decoration-thickness:.13em; text-underline-offset:.18em; } .rule-sheet p { max-width:67ch; }
.rule-tools { display:flex; align-items:center; gap:.8rem; min-height:2rem; margin:-1.5rem 0 2.5rem; font:700 .68rem/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; } .rule-tools a,.rule-tools button { color:#38483f; text-decoration:underline; text-decoration-color:#90702e; text-underline-offset:.2em; } .rule-tools button { padding:.35rem .55rem; background:transparent; border:1px solid #90702e; cursor:pointer; font:inherit; text-transform:inherit; letter-spacing:inherit; } .copy-status { color:#655d4b; text-transform:none; letter-spacing:0; }
.related { margin-top:3rem; padding:1.25rem 1.4rem; border-left:3px solid var(--gold); background:rgba(216,168,70,.13); } .related ul { margin:.5rem 0 0; padding-left:1.2rem; }
.rule-pagination { justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.25rem; border-top:1px solid rgba(57,54,47,.22); text-transform:none; letter-spacing:0; }
.rule-pagination a { display:grid; gap:.25rem; color:#25332d; text-decoration:underline; text-decoration-color:#90702e; text-underline-offset:.2em; }
.rule-pagination a:last-child { text-align:right; }
.rule-pagination span { color:#685e49; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }
.feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:5rem 0; } .feature-grid article { min-height:255px; padding:1.7rem; border-top:3px solid var(--gold); background:rgba(231,223,201,.08); } .feature-grid h2 { font-size:2rem; } .feature-grid p:not(.eyebrow) { color:#d8d2c1; }
.card-link { display:inline-block; margin-top:1.5rem; color:var(--gold); font:700 .7rem/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; } .alphabet { margin:1.4rem 0; gap:.75rem; } .alphabet a { color:var(--paper); font-size:.72rem; text-decoration:underline; text-decoration-color:rgba(216,168,70,.65); }
.version-picker { display:block; margin:1.25rem 0; color:#d8d2c1; font:700 .65rem/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; } .version-picker select { display:block; width:100%; margin-top:.5rem; padding:.6rem; color:var(--paper); background:var(--sheet-ink); border:1px solid var(--gold); font:inherit; }
footer { display:grid; grid-template-columns:minmax(10rem,.65fr) minmax(0,2fr); gap:2rem; padding:1.7rem 0 2.2rem; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; } footer p { margin:0; } footer p:first-child { color:var(--paper); } footer p:last-child { line-height:1.6; } footer span { color:var(--gold); } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1000px) { .site-header { grid-template-columns:1fr auto; gap:1rem; padding:1.2rem 0; } .search { grid-column:1/-1; grid-row:2; } .primary-nav { grid-column:1/-1; grid-row:3; } .search input { width:100%; } }
@media (max-width:800px) { .site-header { grid-template-columns:1fr auto; gap:1rem; padding:1.2rem 0; } .search { grid-column:1/-1; grid-row:2; } .primary-nav { grid-column:1/-1; grid-row:3; } .search input { width:100%; } .reader-layout { grid-template-columns:1fr; } .contents { display:none; } .mobile-contents { display:block; margin:0 0 1.5rem; border-top:3px solid var(--gold); border-bottom:1px solid var(--line); } .mobile-contents summary { display:flex; justify-content:space-between; padding:1rem 0; color:var(--paper); cursor:pointer; font:700 .7rem/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; } .mobile-contents nav { display:grid; gap:.9rem; padding:0 0 1rem; } .mobile-contents nav a { color:var(--paper); font-size:.78rem; text-transform:none; letter-spacing:0; } }
@media (max-width:560px) { body { width:calc(100% - 28px); min-height:calc(100vh - 1.75rem); margin:.875rem auto; padding-inline:1rem; } .site-header { display:block; } .search,.site-header nav { margin-top:1.25rem; } .hero { padding:5rem 0 4rem; } .feature-grid { grid-template-columns:1fr; padding:4rem 0; } .search-page { padding-top:4rem; } .search-page #search { min-height:10rem; } .search-page .pagefind-ui { --pagefind-ui-scale:.85; } .search-page .pagefind-ui__result { display:block; } .search-page .pagefind-ui__result-excerpt { min-width:0; } footer { display:block; } footer p + p { margin-top:.7rem; } }
@media print { @page { margin:18mm; } html,body { width:auto; margin:0; color:#111; background:#fff; font-size:11pt; } .site-header,.skip-link,.crumbs,.contents,.mobile-contents,.rule-tools,footer { display:none!important; } .rule-reader { padding:0; border:0; } .reader-layout { display:block; } .rule-sheet,.rule-sheet:target { padding:0; color:#111; background:#fff; border:0; outline:0; box-shadow:none; } .rule-sheet h1,.rule-sheet h2,.rule-sheet h3 { color:#111; } .rule-sheet a { color:#111; text-decoration:underline; } .provenance { color:#444; } .related { break-inside:avoid; background:#f2f2f2; border-color:#555; } }

/* Scalable static indexes and parchment-specific accessibility refinements. */
.rule-sheet summary:focus-visible { outline:3px solid var(--sheet-ink); outline-offset:4px; }
.chapter-jump { margin:2rem 0; padding:.9rem 1rem; border:1px solid var(--line); }
.chapter-jump summary,.toc-chapter > summary,.related-more summary { cursor:pointer; }
.chapter-jump summary { color:var(--gold); font:700 .7rem/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.chapter-jump nav { display:grid; gap:.65rem; margin-top:1rem; }
.chapter-jump nav a { color:var(--paper); font-size:.78rem; letter-spacing:.06em; }
.rules-reading-choice { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:center; margin:2rem 0; padding:1.25rem; border-left:3px solid var(--gold); background:rgba(231,223,201,.08); }
.rules-reading-choice span { color:#c4c0b4; font-size:.95rem; }
.button-link { display:inline-block; padding:.8rem 1rem; color:var(--ink); background:var(--gold); font:700 .7rem/1 Arial,sans-serif; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.button-link:hover { color:var(--ink); background:#e5bb65; }
.toc-chapter { padding:1.5rem 0; border-top:1px solid var(--line); }
.toc-chapter > summary { display:flex; justify-content:space-between; gap:1rem; color:var(--paper); font-size:clamp(1.7rem,4vw,2rem); font-weight:400; line-height:1.15; letter-spacing:-.04em; }
.toc-chapter > summary > span { min-width:0; overflow-wrap:anywhere; }
.toc-chapter > summary small { display:block; margin-top:.45rem; color:var(--muted); font:700 .65rem/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.toc-chapter > summary::after { content:"+"; flex:none; color:var(--gold); font:700 1.3rem/1 Arial,sans-serif; }
.toc-chapter[open] > summary::after { content:"−"; }
.toc-chapter-body { padding-top:1.75rem; }
.toc-read { margin:0 0 2rem; }
.toc-read a { color:var(--gold); font:700 .7rem/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.toc-number { color:var(--gold); }
.toc-section a,.related a,.search-results a { overflow-wrap:anywhere; }
.toc-section h3 a { color:inherit; text-decoration-color:rgba(216,168,70,.72); }
.toc-section { min-width:0; margin-top:.65rem; border-top:1px solid var(--line); }
.toc-section > summary { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:1rem 0; color:var(--paper); cursor:pointer; font-size:1.25rem; line-height:1.25; letter-spacing:-.025em; }
.toc-section > summary::-webkit-details-marker,.toc-rule > summary::-webkit-details-marker { display:none; }
.toc-section > summary::after,.toc-rule > summary::after { content:"+"; flex:none; color:var(--gold); font:700 1.1rem/1 Arial,sans-serif; }
.toc-section[open] > summary::after,.toc-rule[open] > summary::after { content:"−"; }
.toc-section-body { padding:0 0 1rem; }
.toc-section-page,.toc-rule-page { color:var(--gold)!important; font:700 .65rem/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.toc-section > summary > a { color:var(--paper); text-decoration-thickness:.08em; text-underline-offset:.18em; }
.archive-contents .toc-section > summary { text-decoration:underline; text-decoration-thickness:.08em; text-decoration-color:rgba(216,168,70,.8); text-underline-offset:.18em; }
.toc-section > .toc-section-body > ul,.toc-rule-body > ul { display:block; margin:.9rem 0 0; padding:0; list-style:none; }
.toc-section > .toc-section-body > ul > li,.toc-rule-body > ul > li { margin:0; padding:.6rem .75rem; border-top:1px solid var(--line); }
.toc-rule-parent { padding:0!important; list-style:none; }
.toc-rule { border:0; }
.toc-rule > summary { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.6rem .75rem; color:var(--paper); cursor:pointer; font:inherit; line-height:1.35; letter-spacing:normal; text-transform:none; }
.toc-rule-body { padding:0 .75rem .75rem 1.6rem; }
.toc-rule-body > ul { margin-top:.7rem; padding-left:.8rem; border-left:1px solid rgba(216,168,70,.5); }
.search-results-heading { margin-top:0!important; }
.search-count { color:var(--muted); font:700 .7rem/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.search-results { display:grid; gap:1.5rem; padding:0; list-style:none; }
.search-results li { padding:1.25rem 0; border-top:1px solid var(--line); }
.search-results h3 { font-size:1.4rem; }
.search-results h3 a { color:var(--gold); }
.search-results mark { padding:.05em .12em; color:var(--sheet-ink); background:var(--gold); }
.related-more { margin-top:1rem; }
.related-more summary { color:#25332d; font:700 .72rem/1.4 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.alphabet { flex-wrap:wrap; }
.glossary-group { scroll-margin-top:2rem; }
.glossary-group h2 { padding-bottom:.4rem; border-bottom:1px solid var(--line); }
.glossary-group article h3 { margin-top:1.8rem; color:var(--paper); font-size:1.4rem; }
.glossary-group article p { max-width:67ch; }
.archive-list { padding-left:0; color:var(--muted); list-style:none; }
.archive-empty { padding:1rem; border-left:3px solid var(--gold); background:rgba(231,223,201,.08); }
footer { color:#bbb6a8; font-size:.86rem; }
.continuous-reader { width:min(1000px,100%); margin:0 auto; padding:4rem 0 6rem; }
.reader-intro { max-width:780px; padding:2rem 0 1rem; }
.reader-intro h1 { font-size:clamp(2.8rem,6vw,5.2rem); }
.reader-toolbar { position:sticky; top:0; z-index:1; display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; align-items:center; margin:1.5rem 0 2rem; padding:1rem 1.1rem; border-top:2px solid var(--gold); background:#1d241f; box-shadow:0 8px 18px rgba(0,0,0,.24); font:700 .68rem/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.reader-toolbar > a,.reader-jump summary { color:var(--paper); cursor:pointer; text-decoration:none; }
.reader-jump { position:relative; }
.reader-jump summary { list-style:none; }
.reader-jump summary::-webkit-details-marker { display:none; }
.reader-jump summary::after { content:" +"; color:var(--gold); }
.reader-jump[open] summary::after { content:" −"; }
.reader-jump nav { position:absolute; top:calc(100% + 1rem); left:0; width:min(360px,80vw); max-height:70vh; overflow:auto; display:none; gap:.75rem; padding:1rem; background:#202822; border:1px solid rgba(216,168,70,.5); box-shadow:0 10px 25px rgba(0,0,0,.35); }
.reader-jump[open] nav { display:grid; }
.reader-jump nav a { color:var(--paper); font-size:.72rem; line-height:1.3; letter-spacing:.04em; text-transform:none; }
.continuous-document { display:grid; gap:3rem; }
.continuous-chapter { min-width:0; scroll-margin-top:5rem; padding:clamp(1.5rem,4vw,3.5rem); color:#39362f; background:var(--panel); border-top:3px solid var(--gold); box-shadow:10px 10px 0 rgba(0,0,0,.16); }
.continuous-chapter-heading { margin-bottom:3rem; padding-bottom:1.5rem; border-bottom:1px solid rgba(57,54,47,.22); }
.continuous-chapter .eyebrow { color:#685e49; }
.continuous-chapter-heading h2 { color:var(--sheet-ink); font-size:clamp(2.2rem,5vw,4rem); }
.continuous-chapter-heading > p:last-child { margin:.8rem 0 0; color:#685e49; font:700 .68rem/1.3 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.section-parent-context { margin:0 0 .7rem; color:#685e49; font:700 .62rem/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.continuous-section { scroll-margin-top:5rem; }
.continuous-section + .continuous-section { margin-top:4rem; padding-top:3rem; border-top:1px solid rgba(57,54,47,.22); }
.continuous-section h3 { margin-bottom:2rem; color:var(--sheet-ink); font-size:clamp(1.65rem,3vw,2.2rem); letter-spacing:-.03em; }
.continuous-section h3 a { color:inherit; text-decoration-color:#90702e; text-underline-offset:.16em; }
.continuous-rule-list { margin:0; padding:0; list-style:none; }
.continuous-rule-branch + .continuous-rule-branch { margin-top:1.35rem; }
.continuous-subrules { margin:1.15rem 0 0 2.25rem; padding-left:1.25rem; border-left:2px solid rgba(144,112,46,.42); }
.continuous-rule { scroll-margin-top:5rem; display:grid; grid-template-columns:minmax(4.8rem,auto) minmax(0,1fr); gap:1.2rem; align-items:start; }
.continuous-rule:target { margin-inline:-.75rem; padding:.75rem; background:rgba(216,168,70,.18); outline:2px solid #90702e; }
.continuous-rule h4 { margin:.18rem 0 0; color:var(--sheet-ink); font:700 .88rem/1.35 Arial,sans-serif; letter-spacing:.02em; }
.continuous-rule h4 a { color:#25332d; text-decoration:underline; text-decoration-color:#90702e; text-underline-offset:.18em; }
.continuous-rule p { max-width:74ch; margin:0; overflow-wrap:anywhere; }
.continuous-rule p a { color:#25332d; font-weight:700; text-decoration-color:#90702e; text-decoration-thickness:.12em; }
.chapter-pagination { justify-content:space-between; margin:2rem 0; }
.chapter-pagination a { color:var(--gold); font-size:.72rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
@media (max-width:700px) { .continuous-reader { padding-top:3rem; } .reader-jump nav { right:0; left:auto; width:min(260px,60vw); } .continuous-rule { grid-template-columns:1fr; gap:.25rem; } .continuous-rule h4 { margin:0; } .continuous-subrules { margin-left:1rem; padding-left:.8rem; } .rules-reading-choice { grid-template-columns:1fr; } }
@media (max-width:900px) { .home-directory,.home-release { grid-template-columns:1fr; } .home-release-counts { max-width:360px; } .home-release .button-link { justify-self:start; } }
@media (max-width:700px) { .mobile-contents { position:sticky; top:0; z-index:2; background:var(--ground); } .mobile-contents[open] nav { max-height:55vh; overflow:auto; } }
@media (max-width:560px) { .hero { padding:2.75rem 0 3.5rem; } .hero-actions { align-items:stretch; } .hero-actions .button-link { text-align:center; } .home-search > div { display:grid; } .home-search button { min-height:48px; } .home-version { align-items:flex-start; } .home-directory article,.home-release { padding:1.25rem; } .home-chapters { grid-template-columns:1fr; } .home-release { margin-bottom:3.5rem; } }
@media (pointer:coarse), (max-width:700px) {
  .primary-nav a,.alphabet a,.mobile-contents nav a,.rule-tools a,.rule-tools button,.button-link,.card-link,.chapter-pagination a,.rule-pagination a,.home-version a { display:inline-flex; min-height:44px; align-items:center; }
  .primary-nav { flex-wrap:wrap; gap:0 .35rem; }
  .primary-nav a { padding-inline:.45rem; }
  .search input,.search button { min-height:44px; }
  .alphabet { gap:.25rem; }
  .alphabet a { min-width:44px; justify-content:center; }
  .home-chapters a { min-height:44px; }
  .mobile-contents nav a { display:flex; padding-block:.6rem; }
  .rule-tools { flex-wrap:wrap; }
  .rule-tools button { padding:.6rem .7rem; }
}
@media (max-width:560px) { .crumb-detail { display:none; } .crumbs { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } }
@media print { .reader-toolbar,.chapter-pagination { display:none!important; } .continuous-reader { width:auto; padding:0; } .reader-intro { padding:0 0 10mm; } .reader-intro h1 { color:#111; } .continuous-document { display:block; } .continuous-chapter { padding:0; color:#111; background:#fff; border:0; box-shadow:none; break-before:page; } .continuous-chapter:first-child { break-before:auto; } .continuous-chapter h2,.continuous-chapter h3,.continuous-chapter h4 { color:#111; } .continuous-rule { grid-template-columns:22mm 1fr; break-inside:avoid; } .continuous-rule:target { margin:0; padding:0; background:transparent; outline:0; } }

/* Public Rules release comparison. */
.compare-page { width:min(1000px,100%); margin:0 auto; padding:5rem 0 6rem; }
.compare-page > h1 { font-size:clamp(3rem,7vw,5.5rem); }
.compare-controls { display:grid; grid-template-columns:1fr 1fr auto; gap:1rem; align-items:end; margin:2rem 0; padding:1.25rem; border-top:3px solid var(--gold); background:rgba(231,223,201,.08); }
.compare-controls label,.compare-filters label { color:#d8d2c1; font:700 .65rem/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.compare-controls select,.compare-filters select { display:block; width:100%; margin-top:.5rem; padding:.65rem; color:var(--paper); background:var(--sheet-ink); border:1px solid var(--gold); font:inherit; }
.compare-controls button,.compare-filters button { padding:.72rem .9rem; color:var(--paper); background:transparent; border:1px solid var(--gold); cursor:pointer; font:700 .68rem/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.compare-notice,.compare-empty { padding:1rem 1.2rem; border-left:3px solid var(--gold); background:rgba(231,223,201,.08); }
.compare-error { border-color:#e78378; color:#ffd5cf; }
.compare-filters { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin:2rem 0; }
.compare-filters fieldset { display:flex; flex-wrap:wrap; gap:.5rem; margin:0; padding:0; border:0; }
.compare-filters legend { margin-bottom:.6rem; color:var(--muted); font:700 .65rem/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.compare-filters button[aria-pressed="true"] { color:var(--ink); background:var(--gold); }
.compare-result-heading { display:flex; justify-content:space-between; gap:1.5rem; align-items:end; margin-top:3rem; }
.compare-result-heading h2 { color:var(--paper); font-size:clamp(1.8rem,4vw,2.8rem); }
.compare-result-heading > p { color:var(--muted); }
.compare-summary { display:flex; flex-wrap:wrap; gap:.7rem 1.3rem; margin:1.5rem 0; color:var(--muted); font-size:.85rem; }
.compare-summary strong { color:var(--paper); }
.compare-entries { border-top:1px solid var(--line); }
.compare-entry { border-bottom:1px solid var(--line); }
.compare-entry:target { margin-inline:-.75rem; padding-inline:.75rem; background:rgba(216,168,70,.1); outline:2px solid var(--gold); outline-offset:2px; }
.compare-entry[hidden] { display:none; }
.compare-entry summary { display:flex; justify-content:space-between; gap:1rem; padding:1.2rem 0; cursor:pointer; }
.compare-entry summary > span:first-child { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.compare-entry summary strong { color:var(--paper); }
.compare-toggle { color:var(--gold); font:700 .65rem/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.compare-badge { padding:.28rem .45rem; border:1px solid currentColor; border-radius:999px; font:700 .6rem/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.compare-badge-added { color:#8ed4a5; } .compare-badge-removed { color:#f2a29a; } .compare-badge-changed { color:#e6c16d; } .compare-badge-moved { color:#9dbdec; }
.compare-entry-body { max-width:78ch; padding:0 0 1.5rem; color:#d8d2c1; line-height:1.7; }
.compare-move { color:var(--muted); font:700 .72rem/1.5 Arial,sans-serif; letter-spacing:.04em; }
.compare-title-diff { color:var(--paper); font-weight:700; }
.compare-entry ins,.compare-entry del { padding:.08em .15em; color:inherit; text-decoration-thickness:.12em; }
.compare-entry ins { background:rgba(63,169,103,.24); text-decoration-color:#79d69a; }
.compare-entry del { background:rgba(207,79,69,.24); text-decoration-color:#ef8d85; }
.compare-entry-links { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; font-size:.8rem; }
.compare-entry-links a { color:var(--gold); }
@media (max-width:700px) { .compare-controls { grid-template-columns:1fr; } .compare-result-heading { display:block; } .compare-filters { display:block; } .compare-filters label { display:block; margin-top:1rem; } }
@media print { .compare-controls,.compare-filters,.compare-notice { display:none!important; } .compare-page { width:auto; padding:0; } .compare-entry { break-inside:avoid; } .compare-entry:not([open]) > .compare-entry-body { display:block; } }
