@font-face {
  font-family: 'Barlow Condensed';
  src: url('/assets/fonts/BarlowCondensed-Bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --paper: #101411;
  --white: #1a201b;
  --raised: #232b24;
  --ink: #f0ede4;
  --muted: #aeb6ab;
  --line: #394439;
  --accent: #ff7955;
  --signal: #ff6b43;
  --bone: #eee9dc;
  --amber: #edb977;
  --amber-light: #2c281f;
  --blue-light: #222c24;
  --teal: #accab4;
  --radius: 10px;
  --display: 'Barlow Condensed', 'Arial Narrow', Impact, sans-serif;
  --mono: ui-monospace, 'SFMono-Regular', Consolas, monospace;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 15px/1.6 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: var(--signal); color: #101411; }
button, input, select, textarea { font: inherit; }
button, select, summary { cursor: pointer; }
button, a, select { -webkit-tap-highlight-color: transparent; }
a { color: var(--accent); text-underline-offset: 4px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
button { transition: color 140ms ease, background-color 140ms ease, border-color 140ms ease; }
[hidden] { display: none !important; }
.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; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 16px; color: #101411; background: var(--bone); transform: translateY(-150%); }
.skip-link:focus { transform: none; }

header { border-top: 4px solid var(--signal); border-bottom: 1px solid var(--line); padding: 30px 24px 27px; }
.header-inner { max-width: 1240px; margin: auto; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.brand-home { display: inline-flex; align-items: center; gap: 18px; color: var(--ink); text-decoration: none; }
.brand-mark { width: 66px; height: 78px; flex: none; }
.header-inner h1 { margin: 0; font: 700 66px/.94 var(--display); letter-spacing: -.01em; text-transform: uppercase; }
.header-inner h1 .brand-prelude { display: block; font: 600 12px/1.4 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: .28em; margin: 0 0 5px 2px; }
.brand-tagline { margin: 14px 0 0; color: var(--muted); font-size: 13px; letter-spacing: .015em; }
.header-meta { text-align: right; font-size: 12px; }
.brand-domain { color: var(--muted); font: 11px/1.4 var(--mono); letter-spacing: .04em; margin: 0 0 13px; }
.header-meta #header-date { display: block; margin: 7px 0 14px; color: var(--muted); font-size: 11px; }
.header-meta .pill.dark { padding: 0; border: 0; background: none; color: var(--ink); font-size: 11px; }
.header-meta .pill.dark::before { content: ''; width: 5px; height: 5px; background: var(--signal); margin-right: 8px; }
.beta-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.beta-toolbar label { min-width: 0; }
.beta-toolbar select { width: 185px; padding: 7px 28px 7px 10px; font-size: 11px; min-height: 34px; }
.beta-toolbar .btn { padding: 6px 11px; font-size: 11px; min-height: 34px; }
.beta-toolbar button:disabled { opacity: .6; cursor: progress; }

main { max-width: 1288px; margin: auto; padding: 0 24px 48px; }
nav { display: flex; gap: 24px; overflow: auto; border-bottom: 1px solid var(--line); margin-bottom: 26px; scrollbar-width: none; }
nav::-webkit-scrollbar { display: none; }
nav button { position: relative; background: none; border: 0; border-bottom: 2px solid transparent; padding: 20px 0 16px; color: var(--muted); white-space: nowrap; font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
nav button:hover { color: var(--ink); }
nav button.active { color: var(--ink); border-bottom-color: var(--signal); }
nav button:focus-visible { outline-offset: -3px; }
.tab { display: none; }
.tab.active { display: block; }
.scope { font-size: 12px; color: var(--muted); margin: 0 0 16px; max-width: 1000px; }
.overview-intro { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 19px; }
.overview-intro .scope { margin: 0; display: flex; align-items: center; gap: 9px; }
.overview-intro .scope::before { content: ''; width: 6px; height: 6px; border: 1px solid var(--muted); flex: none; }
.overview-intro button { white-space: nowrap; }
.overview-description { max-width: 880px; margin: 0 0 24px; color: var(--ink); font-size: 16px; line-height: 1.65; }
.grid { display: grid; gap: 16px; }
.top-grid { grid-template-columns: 1.28fr 1fr 1fr; }
.split { grid-template-columns: 1.55fr 1fr; margin-top: 20px; }
.two { grid-template-columns: 1fr 1fr; }
.card { position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; min-width: 0; }
.top-grid .card { display: flex; flex-direction: column; min-height: 260px; }
.card.dark { background: var(--bone); border-color: var(--bone); color: #182119; }
.card.dark::before { content: ''; position: absolute; top: -1px; left: 25px; width: 44px; height: 4px; background: var(--signal); }
.label { color: var(--muted); font-size: 10px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.dark .label, .dark .small { color: #56604f; }
.big { font: 700 100px/.98 var(--display); letter-spacing: -.025em; margin: 9px 0 0; font-variant-numeric: tabular-nums; }
.big small { font: 400 20px/1 var(--display); letter-spacing: 0; color: #56604f; }
.medium-number { font: 700 48px/1.08 var(--display); letter-spacing: -.015em; margin: 26px 0 13px; }
#confidence-value { font-size: 44px; }
.small { color: var(--muted); font-size: 12px; line-height: 1.65; }
.tight { margin: 5px 0; }
.card h2, .card h3 { margin: 0 0 12px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
.card h2 { font-size: 20px; }
.card h3 { font-size: 16px; }
.card p { margin: 9px 0; }
.top-grid .card > p:not(.small):not(.tight) { margin: 0 0 24px; font-size: 13px; line-height: 1.65; color: var(--muted); max-width: 260px; }
.top-grid .card .rule { margin-top: auto; }
.top-grid .card .small:last-child { margin-bottom: 0; }
.top-grid .subtle-link { align-self: flex-start; }
#review-band { font-size: 12px; font-weight: 600; }
.scale { position: relative; margin: 21px 0 8px; height: 5px; border-radius: 1px; background: #c7ccbf; }
.range { position: absolute; top: 0; height: 5px; background: #ae4f32; border-radius: 1px; }
.mark { position: absolute; top: -5px; height: 15px; width: 3px; background: #182119; }
.ticks { display: flex; justify-content: space-between; color: #56604f; font: 10px/1.5 var(--mono); }
#range-caption { margin: 11px 0 0; font-size: 11px; }
.rule { border-top: 1px solid var(--line); margin: 18px 0; }
.note { background: var(--blue-light); border-left: 2px solid #718b72; padding: 14px 17px; border-radius: 0 5px 5px 0; font-size: 13px; line-height: 1.7; }
.note.amber { background: var(--amber-light); border-color: var(--amber); }
.notice-stack { display: grid; gap: 9px; margin: 20px 0; }
#connection-state { margin-top: 22px; }
.parameter-row { width: 100%; display: grid; grid-template-columns: 205px 1fr 40px; align-items: center; text-align: left; gap: 18px; background: none; border: 0; border-bottom: 1px solid var(--line); padding: 16px 0; color: var(--ink); }
.parameter-row:last-child { border-bottom: 0; }
.parameter-row:hover .pname { color: var(--accent); }
.pname { font-size: 12px; font-weight: 500; }
.bar { position: relative; background: #303b31; height: 5px; border-radius: 1px; }
.bar-range { height: 5px; position: absolute; background: #7b927d; border-radius: 1px; }
.bar-dot { position: absolute; top: -4px; width: 3px; height: 13px; background: var(--bone); }
.pval { text-align: right; font: 12px/1 var(--mono); font-variant-numeric: tabular-nums; }
.legend { display: flex; flex-wrap: wrap; gap: 18px; font-size: 10px; color: var(--muted); margin-top: 20px; }
.swatch { display: inline-block; width: 20px; height: 5px; background: #7b927d; vertical-align: middle; margin-right: 7px; }
.swatch.dot { width: 3px; height: 10px; background: var(--bone); }
.review-summary { display: flex; flex-direction: column; background: transparent; }
.review-summary h2 { font: 700 42px/1.06 var(--display); margin: 26px 0 8px; max-width: 310px; }
.review-summary > p:not(.small) { font-size: 14px; line-height: 1.75; max-width: 310px; }
.review-summary .rule { margin-top: auto; }
.review-summary .subtle-link { align-self: flex-start; margin-top: 8px; }
.coverage-row { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.coverage-row:last-child { border-bottom: 0; }
.coverage-top { display: flex; justify-content: space-between; gap: 12px; }
.coverage-row p { color: var(--muted); font-size: 12px; margin: 4px 0; }
.keyline { font-weight: 600; margin: 0 0 5px !important; }
.callout { font-size: 13px; margin: 17px 0; padding-left: 14px; border-left: 2px solid var(--line); }
.callout strong { display: block; }
.callout p { margin: 4px 0; color: var(--muted); }
.controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-bottom: 22px; }
.controls label { display: flex; flex-direction: column; font-size: 11px; color: var(--muted); gap: 7px; flex: 1; min-width: 160px; }
input:not([type=range]), select, textarea { border: 1px solid #647460; border-radius: 5px; background: #141a15; padding: 10px 12px; color: var(--ink); min-width: 0; width: 100%; }
input:disabled { opacity: 1; color: var(--muted); border-color: var(--line); }
input::placeholder, textarea::placeholder { color: #a0aa9b; }
input[type=range] { width: 100%; accent-color: var(--signal); }
.btn { border: 1px solid #647460; background: transparent; color: var(--ink); padding: 9px 14px; border-radius: 5px; font-size: 12px; font-weight: 550; min-height: 40px; }
.btn:hover { background: var(--raised); border-color: #95a28e; }
.btn.primary { background: var(--signal); border-color: var(--signal); color: #101411; font-weight: 650; }
.btn.primary:hover { background: #ff8768; border-color: #ff8768; }
.subtle-link { border: 0; background: none; color: var(--accent); padding: 3px 0; font-size: 12px; line-height: 1.6; text-decoration: none; }
.subtle-link:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.pill { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 4px; padding: 3px 7px; color: var(--muted); background: #232b24; font-size: 10px; line-height: 1.55; }
.pill.amber { background: var(--amber-light); border-color: #61533a; color: #e7c998; }
.details-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.details-head h2 { margin-bottom: 5px; }
.detail-score { font: 700 48px/1.1 var(--display); white-space: nowrap; }
.detail-score small { font: 14px/1.3 -apple-system, BlinkMacSystemFont, sans-serif; color: var(--muted); }
.reading { max-width: 850px; }
.subheading { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 650; margin: 24px 0 7px; }
.ref { display: inline-block; padding: 3px 7px; margin: 3px 4px 2px 0; border: 1px solid var(--line); background: var(--raised); border-radius: 4px; text-decoration: none; font: 11px/1.5 var(--mono); }
.ref:hover { border-color: var(--accent); }
.anchor-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 18px; }
.anchor { padding: 16px; background: #141a15; font-size: 12px; border: 1px solid var(--line); border-radius: 6px; }
.anchor.selected { background: #273326; border-color: #82987a; }
.anchor b { display: block; font: 700 28px/1.1 var(--display); margin-bottom: 8px; }
.source-item { border-top: 1px solid var(--line); padding: 19px 0; }
.source-item summary { list-style: none; }
.source-item summary::-webkit-details-marker { display: none; }
.source-summary { display: flex; gap: 14px; align-items: start; }
.source-summary::after { content: '+'; font: 18px/1.2 var(--mono); color: var(--accent); margin-left: auto; padding-left: 8px; }
.source-item[open] .source-summary::after { content: '−'; }
.source-summary > div { flex: 1; min-width: 0; }
.sid { background: var(--raised); padding: 4px 7px; border-radius: 4px; font: 11px/1.6 var(--mono); white-space: nowrap; color: var(--ink); }
.source-name { font-size: 15px; font-weight: 600; line-height: 1.5; }
.source-meta { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; margin: 8px 0; }
.source-body { margin: 17px 0 0 49px; padding: 3px 0 0 17px; border-left: 1px solid var(--line); font-size: 13px; max-width: 960px; }
.source-body p { margin: 12px 0; }
.source-body .subheading { margin-top: 26px; }
.source-body a, .source-name { overflow-wrap: anywhere; }
.no-results { padding: 32px; color: var(--muted); font-size: 14px; }
.gate { display: grid; grid-template-columns: 44px 1fr; gap: 18px; margin: 28px 0; }
.gate-id { height: 40px; width: 40px; display: grid; place-items: center; background: var(--blue-light); border: 1px solid var(--line); border-radius: 6px; font: 700 24px/1 var(--display); }
.gate h3 { margin: 0 0 8px; }
.gate p { font-size: 14px; }
.formula { background: #101611; border: 1px solid var(--line); border-radius: 6px; padding: 18px; font: 12px/1.6 var(--mono); overflow: auto; white-space: nowrap; }
.methods-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.method { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 23px; }
.method h3 { font-size: 15px; margin: 0 0 9px; }
.method p { font-size: 13px; color: var(--muted); margin: 0; }
.lab-row { display: grid; grid-template-columns: 1fr 1.5fr 38px 68px; gap: 14px; align-items: center; border-bottom: 1px solid var(--line); padding: 17px 0; }
.lab-row label { font-size: 12px; }
.lab-row input[type=number] { padding: 7px; font-size: 12px; }
.lab-row output { font: 12px/1 var(--mono); }
.lab-metric { font: 700 82px/1.2 var(--display); letter-spacing: -.02em; }
.error, .negative { color: #ff9b7c; }
.error { font-size: 13px; }
.positive { color: var(--teal); }
.queue-item { border-top: 1px solid var(--line); padding: 20px 0; }
.queue-item h3 { font-size: 15px; margin: 0 0 8px; }
.queue-item p { font-size: 13px; margin: 7px 0; }
.check { display: flex; gap: 10px; margin: 10px 0; font-size: 13px; }
.check::before { content: '○'; color: var(--amber); }
footer { display: flex; justify-content: space-between; align-items: start; gap: 18px; flex-wrap: wrap; margin-top: 34px; border-top: 1px solid var(--line); padding-top: 22px; color: var(--muted); font-size: 11px; }
.footer-brand { display: block; font: 700 18px/1.2 var(--display); letter-spacing: .035em; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; }
#footer-state { display: block; max-width: 660px; overflow-wrap: anywhere; font-size: 10px; }
footer .subtle-link { font-size: 11px; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th, td { text-align: left; padding: 13px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { font-weight: 600; background: #242e25; color: var(--ink); }
.nowrap { white-space: nowrap; }
.space { margin-top: 22px; }
.export-message { font-size: 12px; min-height: 20px; color: var(--teal); }
.audit-entry { border-top: 1px solid var(--line); padding: 16px 0; }
.audit-entry summary { font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.audit-entry pre { font: 11px/1.65 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; background: #101611; padding: 16px; border-radius: 5px; }
.identity { font: 11px/1.6 var(--mono); overflow-wrap: anywhere; }
.status-grid { display: grid; grid-template-columns: 145px 1fr; gap: 9px 14px; font-size: 12px; }
.status-grid dt { color: var(--muted); }
.status-grid dd { margin: 0; overflow-wrap: anywhere; }
.snapshot-summary { margin-bottom: 22px; }
.freshness { margin-top: 10px; }
.empty { color: var(--muted); font-size: 13px; }
.guide-intro { margin: 25px 0 28px; }
.guide-intro h2 { font: 700 46px/1.1 var(--display); margin: 0 0 12px; }
.guide-intro p { margin: 0; color: var(--muted); font-size: 14px; }
#reading-guide .card > p { font-size: 14px; line-height: 1.8; }
#reading-guide details summary { font-size: 14px; font-weight: 600; }
.guide-footer { display: flex; align-items: center; gap: 22px; margin-top: 26px; }
.guide-back { font-size: 12px; }

@media (max-width: 1050px) {
  nav { gap: 22px; }
  .top-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .card { padding: 22px; }
  .split { grid-template-columns: 1.5fr 1fr; }
  .parameter-row { grid-template-columns: 170px 1fr 30px; gap: 12px; }
  #confidence-value { font-size: 36px; }
  .anchor-list { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .header-inner { align-items: start; gap: 20px; }
  .header-inner h1 { font-size: 54px; }
  .brand-mark { width: 52px; height: 66px; }
  .brand-home { gap: 13px; }
  .brand-tagline { max-width: 260px; }
  .top-grid { grid-template-columns: 1fr 1fr; }
  .top-grid .card.dark { grid-column: 1/-1; min-height: 265px; }
  .top-grid .card:not(.dark) { min-height: 240px; }
  .split { grid-template-columns: 1fr; }
  .review-summary { min-height: 270px; }
  .review-summary > p:not(.small) { max-width: 520px; }
  .parameter-row { grid-template-columns: 200px 1fr 40px; }
  .two, .methods-grid { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  header { padding: 25px 20px 19px; }
  .header-inner { display: block; }
  .header-inner h1 { font-size: 61px; }
  .header-inner h1 .brand-prelude { font-size: 11px; }
  .brand-mark { width: 57px; height: 72px; }
  .brand-home { gap: 15px; }
  .brand-tagline { max-width: none; font-size: 12px; margin-top: 12px; }
  .header-meta { text-align: left; margin-top: 21px; padding-top: 14px; border-top: 1px solid var(--line); }
  .brand-domain { display: none; }
  .header-meta #header-date { display: block; margin: 5px 0 0; font-size: 10px; }
  .header-meta .pill.dark { font-size: 10px; }
  .beta-toolbar { clear: both; justify-content: start; margin-top: 12px; }
  .beta-toolbar label { flex: 1; }
  .beta-toolbar select { width: 100%; min-height: 44px; font-size: 12px; }
  .beta-toolbar .btn { min-height: 44px; padding: 7px 15px; font-size: 12px; }
  main { padding: 0 16px 32px; }
  nav { gap: 23px; margin-bottom: 20px; }
  nav button { padding-top: 18px; padding-bottom: 14px; font-size: 10px; }
  .overview-intro { display: block; margin-bottom: 16px; }
  .overview-intro .scope { font-size: 11px; }
  .overview-description { font-size: 14px; margin-bottom: 20px; }
  .overview-intro button { margin-top: 7px; font-size: 11px; }
  .grid { gap: 12px; }
  .top-grid { grid-template-columns: 1fr 1fr; }
  .top-grid .card { padding: 18px; }
  .top-grid .card.dark { padding: 22px; min-height: 0; }
  .top-grid .card:not(.dark) { min-height: 230px; }
  .big { font-size: 108px; }
  .medium-number { margin: 23px 0 12px; font-size: 44px; }
  #confidence-value { font-size: 26px; }
  .label { font-size: 9px; letter-spacing: .07em; }
  .top-grid .card > p:not(.small):not(.tight) { font-size: 12px; margin-bottom: 18px; }
  .top-grid .small, .top-grid .subtle-link { font-size: 10px; }
  .card { padding: 21px 18px; }
  .card h2 { font-size: 18px; }
  .parameter-row { grid-template-columns: 141px 1fr 28px; gap: 11px; padding: 16px 0; }
  .pname { font-size: 11px; }
  .pval { font-size: 11px; }
  .split { margin-top: 16px; }
  .review-summary h2 { font-size: 38px; }
  .review-summary { min-height: 280px; }
  .controls label { min-width: 100%; }
  .details-head { gap: 13px; }
  .details-head h2 { font-size: 20px; }
  .detail-score { font-size: 42px; }
  .anchor-list { grid-template-columns: 1fr 1fr; gap: 9px; }
  .anchor { padding: 13px; font-size: 11px; }
  .source-summary { gap: 10px; }
  .source-name { font-size: 14px; }
  .source-body { margin-left: 0; padding-left: 12px; }
  .lab-row { grid-template-columns: 1fr 1fr 28px 54px; gap: 8px; }
  .lab-row label { font-size: 11px; }
  .gate { grid-template-columns: 30px 1fr; gap: 12px; }
  .gate-id { width: 30px; height: 34px; font-size: 20px; }
  .coverage-top { display: block; }
  .status-grid { grid-template-columns: 1fr; gap: 3px; }
  .status-grid dd { margin-bottom: 10px; }
  .table-wrap table { min-width: 570px; }
  .guide-footer { flex-wrap: wrap; gap: 15px; }
  .guide-intro h2 { font-size: 38px; }
  footer { gap: 18px; margin-top: 26px; }
}
@media (max-width: 370px) {
  .header-inner h1 { font-size: 52px; }
  .brand-mark { width: 49px; }
  .header-meta #header-date { float: none; display: block; margin: 4px 0 0; }
  .top-grid { grid-template-columns: 1fr; }
  .top-grid .card:not(.dark) { min-height: 0; }
  .top-grid .card .rule { margin-top: 0; }
  .parameter-row { grid-template-columns: 130px 1fr 25px; gap: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
@media print {
  :root { color-scheme: light; --paper: #fff; --white: #fff; --ink: #111; --muted: #454545; --line: #bbb; --accent: #111; --blue-light: #f2f2f2; --amber-light: #f5f5f5; }
  body { font-size: 11px; background: #fff !important; color: #111 !important; }
  header { border-top: 0; padding: 0 0 16px; }
  .brand-mark { display: none; }
  .header-inner h1 { font-size: 38px; }
  .header-meta { margin: 0; padding: 0; border: 0; }
  .header-meta #header-date { color: #444; }
  .header-meta .pill.dark { color: #111; }
  .tab { display: block !important; break-before: page; }
  #overview { break-before: auto; }
  nav, .beta-toolbar, .btn, .controls, .subtle-link, #lab, .skip-link { display: none !important; }
  .grid, .header-inner { display: block; }
  .card, .method { margin: 15px 0; break-inside: avoid; background: #fff !important; color: #111 !important; border: 1px solid #bbb; }
  .card.dark { background: #fff !important; color: #111; }
  .dark .small, .dark .label { color: #444; }
  .top-grid .card, .review-summary { min-height: 0; }
  .top-grid .rule, .review-summary .rule { margin-top: 16px; }
  .bar { background: #ddd; }
  .bar-range, .swatch { background: #888; }
  .bar-dot, .swatch.dot { background: #111; }
  .source-item { break-inside: avoid; }
  details:not([open]) .source-body { display: block; }
  .pill, .anchor, .formula, .audit-entry pre, .ref, th { background: #f2f2f2; color: #111; border-color: #aaa; }
  main { padding: 0; max-width: none; }
  footer { display: block; }
}
