:root {
  --wall: #0b1222; --wall-2: #121b30; --paper: #efe6d6; --muted: #a8a596; --brick: #d0603f; --amber: #e9ac4a;
  --line: #24304a;
  --display: "Alegreya SC", "Iowan Old Style", Georgia, serif;
  --body: "Alegreya Sans", "Gill Sans", "Segoe UI", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
  color-scheme: dark;
}
* { box-sizing: border-box }
html { -webkit-text-size-adjust: 100% }
body { margin: 0; background: var(--wall); color: var(--paper); font: 400 1.0625rem/1.6 var(--body) }
a { color: var(--amber) }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px }
.wrap { max-width: 46rem; margin: 0 auto; padding: 2.5rem 1rem 4rem }
.top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap;
       border-bottom: 1px solid var(--line); padding-bottom: 1rem; margin-bottom: 2rem }
.top a.home { font: 500 1.25rem/1 var(--display); color: var(--paper); text-decoration: none }
.top nav a { font: 500 .8rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; margin-left: 1rem }
.eyebrow { font: 500 .78rem/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--brick); margin: 0 0 .5rem }
h1 { margin: 0 0 .5rem; font: 500 clamp(2rem, 5vw, 2.6rem)/1.1 var(--display) }
h2 { margin: 2.5rem 0 .75rem; font: 500 1.55rem/1.2 var(--display); scroll-margin-top: 1rem }
h3 { margin: 1.5rem 0 .5rem; font: 600 1.1rem/1.3 var(--body); color: var(--amber) }
p, li { color: var(--paper) }
.muted, .updated { color: var(--muted) }
.updated { font: 400 .85rem/1.4 var(--mono) }
ul { padding-left: 1.25rem }
li { margin: .35rem 0 }
.box { background: var(--wall-2); border: 1px solid var(--line); border-radius: 10px; padding: 1rem 1.25rem; margin: 1.25rem 0 }
.box ul { margin: .25rem 0 }
.toc { columns: 2 14rem; column-gap: 2rem; padding-left: 1.25rem; margin: 0 }
.toc li { break-inside: avoid; margin: .2rem 0 }
.table { width: 100%; overflow-x: auto; margin: 1rem 0 }
table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 32rem }
th, td { text-align: left; vertical-align: top; padding: .5rem .6rem; border-bottom: 1px solid var(--line) }
th { font: 600 .8rem/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted) }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem }
