/* newsreader-vietnamese-wght-normal */
@font-face {
  font-family: 'Newsreader Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./fonts/newsreader-vietnamese-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* newsreader-latin-ext-wght-normal */
@font-face {
  font-family: 'Newsreader Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./fonts/newsreader-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* newsreader-latin-wght-normal */
@font-face {
  font-family: 'Newsreader Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./fonts/newsreader-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* newsreader-vietnamese-wght-italic */
@font-face {
  font-family: 'Newsreader Variable';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url(./fonts/newsreader-vietnamese-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* newsreader-latin-ext-wght-italic */
@font-face {
  font-family: 'Newsreader Variable';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url(./fonts/newsreader-latin-ext-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* newsreader-latin-wght-italic */
@font-face {
  font-family: 'Newsreader Variable';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url(./fonts/newsreader-latin-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ibm-plex-sans-cyrillic-ext-400-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-sans-cyrillic-ext-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-cyrillic-ext-400-normal.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* ibm-plex-sans-cyrillic-400-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-sans-cyrillic-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-cyrillic-400-normal.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* ibm-plex-sans-greek-400-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-sans-greek-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-greek-400-normal.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* ibm-plex-sans-vietnamese-400-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-sans-vietnamese-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-vietnamese-400-normal.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* ibm-plex-sans-latin-ext-400-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-latin-ext-400-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ibm-plex-sans-latin-400-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-latin-400-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ibm-plex-sans-cyrillic-ext-500-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-sans-cyrillic-ext-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-cyrillic-ext-500-normal.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* ibm-plex-sans-cyrillic-500-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-sans-cyrillic-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-cyrillic-500-normal.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* ibm-plex-sans-greek-500-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-sans-greek-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-greek-500-normal.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* ibm-plex-sans-vietnamese-500-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-sans-vietnamese-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-vietnamese-500-normal.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* ibm-plex-sans-latin-ext-500-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-sans-latin-ext-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-latin-ext-500-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ibm-plex-sans-latin-500-normal */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-sans-latin-500-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ibm-plex-mono-cyrillic-ext-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-cyrillic-ext-400-normal.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* ibm-plex-mono-cyrillic-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-mono-cyrillic-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-cyrillic-400-normal.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* ibm-plex-mono-vietnamese-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-mono-vietnamese-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-vietnamese-400-normal.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* ibm-plex-mono-latin-ext-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-latin-ext-400-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ibm-plex-mono-latin-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-latin-400-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ibm-plex-mono-cyrillic-ext-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-mono-cyrillic-ext-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-cyrillic-ext-500-normal.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* ibm-plex-mono-cyrillic-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-mono-cyrillic-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-cyrillic-500-normal.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* ibm-plex-mono-vietnamese-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-mono-vietnamese-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-vietnamese-500-normal.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* ibm-plex-mono-latin-ext-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-latin-ext-500-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ibm-plex-mono-latin-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2'), url(./fonts/ibm-plex-mono-latin-500-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* pollywiki design tokens.
   Chamber colours follow the two federal chambers: eucalypt green for the
   House of Representatives, ochre red for the Senate. The ledger aesthetic
   (hairlines, mono figures, serif motion text) echoes the printed record.
   Layout and type scale follow the 2026-08 design revision: 780px column,
   length-tiered headlines, small-print disclaimer, dense mono metadata. */
:root {
  color-scheme: light dark;
  --paper: #fafaf7;
  --panel: #f2f2ec;
  --card: #fffefb;
  --ink: #1c2321;
  --muted: #5b655f;
  --faint: #6f6e65;
  --hair: #e0e2d8;
  --hair-strong: #c9ccbf;
  --house: #47664f;
  --house-tint: #e8efe8;
  --senate: #99473c;
  --senate-tint: #f4e9e5;
  --accent: #99473c;
  --aye: #2f6b4c;
  --aye-tint: #e4efe6;
  --no: #8c3b31;
  --no-tint: #f3e5e1;
  --focus: #1c4f9c;
  /* Input surface: white on paper, one step off the panel in the dark scheme. */
  --field: #fff;
  --banner: #fff4d6;
  --banner-hair: #e5d9a8;
  --banner-ink: #6b5a12;
  --serif: 'Newsreader Variable', 'Iowan Old Style', Georgia, serif;
  --sans: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --measure: 48.75rem;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.55;
}

a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--hair-strong);
  text-underline-offset: 3px;
}

a:hover {
  color: var(--accent);
  text-decoration-color: var(--accent);
}

:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

h1,
h2,
h3 {
  font-family: var(--serif);
  line-height: 1.15;
  margin: 0 0 0.5rem;
  text-wrap: balance;
}

/* Headline tiers: length decides the tier at build time. */
h1 {
  font-weight: 700;
  font-size: clamp(2.125rem, 5.5vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.015em;
}

h1.title-m {
  font-size: clamp(1.625rem, 4.5vw, 1.875rem);
  line-height: 1.22;
  letter-spacing: -0.012em;
}

h1.title-s {
  font-size: clamp(1.35rem, 3.8vw, 1.5rem);
  line-height: 1.3;
  letter-spacing: -0.008em;
}

h2 {
  font-weight: 600;
  font-size: 1.25rem;
  margin-top: 2.5rem;
}

p {
  margin: 0.4rem 0;
  max-width: 46rem;
}

.lede {
  font-size: 1.0625rem;
  line-height: 1.65;
}

.wrap {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Skip link: off-canvas until focused, then a card above the masthead. */
.skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
}

.skip:focus-visible {
  left: 0.75rem;
  top: 0.5rem;
  padding: 0.4rem 0.8rem;
  background: var(--card);
  border: 1px solid var(--hair-strong);
  border-radius: 4px;
  font-size: 0.875rem;
  text-decoration: none;
}

/* Header */
.site-header {
  border-bottom: 1px solid var(--hair-strong);
  background: var(--paper);
}

.site-header .wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 1.4rem;
  padding-top: 0.95rem;
  padding-bottom: 0.85rem;
}

.wordmark {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1.0625rem;
  text-decoration: none;
  letter-spacing: -0.01em;
}

.wordmark:hover {
  color: inherit;
}

.wordmark .tld {
  color: var(--muted);
  font-weight: 400;
}

.site-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 1.05rem;
  font-size: 0.875rem;
  margin-left: auto;
}

.site-nav a {
  text-decoration: none;
  color: var(--muted);
  padding: 0.15rem 0;
}

.site-nav a:hover {
  color: var(--ink);
}

.site-nav a[aria-current='page'] {
  color: var(--ink);
  font-weight: 600;
}

.quick-search {
  position: relative;
  min-width: 13rem;
}

/* Small screens: wordmark and search share the top row; the nav becomes a
   single swipeable row underneath instead of wrapping mid-list. */
@media (max-width: 40rem) {
  .site-header .wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      'brand search'
      'nav nav';
    align-items: center;
    row-gap: 0.55rem;
    column-gap: 0.9rem;
  }

  .wordmark {
    grid-area: brand;
  }

  .quick-search {
    grid-area: search;
    min-width: 0;
  }

  .site-nav {
    grid-area: nav;
    margin-left: 0;
    flex-wrap: nowrap;
    gap: 1.1rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .site-nav::-webkit-scrollbar {
    display: none;
  }

  .site-nav a {
    white-space: nowrap;
  }
}

.quick-search input {
  width: 100%;
  font: inherit;
  font-size: 0.85rem;
  padding: 0.3rem 0.6rem;
  border: 1px solid var(--hair-strong);
  border-radius: 4px;
  background: var(--field);
  color: var(--ink);
}

/* Right-anchored and wider than the input: the grouped results and the key
   hints on the footer row need more room than the header field has. */
.quick-search ul {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  right: 0;
  min-width: 100%;
  width: 22rem;
  max-width: calc(100vw - 2rem);
  margin: 0;
  padding: 0.25rem;
  list-style: none;
  background: var(--field);
  border: 1px solid var(--hair-strong);
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(28, 35, 33, 0.12);
  max-height: 19rem;
  overflow-y: auto;
}

.quick-search li a {
  display: block;
  padding: 0.35rem 0.5rem;
  text-decoration: none;
  border-radius: 2px;
}

.quick-search li a:hover,
.quick-search li a.active {
  background: var(--panel);
  color: inherit;
}

.quick-search .sub {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.quick-search .group {
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--faint);
  padding: 0.4rem 0.5rem 0.1rem;
}

.quick-search li.foot {
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px solid var(--hair);
}

.quick-search li.foot a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.quick-search .hint {
  font-family: var(--mono);
  font-size: 0.625rem;
  color: var(--faint);
  white-space: nowrap;
}

/* No keyboard, no key hints. */
@media (max-width: 40rem) {
  .quick-search .hint {
    display: none;
  }
}

/* Page top */
.masthead {
  padding: 2.6rem 0 1.6rem;
}

/* The first section heading sits close under its masthead: the lede has
   already made the break, so the usual section gap reads as a hole. */
.masthead + h2 {
  margin-top: 1.1rem;
}

.motto {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--muted);
  max-width: 52ch;
}

/* Meta row above the h1: chip + mono identifiers left, status right. */
.meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem 1rem;
  margin: 2.2rem 0 0.9rem;
}

.meta-row .ids {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--muted);
}

.meta-row .status .label {
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--faint);
  margin-right: 0.5rem;
}

.meta-row .status {
  display: inline-flex;
  align-items: center;
}

.meta-row .status .value {
  font-size: 0.84375rem;
  font-weight: 600;
}

.meta-row .status .bill-dots {
  margin-left: 0.6rem;
}

/* Result line under a division h1. */
.result-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 1rem;
  margin: 0.7rem 0 1.4rem;
}

.result-line strong {
  font-size: 0.9375rem;
}

.result-line .figures {
  font-family: var(--mono);
  font-size: 0.8125rem;
  color: var(--muted);
}

/* Chips */
.chip {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 4px;
  white-space: nowrap;
}

.chip.house {
  background: var(--house-tint);
  color: var(--house);
  border: 1px solid color-mix(in srgb, var(--house) 30%, transparent);
}

.chip.senate {
  background: var(--senate-tint);
  color: var(--senate);
  border: 1px solid color-mix(in srgb, var(--senate) 30%, transparent);
}

.group-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  font-size: 0.9rem;
  white-space: nowrap;
}

.group-chip .dot {
  width: 0.62rem;
  height: 0.62rem;
  border-radius: 50%;
  flex: none;
}

.vote-chip {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.78rem;
  padding: 0.08rem 0.5rem;
  border-radius: 2px;
  white-space: nowrap;
}

.vote-chip.aye {
  background: var(--aye-tint);
  color: var(--aye);
}

.vote-chip.no {
  background: var(--no-tint);
  color: var(--no);
}

.vote-chip.rebel {
  box-shadow: 0 0 0 1px currentColor;
}

/* Division outcome, in the official question terminology. */
.result-chip {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 1px 7px;
  border-radius: 2px;
  white-space: nowrap;
}

.result-chip.carried {
  background: var(--aye-tint);
  color: var(--aye);
}

.result-chip.negatived {
  background: var(--no-tint);
  color: var(--no);
}

/* Ledger rows: date · title · chamber-tally cluster */
.ledger {
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
  border-top: 1px solid var(--hair-strong);
}

.ledger li {
  display: grid;
  grid-template-columns: 5.75rem minmax(0, 1fr) minmax(12rem, auto);
  gap: 0.3rem 0.875rem;
  align-items: baseline;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--hair);
}

.ledger .when {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--faint);
  white-space: nowrap;
}

.ledger .what {
  min-width: 0;
  font-size: 0.9375rem;
}

.ledger .tally {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--muted);
  white-space: nowrap;
}

@media (max-width: 40rem) {
  .ledger li {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .ledger li.ledger-month,
  .bill-list li.ledger-month {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0 0.875rem;
  }

  .ledger .tally {
    justify-self: start;
  }
}

/* Month dividers: mono-caps month, hairline, count. Not a link, not a row. */
.ledger li.ledger-month,
.bill-list li.ledger-month {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0 0.875rem;
  align-items: center;
  padding: 1.3rem 0 0.5rem;
  border-bottom: 0;
}

.ledger-month .m {
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}

.ledger-month .rule {
  height: 1px;
  background: var(--hair-strong);
}

.ledger-month .n {
  font-family: var(--mono);
  font-size: 0.6875rem;
  color: var(--faint);
  white-space: nowrap;
}

/* Series rows: one matter a chamber divided on several times in a day. The
   summary line is laid out as an ordinary ledger row; the steps under it sit
   in the title column, one per question put, in the order they were decided. */
.ledger li.ledger-series {
  display: block;
  padding: 0;
}

.ledger-series summary {
  display: grid;
  grid-template-columns: 5.75rem minmax(0, 1fr) minmax(12rem, auto);
  gap: 0.3rem 0.875rem;
  align-items: baseline;
  padding: 0.7rem 0;
  cursor: pointer;
  list-style: none;
}

.ledger-series summary::-webkit-details-marker {
  display: none;
}

.ledger-series .series-note {
  display: block;
  margin-top: 0.15rem;
  font-family: var(--mono);
  font-size: 0.6875rem;
  color: var(--muted);
  white-space: nowrap;
}

.ledger-series .series-note::before {
  content: '\25B8';
  display: inline-block;
  width: 1em;
  color: var(--faint);
}

.ledger-series details[open] .series-note::before {
  content: '\25BE';
}

.ledger-series summary:hover .series-note {
  color: var(--ink);
}

.outcome-strip {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  max-width: 7.5rem;
  vertical-align: middle;
}

.outcome-strip i {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  box-sizing: border-box;
}

.outcome-strip i.carried {
  background: var(--aye);
}

.outcome-strip i.negatived {
  border: 1.5px solid var(--no);
}

.series-steps {
  list-style: none;
  margin: 0 0 0.6rem;
  padding: 0 0 0 6.625rem;
}

.series-steps li {
  display: grid;
  grid-template-columns: 5.75rem minmax(0, 1fr) minmax(12rem, auto);
  gap: 0.2rem 0.875rem;
  align-items: baseline;
  padding: 0.45rem 0;
  border-top: 1px dashed var(--hair);
  font-size: 0.875rem;
}

.series-steps .n {
  font-family: var(--mono);
  font-size: 0.6875rem;
  color: var(--faint);
  white-space: nowrap;
}

.series-steps .what {
  min-width: 0;
}

.series-steps .q {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.8125rem;
  color: var(--muted);
}

.series-steps .ai-mark {
  margin-left: 0.35rem;
  font-family: var(--mono);
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--faint);
  border: 1px solid var(--hair-strong);
  border-radius: 3px;
  padding: 0 4px;
  vertical-align: 0.1em;
}

.series-steps .tally {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--muted);
  white-space: nowrap;
}

.series-credit {
  margin: 0 0 0.8rem;
  padding-left: 6.625rem;
  font-size: 0.78125rem;
  color: var(--faint);
}

.series-credit .ai-tag {
  margin-right: 0.4rem;
}

@media (max-width: 40rem) {
  .ledger-series summary,
  .series-steps li {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .series-steps,
  .series-credit {
    padding-left: 0;
  }

  .series-steps .tally {
    justify-self: start;
  }
}

/* Proportion bars: neutral ink-vs-paper, sized per context. */
.vote-bar {
  display: inline-flex;
  height: 6px;
  width: 40px;
  border-radius: 2px;
  overflow: hidden;
  background: var(--hair-strong);
  flex: none;
}

.vote-bar .a {
  background: var(--ink);
}

.vote-bar.result {
  width: 160px;
  height: 8px;
}

/* Seat composition */
.seat-bar {
  margin: 1rem 0 1.4rem;
}

.seat-bar .label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.2rem 1rem;
  font-size: 0.84375rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.seat-bar .majority {
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 400;
  color: var(--faint);
}

/* The tick sits outside .bar so its overhang survives the bar's clipping. */
.seat-bar .bar-wrap {
  position: relative;
  padding-top: 0.9rem;
}

.seat-bar .bar {
  display: flex;
  gap: 1px;
  height: 14px;
  border-radius: 3px;
  overflow: hidden;
}

.seat-bar .bar > * {
  display: block;
  min-width: 1px;
  text-decoration: none;
}

.seat-bar .bar a:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: -2px;
}

.seat-bar .tick {
  position: absolute;
  top: calc(0.9rem - 4px);
  height: 22px;
  width: 2px;
  margin-left: -1px;
  background: var(--ink);
}

.seat-bar .tick-label {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  padding: 0 3px;
  background: var(--card);
  font-family: var(--mono);
  font-size: 0.625rem;
  line-height: 1;
  color: var(--muted);
}

.seat-bar .key {
  margin-top: 0.35rem;
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--muted);
}

.seat-bar .key a {
  text-decoration-color: var(--hair-strong);
}

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  margin: 0.8rem 0;
}

th {
  font-family: var(--mono);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: var(--faint);
  text-align: left;
  padding: 0.45rem 0.9rem 0.45rem 0;
  border-bottom: 1px solid var(--hair-strong);
}

td {
  padding: 0.5rem 0.9rem 0.5rem 0;
  border-bottom: 1px solid var(--hair);
  vertical-align: baseline;
}

td.num,
th.num {
  text-align: right;
  font-family: var(--mono);
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

td.num.zero {
  color: var(--faint);
}

.table-scroll {
  overflow-x: auto;
}

/* Labelled fact rows: mono caps label column, plain values. Row headers, so
   the th defaults are pulled back to the td metrics they replace. */
.facts th.label {
  font-family: var(--mono);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--faint);
  width: 11rem;
  white-space: nowrap;
  padding: 0.5rem 0.9rem 0.5rem 0;
  border-bottom: 1px solid var(--hair);
  vertical-align: baseline;
}

/* Bill list rows: title · chamber · status */
.bill-list {
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
  border-top: 1px solid var(--hair-strong);
}

.bill-list li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr) 4rem 3.5rem 6.875rem;
  gap: 0.3rem 0.875rem;
  align-items: baseline;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--hair);
  font-size: 0.9375rem;
}

.bill-list .when {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--faint);
  white-space: nowrap;
}

.bill-list .chamber {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--faint);
}

.bill-list .status {
  justify-self: end;
  text-align: right;
  font-size: 0.8125rem;
  color: var(--muted);
}

.bill-list .status.open {
  font-weight: 600;
  color: var(--ink);
}

/* Homepage activity rows: title, dots, latest event. Each li is its own grid,
   so the event column has to be a fixed width or the dots stop lining up
   between rows. 15.5rem holds the longest APH event plus a short date. */
.bill-list.activity li {
  grid-template-columns: minmax(0, 1fr) 3.5rem 18rem;
}

.bill-list .event {
  justify-self: end;
  text-align: right;
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--muted);
}

@media (max-width: 40rem) {
  .bill-list li,
  .bill-list.activity li {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .bill-list .status,
  .bill-list .event {
    justify-self: start;
    text-align: left;
  }
}

/* Bill progress: introduced -> passed 1st house -> passed 2nd house -> assent */
.bill-dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.bill-dots i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: none;
}

.bill-dots i.on {
  background: var(--ink);
}

.bill-dots i.off {
  border: 1px solid var(--hair-strong);
}

.dots-legend {
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--faint);
  margin: 0.5rem 0 0;
}

.dots-legend .bill-dots {
  margin-right: 0.5rem;
  vertical-align: -1px;
}

/* Segmented control + filter pills */
.segmented {
  display: inline-flex;
  border: 1px solid var(--hair-strong);
  border-radius: 6px;
  overflow: hidden;
}

.segmented button {
  font: inherit;
  font-size: 0.8125rem;
  padding: 6px 14px;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.segmented button + button {
  border-left: 1px solid var(--hair-strong);
}

.segmented button[aria-pressed='true'] {
  background: var(--ink);
  color: var(--paper);
  font-weight: 600;
}

.pills {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.pills button {
  font: inherit;
  font-size: 0.78125rem;
  padding: 4px 12px;
  border: 1px solid var(--hair-strong);
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.pills button[aria-pressed='true'] {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
  font-weight: 600;
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin: 1.2rem 0 0.4rem;
}

.filter-bar input,
.filter-bar select {
  font: inherit;
  font-size: 0.875rem;
  padding: 0.32rem 0.6rem;
  border: 1px solid var(--hair-strong);
  border-radius: 4px;
  background: var(--field);
  color: var(--ink);
}

.filter-bar input {
  flex: 1 1 12rem;
}

/* Filter feedback: live count, and an explicit way out of a dead end. */
.filter-count {
  margin: 0.15rem 0 0;
}

.filter-empty {
  margin: 1.6rem 0;
  padding: 1.5rem 1.25rem;
  border: 1px solid var(--hair);
  border-radius: 6px;
  background: var(--card);
  text-align: center;
}

.filter-empty p {
  max-width: none;
  margin: 0 0 0.8rem;
}

.filter-empty button {
  font: inherit;
  font-size: 0.8125rem;
  padding: 5px 14px;
  border: 1px solid var(--hair-strong);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.filter-empty button:hover {
  border-color: var(--ink);
}

/* Context cards: AI summaries and TVFY context */
.context-box {
  background: var(--card);
  border: 1px solid var(--hair);
  border-radius: 6px;
  padding: 1rem 1.25rem;
  margin: 1.4rem 0;
  max-width: var(--measure);
}

.context-box .context-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.45rem;
}

.context-box .context-head {
  font-family: var(--mono);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.context-box .ai-tag,
.series-credit .ai-tag {
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--muted);
  border: 1px solid var(--hair-strong);
  border-radius: 4px;
  padding: 2px 8px;
  white-space: nowrap;
}

.context-box .context-body {
  font-size: 0.9375rem;
  line-height: 1.6;
}

.context-box .context-body p {
  margin: 0.4rem 0;
}

.context-box .context-body blockquote {
  margin: 0.6rem 0 0.6rem 0.2rem;
  padding-left: 0.9rem;
  border-left: 2px solid var(--hair-strong);
  color: var(--muted);
}

.context-box .context-body ul,
.context-box .context-body ol {
  padding-left: 1.4rem;
}

.context-box .context-credit {
  margin-top: 0.6rem;
  font-size: 0.78125rem;
  color: var(--faint);
}

/* Procedure explainer: plain paragraph outside any card. */
.procedure-note {
  font-size: 0.875rem;
  max-width: var(--measure);
  color: var(--ink);
}

/* Every-vote columns */
.vote-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 2rem;
  margin-top: 0.6rem;
}

.vote-columns .col-head {
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  color: var(--faint);
  border-bottom: 1px solid var(--hair-strong);
  padding-bottom: 0.4rem;
}

.vote-columns ul {
  list-style: none;
  margin: 0.3rem 0 0;
  padding: 0;
  font-size: 0.875rem;
  line-height: 2.1;
}

@media (max-width: 40rem) {
  .vote-columns {
    grid-template-columns: 1fr;
  }
}

/* People cards */
.person-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.875rem;
  margin-top: 1.2rem;
}

@media (max-width: 48rem) {
  .person-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.person-card {
  display: block;
  padding: 0.875rem;
  border: 1px solid var(--hair);
  border-radius: 6px;
  background: var(--card);
  text-decoration: none;
}

.person-card:hover {
  border-color: var(--hair-strong);
  color: inherit;
}

.person-card .name {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 0.55rem;
}

.person-card .sub {
  display: block;
  color: var(--muted);
  font-size: 0.78125rem;
  margin-top: 0.1rem;
}

.avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  object-fit: cover;
  flex: none;
  background: var(--panel);
}

.avatar.initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mono);
  font-size: 0.85rem;
  color: var(--muted);
  border: 1px solid var(--hair-strong);
}

.avatar.large {
  width: 6.4rem;
  height: 6.4rem;
  font-size: 1.6rem;
}

.profile-head {
  display: flex;
  gap: 1.4rem;
  align-items: center;
  padding: 2.2rem 0 1.6rem;
  flex-wrap: wrap;
}

.profile-head .meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
  align-items: center;
  color: var(--muted);
  font-size: 0.9rem;
}

.meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
  align-items: center;
  color: var(--muted);
  font-size: 0.9rem;
}

.stat-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 2.2rem;
  padding: 1rem 0;
  border-top: 1px solid var(--hair-strong);
  border-bottom: 1px solid var(--hair);
}

.stat-strip .stat {
  flex: 1 1 10rem;
}

.stat-strip .stat .n {
  font-family: var(--mono);
  font-size: 1.5rem;
  font-variant-numeric: tabular-nums;
}

.stat-strip .stat .l {
  display: block;
  font-size: 0.8rem;
  color: var(--muted);
  max-width: 15rem;
}

.note {
  color: var(--muted);
  font-size: 0.85rem;
}

.attribution {
  color: var(--faint);
  font-size: 0.78125rem;
  margin-top: 1.6rem;
}

/* Section headings with a trailing link */
.section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.4rem;
}

.section-head h2 {
  margin: 0;
}

.section-head a {
  font-size: 0.8125rem;
  color: var(--muted);
}

/* Footer */
.site-footer {
  margin-top: 3.5rem;
  border-top: 1px solid var(--hair-strong);
  background: var(--panel);
}

.site-footer .wrap {
  padding-top: 1.4rem;
  padding-bottom: 2rem;
}

.site-footer .disclaimer {
  font-family: var(--serif);
  font-style: italic;
  font-size: 0.84375rem;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}

.freshness {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-top: 1.125rem;
  padding-top: 1rem;
  border-top: 1px solid var(--hair);
  font-family: var(--mono);
  font-size: 0.6875rem;
  color: var(--faint);
}

.freshness .ok::before {
  content: '● ';
  color: var(--aye);
}

.freshness .stale::before {
  content: '● ';
  color: var(--no);
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 1.125rem;
  margin-top: 0.8rem;
  font-size: 0.8125rem;
}

.site-footer .legal {
  font-size: 0.75rem;
  line-height: 1.6;
  color: var(--faint);
  margin-top: 0.7rem;
}

.sample-banner {
  background: var(--banner);
  border-bottom: 1px solid var(--banner-hair);
  color: var(--banner-ink);
  font-size: 0.85rem;
  text-align: center;
  padding: 0.4rem 1rem;
}

@media (prefers-reduced-motion: no-preference) {
  .quick-search ul {
    animation: rise 0.12s ease-out;
  }

  @keyframes rise {
    from {
      opacity: 0;
      transform: translateY(-3px);
    }
  }
}

/* Dark scheme: a token remap only, no rule duplication. Every value here is
   verified at 4.5:1 or better against --paper, --panel, --card and --field.
   Party dot and segment colours come from the data and stay as they are. */
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #191d1b;
    --panel: #222723;
    --card: #1f2421;
    --ink: #e8e6dd;
    --muted: #a3aaa1;
    --faint: #8c9289;
    --hair: #333934;
    --hair-strong: #4a504b;
    --house: #8fb096;
    --house-tint: #24312a;
    --senate: #cf8272;
    --senate-tint: #392b27;
    --accent: #c97f6f;
    --aye: #6fae8a;
    --aye-tint: #24342b;
    --no: #cf8272;
    --no-tint: #3a2a26;
    --focus: #7ea6e0;
    --field: #232826;
    --banner: #2e2a17;
    --banner-hair: #4a4325;
    --banner-ink: #e3d7a6;
  }
}

/* Print: the record and its provenance, nothing that only works on screen. */
@media print {
  :root {
    --paper: #fff;
    --panel: #fff;
    --card: #fff;
    --field: #fff;
    --ink: #111;
    --muted: #3f3f3f;
    --faint: #555;
    --hair: #ddd;
    --hair-strong: #999;
  }

  .site-header,
  .quick-search,
  .filter-bar,
  .filter-count,
  .filter-empty,
  .site-footer nav,
  .segmented,
  .pills,
  .skip,
  .sample-banner {
    display: none !important;
  }

  .site-footer {
    margin-top: 1.5rem;
    background: none;
  }

  a {
    text-decoration: none;
  }

  tr,
  .ledger li,
  .bill-list li,
  .context-box {
    break-inside: avoid;
  }

  .table-scroll {
    overflow-x: visible;
  }
}
