/* The site's stylesheet: base.css (structure) then record.css (Public record, picked by Mackenzie 2026-10-19 16:51). Edit the two in site/themes/ and rebuild this with tools/variants/site-css.sh. */
/* The shared structure of the site (brand directions, hub #1906): everything a theme doesn't decide. A theme file
   (ledger.css, record.css, workbench.css) sets the custom properties below and its own @font-face rules; the build
   (tools/variants/build.ts) puts base.css and one theme together as /site.css. Body text is 18px or more, tables carry
   tabular figures, dates and source citations are styled, corners are square or slightly rounded, nothing moves. */
:root { color-scheme: light dark; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 1.125rem/1.7 var(--font-body); min-height: 100dvh; display: flex; flex-direction: column; }
a { color: var(--link); text-underline-offset: 0.18em; text-decoration-thickness: 0.08em; }
:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
h1, h2, h3 { font-family: var(--font-head); line-height: 1.25; text-wrap: balance; }
h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 0 0 0.6rem; }
h2 { font-size: 1.5rem; margin: 2.4rem 0 0.8rem; }
h3 { font-size: 1.2rem; margin: 1.8rem 0 0.5rem; }
p, ul, ol, table, pre, blockquote { margin: 0 0 1.1rem; }
ul, ol { padding-left: 1.4rem; }
li + li { margin-top: 0.3rem; }
code { background: var(--code); padding: 0.1em 0.3em; border-radius: var(--radius); font: 0.92em var(--font-figure); }
pre { background: var(--code); padding: 1rem; overflow-x: auto; border-radius: var(--radius); }
pre code { padding: 0; background: none; }
table { border-collapse: collapse; width: 100%; font: 400 1.0625rem/1.5 var(--font-body); font-variant-numeric: tabular-nums lining-nums; font-feature-settings: "tnum" 1, "lnum" 1; display: block; overflow-x: auto; }
th, td { border-bottom: 1px solid var(--line); padding: 0.55rem 0.7rem; text-align: left; vertical-align: top; }
th { font-family: var(--font-head); font-weight: 600; }
blockquote { border-left: 3px solid var(--line); padding-left: 1rem; color: var(--mute); }
time { font-family: var(--font-figure); font-size: 0.95em; color: var(--mute); white-space: nowrap; }
.cite { font-family: var(--font-figure); font-size: 0.85em; color: var(--mute); text-decoration-style: dotted; white-space: nowrap; }
.skip { position: absolute; left: -999px; } .skip:focus { left: 0.5rem; top: 0.5rem; background: var(--bg); padding: 0.4rem; z-index: 5; }
.site-header { display: flex; flex-wrap: wrap; gap: 0.6rem 2rem; align-items: baseline; justify-content: space-between; max-width: 46rem; width: 100%; margin: 0 auto; padding: 1.2rem 1.2rem 0.6rem; font-family: var(--font-head); }
.wordmark { font-weight: 700; font-size: 1.2rem; color: var(--ink); text-decoration: none; }
.site-header nav { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; }
.site-header nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin: 0; padding: 0; }
.site-header nav li + li { margin-top: 0; }
.site-header nav a { color: var(--ink); }
main { max-width: 46rem; width: 100%; margin: 0 auto; padding: 1rem 1.2rem 3rem; flex: 1; }
.lede { font-size: 1.25rem; color: var(--mute); }
.article-foot { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--mute); font: 400 1rem/1.5 var(--font-body); }
.site-footer { max-width: 46rem; width: 100%; margin: 0 auto; padding: 1.5rem 1.2rem 2.5rem; border-top: 1px solid var(--line); font: 400 1rem/1.6 var(--font-body); color: var(--mute); }
.site-footer p { margin: 0 0 0.4rem; }
.note { border-left: 3px solid var(--line); background: var(--card); padding: 0.7rem 1rem; margin: 0 0 1.1rem; border-radius: 0 var(--radius) var(--radius) 0; }
.note.inference, .note.gap { border-left-color: var(--gap); }
.toc { background: var(--card); padding: 0.7rem 1rem; margin: 0 0 1.5rem; font-family: var(--font-body); border-radius: var(--radius); }
.sources li { overflow-wrap: anywhere; }

/* The header: the B tile, the name, and under it the day the prices were checked (hub #1925). */
.brand { display: flex; align-items: center; gap: 0.7rem; }
.mark { display: block; inline-size: 2.1rem; block-size: 2.1rem; }
.brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.stamp-line { margin: 0; font-size: 0.85rem; font-weight: 600; color: var(--stamp, var(--mute)); }
.stamp-line time { border: 0; padding: 0; color: inherit; font: inherit; }
/* A picture at the top of a page, and a signpost beside each home link. */
.hero { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 3 / 2; object-fit: cover; margin: 0 0 1.2rem; border-radius: var(--radius); }
.has-sign { display: grid; grid-template-columns: 168px 1fr; gap: 0.3rem 1.2rem; align-items: start; list-style: none; }
.sign { inline-size: 168px; block-size: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius); }
.sign-text > :first-child { margin-top: 0; }
@media (max-width: 30rem) { .has-sign { grid-template-columns: 112px 1fr; gap: 0.3rem 0.9rem; font-size: 1rem; } .sign { inline-size: 112px; } }
.has-sign + .has-sign, .has-sign + li { margin-top: 1.1rem; }

/* Public record: the official report. Public Sans throughout, tabular figures on; the amber date stamp is the idea. */
@font-face { font-family: "Public Sans"; font-weight: 400; font-display: swap; src: url("/fonts/PublicSans-Regular.woff2") format("woff2"); }
@font-face { font-family: "Public Sans"; font-weight: 600 800; font-display: swap; src: url("/fonts/PublicSans-Bold.woff2") format("woff2"); }
:root {
  --font-head: "Public Sans", system-ui, sans-serif; --font-body: "Public Sans", system-ui, sans-serif; --font-figure: "Public Sans", system-ui, sans-serif;
  --radius: 3px;
  --bg: #FFFFFF; --ink: #1B2B4B; --link: #1F4FA3; --done: #1F4FA3; --mute: #55657A; --stamp: #8A5A00; --gap: #8A5A00;
  --card: color-mix(in oklab, var(--ink) 5%, var(--bg)); --code: color-mix(in oklab, var(--ink) 8%, var(--bg)); --line: color-mix(in oklab, var(--ink) 20%, var(--bg));
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #0F1626; --ink: #E6EAF0; --link: #8FB0E8; --done: #8FB0E8; --mute: #9AA7B8; --stamp: #E8B640; --gap: #E8B640; }
}
h1, h2, h3, th { font-weight: 700; }
/* A dated stamp: "checked on". */
time { color: var(--stamp); border: 1px solid var(--stamp); padding: 0.05em 0.4em; border-radius: 2px; font-weight: 600; font-size: 0.9em; }
.cite { color: var(--link); }
thead th { background: var(--card); border-top: 3px solid var(--ink); }
