@font-face { font-family: G9; src: url(../fonts/GrotesqueNine.woff2) format("woff2"); font-display: block; }
:root { color-scheme: light; --ink: #241d18; --paper: #faf6ed; --blend: multiply; --mark: none; --mark-blend: multiply; --u: 30px; --g: G9, "Arial Narrow", Arial, sans-serif; --m: ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace; }
:root[data-theme="dark"] { color-scheme: dark; --ink: #faf6ed; --paper: #241d18; --blend: normal; --mark: invert(1); --mark-blend: screen; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--paper); color: var(--ink); font: 17px/var(--u) Georgia, "Times New Roman", serif; padding: var(--u) var(--u) calc(var(--u) * 2); }
body > * { max-width: 690px; }
body > * + *, main > * + *, main > header > * + *, article > * + *, aside > * + *, blockquote > * + *, li > * + *, dd > * + *, td > * + * { margin-top: var(--u); }
ul, ol { list-style: none; }
img, svg, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { background: var(--ink); color: var(--paper); }
a:focus-visible, summary:focus-visible { outline: 3px solid; outline-offset: 3px; }
a, h1, h2, h3, h4, h5, time, small, figcaption, th, dt, body > footer { font-family: var(--g); font-weight: 400; font-synthesis: none; text-transform: uppercase; letter-spacing: .02em; }
p a, li a, dd a, td a, blockquote a { font-size: .96em; }
small, time, figcaption, dt, body > footer, body > header a { font-size: 19px; }
h1 { display: table; font-size: 60px; line-height: 60px; padding-bottom: 6px; border-bottom: 6px solid; }
h2, article h3, article h4 { font-size: 24px; border-bottom: 3px solid; }
h5 { font-size: 19px; }
article h1 { display: block; font-size: 30px; line-height: var(--u); padding: 0; border-bottom: 3px solid; }
body > header { display: flex; gap: 45px; align-items: flex-start; }
body > header nav { display: flex; gap: 45px; margin: 0; }
body > header li { white-space: nowrap; }
body > header > a:hover { background: none; }
body > header img { filter: var(--mark); mix-blend-mode: var(--mark-blend); }
body > p:first-child { border-bottom: 3px solid; }
[aria-current] { border-bottom: 3px solid; }
main > header > p:first-of-type { font-size: 20px; }
main > header > h1 + p { margin-top: 18px; }
main > header > svg, main > article > svg { width: 100%; height: auto; fill: currentColor; }
main > header text { font: 22px var(--g); }
p:has(> small:first-child) { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 var(--u); }
blockquote { border-left: 3px solid; padding-left: 27px; }
blockquote footer { margin-top: 15px; font-style: italic; }
blockquote cite { font-style: normal; }
pre { font: 14px/22px var(--m); tab-size: 4; padding: 11px 0; border-bottom: 1px solid; overflow: visible; }
code { font: .85em var(--m); }
pre code { font-size: inherit; }
figure > figcaption:has(> button) { display: flex; justify-content: space-between; border-bottom: 3px solid; }
figure > figcaption + pre { margin-top: 0; counter-reset: l; }
figcaption button { all: unset; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 0 8px; }
figcaption button svg { width: 16px; height: 16px; fill: currentColor; fill-rule: evenodd; }
figcaption button:hover { background: var(--ink); color: var(--paper); }
figcaption button:focus-visible { outline: 3px solid; outline-offset: 3px; }
figure > pre > span { display: block; min-height: 22px; position: relative; padding-left: 45px; counter-increment: l; }
figure > pre > span:before { content: counter(l); position: absolute; left: 0; width: 30px; text-align: right; font: 14px/22px var(--g); user-select: none; }
table { width: 100%; border-collapse: collapse; }
th { font-size: 17px; line-height: 20px; text-align: left; vertical-align: bottom; padding: 10px 10px 6px; border-bottom: 1px solid; }
td { padding: 0 10px; vertical-align: top; border-bottom: 1px solid; }
th:first-child, td:first-child { padding-left: 0; }
article ul > li { position: relative; padding-left: var(--u); }
article ul > li:before { content: ""; position: absolute; left: 0; top: 12px; width: 7px; height: 7px; background: var(--ink); }
article ol { list-style: decimal; padding-left: var(--u); }
article li > * + *, article li + li { margin-top: 0; }
dd { margin-bottom: calc(var(--u) / 2); }
hr { border: 0; border-top: 1px solid; }
iframe { width: 100%; aspect-ratio: 16 / 9; border: 1px solid; }
.gray { filter: grayscale(1) contrast(1.15); mix-blend-mode: var(--blend); }
details { position: relative; max-width: 400px; }
summary { display: block; position: relative; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
summary svg { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 45px; height: 45px; padding: 10px; background: var(--paper); fill: var(--ink); fill-rule: evenodd; }
summary:hover svg { background: var(--ink); fill: var(--paper); }
details[open] summary svg { display: none; }
details > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; }
section > ol > li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 0 15px; padding: 15px 0; border-bottom: 1px solid; }
section > ol > li:has(> a > img) { grid-template-columns: 120px minmax(0, 1fr) 150px; }
section > ol > li:last-child { border-bottom: 0; padding-bottom: 0; }
section > ol > li > * { margin-top: 0; }
section > ol b { font-size: 22px; font-weight: 400; }
time small { display: block; font-size: 15px; }
section > dl { display: grid; grid-template-columns: 120px minmax(0, 1fr); }
section > dl > * { margin: 0; }
section > dl dt, section > dl dd { font: inherit; text-transform: none; letter-spacing: 0; }
section > h2:has(> small) { display: flex; justify-content: space-between; align-items: baseline; }
section > h2:not(:has(svg)) + dl { margin-top: 0; }
section > h2:not(:has(svg)) + dl > * { padding: 8px 0; border-bottom: 1px solid; }
section:has(> figure) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--u); }
section > figure { display: grid; gap: 8px; align-content: start; margin: 0; }
section > figure > * { margin: 0; }
section > figure figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; border-top: 3px solid; }
section > figure b { font-size: 22px; font-weight: 400; }
section > figure img { width: 100%; aspect-ratio: 5 / 3; object-fit: cover; }
section > figure p { font-size: 15px; line-height: 22px; }
a:has(> img):hover, a:has(> img):focus-visible { background: none; outline: 3px solid; outline-offset: 0; }
aside > * + * { margin-top: calc(var(--u) / 2); }
aside li { padding: 8px 0 16px; border-top: 1px solid; font-size: 14px; line-height: 20px; }
aside li > * + * { margin-top: 6px; }
aside li > p:first-child { display: flex; justify-content: space-between; }
aside li { display: flex; flex-direction: column; }
aside li > * { order: 2; }
aside li > p:first-child { order: 0; }
aside li > p:first-child > * { font-family: var(--g); font-size: 15px; font-synthesis: none; text-transform: uppercase; letter-spacing: .02em; }
aside li > figure, aside li > details { order: 1; width: 200px; max-width: 100%; }
aside figure > a { display: block; }
aside figure img, aside summary img { width: 100%; height: auto; aspect-ratio: 5 / 3; object-fit: cover; }
aside summary svg { width: 30px; height: 30px; padding: 7px; }
main > nav a { font: inherit; text-transform: none; letter-spacing: 0; border-bottom: 1px solid; }
main > nav[aria-label="All terms"] { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--u); }
main > nav[aria-label="All terms"] > * { margin: 0; }
main > nav[aria-label="All terms"] a { border: 0; font-family: var(--g); font-size: .96em; text-transform: uppercase; letter-spacing: .02em; }
main > nav[aria-label="All terms"] h2 a { font-size: inherit; }
main > nav[aria-label="All terms"] section > * + * { margin-top: 0; }
main > nav[aria-label="All terms"] h2 small { display: inline-block; min-width: 38px; }
main > nav[aria-label="All terms"] svg, article p svg, main > p svg { display: inline-block; width: 16px; height: 16px; vertical-align: -2px; margin: 0 0 0 6px; fill: currentColor; fill-rule: evenodd; }
main > nav ul ul { margin: 0 0 0 2px; padding-left: 15px; border-left: 1px solid; }
main > nav li > * + * { margin-top: 0; }
h2 svg, small svg { display: inline-block; width: 24px; height: 24px; vertical-align: -4px; margin-right: 10px; fill: currentColor; fill-rule: evenodd; }
small svg { width: 16px; height: 16px; vertical-align: -2px; margin-right: 8px; }
abbr:has(> svg) { white-space: nowrap; text-decoration: none; }
abbr > svg:first-child { display: inline-block; width: auto; height: .74em; margin: 0; vertical-align: baseline; overflow: visible; fill: currentColor; fill-rule: evenodd; }
abbr > svg + span { font-size: 0; }
a[role="doc-noteref"] { font-size: 13px; line-height: 1; vertical-align: super; padding: 0 2px; }
[role="note"] { display: none; }
[role="note"] a, section[role="doc-endnotes"] a { font: inherit; text-transform: none; letter-spacing: 0; border-bottom: 1px solid; }
section[role="doc-endnotes"] > ol { display: grid; gap: 15px; padding: 15px 0 0; list-style: none; }
section[role="doc-endnotes"] > ol > li { display: grid; grid-template-columns: 45px minmax(0, 1fr); gap: 0; padding: 0; border: 0; font-size: 15px; line-height: 22px; }
section[role="doc-endnotes"] li > b { font: 400 19px/22px var(--g); }
section[role="doc-endnotes"] a[aria-label] { border: 0; margin-left: 6px; }
section[role="doc-endnotes"] a[aria-label] svg { display: inline-block; width: 16px; height: 16px; vertical-align: -2px; fill: currentColor; fill-rule: evenodd; }
body > footer { display: flex; flex-wrap: wrap; gap: 0 var(--u); }
body > footer a { border-bottom: 1px solid; }
body > footer button { all: unset; display: none; cursor: pointer; align-items: center; }
.js body > footer button { display: flex; }
body > footer button svg { width: 16px; height: 16px; fill: currentColor; fill-rule: evenodd; }
body > footer button:hover { background: var(--ink); color: var(--paper); }
body > footer button:focus-visible { outline: 3px solid; outline-offset: 3px; }
a[href^="http"]:not(:has(> img)), a[href^="mailto:"] { font: inherit; text-transform: inherit; letter-spacing: inherit; border-bottom: 1px solid; }
body > dialog { --bar: 33px; width: fit-content; max-width: calc(100vw - 30px); height: fit-content; max-height: calc(100dvh - 30px); margin: auto; padding: 0; border: 3px solid var(--ink); background: var(--paper); color: var(--ink); cursor: zoom-out; overflow: hidden; }
dialog::backdrop { background: var(--paper); opacity: .85; }
dialog figcaption:has(> button) { justify-content: flex-end; }
dialog img { width: auto; max-width: calc(100vw - 36px); height: auto; max-height: calc(100dvh - 36px - var(--bar)); }
html:has(dialog[open]) { overflow: hidden; }
@media (min-width: 1040px) {
	article { position: relative; }
	article [role="note"] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; position: absolute; left: 735px; width: 240px; margin-top: -25px; padding-top: 4px; border-top: 1px solid; font: 14px/20px Georgia, serif; font-style: normal; }
	article [role="note"] b { font: 400 17px/20px var(--g); margin-right: 8px; }
	body > main:has(> aside) { max-width: 975px; display: grid; grid-template-columns: 690px 240px; column-gap: 45px; align-items: start; }
	main:has(> aside) > * { grid-column: 1; }
	main:has(> aside) > header { grid-column: 1 / -1; }
	main:has(> aside) > aside { grid-column: 2; grid-row: 2 / span 9; margin-top: var(--u); }
	main:has(> aside) > aside h2 { font-size: 19px; border-bottom-color: transparent; }
	main:has(> aside) > aside h2 svg { width: 18px; height: 18px; vertical-align: -2.5px; margin-right: 8px; }
	main:has(> aside) > aside > * + * { margin-top: 0; }
	main:has(> aside) > aside > ul { margin-top: -1px; }
	main:has(> aside) > aside > p { padding-top: 10px; border-top: 1px solid; }
	body > main:has(> nav[aria-label="All terms"]) { max-width: 1040px; }
}
@media (max-width: 820px) {
}
@media (max-width: 560px) {
	h1 { font-size: 44px; line-height: 48px; }
	body > header { flex-wrap: wrap; gap: var(--u); }
	section > ol > li, section > ol > li:has(> a > img), section > dl, section:has(> figure), main > nav[aria-label="All terms"] { grid-template-columns: minmax(0, 1fr); }
	table { display: block; overflow-x: auto; }
	body > dialog { --bar: 47px; max-width: 100vw; border-left: 0; border-right: 0; }
	dialog img { max-width: 100vw; }
	dialog figcaption button { min-height: 44px; }
}
