
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("IBM Plex Sans"), local("IBMPlexSans"), url("fonts/IBMPlexSans-Regular-Latin1.woff2") format("woff2");
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local("IBM Plex Sans Italic"), local("IBMPlexSans-Italic"), url("fonts/IBMPlexSans-Italic-Latin1.woff2") format("woff2");
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("IBM Plex Sans Medm"), local("IBMPlexSans-Medm"), url("fonts/IBMPlexSans-Medium-Latin1.woff2") format("woff2");
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("IBM Plex Sans SmBld"), local("IBMPlexSans-SmBld"), url("fonts/IBMPlexSans-SemiBold-Latin1.woff2") format("woff2");
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("IBM Plex Sans Bold"), local("IBMPlexSans-Bold"), url("fonts/IBMPlexSans-Bold-Latin1.woff2") format("woff2");
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("IBM Plex Mono"), local("IBMPlexMono"), url("fonts/IBMPlexMono-Regular-Latin1.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("IBM Plex Mono Medm"), local("IBMPlexMono-Medm"), url("fonts/IBMPlexMono-Medium-Latin1.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("IBM Plex Mono SmBld"), local("IBMPlexMono-SmBld"), url("fonts/IBMPlexMono-SemiBold-Latin1.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}

@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("IBM Plex Serif Medm"), local("IBMPlexSerif-Medm"), url("fonts/IBMPlexSerif-Medium-Latin1.woff2") format("woff2");
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("IBM Plex Serif SmBld"), local("IBMPlexSerif-SmBld"), url("fonts/IBMPlexSerif-SemiBold-Latin1.woff2") format("woff2");
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
}
@font-face {
  
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local("Playfair Display ExtraBold"), local("PlayfairDisplay-ExtraBold"), url("fonts/PlayfairDisplay-ExtraBold-Latin.woff2") format("woff2");
  unicode-range: U+0000-00FF;
}


:root {
  
  color-scheme: light;
  --bg: #e9edf1; --panel: #ffffff; --panel2: #dfe5ec; --line: #bcc6d1;
  --text: #0e141b; --dim: #57636f;
  --ice: #10538f;      
  --blue: #1462a8;     
  --inside: #1462a8;   
  --outside: #c2620f;  
  --unknown: #8d97a1;  
  --ok: #1d6b3f; --warn: #a4471a;
  --bar: #37475a;      
  
  --lift-cool: #17707a; --lift-mid: #e4e0d8; --lift-warm: #c2620f;
  --sans: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --serif: "IBM Plex Serif", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  
  --fs-xs: 11px;   
  --fs-sm: 12px;   
  --fs-base: 14px; 
  --fs-md: 16px;   
  --fs-lg: 20px;   
  --fs-xl: 24px;   
  --fs-2xl: 32px;  
  --fs-3xl: 44px;  
  --lh-tight: 1.2; 
  --lh-snug: 1.4;  
  --lh-body: 1.55; 
  
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px;
  --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;
  
  --page-max: 1080px; --gutter: var(--sp-5);
  --control-h: 44px; 
  --r-sm: 1px; --r-md: 2px; --r-lg: 3px; --r-pill: 999px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0d1117; --panel: #151b23; --panel2: #1d252f; --line: #2f3944;
    --text: #dbe3ec; --dim: #8b97a4;
    --ice: #61a8e8; --blue: #4d9de0; --inside: #4d9de0; --outside: #e0913f;
    --unknown: #6b7683; --ok: #63b37e; --warn: #e2905f; --bar: #8ea3ba;
    --lift-cool: #4fb0b8; --lift-mid: #3a4049; --lift-warm: #e0913f;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0d1117; --panel: #151b23; --panel2: #1d252f; --line: #2f3944;
  --text: #dbe3ec; --dim: #8b97a4;
  --ice: #61a8e8; --blue: #4d9de0; --inside: #4d9de0; --outside: #e0913f;
  --unknown: #6b7683; --ok: #63b37e; --warn: #e2905f; --bar: #8ea3ba;
  --lift-cool: #4fb0b8; --lift-mid: #3a4049; --lift-warm: #e0913f;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: var(--fs-md)/var(--lh-body) var(--sans);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 { line-height: var(--lh-tight); text-wrap: balance; }
p { text-wrap: pretty; }
a { color: var(--ice); text-decoration: none; }

button, select, textarea { font-family: var(--sans); }
a:hover { text-decoration: underline; }
main { max-width: var(--page-max); margin: 0 auto;
  padding: var(--sp-6) var(--gutter) var(--sp-8); }

.wordmark { font-family: var(--mono); font-weight: 700; font-size: var(--fs-xl); color: var(--text); white-space: nowrap; }
.wordmark b { color: var(--ice); }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip-path: inset(50%);
  white-space: nowrap; border: 0; }

.hero { text-align: center; padding: var(--sp-7) 0 var(--sp-2); }
.hero h1 { font-size: var(--fs-2xl); margin: 0 0 var(--sp-4); letter-spacing: -0.5px; }
.hero h1 em { color: var(--ice); font-style: normal; }
.hero > p { color: var(--dim); margin: 0 auto var(--sp-5); max-width: 62ch; }

form.decode { display: flex; gap: var(--sp-3); width: 100%; max-width: 760px;
  margin: 0 auto var(--sp-3); }
form.decode input[type=text], form.search input[type=text] {
  flex: 1; background: var(--panel2); color: var(--text);
  border: 1px solid var(--line); border-radius: var(--r-md); padding: 0 var(--sp-4);
  min-height: var(--control-h); font: var(--fs-md) var(--mono); min-width: 0;
}
form.decode input:focus, form.search input:focus { outline: 2px solid var(--blue);
  outline-offset: -1px; }
button {
  
  background: var(--blue); color: var(--bg); font-weight: 700; border: 0;
  border-radius: var(--r-md); padding: 0 var(--sp-5); font-size: var(--fs-md); cursor: pointer;
}

form.decode button { min-height: var(--control-h); }
.hint { color: var(--dim); font-size: var(--fs-base); text-align: center;
        max-width: 62ch; margin-inline: auto; }
.hint code { font-family: var(--mono); color: var(--text); }


.dim { color: var(--dim); font-size: var(--fs-sm); }


.stats { display: flex; gap: var(--sp-3); flex-wrap: wrap; justify-content: center; margin: var(--sp-6) 0; }
.stat {
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: var(--sp-3) var(--sp-5); text-align: center; min-width: 150px;
}
.stat .n { font: 700 var(--fs-xl) var(--mono); color: var(--ice); }
.stat .l { color: var(--dim); font-size: var(--fs-sm); }

.card {
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: var(--sp-5); margin: var(--sp-4) 0;
}
.card > :first-child { margin-top: 0; }
.card > :last-child { margin-bottom: 0; }
.card h2 { margin: 0 0 var(--sp-2); font-size: var(--fs-lg); }
.card h3 { margin: var(--sp-4) 0 var(--sp-2); font-size: var(--fs-base); color: var(--dim);
           text-transform: uppercase; letter-spacing: 0.08em; }
.kv { color: var(--dim); font-size: var(--fs-base); }
.kv b { color: var(--text); font-weight: 600; }
.badge {
  display: inline-block; font: 600 var(--fs-sm) var(--mono); border-radius: var(--r-sm);
  padding: 2px var(--sp-2); border: 1px solid var(--line); color: var(--ice);
  vertical-align: middle; margin-left: var(--sp-2);
}
.badge.miss { color: var(--warn); }

table { width: 100%; border-collapse: collapse; font-size: var(--fs-base);
  line-height: var(--lh-snug); font-variant-numeric: tabular-nums; }
th { text-align: left; color: var(--dim); font: 600 var(--fs-sm)/var(--lh-snug) var(--sans);
     vertical-align: bottom;
     text-transform: uppercase; letter-spacing: 0.06em;
     border-bottom: 1px solid var(--line); padding: var(--sp-2) var(--sp-3); }
td { border-bottom: 1px solid var(--line); padding: var(--sp-3); }
tr:last-child td { border-bottom: 0; }
td.num, th.num { text-align: right; white-space: nowrap; }
td.num { font-family: var(--mono); }

.mono { font-family: var(--mono); }
tr:hover td { background: var(--panel2); }

.bar { background: var(--panel2); border: 1px solid var(--line);
       border-radius: var(--r-sm); height: 8px; width: 120px;
       display: inline-block; vertical-align: middle; }
.bar i { display: block; height: 8px; border-radius: var(--r-sm);
         background: var(--blue); }

.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }

.grid2 > div { min-width: 0; }
@media (max-width: 860px) { .grid2 { grid-template-columns: 1fr; } }

.formula { font: var(--fs-sm) var(--mono); color: var(--dim); margin-top: var(--sp-2); }

.provenance, .coverage-strip { display: block; color: var(--dim);
  font-size: var(--fs-base); margin-top: var(--sp-4); padding: var(--sp-2) var(--sp-4);
  background: var(--panel2); border-left: 3px solid var(--ice);
  border-radius: 0 var(--r-md) var(--r-md) 0; }
.provenance a { font-family: var(--mono); font-size: var(--fs-sm); }

.vintage-line { color: var(--dim); font-size: var(--fs-sm); margin-top: var(--sp-2); }


body { display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1 0 auto; width: 100%; }
.site-foot { margin-top: var(--sp-8); background: var(--panel); border-top: 1px solid var(--line); }
.site-foot .inner { display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-4); min-height: 40px; padding: 0 var(--gutter); }
.site-foot nav { display: flex; flex-wrap: wrap; column-gap: var(--sp-5); }
.site-foot nav a { padding: var(--sp-2) 0; font: 600 var(--fs-xs)/1.4 var(--mono);
  letter-spacing: .12em; text-transform: uppercase; color: var(--dim); }
.site-foot nav a:hover { color: var(--ice); text-decoration: none; }
.site-foot nav a[aria-current="page"] { color: var(--text); }
.site-foot svg { flex: none; }


.hero.focal { min-height: calc(100vh - 210px); display: flex;
  flex-direction: column; justify-content: center; padding: 0; }
.hero.focal h1 { font-size: var(--fs-3xl); }
.hero-more { display: block; margin-top: var(--sp-7); color: var(--dim);
  font: var(--fs-base) var(--mono); letter-spacing: .12em; }
.hero-more:hover { color: var(--ice); text-decoration: none; }


.receipt { width: 420px; max-width: 100%; margin: 26px auto 14px;
  background: #faf8f2; color: #191919; padding: 22px 22px 16px;
  font: 13px/1.5 "Courier New", ui-monospace, monospace;
  position: relative;
  box-shadow: 0 16px 40px -16px rgba(20,26,44,.30), 0 2px 8px rgba(20,26,44,.15); }
.receipt::after { 
  content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 8px;
  background:
    linear-gradient(-45deg, transparent 5.66px, #faf8f2 0),
    linear-gradient(45deg, transparent 5.66px, #faf8f2 0);
  background-size: 16px 8px; background-repeat: repeat-x; }
.receipt a { color: #00589c; }
.receipt ::selection { background: #cfe3f5; }
.rc-brand { text-align: center; font-weight: 700; letter-spacing: .22em;
  font-size: 12px; }
.rc-sub { text-align: center; color: #555; font-size: 10.5px;
  letter-spacing: .08em; margin-top: 1px; }
.rc-rule { border-top: 1px dashed #9a958a; margin: 10px 0; }
.rc-label { font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: #555; }
.rc-name { font-size: 19px; font-weight: 700; line-height: 1.2;
  text-transform: uppercase; letter-spacing: -.3px; margin: 1px 0 6px; }
.rc-line { display: flex; justify-content: space-between; gap: 14px;
  align-items: baseline; }
.rc-line span { color: #444; font-size: 11.5px; text-transform: uppercase;
  letter-spacing: .04em; }
.rc-line b { font-weight: 700; text-align: right; }
.rc-head { font-weight: 700; font-size: 11.5px; letter-spacing: .12em;
  text-transform: uppercase; margin-bottom: 2px; }
.rc-big { font-size: 15px; font-weight: 700; line-height: 1.35; }
.rc-note { color: #555; font-size: 11px; line-height: 1.45; margin-top: 3px; }
.rc-foot { border-top: 1px solid #191919; margin-top: 12px; padding-top: 8px;
  color: #555; font-size: 10px; line-height: 1.6; }
.rc-perma { margin-top: 4px; }
.rc-copy { background: none; border: 1px solid #9a958a; border-radius: 4px;
  color: #444; font: 10px "Courier New", monospace; padding: 1px 8px;
  margin-left: 6px; cursor: pointer; }
.rc-copy:hover { border-color: #191919; color: #191919; }
.rc-verdict { text-align: center; margin-top: 18px; }
.rc-verdict .kv { display: block; margin-top: 4px; font-size: 12px; }
.rc-depth { text-align: center; font-size: 13.5px; margin: 14px 0 24px; }


.swap { display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap;
        margin: var(--sp-4) 0 var(--sp-4); }
.swap button {
  background: var(--panel2); color: var(--dim); font: 600 var(--fs-base)/1 inherit;
  font-family: inherit; border: 1px solid var(--line); border-radius: var(--r-pill);
  padding: var(--sp-2) var(--sp-4); cursor: pointer; transition: color .12s, border-color .12s,
  background .12s;
}
.swap button:hover { color: var(--text); border-color: var(--dim); }
.swap button[aria-pressed="true"] {
  background: var(--panel); color: var(--ice); border-color: var(--ice);
}
.swap button .ct { color: var(--dim); font-family: var(--mono);
                   font-weight: 400; margin-left: 6px; }
.swap button[aria-pressed="true"] .ct { color: var(--dim); }
.swap .roster-filter {
  margin-left: auto; min-width: 220px; flex: 0 1 300px;
  background: var(--panel2); color: var(--text); border: 1px solid var(--line);
  border-radius: var(--r-pill); padding: var(--sp-2) var(--sp-4); font: var(--fs-base) var(--mono);
}
.swap .roster-filter:focus { outline: 1px solid var(--blue); }

.pane { display: none; }
.pane.on { display: block; animation: pane-in .18s ease-out; }
@keyframes pane-in { from { opacity: 0; transform: translateY(3px); }
                     to { opacity: 1; transform: none; } }

.roster tr { transition: background .1s; }
.roster tbody tr:hover, .roster tr:has(a):hover { background: var(--panel2); }
.roster td:first-child a { font-weight: 600; }
.dist { font-family: var(--mono); color: var(--dim); font-size: var(--fs-base); }

.stategrid { display: grid; gap: var(--sp-3);
             grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.stategrid a {
  background: var(--panel2); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: var(--sp-3) var(--sp-4); display: block; transition: border-color .12s,
  transform .12s;
}
.stategrid a:hover { border-color: var(--ice); text-decoration: none;
                     transform: translateY(-1px); }
.stategrid a b { font: 700 var(--fs-md) var(--mono); color: var(--text); }
.stategrid a .kv { display: block; margin-top: 2px; font-size: var(--fs-sm); }

.chips { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin: 6px 0 2px; }
.chip { background: var(--panel2); border: 1px solid var(--line);
        border-radius: var(--r-pill); padding: 3px var(--sp-3); font-size: var(--fs-sm);
        color: var(--dim); text-transform: none; letter-spacing: normal; }
.chip b { color: var(--text); font-weight: 600; }


.spark { display: block; margin-bottom: 2px; }
.pcts { font: var(--fs-sm) var(--mono); color: var(--dim); white-space: nowrap; }
.pcts .up { color: var(--ok); }
.pcts .dn { color: var(--warn); }


.bcard { max-width: 780px; margin: 24px auto; background: var(--panel);
  border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  box-shadow: 0 0 0 6px var(--panel2), 0 0 0 7px var(--line); }
.bc-series { display: flex; justify-content: space-between;
  font: 600 11px var(--mono); letter-spacing: .14em; color: var(--dim);
  padding: 10px 22px; border-bottom: 1px solid var(--line);
  background: var(--panel2); }
.bc-head { padding: 20px 22px 12px; }
.bc-head h1 { margin: 0; font-size: 30px; letter-spacing: -.5px; }
.bc-pos { font: 600 13px var(--mono); color: var(--ice);
  letter-spacing: .1em; margin-top: 4px; }
.bc-sec { padding: 12px 22px; border-top: 1px solid var(--line); }
.bc-sec h2 { margin: 0 0 8px; font-size: 12px; color: var(--dim);
  text-transform: uppercase; letter-spacing: .1em; }
.bc-note { font-family: var(--mono); font-weight: 400; font-size: 10.5px;
  text-transform: none; letter-spacing: 0; }
.bc-line { margin: 0; font-size: 13.5px; color: var(--text); }
.bc-stats { width: 100%; border-collapse: collapse; font-size: 13px;
  margin-bottom: 6px; }
.bc-stats th { font: 600 10.5px var(--mono); color: var(--dim);
  text-transform: uppercase; letter-spacing: .06em; padding: 3px 6px 3px 0;
  border-bottom: 1px solid var(--line); text-align: left; }
.bc-stats td { padding: 4px 6px 4px 0; font-family: var(--mono);
  border-bottom: 1px dotted var(--line); }
.bc-stats th.num, .bc-stats td.num { text-align: right; }
.bc-blanks { background: var(--panel2); }
.bc-blanks .bc-line { color: var(--dim); font-family: var(--mono);
  font-size: 12px; }
.bc-fine { display: flex; justify-content: space-between; gap: 12px;
  flex-wrap: wrap; padding: 10px 22px; border-top: 1px solid var(--line);
  font-size: 11px; color: var(--dim); }
.bc-noscore { font: 600 11px var(--mono); letter-spacing: .06em; }


.bc-status { margin-left: 12px; padding: 2px 10px; border-radius: 99px;
  border: 1px solid var(--line); font-size: 11px; letter-spacing: .08em;
  color: var(--dim); vertical-align: 1px; }
.bc-status.on { color: var(--ok); border-color: var(--ok); }
.bc-status.off { color: var(--warn); border-color: var(--warn); }
.bc-el td { color: var(--ice); border-bottom-color: var(--ice); }
.bc-el td:first-child { font-weight: 700; }


.bc-head { display: flex; align-items: flex-start; gap: 18px;
  justify-content: space-between; }
.bc-photo { width: 96px; height: 118px; object-fit: cover; flex: none;
  border-radius: 8px; border: 1px solid var(--line);
  background: var(--panel2); }
.bc-mono { display: flex; align-items: center; justify-content: center;
  font: 700 44px var(--mono); color: var(--dim); }










.ledger .lrow { display: grid;
  grid-template-columns: minmax(0, 2.4fr) 6.4em 6.6em 4.4em
                         minmax(0, 1.5fr) 7em 9em;
  gap: .6em; align-items: baseline; padding: var(--sp-2) var(--sp-3);
  border-bottom: 1px solid var(--line); font-size: var(--fs-base); }
.ledger .lhead { color: var(--dim); font: 600 var(--fs-sm) var(--mono);
  text-transform: uppercase; letter-spacing: .05em; }
.ledger .num { text-align: right; font-family: var(--mono); }
.ledger details { margin: 0; }
.ledger summary { cursor: pointer; list-style: none; }
.ledger summary::-webkit-details-marker { display: none; }
.ledger .more { color: var(--ice); font-size: var(--fs-base); }
.ledger details[open] .more .closed-label,
.ledger details:not([open]) .more .open-label { display: none; }
.ledger .sub { background: var(--panel); }


h2.section { margin: var(--sp-6) 0 var(--sp-3); font: 600 var(--fs-base) var(--mono);
  color: var(--dim); text-transform: uppercase; letter-spacing: .1em; }
.badge.live { color: var(--ok); border-color: var(--ok); }
.badge.building { color: var(--warn); border-color: var(--warn); }
.badge.queued { color: var(--dim); }
.card.surface { transition: border-color .15s ease; }
.card.surface:hover { border-color: var(--ice); }
.card.surface h2 { display: flex; align-items: baseline; gap: var(--sp-3);
  flex-wrap: wrap; }
.card.surface h2 .kv { font-weight: 400; }


.lander { max-width: 820px; margin: 0 auto; }
.lander .hero { text-align: left; padding: var(--sp-7) 0 0; }
.lander .hero h1 { font-size: var(--fs-2xl); line-height: 1.2; letter-spacing: -0.8px;
  margin: 0 0 var(--sp-4); }
.lander .lede { color: var(--dim); font-size: var(--fs-md); margin: 0 0 var(--sp-4); }
.lander .ask { color: var(--text); font-size: var(--fs-md); margin: 0; }
.lander .figures { font: var(--fs-base)/2 var(--mono); color: var(--dim);
  margin: var(--sp-6) 0 var(--sp-6); }

.lander .lead, .lander .row { position: relative; display: block;
  padding: var(--sp-5) var(--sp-6) var(--sp-5) 0; border-top: 1px solid var(--line); }
.lander .lead { color: var(--text); }
.lander .lead:hover { text-decoration: none; }
.lander .lead h2 { margin: 0 0 6px; font-size: var(--fs-lg); display: flex;
  align-items: baseline; gap: var(--sp-3); flex-wrap: wrap; }
.lander .lead p, .lander .row p { margin: 0; color: var(--dim);
  font-size: var(--fs-base); }
.lander h2.section { margin: var(--sp-6) 0 0; }
.lander .row h3 { margin: 0 0 var(--sp-1); font-size: var(--fs-md); }
.lander .row h3 a { color: var(--text); }
.lander .row h3 a::after { content: ""; position: absolute; inset: 0; }
.lander .row .ex { margin-top: 5px; font-size: var(--fs-base); }
.lander .row .ex a { position: relative; z-index: 1; }
.lander .row:last-child { border-bottom: 1px solid var(--line); }

.lander .flat { border-top: 1px solid var(--line); padding: var(--sp-4) 0 var(--sp-1); }
.lander .flat h3 { margin: 0 0 6px; font-size: var(--fs-md); }
.lander.below .figures { margin: var(--sp-7) 0 var(--sp-5); }
.lander .grid2 .flat { border-top: 0; }
.lander .grid2 { border-top: 1px solid var(--line); padding-top: var(--sp-4); }

.lander .lead::after, .lander .row:has(h3 a)::before { content: "\2192";
  position: absolute; right: 4px; top: 20px; color: var(--dim);
  opacity: 0; transform: translateX(-4px);
  transition: opacity .12s, transform .12s; }
.lander .lead:hover::after, .lander .row:has(h3 a):hover::before {
  opacity: 1; transform: none; }
.lander .lead:hover h2, .lander .row:hover h3 a { color: var(--ice); }


.card.surface.click { position: relative; }
.card.surface.click h2 a { color: var(--text); }
.card.surface.click h2 a::after { content: ""; position: absolute; inset: 0; }
.card.surface.click .kv a { position: relative; z-index: 1; }
.card.surface.click:hover h2 a { color: var(--ice); text-decoration: none; }


.lab-item .crumb { margin: var(--sp-4) 0 0; }
.lab-item .hero { text-align: left; padding: var(--sp-4) 0 6px; }
.lab-item .hero h1 { font-size: var(--fs-xl); line-height: 1.25; margin: 0 0 var(--sp-3); }
.lab-item .hero p { margin: 0 0 var(--sp-3); }
.apirun table { font-size: var(--fs-base); }
.apirun td { font-family: var(--mono); font-size: var(--fs-sm);
  white-space: nowrap; }


.builder .hero { text-align: left; padding: var(--sp-6) 0 var(--sp-1); }
.builder .hero h1 { font-size: var(--fs-2xl); margin: 0 0 var(--sp-3); }
.builder .hero p { margin: 0 0 var(--sp-3); }
.builder .brow { display: flex; gap: var(--sp-3); align-items: center;
  flex-wrap: wrap; margin: var(--sp-1) 0 var(--sp-3); }
.builder .bin, .builder select.bin {
  background: var(--panel2); color: var(--text);
  border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--sp-2) var(--sp-3);
  font: var(--fs-base) var(--mono); }
.builder .bin:focus { outline: 1px solid var(--blue); }
.builder .bparams { display: grid; gap: var(--sp-3) var(--sp-4); margin: var(--sp-3) 0;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.builder .brow-p { display: flex; flex-direction: column; gap: var(--sp-1); }
.builder button { padding: var(--sp-2) var(--sp-4); }
.builder #example { background: var(--panel2); color: var(--dim);
  border: 1px solid var(--line); font-weight: 600; }
.builder #example:hover { color: var(--text); border-color: var(--dim); }
.builder #apiurl { font-family: var(--mono); font-size: var(--fs-sm);
  overflow-wrap: anywhere; }


.landing { max-width: 620px; margin: 13vh auto 0; text-align: center; }

.landing h1 { font: 800 58px 'Playfair Display', var(--serif);
  margin: 0 0 6px; letter-spacing: -.01em; }
.landing h1 b { color: var(--ice); }

.landing h1 .landing-mark { margin-left: var(--sp-4); vertical-align: baseline; }
.landing .lede { margin: 0 0 var(--sp-5); font-size: var(--fs-md); letter-spacing: .01em; }
.landing form { position: relative; display: flex; gap: var(--sp-3); }
.landing input[type=text] { border-radius: var(--r-md); padding: var(--sp-3) var(--sp-5); }
.landing button { border-radius: var(--r-md); }
.landing-stats { margin-top: 12vh; }

.landing-decide { margin-top: var(--sp-6); }

.landing-wire { position: absolute; top: 0; left: 0; right: 0;
  min-height: 40px; padding: var(--sp-2) var(--gutter); display: flex;
  align-items: center; gap: var(--sp-4); text-align: left;
  background: var(--panel); border-bottom: 1px solid var(--line); }

.site-wire { display: flex; align-items: center; gap: var(--sp-4);
  min-height: 40px; padding: var(--sp-2) var(--gutter); text-align: left; line-height: 1.4;
  background: var(--panel); border-bottom: 1px solid var(--line); }
.landing-wire[hidden] { display: none; }

.wire-logo { flex: none; display: inline-flex; align-items: baseline;
  gap: 6px; padding-right: var(--sp-4); border-right: 1px solid transparent;
  line-height: 1.4em; }
.site-wire:has(.wire-crawl) .wire-logo { border-right-color: var(--line); }
.wire-logo:hover { text-decoration: none; }
.wire-logo .wordmark { font-size: var(--fs-md); }
.wire-logo .wordmark b { color: var(--ice); font-weight: 700; }
.wire-logo .mark { width: 20px; height: 14px; }
.wire-crawl { flex: 1; min-width: 0; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.wire-track { display: flex; width: max-content;
  animation: wire-crawl var(--crawl-s, 45s) linear infinite; }
.wire-crawl:hover .wire-track,
.wire-track:focus-within { animation-play-state: paused; }
.wire-half { display: flex; align-items: center; gap: var(--sp-5);
  padding-right: var(--sp-5); }
.wire-half a, .wire-half .wire-ago { white-space: nowrap; }
.wire-ago { color: var(--dim); font-size: var(--fs-xs); text-transform: uppercase;
  letter-spacing: .06em; }

.wire-sep { flex: none; opacity: .8; transform: scaleX(-1); }
@keyframes wire-crawl { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .wire-track { animation: none; }
}
form.search { position: relative; }
form.search .egs { list-style: none; margin: 6px 0 0; padding: 5px;
  text-align: left; border: 1px solid var(--line); border-radius: var(--r-md);
  display: none; position: absolute; top: 100%; left: 0; right: 96px;
  background: var(--panel2); z-index: 5;
  box-shadow: 0 10px 32px rgba(0, 0, 0, .28), 0 2px 8px rgba(0, 0, 0, .18);
  max-height: min(60vh, 480px); overflow-y: auto; }
form.search:focus-within .egs:not(.empty):not(:empty) { display: block;
  animation: egs-in 120ms ease-out; }
@keyframes egs-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  form.search:focus-within .egs:not(.empty):not(:empty) { animation: none; }
}
form.search .egs a { display: flex; justify-content: space-between;
  align-items: baseline; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3);
  border-radius: calc(var(--r-md) - 3px); }
form.search .egs a:hover, form.search .egs a:focus,
form.search .egs a.is-active { background: var(--panel);
  text-decoration: none; box-shadow: inset 2px 0 0 var(--ice); }

form.search .egs a span:first-child { flex: 1 1 auto; min-width: 50%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
form.search .egs a .kv { flex: 0 1 auto; min-width: 0; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; text-align: right;
  font-size: var(--fs-xs); font-family: var(--mono); letter-spacing: .04em; }
@media (max-width: 480px) {
  
  form.search .egs a span:first-child { min-width: 62%; }
  form.search .egs a .kv { max-width: 38%; }
}
form.search .egs mark { background: none; color: var(--ice);
  font-weight: 700; }

form.search .egs.busy { overflow: hidden; }
form.search .egs.busy::before { content: ""; display: block; height: 2px;
  margin: -5px -5px var(--sp-1); border-radius: 2px 2px 0 0;
  background: linear-gradient(90deg, transparent, var(--ice), transparent);
  background-size: 200% 100%; animation: egs-busy .9s linear infinite; }
@keyframes egs-busy {
  from { background-position: 200% 0; }
  to { background-position: -100% 0; }
}
@media (prefers-reduced-motion: reduce) {
  form.search .egs.busy::before { animation: none; opacity: .5; }
}


.scroll-x { overflow-x: auto; }
.scroll-x table { min-width: 560px; }

@media (max-width: 640px) {
  .landing { margin-top: 7vh; }
  .landing h1 { font-size: var(--fs-3xl); }
  .landing form { flex-direction: column; }
  .landing form .egs { right: 0; position: static; }
  .landing button { padding: var(--sp-3) var(--sp-5); }
}




.hero-stats { display: flex; gap: var(--sp-3); flex-wrap: wrap; margin: var(--sp-4) 0 6px; }
.hero-stats .stat { background: var(--panel2); border: 1px solid var(--line);
  border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); min-width: 128px; text-align: left; }
.hero-stats .stat b { display: block; font: 700 var(--fs-xl) var(--mono);
  color: var(--ice); }
.hero-stats .stat .kv { font-size: var(--fs-sm); }
.hero-stats .stat-link { display: flex; flex-direction: column;
  justify-content: center; gap: 2px; background: var(--panel2);
  border: 1px solid var(--ice); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4);
  font-weight: 600; color: var(--text); }
.hero-stats .stat-link:hover { text-decoration: none; background: var(--panel);
  border-color: var(--blue); color: var(--ice); }


form.search .egs .readas { display: block; padding: 7px var(--sp-4) 5px;
  color: var(--dim); font: var(--fs-sm) var(--mono); letter-spacing: .03em;
  border-bottom: 1px dashed var(--line); margin-bottom: var(--sp-1); }
form.search .egs .readas:last-child { border-bottom: 0; }
.readline { font-family: var(--mono); font-size: var(--fs-base); }


.landing-pulse { margin-top: var(--sp-3); font-size: var(--fs-sm); }


details > summary { cursor: pointer; color: var(--ice); }
details > summary:hover { text-decoration: underline; }


td.num, .tnum, .mono, .num, .stat, .badge, .kv b { font-variant-numeric: tabular-nums; }


a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, summary:focus-visible {
  outline: 2px solid var(--blue); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important;
      transition-duration: .01ms !important; }
}


body { overflow-x: hidden; }
.ledger { overflow-x: auto; }
.ledger .lrow { min-width: 640px; }


@media (max-width: 640px) {
  .ledger { overflow-x: visible; }
  .ledger .lrow { min-width: 0; grid-template-columns: 1fr 1fr;
    row-gap: .15em; padding: var(--sp-3); }
  .ledger .lrow > span:first-child { grid-column: 1 / -1; }
  .ledger .lrow.lhead { display: none; }
  .ledger .lrow.more { grid-template-columns: 1fr; }
}


@media (max-width: 640px) {
  :root { --gutter: var(--sp-4); }
  main { padding: var(--sp-5) var(--gutter) var(--sp-7); }
  .card { padding: var(--sp-4) var(--sp-4); }
  .hero h1 { font-size: var(--fs-xl); }
  .hero.focal h1 { font-size: var(--fs-2xl); }
  .hero-stats .stat b { font-size: var(--fs-lg); }
  form.decode { flex-direction: column; }
  form.decode button { padding: var(--sp-3) var(--sp-5); }
}


figure.headshot { float: right; margin: 0 0 var(--sp-3) var(--sp-4); text-align: right; }
figure.headshot img {
  width: 92px; height: 114px; object-fit: cover; display: block;
  margin-left: auto; border-radius: var(--r-md); border: 1px solid var(--line);
}
figure.headshot figcaption {
  color: var(--dim); font-size: var(--fs-xs); margin-top: var(--sp-1); max-width: 150px;
}
.race-thumb {
  width: 26px; height: 32px; object-fit: cover; border-radius: var(--r-sm);
  border: 1px solid var(--line); vertical-align: middle; margin-right: 7px;
}




.card > h3:first-child { margin-top: 0; }
.card h4 { margin: var(--sp-5) 0 var(--sp-2); font-size: var(--fs-base); font-weight: 600;
  color: var(--text); }
.card h1.title-xl, .card h2.title-xl { font-size: var(--fs-2xl);
  margin: 0 0 var(--sp-1); letter-spacing: -.5px;
  margin: 0 0 6px; }
.title-xl .badge { vertical-align: 4px; font-size: var(--fs-base); }
.card h3.rule { border-top: 1px solid var(--line); padding-top: var(--sp-5);
  margin-top: var(--sp-6); }


.lander .hero > p, .builder .hero > p, .lab-item .hero > p {
  max-width: none; margin-left: 0; margin-right: 0; }
.hero .coverage-strip { max-width: 62ch; margin: 6px auto var(--sp-5);
  text-align: left; }


.refusal { display: inline-block; font: 600 var(--fs-sm) var(--mono);
  color: var(--warn); border: 1px dashed var(--line);
  border-radius: var(--r-sm); padding: 2px var(--sp-2); letter-spacing: .02em; }
.card.refusal { border-left: 3px solid var(--warn); }


.scope-note { font: 400 var(--fs-sm) var(--mono); color: var(--dim);
  letter-spacing: .04em; text-transform: none; margin-left: var(--sp-3);
  vertical-align: middle; }
.chips .bc-status { margin-left: 0; vertical-align: baseline; }
.chip:has(> a) { transition: border-color .12s; }
.chip:has(> a):hover { border-color: var(--ice); }
.folder-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.folder-badges .badge { margin-left: 0; color: var(--dim); font-weight: 400;
  background: var(--panel2); }


.airwar-strip { background: var(--panel2); border: 1px solid var(--line);
  border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); margin: var(--sp-3) 0 var(--sp-4); }
.airwar-strip .kv { margin: 0 0 6px; font-size: var(--fs-sm); }
.airwar-strip svg + .kv, .airwar-strip .kv:last-child { margin: 6px 0 0; }
.chartwrap { margin: var(--sp-2) 0 2px; }
.swatch { display: inline-block; width: 10px; height: 10px;
  border-radius: var(--r-sm); vertical-align: -1px; margin-right: var(--sp-1); }
.swatch.ice { background: var(--ice); }
.swatch.warn { background: var(--warn); }
.swatch.blue { background: var(--blue); }
.swatch.faded { opacity: .55; }


.hero-stats.center { justify-content: center; }
.hero-stats .stat-link b { display: block; font: 700 var(--fs-xl) var(--mono);
  color: var(--ice); }


td.date { font-family: var(--mono); font-size: var(--fs-base); color: var(--dim);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
td.rowkey { font-family: var(--mono); font-variant-numeric: tabular-nums;
  color: var(--text); }
.zero { color: var(--dim); }
td.nw { white-space: nowrap; }
td.wrap { max-width: 34ch; white-space: normal; }
table.register td { vertical-align: top; font-size: var(--fs-base); }
tr.grp th { background: var(--panel2); color: var(--text);
  font: 600 var(--fs-sm) var(--mono); letter-spacing: .04em;
  text-transform: none; padding: 6px var(--sp-3); }
tr.scoped td { background: var(--panel2); }
tr.scoped td:first-child { box-shadow: inset 3px 0 0 var(--ice); }
.barcell { width: 132px; }
.lag-note { display: block; font-family: var(--sans);
  font-size: var(--fs-sm); font-weight: 400; line-height: 1.4;
  white-space: normal; }
details > summary.kv { color: var(--ice); }


.pct { font: var(--fs-sm) var(--mono); color: var(--dim); margin-left: 6px;
  font-variant-numeric: tabular-nums; }


a.ext { font-family: var(--mono); font-size: var(--fs-sm); }
a.ext::after { content: "\2197"; margin-left: 3px; font-size: var(--fs-xs); }
.doclink { display: inline-block; font: 600 var(--fs-sm) var(--mono);
  border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 2px var(--sp-2); }
.doclink:hover { border-color: var(--ice); text-decoration: none; }
.jumps { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin: var(--sp-3) 0 2px; }
.jumps a { font: 600 var(--fs-sm) var(--mono); color: var(--ice);
  border: 1px solid var(--line); border-radius: var(--r-pill);
  padding: 3px var(--sp-3); }
.jumps a:hover { border-color: var(--ice); text-decoration: none; }
sup.bref { line-height: 0; }
.bref a { font: var(--fs-xs) var(--mono); }


.cols { display: flex; gap: 2rem; flex-wrap: wrap; }
.cols > div { min-width: 240px; }
.rc-alts { text-align: center; max-width: 60ch; margin: var(--sp-2) auto 0; }


.card.dossier-head figure.headshot img { width: 110px; height: 136px; }


a.thumbline { display: inline-flex; align-items: center; min-height: 32px; }

table td:first-child .thumbline { white-space: nowrap; }
.scroll-x table td:first-child { min-width: 220px; }
.race-thumb-empty { background: transparent; border: 0; }


.lander.below .grid2 { grid-template-columns: 1fr; gap: var(--sp-5); }


.rc-verdict .badge { margin-left: 0; font-size: var(--fs-base); padding: var(--sp-1) var(--sp-3);
  color: var(--ok); border-color: var(--ok); }
.rc-verdict .kv { max-width: 52ch; margin-inline: auto; }


.contest { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4);
  margin: var(--sp-3) 0 var(--sp-4); align-items: start; }
.contest[data-mode="1"] { grid-template-columns: 1fr; max-width: 560px; }
.contest .pc:nth-child(2) .pc-eyebrow,
.contest .pc:nth-child(2) .pc-title,
.contest .pc:nth-child(2) .pc-sub,
.contest .pc:nth-child(2) .pc-scent { text-align: right; }
.contest .pc:nth-child(2) .pc-scent,
.contest .pc:nth-child(2) .pc-figures { justify-content: flex-end; }
.contest-one { grid-column: 1 / -1; }
.cmpwrap { border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--panel); padding: var(--sp-4) var(--sp-5);
  margin: 0 0 var(--sp-4); }
.cmpnames { display: grid; grid-template-columns: 1fr auto 1fr;
  gap: var(--sp-3); align-items: baseline; margin-bottom: var(--sp-3); }
.cmpnames .nm { font: 600 var(--fs-md)/1.3 var(--mono); }
.cmpnames .nm.r { text-align: right; }
.cmpnames .mid { font: 600 var(--fs-xs)/1.4 var(--mono);
  letter-spacing: .12em; text-transform: uppercase; color: var(--dim); }
.cmprow { display: grid; grid-template-columns: 1fr minmax(180px, 260px) 1fr;
  gap: var(--sp-3); align-items: center; padding: var(--sp-2) 0;
  border-top: 1px solid var(--line); }
.cmprow .lab { text-align: center; }
.cmprow .lab b { display: block; font: 500 var(--fs-sm)/1.3 var(--sans); }
.cmprow .lab .q { display: block; font: var(--fs-xs)/1.5 var(--mono);
  color: var(--dim); }
.cmprow .side { display: flex; align-items: center; gap: var(--sp-2);
  min-width: 0; }
.cmprow .side.l { justify-content: flex-start; }
.cmprow .side.r { justify-content: flex-end; }
.cmprow .fig { font: 500 var(--fs-sm)/1.3 var(--mono);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.cmprow .trk { flex: 1 1 auto; max-width: 220px; height: 10px;
  background: var(--panel2); border-radius: var(--r-sm);
  overflow: hidden; }
.cmprow .side.l .trk { display: flex; justify-content: flex-end; }
.cmprow .trk i { display: block; height: 100%; background: var(--bar); }
.under-tier { margin: var(--sp-3) 0 var(--sp-4); padding: var(--sp-3)
  var(--sp-4); background: var(--panel2); border-radius: var(--r-md); }
.under-tier h4 { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); }
.under-row { margin: 2px 0; }
.under-row .under-why { font: var(--fs-xs)/1.5 var(--mono);
  color: var(--dim); float: right; }

.periods svg { display: block; max-width: 100%; height: auto; }
.periods .band { fill: var(--panel2); }
.periods .basel { stroke: var(--text); stroke-width: 1; }
.periods .div { stroke: var(--text); stroke-width: 1.5;
  stroke-dasharray: 5 4; }
.periods .dl { font: 600 var(--fs-sm) var(--mono); fill: var(--text); }

.periods .dl.empty { font-weight: 500; fill: var(--dim); }
.periods .dlc { font: 10px var(--mono); fill: var(--dim); }
.periods .ax, .periods .pl { font: var(--fs-xs) var(--mono); fill: var(--dim); }
.periods .spent { font: 600 9.5px var(--mono); fill: var(--dim); }


.seat-head { display: flex; flex-wrap: wrap; align-items: baseline;
             justify-content: space-between; gap: var(--sp-3) var(--sp-5); }
.seat-head .title-xl { margin: 0; }
.seat-holder { margin: 0; text-align: right; font-size: var(--fs-base); }
.seat-holder .kv { display: block; font-size: var(--fs-xs); }
.seat-holder .src { opacity: .7; }


.sect-head { display: flex; flex-wrap: wrap; align-items: baseline;
             justify-content: space-between; gap: var(--sp-2) var(--sp-5); }
.sect-head .rule { flex: 1 1 auto; }


.race-pick { position: relative; font-size: var(--fs-base); }
.race-pick > summary { cursor: pointer; list-style: none;
                       padding: 3px var(--sp-3); border: 1px solid var(--line);
                       border-radius: 999px; color: var(--ice);
                       white-space: nowrap; }
.race-pick > summary::-webkit-details-marker { display: none; }
.race-pick > summary::after { content: " \25be"; }
.race-pick > summary:hover { border-color: var(--ice); }
.race-pick nav { position: absolute; right: 0; z-index: 20;
                 margin-top: var(--sp-1); padding: 6px 0; min-width: 12em;
                 max-height: 60vh; overflow-y: auto;
                 background: var(--panel); border: 1px solid var(--line);
                 border-radius: var(--r-md);
                 box-shadow: 0 6px 24px rgba(0,0,0,.18); }
.race-pick nav a { display: block; padding: 5px var(--sp-4); white-space: nowrap; }
.race-pick nav a:hover { background: var(--panel2); }
.race-pick nav a[aria-current="page"] { font-weight: 600; color: var(--text); }


.periods .share-track { fill: var(--panel2); stroke: var(--line);
                        stroke-width: .5; }
.periods .share-fill { fill: var(--dim); }
.periods .share[data-floored] .share-fill { fill: var(--warn); }


.periods .hit { pointer-events: none; }
.periods .hit[data-lens="period"] { pointer-events: auto; cursor: pointer; }
.lens-in:checked ~ .periods .hit[data-lens="period"] { pointer-events: none; }
#lens-grass:checked ~ .periods .hit[data-lens="grass"],
#lens-self:checked  ~ .periods .hit[data-lens="self"],
#lens-pac:checked   ~ .periods .hit[data-lens="pac"],
#lens-dark:checked  ~ .periods .hit[data-lens="dark"] {
  pointer-events: auto; cursor: pointer; }
.periods .bar:hover .edge { stroke-width: 2; }


.detail-card { position: relative; border: 1px solid var(--line); border-radius: var(--r-md);
               padding: var(--sp-4) var(--sp-4); margin: var(--sp-4) 0 var(--sp-1);
               background: var(--panel); }
.detail-card > h4 { margin: 0 0 var(--sp-1); font-size: var(--fs-md); }
.detail-card .close { float: right; font-size: var(--fs-sm); }


.periods .keylbl { font: 10px var(--mono); fill: var(--dim); }
.periods .keysw { stroke: var(--line); stroke-width: .5; }
.periods .keysw.con { fill: var(--inside); }
.periods .keysw.non { fill: var(--outside); }
.periods .keysw.unk { fill: var(--unplaceable);
                      stroke: var(--unplaceable-line); }
.periods .keysw.con[data-hue="blue"]   { fill: var(--hue-blue-deep); }
.periods .keysw.non[data-hue="blue"]   { fill: var(--hue-blue-mid); }
.periods .keysw.con[data-hue="red"]    { fill: var(--hue-red-deep); }
.periods .keysw.non[data-hue="red"]    { fill: var(--hue-red-mid); }
.periods .keysw.con[data-hue="gold"]   { fill: var(--hue-gold-deep); }
.periods .keysw.non[data-hue="gold"]   { fill: var(--hue-gold-mid); }
.periods .keysw.con[data-hue="green"]  { fill: var(--hue-green-deep); }
.periods .keysw.non[data-hue="green"]  { fill: var(--hue-green-mid); }
.periods .keysw.con[data-hue="neutral"]{ fill: var(--hue-neutral-deep); }
.periods .keysw.non[data-hue="neutral"]{ fill: var(--hue-neutral-mid); }

.periods .sg.con { fill: var(--inside); }
.periods .sg.non { fill: var(--outside); }
.periods .sg.unk { fill: var(--unplaceable); stroke: var(--unplaceable-line);
                   stroke-width: .4; }
.periods .edge { fill: none; stroke: var(--line); stroke-width: .75; }
.periods .bar[data-sliver] .edge { stroke: var(--warn); }
.periods .row .bar[data-floored] .edge { stroke: none; }
.periods .row .bar[data-sliver] .edge { stroke: none; }
.periods .nil { stroke: var(--warn); stroke-width: 1.5; }
.periods .nilt { font: 10px var(--mono); fill: var(--warn); }
.periods .ruler line { stroke: var(--dim); stroke-width: 1; }
.periods .bar:hover .edge { stroke: var(--text); stroke-width: 1.5; }

.periods .nm { font: 600 var(--fs-base) var(--sans); fill: var(--text); }
.periods .nm.sm { font-size: var(--fs-xs); }
.periods .dl.sm { font: 600 var(--fs-xs) var(--mono); }

.periods .nm.hd { font-size: var(--fs-lg); }
.periods .dl.hd { font-size: var(--fs-lg); }
.periods .pct { fill: var(--dim); font-weight: 400; }


:root {
  --hue-blue-deep:#1b4f8a; --hue-blue-mid:#7fb0dc; --hue-blue-tint:#eef4fa;
  --hue-red-deep:#9c2b2b;  --hue-red-mid:#dc9490;  --hue-red-tint:#fbefee;
  --hue-gold-deep:#8a6a12; --hue-gold-mid:#dcc07f; --hue-gold-tint:#faf5e9;
  --hue-green-deep:#256b45; --hue-green-mid:#84c0a1; --hue-green-tint:#eef7f2;
  --hue-neutral-deep:#4a5560; --hue-neutral-mid:#a7b0b9;
  --hue-neutral-tint:#f1f3f5;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --hue-blue-deep:#5aa2e0; --hue-blue-mid:#2f5d86; --hue-blue-tint:#131c25;
    --hue-red-deep:#e0716b;  --hue-red-mid:#7d3a38;  --hue-red-tint:#241417;
    --hue-gold-deep:#d8b45c; --hue-gold-mid:#6b551a; --hue-gold-tint:#221d10;
    --hue-green-deep:#6fbb92; --hue-green-mid:#2c5a42;
    --hue-green-tint:#111f18;
    --hue-neutral-deep:#9aa4ae; --hue-neutral-mid:#49525b;
    --hue-neutral-tint:#171a1d;
  }
}
:root[data-theme="dark"] {
  --hue-blue-deep:#5aa2e0; --hue-blue-mid:#2f5d86; --hue-blue-tint:#131c25;
  --hue-red-deep:#e0716b;  --hue-red-mid:#7d3a38;  --hue-red-tint:#241417;
  --hue-gold-deep:#d8b45c; --hue-gold-mid:#6b551a; --hue-gold-tint:#221d10;
  --hue-green-deep:#6fbb92; --hue-green-mid:#2c5a42; --hue-green-tint:#111f18;
  --hue-neutral-deep:#9aa4ae; --hue-neutral-mid:#49525b;
  --hue-neutral-tint:#171a1d;
}
.periods .band[data-hue="blue"]   { fill: var(--hue-blue-tint); }
.periods .band[data-hue="red"]    { fill: var(--hue-red-tint); }
.periods .band[data-hue="gold"]   { fill: var(--hue-gold-tint); }
.periods .band[data-hue="green"]  { fill: var(--hue-green-tint); }
.periods .band[data-hue="neutral"]{ fill: var(--hue-neutral-tint); }
.periods [data-hue="blue"]   .sg.con { fill: var(--hue-blue-deep); }
.periods [data-hue="blue"]   .sg.non{ fill: var(--hue-blue-mid); }
.periods [data-hue="red"]    .sg.con { fill: var(--hue-red-deep); }
.periods [data-hue="red"]    .sg.non{ fill: var(--hue-red-mid); }
.periods [data-hue="gold"]   .sg.con { fill: var(--hue-gold-deep); }
.periods [data-hue="gold"]   .sg.non{ fill: var(--hue-gold-mid); }
.periods [data-hue="green"]  .sg.con { fill: var(--hue-green-deep); }
.periods [data-hue="green"]  .sg.non{ fill: var(--hue-green-mid); }
.periods [data-hue="neutral"] .sg.con { fill: var(--hue-neutral-deep); }
.periods [data-hue="neutral"] .sg.non{ fill: var(--hue-neutral-mid); }
.periods .nm[data-hue="blue"]   { fill: var(--hue-blue-deep); }
.periods .nm[data-hue="red"]    { fill: var(--hue-red-deep); }
.periods .nm[data-hue="gold"]   { fill: var(--hue-gold-deep); }
.periods .nm[data-hue="green"]  { fill: var(--hue-green-deep); }
.periods .nm[data-hue="neutral"]{ fill: var(--hue-neutral-deep); }

.periods .axarrow { stroke: var(--dim); stroke-width: 1; }
.periods .axl { font: var(--fs-xs) var(--mono); fill: var(--dim);
                letter-spacing: .02em; }


.lenses > .lens-in { position: absolute; opacity: 0; pointer-events: none; }
.lens-bar { display: flex; flex-wrap: wrap; align-items: center;
            justify-content: center; gap: var(--sp-3); margin: var(--sp-3) 0 var(--sp-1); }
.lens-btn { display: inline-flex; align-items: center; gap: 6px;
            padding: var(--sp-1) var(--sp-3); border: 1px solid var(--line);
            border-radius: 999px; cursor: pointer; font-size: var(--fs-base);
            user-select: none; background: var(--panel); }
.lens-btn:hover { border-color: var(--ice); }

.lenses > .lens-card { display: none; }
#lens-grass:checked ~ .lens-card-grass,
#lens-self:checked  ~ .lens-card-self,
#lens-pac:checked   ~ .lens-card-pac,
#lens-dark:checked  ~ .lens-card-dark { display: block; }
.lens-in:focus-visible ~ .periods .lens-bar .lens-btn,
.lens-in:focus-visible ~ .airwar-strip .lens-btn { outline: 2px solid var(--ice);
            outline-offset: 2px; }

.graph-method { margin: 6px 0 2px; }
.graph-method > summary { font-size: var(--fs-sm); color: var(--dim);
                          cursor: pointer; text-align: center; }
.graph-method > summary:hover { color: var(--ice); }
.sw-grass { background: var(--grass); }
.sw-dark { background: var(--darkm); }
.sw-self { background: var(--selff); }
.sw-pac { background: var(--pacm); }
:root { --grass: #2e8b57; --darkm: #14181c;
        --selff: #7a4fa8; --pacm: #b5731c;
        
        --unplaceable: #ffffff; --unplaceable-line: #c3cbd3;
        
        --flag: #b58900; }
:root[data-theme="dark"] { --grass: #4cb37a; --darkm: #0b0d10;
        --selff: #b394dd; --pacm: #dda257;
        --unplaceable: #eef1f4; --unplaceable-line: #8d97a1;
        --flag: #e0b25a; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --grass: #4cb37a; --darkm: #0b0d10;
        --selff: #b394dd; --pacm: #dda257;
        --unplaceable: #eef1f4; --unplaceable-line: #8d97a1;
        --flag: #e0b25a; }
}

.periods .lens { opacity: 0; pointer-events: none;
                 transition: opacity .15s ease; }
.periods .lens.grass { fill: url(#pd-grass); }
.periods .lens.dark { fill: var(--darkm); stroke: var(--dim);
                      stroke-width: .4; }

.periods .lens.dark.trail { fill: url(#pd-dark-trail); }
#lens-dark:checked ~ .periods .lens.dark { opacity: 1; }
.periods .lens.self { fill: url(#pd-self); }
.periods .lens.pac  { fill: url(#pd-pac); }

.periods .lens.unk { fill: none; stroke: var(--unknown); stroke-width: 1; }
#lens-self:checked ~ .periods .lens.self { opacity: .92; }
#lens-pac:checked  ~ .periods .lens.pac  { opacity: .92; }
#lens-self:checked ~ .periods .sg,
#lens-pac:checked  ~ .periods .sg { opacity: .28; }
#lens-self:checked ~ .periods .lens-bar .lens-self,
#lens-self:checked ~ .airwar-strip .lens-self {
  border-color: var(--selff); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--selff); }
#lens-pac:checked ~ .periods .lens-bar .lens-pac,
#lens-pac:checked ~ .airwar-strip .lens-pac {
  border-color: var(--pacm); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--pacm); }
#lens-dark:checked ~ .periods .lens-bar .lens-dark,
#lens-dark:checked ~ .airwar-strip .lens-dark {
  border-color: var(--darkm); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--darkm); }
#lens-grass:checked ~ .periods .lens.grass { opacity: .92; }

#lens-grass:checked ~ .periods .sg,
#lens-grass:checked ~ .periods .unsp { opacity: .28; }
#lens-grass:checked ~ .periods .lens-bar .lens-grass,
#lens-grass:checked ~ .airwar-strip .lens-grass {
  border-color: var(--grass); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--grass); }

.periods .spent, .periods .pl { opacity: 0; transition: opacity .12s ease; }
.periods .bar:hover .spent, .periods .bar:focus-within .spent,
.periods .bar:hover .pl, .periods .bar:focus-within .pl { opacity: 1; }

.periods > svg.ph { display: none; }
@media (max-width: 640px) {
  .periods { overflow-x: auto; }
  .periods svg { min-width: 860px; }
  .periods > svg:not(.ph):has(~ svg.ph) { display: none; }
  .periods > svg.ph { display: block; min-width: 0; }
}
.periods svg.ph .lens.grass { fill: url(#pp-grass); }
.periods svg.ph .lens.dark.trail { fill: url(#pp-dark-trail); }
.periods svg.ph .lens.self { fill: url(#pp-self); }
.periods svg.ph .lens.pac  { fill: url(#pp-pac); }
.sw-hatch { background: var(--unknown); }
.sw-unsplit { background: repeating-linear-gradient(45deg,
  var(--panel2), var(--panel2) 3px, var(--line) 3px, var(--line) 5px); }
@media (max-width: 860px) {
  .contest { grid-template-columns: 1fr; }
  .contest .pc:nth-child(2) .pc-eyebrow,
  .contest .pc:nth-child(2) .pc-title,
  .contest .pc:nth-child(2) .pc-sub,
  .contest .pc:nth-child(2) .pc-scent { text-align: left; }
  .contest .pc:nth-child(2) .pc-scent,
  .contest .pc:nth-child(2) .pc-figures { justify-content: flex-start; }
  .cmprow { grid-template-columns: 1fr; gap: var(--sp-1); }
  .cmprow .lab { text-align: left; order: -1; }
}


.pc {
  --pc-bg: var(--panel); --pc-line: var(--line); --pc-ink: var(--text);
  --pc-dim: var(--dim); --pc-accent: var(--ice);
  background: var(--pc-bg); border: 1px solid var(--pc-line);
  border-radius: var(--r-md); padding: var(--sp-4);
  color: var(--pc-ink); position: relative;
}
.pc-eyebrow { font: 600 var(--fs-xs)/1.3 var(--mono); letter-spacing: .12em;
  text-transform: uppercase; color: var(--pc-dim); }
.pc-serial { font-weight: 400; letter-spacing: .04em; }
.pc-title { margin: 2px 0 0; font: 600 var(--fs-lg)/1.25 var(--sans);
  letter-spacing: -.2px; }
.pc-title[data-as-filed] { font-family: var(--mono); font-weight: 600;
  font-size: var(--fs-md); letter-spacing: 0; }
.pc-title .pc-hit { color: var(--pc-ink); }
.pc-title .pc-hit:hover { color: var(--pc-accent); text-decoration: none; }
.pc-sub { color: var(--pc-dim); font-size: var(--fs-sm); margin-top: 1px; }
.pc-fold { font-family: var(--mono); }
.pc-scent { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-2);
  margin-top: var(--sp-2); font: var(--fs-xs)/1.5 var(--mono);
  color: var(--pc-dim); }
.pc-bit { white-space: nowrap; }
.pc-bit + .pc-bit::before { content: "\00b7\2002"; color: var(--pc-line); }
.pc-bit[data-facet]:is(a):hover { color: var(--pc-accent); }
.pc-id { letter-spacing: .04em; }
.pc-figures { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5);
  margin-top: var(--sp-3); }
.pc-fig { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.pc-fig-v { font: 600 var(--fs-lg)/1.1 var(--mono);
  font-variant-numeric: tabular-nums; color: var(--pc-ink); }
.pc-fig-l { font: var(--fs-xs)/1.4 var(--sans); color: var(--pc-dim); }
.pc-fig-m { font: var(--fs-xs)/1.4 var(--mono); color: var(--pc-dim); }
.pc-fig-m a { color: var(--pc-accent); }
.pc-fig-r { font: var(--fs-xs)/1.4 var(--sans); color: var(--pc-dim);
  max-width: 30ch; }
.pc-refusal { color: var(--warn); font-weight: 600;
  font-size: var(--fs-sm); }
.pc-chart { margin: var(--sp-3) 0 0; }
.pc-chart svg { display: block; max-width: 100%; height: auto; }
.pc-legend { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4);
  font: var(--fs-xs)/1.6 var(--mono); color: var(--pc-dim);
  margin-top: var(--sp-2); }
.pc-swatch { display: inline-block; width: 10px; height: 10px;
  border-radius: var(--r-sm); vertical-align: -1px; margin-right: var(--sp-1); }
.pc-basis { color: var(--pc-dim); }
.pc-absent { font: var(--fs-xs)/1.5 var(--mono); color: var(--warn);
  margin-top: var(--sp-1); }
.pc-notes { margin-top: var(--sp-3); display: flex; flex-direction: column;
  gap: var(--sp-1); }
.pc-note { margin: 0; font: var(--fs-sm)/1.5 var(--sans);
  color: var(--pc-dim); max-width: 62ch; }
details.pc-note summary { cursor: pointer; color: var(--pc-dim); }
details.pc-note[open] summary { color: var(--pc-ink); }
details.pc-note.pc-chip summary { display: inline-block;
  font: 600 var(--fs-xs)/1.5 var(--mono); border: 1px dashed var(--pc-line);
  border-radius: var(--r-sm); padding: 1px 7px; letter-spacing: .02em; }
.pc-edge { margin-top: var(--sp-3); padding-top: var(--sp-2);
  border-top: 1px solid var(--pc-line); display: flex; flex-wrap: wrap;
  gap: var(--sp-1) var(--sp-3); font: var(--fs-xs)/1.6 var(--mono);
  color: var(--pc-dim); align-items: baseline; }
.pc-edge .pc-bref { color: var(--pc-accent); }
.pc-doors { margin-top: var(--sp-2); display: flex; flex-wrap: wrap;
  gap: var(--sp-1) var(--sp-3); font: 600 var(--fs-sm)/1.5 var(--mono); }
.pc-rail { float: right; margin: 0 0 var(--sp-2) var(--sp-3);
  text-align: right; }
.pc-rail img { width: 72px; height: 90px; object-fit: cover; display: block;
  margin-left: auto; border-radius: var(--r-md);
  border: 1px solid var(--pc-line); }
.pc-credit { font: var(--fs-xs)/1.4 var(--mono); color: var(--pc-dim); }
.pc-mono { display: flex; width: 72px; height: 90px; align-items: center;
  justify-content: center; font: 700 var(--fs-2xl) var(--mono);
  color: var(--pc-dim); background: var(--panel2);
  border-radius: var(--r-md); border: 1px solid var(--pc-line); }
.pc-members { margin-top: var(--sp-3); display: flex; flex-direction: column;
  gap: var(--sp-2); }


.pc[data-density="row"] { display: block; padding: var(--sp-2) var(--sp-3); }
.pc[data-density="row"] .pc-title { font-size: var(--fs-md); }
.pc[data-density="row"] .pc-chart { display: none; }
.pc[data-density="row"] .pc-figures { gap: var(--sp-2) var(--sp-4);
  margin-top: var(--sp-1); }
.pc[data-density="row"] .pc-fig-v { font-size: var(--fs-md); }
.pc[data-density="row"] .pc-rail img, .pc[data-density="row"] .pc-mono {
  width: 44px; height: 54px; }

.pc[data-density="row"] .pc-note { font-size: var(--fs-xs); }
.pc[data-density="panel"] { padding: var(--sp-5); }
.pc[data-density="page"] { border: 0; background: none; padding: 0; }

.pcset { margin: var(--sp-5) 0; }
.pcset-h { margin: 0 0 2px; font-size: var(--fs-lg); }
.pcset-sort, .pcset-floor, .pcset-absence { margin: 2px 0;
  font: var(--fs-xs)/1.6 var(--mono); color: var(--dim); }
.pcset-absence { font-family: var(--sans); font-size: var(--fs-sm);
  max-width: 62ch; }
.pcset-grid { display: grid; gap: var(--sp-3);
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  margin-top: var(--sp-3); }
.pcset-grid[data-density="row"] { grid-template-columns: 1fr; gap: var(--sp-2); }
.pcset-notes { margin-top: var(--sp-2); display: flex; flex-direction: column;
  gap: var(--sp-1); }
.pcset-notes .pc-note { margin: 0; font: var(--fs-sm)/1.5 var(--sans);
  color: var(--dim); max-width: 62ch; }
@media (max-width: 640px) {
  .pcset-grid { grid-template-columns: 1fr; }
}


@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .receipt {
    box-shadow: 0 24px 60px -18px rgba(0,0,0,.95), 0 3px 12px rgba(0,0,0,.5); }
}
:root[data-theme="dark"] .receipt {
  box-shadow: 0 24px 60px -18px rgba(0,0,0,.95), 0 3px 12px rgba(0,0,0,.5); }


.panes { position: relative; display: grid;
         grid-template-columns: 168px minmax(120px, max-content) minmax(0, 1fr);
         grid-template-rows: minmax(0, 1fr); gap: 0 var(--sp-4);
         height: 300px; margin-top: var(--sp-3); }
.panes > .pane-in { position: absolute; opacity: 0; pointer-events: none;
                    width: 0; height: 0; }
.pane-toggles { grid-column: 2; grid-row: 1; display: flex;
                flex-direction: column; gap: 6px; padding-top: 6px;
                max-width: 200px; overflow-y: auto; }
.pane-tg { display: block; padding: var(--sp-1) var(--sp-3); border: 1px solid var(--line);
           border-radius: 999px; cursor: pointer; font-size: var(--fs-sm);
           user-select: none; background: var(--panel); color: var(--text);
           white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pane-tg:hover { border-color: var(--ice); }
.pane { display: none; }
.pane-pie { grid-column: 1; grid-row: 1; display: flex; flex-direction: column;
            align-items: center; gap: 6px; }
.pane-pie .pie { display: block; }
.pane-pie .kv { font-size: var(--fs-xs); margin: 0; line-height: 1.3; }
.pane-pie .kv.flag { color: var(--outside); }
.pie .ring { stroke: var(--panel2); }

:root { --nonpac: #a39e97; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --nonpac: #77726b; } }
:root[data-theme="dark"] { --nonpac: #77726b; }
.pie .w-nonpac { stroke: var(--nonpac); }
.pie .w-nonpac[data-hue="blue"]    { stroke: var(--hue-blue-mid); }
.pie .w-nonpac[data-hue="red"]     { stroke: var(--hue-red-mid); }
.pie .w-nonpac[data-hue="gold"]    { stroke: var(--hue-gold-mid); }
.pie .w-nonpac[data-hue="green"]   { stroke: var(--hue-green-mid); }
.pie .w-nonpac[data-hue="neutral"] { stroke: var(--hue-neutral-mid); }
.pie .w-given, .pie .w-activity { stroke: var(--pacm); }
.pie .w-spent { stroke: var(--pacm); opacity: .45; }
.pie .pie-rat { opacity: .22; }

.pie .pie-rat.flagged { opacity: .45; }
.pie .ctr { font: 600 var(--fs-xl) var(--mono); fill: var(--text); }
.pie .sub { font: var(--fs-xs) var(--mono); fill: var(--dim); }
.pie-key { list-style: none; margin: 0; padding: 0; width: 100%;
           font-size: var(--fs-xs); }
.pie-key li { display: grid; grid-template-columns: 10px 1fr; gap: 2px 6px;
              align-items: center; padding: 1px 0; }
.pie-key .num { grid-column: 2; color: var(--dim); font-family: var(--mono);
                font-size: var(--fs-xs); }
.pie-sw { display: inline-block; width: 10px; height: 10px; border-radius: 2px;
          border: 1px solid var(--line); }
.pie-sw.w-nonpac { background: var(--nonpac); }
.pie-sw.w-nonpac[data-hue="blue"]    { background: var(--hue-blue-mid); }
.pie-sw.w-nonpac[data-hue="red"]     { background: var(--hue-red-mid); }
.pie-sw.w-nonpac[data-hue="gold"]    { background: var(--hue-gold-mid); }
.pie-sw.w-nonpac[data-hue="green"]   { background: var(--hue-green-mid); }
.pie-sw.w-nonpac[data-hue="neutral"] { background: var(--hue-neutral-mid); }
.pie-sw.w-given, .pie-sw.w-activity { background: var(--pacm); }
.pie-sw.w-spent { background: var(--pacm); opacity: .45; }
.pane-list { grid-column: 3; grid-row: 1; position: relative; min-height: 0;
             display: flex; flex-direction: column; }
.pane-list > .kv { margin: 0 0 var(--sp-1); font-size: var(--fs-sm); }
.pane-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto;
               border: 1px solid var(--line); border-radius: var(--r-sm); }
.pane-scroll table { min-width: 0; }
.pane-scroll th { position: sticky; top: 0; background: var(--panel);
                  z-index: 1; }

.pane-list.more .pane-scroll::after { content: ""; position: sticky;
   display: block; bottom: 0; height: 26px; margin-top: -26px;
   background: linear-gradient(to bottom, transparent, var(--panel));
   pointer-events: none; }
.scroll-cue { position: absolute; right: 10px; bottom: 6px; font-size: var(--fs-xs);
              color: var(--dim); background: var(--panel);
              border: 1px solid var(--line); border-radius: 999px;
              padding: 1px var(--sp-2); pointer-events: none; }

.pane-in-1:checked ~ .pane-1,
.pane-in-2:checked ~ .pane-2,
.pane-in-3:checked ~ .pane-3,
.pane-in-4:checked ~ .pane-4,
.pane-in-5:checked ~ .pane-5,
.pane-in-6:checked ~ .pane-6,
.pane-in-7:checked ~ .pane-7,
.pane-in-8:checked ~ .pane-8,
.pane-in-9:checked ~ .pane-9,
.pane-in-10:checked ~ .pane-10,
.pane-in-11:checked ~ .pane-11,
.pane-in-12:checked ~ .pane-12,
.pane-in-13:checked ~ .pane-13,
.pane-in-14:checked ~ .pane-14,
.pane-in-15:checked ~ .pane-15,
.pane-in-16:checked ~ .pane-16,
.pane-in-17:checked ~ .pane-17,
.pane-in-18:checked ~ .pane-18,
.pane-in-19:checked ~ .pane-19,
.pane-in-20:checked ~ .pane-20,
.pane-in-21:checked ~ .pane-21,
.pane-in-22:checked ~ .pane-22,
.pane-in-23:checked ~ .pane-23,
.pane-in-24:checked ~ .pane-24 { display: contents; }
.pane-in-1:checked ~ .pane-toggles .pane-tg-1,
.pane-in-2:checked ~ .pane-toggles .pane-tg-2,
.pane-in-3:checked ~ .pane-toggles .pane-tg-3,
.pane-in-4:checked ~ .pane-toggles .pane-tg-4,
.pane-in-5:checked ~ .pane-toggles .pane-tg-5,
.pane-in-6:checked ~ .pane-toggles .pane-tg-6,
.pane-in-7:checked ~ .pane-toggles .pane-tg-7,
.pane-in-8:checked ~ .pane-toggles .pane-tg-8,
.pane-in-9:checked ~ .pane-toggles .pane-tg-9,
.pane-in-10:checked ~ .pane-toggles .pane-tg-10,
.pane-in-11:checked ~ .pane-toggles .pane-tg-11,
.pane-in-12:checked ~ .pane-toggles .pane-tg-12,
.pane-in-13:checked ~ .pane-toggles .pane-tg-13,
.pane-in-14:checked ~ .pane-toggles .pane-tg-14,
.pane-in-15:checked ~ .pane-toggles .pane-tg-15,
.pane-in-16:checked ~ .pane-toggles .pane-tg-16,
.pane-in-17:checked ~ .pane-toggles .pane-tg-17,
.pane-in-18:checked ~ .pane-toggles .pane-tg-18,
.pane-in-19:checked ~ .pane-toggles .pane-tg-19,
.pane-in-20:checked ~ .pane-toggles .pane-tg-20,
.pane-in-21:checked ~ .pane-toggles .pane-tg-21,
.pane-in-22:checked ~ .pane-toggles .pane-tg-22,
.pane-in-23:checked ~ .pane-toggles .pane-tg-23,
.pane-in-24:checked ~ .pane-toggles .pane-tg-24 {
  border-color: var(--pacm); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--pacm); }
.pane-in-1:focus-visible ~ .pane-toggles .pane-tg-1,
.pane-in-2:focus-visible ~ .pane-toggles .pane-tg-2,
.pane-in-3:focus-visible ~ .pane-toggles .pane-tg-3,
.pane-in-4:focus-visible ~ .pane-toggles .pane-tg-4,
.pane-in-5:focus-visible ~ .pane-toggles .pane-tg-5,
.pane-in-6:focus-visible ~ .pane-toggles .pane-tg-6,
.pane-in-7:focus-visible ~ .pane-toggles .pane-tg-7,
.pane-in-8:focus-visible ~ .pane-toggles .pane-tg-8,
.pane-in-9:focus-visible ~ .pane-toggles .pane-tg-9,
.pane-in-10:focus-visible ~ .pane-toggles .pane-tg-10,
.pane-in-11:focus-visible ~ .pane-toggles .pane-tg-11,
.pane-in-12:focus-visible ~ .pane-toggles .pane-tg-12,
.pane-in-13:focus-visible ~ .pane-toggles .pane-tg-13,
.pane-in-14:focus-visible ~ .pane-toggles .pane-tg-14,
.pane-in-15:focus-visible ~ .pane-toggles .pane-tg-15,
.pane-in-16:focus-visible ~ .pane-toggles .pane-tg-16,
.pane-in-17:focus-visible ~ .pane-toggles .pane-tg-17,
.pane-in-18:focus-visible ~ .pane-toggles .pane-tg-18,
.pane-in-19:focus-visible ~ .pane-toggles .pane-tg-19,
.pane-in-20:focus-visible ~ .pane-toggles .pane-tg-20,
.pane-in-21:focus-visible ~ .pane-toggles .pane-tg-21,
.pane-in-22:focus-visible ~ .pane-toggles .pane-tg-22,
.pane-in-23:focus-visible ~ .pane-toggles .pane-tg-23,
.pane-in-24:focus-visible ~ .pane-toggles .pane-tg-24 {
  outline: 2px solid var(--ice); outline-offset: 2px; }
@media (max-width: 720px) {
  .panes { height: auto; grid-template-columns: minmax(0, 1fr);
          grid-template-rows: none; }
  .pane-toggles { grid-column: 1; grid-row: 1; flex-direction: row; flex-wrap: wrap;
                  max-width: none; overflow: visible; }
  .pane-pie { grid-column: 1; grid-row: 2; }
  .pane-list { grid-column: 1; grid-row: 3; }
  .pane-scroll { max-height: 260px; overflow: auto; }
}

.card-method { margin: 2px 0 0; }
.card-method > summary { font-size: var(--fs-sm); color: var(--dim); cursor: pointer; }
.card-method > summary:hover { color: var(--ice); }
.card-method > .kv { margin: 6px 0 2px; font-size: var(--fs-sm); }
.k-note { margin: 2px 0 6px; }
.k-tabnote { display: flex; align-items: flex-start; gap: var(--sp-1) var(--sp-4); margin: 0 0 6px; }
.k-tabnote .k-note { flex: 1 1 auto; margin: 0; }
.k-ledger { flex: none; font-size: var(--fs-sm); }
.pane-scroll table { font-size: var(--fs-sm); }
.pane-scroll th, .pane-scroll td { padding: var(--sp-1) var(--sp-2); }

.pane-scroll th, .pane-scroll td:nth-child(n+2) { white-space: nowrap; }
.pane-scroll td:first-child { min-width: 10em; }
.pane-list.more table { margin-bottom: var(--sp-6); }

.more-rows td { text-align: center; padding: var(--sp-2) var(--sp-2);
                background: var(--panel); font-size: var(--fs-sm); }
.more-rows a { font-weight: 600; }
.more-rows a[data-more-busy] { color: var(--dim); pointer-events: none; }


.pane-search { position: absolute; top: 10px; right: 16px; display: flex;
               flex-direction: column; gap: 2px; font-size: var(--fs-xs);
               color: var(--dim); }
.pane-search input { width: 220px; padding: var(--sp-1) var(--sp-2); font: var(--fs-base) var(--sans);
                     color: var(--text); background: var(--panel);
                     border: 1px solid var(--line); border-radius: 999px; }
.pane-search input:focus { outline: 2px solid var(--ice); outline-offset: 1px;
                           border-color: var(--ice); }
.pane-search input::placeholder { color: var(--dim); }
@media (max-width: 720px) {
  .pane-search { position: static; margin: 6px 0 2px; }
  .pane-search input { width: 100%; max-width: 320px; }
}


.glance-card { display: flex; flex-direction: column; min-height: 386px; }

.glance-view > .card-method { order: 99; margin: 6px 0 0; }

.glance-tabs { justify-content: center; margin: 2px 0 0; border-bottom: 0; }
.glance-view { flex: 1 1 auto; }
.glance-big { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--sp-5);
              padding: 6px 0 var(--sp-2); border-bottom: 1px solid var(--line); }
.glance-big .stat { position: relative; display: flex; flex-direction: column;
                    gap: 1px; padding: 6px var(--sp-3); border: 1px solid var(--line);
                    border-radius: var(--r-sm); overflow: hidden;
                    background: var(--panel); }

.glance-big .stat > .fill { position: absolute; left: 0; top: 0; bottom: 0;
                            opacity: .18; pointer-events: none; }

:root { --fill-raised: #1f8f84; --fill-spent: #a04d6a; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --fill-raised: #4fd1c1; --fill-spent: #e08aa4; }
}
:root[data-theme="dark"] { --fill-raised: #4fd1c1; --fill-spent: #e08aa4; }
.glance-big .stat[data-fact="raised"] > .fill { background: var(--fill-raised); }
.glance-big .stat[data-fact="spent"] > .fill { background: var(--fill-spent); }
.glance-big .stat > span { position: relative; }
.glance-big .lbl { font: var(--fs-xs) var(--mono); letter-spacing: .06em;
                   text-transform: uppercase; color: var(--dim); }
.glance-big .fig { font: 600 var(--fs-2xl) var(--mono); line-height: 1.1;
                   color: var(--text); font-variant-numeric: tabular-nums; }
.glance-big .sub { font-size: var(--fs-xs); color: var(--dim); line-height: 1.3; }

.glance-ledgers { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr));
                  gap: 6px; margin: var(--sp-2) 0 0; padding: var(--sp-2) 0 0;
                  border-top: 1px solid var(--line); }
.glance-ledgers .stat { display: flex; flex-direction: column; gap: 1px;
                        min-width: 0; padding: 6px var(--sp-2) 7px;
                        border: 1px solid var(--line); border-radius: var(--r-sm);
                        background: var(--panel2); color: var(--text); }
.glance-ledgers .stat:hover { border-color: var(--ice); background: var(--panel);
                              text-decoration: none; }
.glance-ledgers .lbl { font: var(--fs-xs) var(--mono); letter-spacing: .06em;
                       text-transform: uppercase; color: var(--ice);
                       white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.glance-ledgers .fig { font: 600 var(--fs-md) var(--mono); line-height: 1.15; color: var(--text);
                       font-variant-numeric: tabular-nums; white-space: nowrap;
                       overflow: hidden; text-overflow: ellipsis; }
.glance-ledgers .sub { font-size: var(--fs-xs); color: var(--dim); line-height: 1.25; }
.ledgers-card .glance-ledgers { margin: 0; padding: 0; border-top: 0; }

.glance-ledgers.sr-ledgers .lbl { white-space: normal; }

.glance-ledgers.k-door { grid-template-columns: minmax(0, 340px); margin: var(--sp-2) 0 0;
                         padding: 0; border-top: 0; }
@media (max-width: 900px) {
  .glance-ledgers.k-door { grid-template-columns: minmax(0, 340px); }
}
@media (max-width: 600px) {
  .glance-ledgers.k-door { grid-template-columns: minmax(0, 1fr); }
}

.k-door-page .k-scroll { max-height: none; overflow-y: visible; }
@media (max-width: 900px) {
  .glance-ledgers { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .glance-ledgers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .glance-ledgers .stat:last-child { grid-column: 1 / -1; }
}

.glance-ledgers.m-tiles { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
                          gap: var(--sp-2); margin: var(--sp-3) 0 0; padding: 0; border-top: 0; }
.glance-ledgers.m-tiles .stat { gap: 3px; padding: var(--sp-2) var(--sp-3) var(--sp-3); scroll-margin-top: var(--sp-4); }
.glance-ledgers.m-tiles .stat:hover { border-color: var(--line); background: var(--panel2); }
.glance-ledgers.m-tiles .stat:target { border-color: var(--ice); }
.glance-ledgers.m-tiles .lbl { margin: 0; font-weight: 400; white-space: normal; }
.glance-ledgers.m-tiles .fig { font-size: var(--fs-xl); }
.glance-ledgers.m-tiles .m-none .fig { color: var(--dim); }
.glance-ledgers.m-tiles .who { font-size: var(--fs-sm); line-height: 1.35; color: var(--dim);
                               overflow-wrap: anywhere; }
.glance-ledgers.m-tiles .who a { color: var(--ice); font-weight: 600; }
.glance-ledgers.m-tiles .sub { font-size: var(--fs-sm); line-height: 1.4; color: var(--text);
                               margin-top: 2px; }
.m-tiles .m-meta { display: flex; flex-wrap: wrap; gap: 2px var(--sp-2); align-items: baseline;
                   justify-content: center;
                   margin-top: auto; padding-top: 6px; }
.m-tiles .m-slug { font-size: var(--fs-xs); padding: 1px 6px; color: var(--dim);
                   overflow-wrap: anywhere; }
.m-tiles .m-meta .kv { font-size: var(--fs-xs); }
.m-tiles .m-door { font: var(--fs-xs) var(--mono); align-self: center; }
.m-group h2 { margin: 0; }
.m-rule { margin: 2px 0 0; font-size: var(--fs-base); }
.m-head .jumps a .kv { font-size: var(--fs-xs); font-weight: 400; }
@media (max-width: 900px) {
  .glance-ledgers.m-tiles { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
}
@media (max-width: 600px) {
  .glance-ledgers.m-tiles { grid-template-columns: minmax(0, 1fr); }
  .glance-ledgers.m-tiles .stat:last-child { grid-column: auto; }
}
.glance-list { list-style: none; margin: 0; padding: var(--sp-1) 0 0; flex: 1 0 auto;
               min-height: 0; display: flex; flex-direction: column;
               justify-content: space-evenly; gap: 2px; }
.glance-list li { display: flex; align-items: center; gap: var(--sp-3);
                  line-height: 1.3; font-size: var(--fs-base); }

.glance-list li .fig { font-family: var(--mono); font-weight: 600;
                       color: var(--pacm); font-size: 1.1em; }
.glance-list li[data-hue="blue"] .fig    { color: var(--hue-blue-deep); }
.glance-list li[data-hue="red"] .fig     { color: var(--hue-red-deep); }
.glance-list li[data-hue="gold"] .fig    { color: var(--hue-gold-deep); }
.glance-list li[data-hue="green"] .fig   { color: var(--hue-green-deep); }
.glance-list li[data-hue="neutral"] .fig { color: var(--hue-neutral-deep); }
.glance-list .rat { flex: 0 0 auto; width: 34px; height: 24px; }
.glance-list .rat .fur { fill: var(--dim); }
.glance-list .rat .ear { fill: var(--hue-red-mid); }
.glance-list .rat .eye { fill: var(--text); }
.glance-list .rat .sack { fill: var(--pacm); }
.glance-list .rat .tie { fill: var(--text); }
.glance-view[data-n="4"] .glance-list li { font-size: var(--fs-md); }
.glance-view[data-n="5"] .glance-list li { font-size: var(--fs-md); }
.glance-view[data-n="6"] .glance-list li { font-size: var(--fs-base); }
.glance-view[data-n="7"] .glance-list li { font-size: var(--fs-base); }
.glance-view[data-n="8"] .glance-list li { font-size: var(--fs-sm); }
.glance-view[data-n="9"] .glance-list li { font-size: var(--fs-sm); }
@media (max-width: 720px) {
  .glance-card { height: auto; }
  .glance-big { grid-template-columns: 1fr; gap: var(--sp-2); }
  .glance-big .fig { font-size: var(--fs-xl); }
  .glance-list { gap: var(--sp-2); }
}

.glance-scope { margin: 0 0 2px; font-size: var(--fs-sm); }


.period-grid { display: grid; grid-template-columns: 230px minmax(0, 1fr);
               gap: 0 var(--sp-4); height: 448px; margin-top: var(--sp-3); }
.period-left { display: flex; flex-direction: column; align-items: center; gap: 6px;
               overflow: visible; }
.period-stats { margin: var(--sp-1) 0 0; width: 100%; display: grid; gap: 3px; font-size: var(--fs-sm); }
.period-stats > div { display: flex; justify-content: space-between; gap: var(--sp-2);
                      padding: 2px 0; border-bottom: 1px dotted var(--line); }
.period-stats dt { color: var(--dim); }
.period-stats dd { margin: 0; font-family: var(--mono); font-weight: 600;
                   font-variant-numeric: tabular-nums; }
.period-stats > .k-pac dd { color: var(--pacm); }
.period-grid[data-hue="blue"] .period-stats > .k-ind dd    { color: var(--hue-blue-deep); }
.period-grid[data-hue="red"] .period-stats > .k-ind dd     { color: var(--hue-red-deep); }
.period-grid[data-hue="gold"] .period-stats > .k-ind dd    { color: var(--hue-gold-deep); }
.period-grid[data-hue="green"] .period-stats > .k-ind dd   { color: var(--hue-green-deep); }
.period-grid[data-hue="neutral"] .period-stats > .k-ind dd { color: var(--hue-neutral-deep); }
.period-right { position: relative; min-height: 0; display: flex; flex-direction: column; }
.period-right > .tab-in, .primer-tabs > .tab-in, .glance-card > .tab-in { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.tab-bar { display: flex; flex-wrap: wrap; gap: var(--sp-1); border-bottom: 1px solid var(--line); margin-bottom: 6px; }
.tab-tg { padding: 5px var(--sp-3); border: 1px solid var(--line); border-bottom: none;
          border-radius: var(--r-sm) var(--r-sm) 0 0; font-size: var(--fs-sm); cursor: pointer;
          color: var(--dim); background: var(--panel2); user-select: none; }
.tab-tg .n { font-family: var(--mono); font-size: var(--fs-xs); margin-left: var(--sp-1); }
.tab-tg:hover { color: var(--ice); }
.tab-body { display: none; flex: 1 1 auto; min-height: 0; flex-direction: column; }

.tab-in-1:checked ~ .tab-body-1, .tab-in-2:checked ~ .tab-body-2, .tab-in-3:checked ~ .tab-body-3, .tab-in-4:checked ~ .tab-body-4, .tab-in-5:checked ~ .tab-body-5, .tab-in-6:checked ~ .tab-body-6, .tab-in-7:checked ~ .tab-body-7, .tab-in-8:checked ~ .tab-body-8, .tab-in-9:checked ~ .tab-body-9, .tab-in-10:checked ~ .tab-body-10, .tab-in-11:checked ~ .tab-body-11, .tab-in-12:checked ~ .tab-body-12, .tab-in-13:checked ~ .tab-body-13, .tab-in-14:checked ~ .tab-body-14, .tab-in-15:checked ~ .tab-body-15, .tab-in-16:checked ~ .tab-body-16 { display: flex; }
.tab-in-1:checked ~ .tab-bar .tab-tg-1,
.tab-in-2:checked ~ .tab-bar .tab-tg-2,
.tab-in-3:checked ~ .tab-bar .tab-tg-3,
.tab-in-4:checked ~ .tab-bar .tab-tg-4,
.tab-in-5:checked ~ .tab-bar .tab-tg-5,
.tab-in-6:checked ~ .tab-bar .tab-tg-6,
.tab-in-7:checked ~ .tab-bar .tab-tg-7,
.tab-in-8:checked ~ .tab-bar .tab-tg-8,
.tab-in-9:checked ~ .tab-bar .tab-tg-9,
.tab-in-10:checked ~ .tab-bar .tab-tg-10,
.tab-in-11:checked ~ .tab-bar .tab-tg-11,
.tab-in-12:checked ~ .tab-bar .tab-tg-12,
.tab-in-13:checked ~ .tab-bar .tab-tg-13,
.tab-in-14:checked ~ .tab-bar .tab-tg-14,
.tab-in-15:checked ~ .tab-bar .tab-tg-15,
.tab-in-16:checked ~ .tab-bar .tab-tg-16 {
  color: var(--text); background: var(--panel);
  border-color: var(--tab-hue, var(--pacm));
  box-shadow: inset 0 -2px 0 var(--panel); }
.tab-in-1:focus-visible ~ .tab-bar .tab-tg-1,
.tab-in-2:focus-visible ~ .tab-bar .tab-tg-2,
.tab-in-3:focus-visible ~ .tab-bar .tab-tg-3,
.tab-in-4:focus-visible ~ .tab-bar .tab-tg-4,
.tab-in-5:focus-visible ~ .tab-bar .tab-tg-5,
.tab-in-6:focus-visible ~ .tab-bar .tab-tg-6,
.tab-in-7:focus-visible ~ .tab-bar .tab-tg-7,
.tab-in-8:focus-visible ~ .tab-bar .tab-tg-8,
.tab-in-9:focus-visible ~ .tab-bar .tab-tg-9,
.tab-in-10:focus-visible ~ .tab-bar .tab-tg-10,
.tab-in-11:focus-visible ~ .tab-bar .tab-tg-11,
.tab-in-12:focus-visible ~ .tab-bar .tab-tg-12,
.tab-in-13:focus-visible ~ .tab-bar .tab-tg-13,
.tab-in-14:focus-visible ~ .tab-bar .tab-tg-14,
.tab-in-15:focus-visible ~ .tab-bar .tab-tg-15,
.tab-in-16:focus-visible ~ .tab-bar .tab-tg-16 {
  outline: 2px solid var(--ice); outline-offset: 2px; }

.tab-tg[data-hue="blue"]    { --tab-hue: var(--hue-blue-deep); }
.tab-tg[data-hue="red"]     { --tab-hue: var(--hue-red-deep); }
.tab-tg[data-hue="gold"]    { --tab-hue: var(--hue-gold-deep); }
.tab-tg[data-hue="green"]   { --tab-hue: var(--hue-green-deep); }
.tab-tg[data-hue="neutral"] { --tab-hue: var(--hue-neutral-deep); }

.pane-scroll tr[class*="k-"] td:first-child { border-left: 3px solid transparent; padding-left: 6px; }
.pane-scroll tr.k-pac td:first-child, .pane-scroll tr.k-ie td:first-child { border-left-color: var(--pacm); }

.pane-scroll tr.k-pac .num, .pane-scroll tr.k-ie .num { color: var(--pacm); }
.pane-scroll tr.k-grass td:first-child { border-left-color: var(--grass); }
.pane-scroll tr.k-grass .num { color: var(--grass); }
.pane-scroll tr.k-self td:first-child { border-left-color: var(--selff); }
.pane-scroll tr.k-self .num { color: var(--selff); }

.pane-scroll tr.k-dark td:first-child { border-left-color: var(--darkm);
  box-shadow: inset 3px 0 0 var(--dim); }
.pane-scroll tr[data-hue="blue"] td:first-child    { border-left-color: var(--hue-blue-deep); }
.pane-scroll tr[data-hue="red"] td:first-child     { border-left-color: var(--hue-red-deep); }
.pane-scroll tr[data-hue="gold"] td:first-child    { border-left-color: var(--hue-gold-deep); }
.pane-scroll tr[data-hue="green"] td:first-child   { border-left-color: var(--hue-green-deep); }
.pane-scroll tr[data-hue="neutral"] td:first-child { border-left-color: var(--hue-neutral-deep); }
.pane-scroll tr[data-hue="blue"] .num    { color: var(--hue-blue-deep); }
.pane-scroll tr[data-hue="red"] .num     { color: var(--hue-red-deep); }
.pane-scroll tr[data-hue="gold"] .num    { color: var(--hue-gold-deep); }
.pane-scroll tr[data-hue="green"] .num   { color: var(--hue-green-deep); }
.pane-scroll tr[data-hue="neutral"] .num { color: var(--hue-neutral-deep); }
@media (max-width: 720px) {
  .period-grid { height: auto; grid-template-columns: minmax(0, 1fr); }
  .period-right .pane-scroll { max-height: 280px; overflow: auto; }
}
.period-left .pie { flex: 0 0 auto; width: 178px; height: 178px; }

.period-grid .pane-scroll td:nth-child(2), .period-grid .pane-scroll td:nth-child(3) { white-space: normal; }
.period-grid .pane-scroll td:nth-last-child(-n+2) { white-space: nowrap; }


.quarter-card { display: none; scroll-margin-top: 470px; }   
.quarter-card:target { display: block; }
.lenses:target { scroll-margin-top: var(--sp-5); }

.detail-card > .close ~ .pane-search { right: 72px; }
.detail-card > .close { position: absolute; top: 12px; right: 16px; float: none; }
.periods .hit-all { cursor: pointer; }
.periods .hit-all:hover .band { filter: brightness(0.97); }


.pie .ring2 { stroke: var(--panel2); }
.pie .ctr.sm { font-size: var(--fs-lg); font-weight: 800; }
.pie .w-voters { stroke: var(--inside); }
.pie .w-voters[data-hue="blue"]    { stroke: var(--hue-blue-deep); }
.pie .w-voters[data-hue="red"]     { stroke: var(--hue-red-deep); }
.pie .w-voters[data-hue="gold"]    { stroke: var(--hue-gold-deep); }
.pie .w-voters[data-hue="green"]   { stroke: var(--hue-green-deep); }
.pie .w-voters[data-hue="neutral"] { stroke: var(--hue-neutral-deep); }
.pie .w-own { stroke: var(--selff); }
.pie .w-outside { stroke: var(--outside); }
.pie .w-outside[data-hue="blue"]    { stroke: var(--hue-blue-mid); }
.pie .w-outside[data-hue="red"]     { stroke: var(--hue-red-mid); }
.pie .w-outside[data-hue="gold"]    { stroke: var(--hue-gold-mid); }
.pie .w-outside[data-hue="green"]   { stroke: var(--hue-green-mid); }
.pie .w-outside[data-hue="neutral"] { stroke: var(--hue-neutral-mid); }
.pie .w-cmte { stroke: var(--pacm); }
.pie .w-small { stroke: var(--grass); }
.pie .w-unpl { stroke: var(--unplaceable); }
.pie .w-notloaded { stroke: var(--line); }
:root { --sp-ads: #3c6e8f; --sp-mail: #8a7bb5; --sp-other: #8f9a95; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --sp-ads: #7fb0d4; --sp-mail: #b3a6d9; --sp-other: #7d8883; } }
:root[data-theme="dark"] { --sp-ads: #7fb0d4; --sp-mail: #b3a6d9; --sp-other: #7d8883; }
.pie .o.w-ads { stroke: var(--sp-ads); }
.pie .o.w-mail { stroke: var(--sp-mail); }
.pie .o.w-other { stroke: var(--sp-other); }
.pie .o.w-notloaded { stroke: var(--line); }
.pie-sw.w-voters { background: var(--inside); }
.pie-sw.w-voters[data-hue="blue"]    { background: var(--hue-blue-deep); }
.pie-sw.w-voters[data-hue="red"]     { background: var(--hue-red-deep); }
.pie-sw.w-voters[data-hue="gold"]    { background: var(--hue-gold-deep); }
.pie-sw.w-voters[data-hue="green"]   { background: var(--hue-green-deep); }
.pie-sw.w-voters[data-hue="neutral"] { background: var(--hue-neutral-deep); }
.pie-sw.w-own { background: var(--selff); }
.pie-sw.w-outside { background: var(--outside); }
.pie-sw.w-outside[data-hue="blue"]    { background: var(--hue-blue-mid); }
.pie-sw.w-outside[data-hue="red"]     { background: var(--hue-red-mid); }
.pie-sw.w-outside[data-hue="gold"]    { background: var(--hue-gold-mid); }
.pie-sw.w-outside[data-hue="green"]   { background: var(--hue-green-mid); }
.pie-sw.w-outside[data-hue="neutral"] { background: var(--hue-neutral-mid); }
.pie-sw.w-cmte { background: var(--pacm); }
.pie-sw.w-small { background: var(--grass); }
.pie-sw.w-unpl { background: var(--unplaceable); border-color: var(--unplaceable-line); }
.pie-sw.w-notloaded { background: var(--line); }
.pie-sw.o.w-ads { background: var(--sp-ads); }
.pie-sw.o.w-mail { background: var(--sp-mail); }
.pie-sw.o.w-other { background: var(--sp-other); }
.pie-sw.o.w-notloaded { background: var(--line); }
.ring-h { margin: 2px 0 0; font-size: var(--fs-xs); width: 100%; }
.ring-h b { color: var(--text); }

.period-left .pie-key li { display: flex; align-items: center; gap: 6px; font-size: var(--fs-xs); padding: 0; }
.period-left .pie-key .lbl { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.period-left .pie-key .num { flex: 0 0 auto; }
.period-left .pie-key li i { flex: 0 0 auto; }

.pie .o.arc { stroke-linecap: butt; }
.pie .o.arc.hatched { stroke: currentColor; }
.pie:not([data-hue]) .o.arc { stroke: var(--fill-spent); }

.pie[data-hue="blue"]    { color: var(--hue-blue-deep); }
.pie[data-hue="red"]     { color: var(--hue-red-deep); }
.pie[data-hue="gold"]    { color: var(--hue-gold-deep); }
.pie[data-hue="green"]   { color: var(--hue-green-deep); }
.pie[data-hue="neutral"] { color: var(--hue-neutral-deep); }
.pie-sw.o.arc { background: var(--fill-spent); }
.period-grid[data-hue="blue"] .pie-sw.o.arc    { background: repeating-linear-gradient(45deg, var(--hue-blue-deep) 0 2px, transparent 2px 5px); }
.period-grid[data-hue="red"] .pie-sw.o.arc     { background: repeating-linear-gradient(45deg, var(--hue-red-deep) 0 2px, transparent 2px 5px); }
.period-grid[data-hue="gold"] .pie-sw.o.arc    { background: repeating-linear-gradient(45deg, var(--hue-gold-deep) 0 2px, transparent 2px 5px); }
.period-grid[data-hue="green"] .pie-sw.o.arc   { background: repeating-linear-gradient(45deg, var(--hue-green-deep) 0 2px, transparent 2px 5px); }
.period-grid[data-hue="neutral"] .pie-sw.o.arc { background: repeating-linear-gradient(90deg, var(--hue-neutral-deep) 0 2px, transparent 2px 4px); }
.ring-h .pie-sw { vertical-align: -1px; margin-right: 2px; }

.pie .w-ie { stroke: var(--pacm); opacity: .45; }
.pie-sw.w-ie { background: var(--pacm); opacity: .45; }

.cash-big { margin-top: auto; width: 100%; padding-top: var(--sp-2);
            border-top: 1px solid var(--line); display: flex;
            flex-direction: column; gap: 0; align-items: center;
            text-align: center; }
.cash-big .lbl { font: var(--fs-xs) var(--mono); letter-spacing: .06em;
                 text-transform: uppercase; color: var(--dim); }

.cash-big .fig { font: 700 var(--fs-xl) var(--mono); line-height: 1.1; color: var(--text);
                 font-variant-numeric: tabular-nums; }
.cash-big .fig.none { font-size: var(--fs-md); color: var(--dim); font-weight: 400; }

.period-left .pie + .ring-h, .period-left .pie + .pie-key { margin-top: auto; }
.period-left .pie { margin-bottom: 0; }

h4 > .race-pick.qpick { display: inline-block; vertical-align: middle; font-weight: 400;
                        font-size: var(--fs-base); margin-left: var(--sp-1); }
h4 > .race-pick.qpick > summary { font-weight: 600; font-size: var(--fs-base); }
h4 > .race-pick.qpick > nav { z-index: 3; }
h4 > .race-pick.qpick > nav { left: 0; right: auto; }
h4 > .race-pick.qpick > summary { text-decoration: none; }



.lenses, main { --primer-base: var(--panel); }
.detail-card.shaded { background: color-mix(in srgb, #000 calc(var(--shade, 0) * 100%), var(--primer-base)); }

.detail-card.shaded { --hatch: rgba(11, 13, 16, calc(.05 + .13 * var(--shade, 0))); }
.detail-card.shaded[data-ink="light"] { --hatch: rgba(238, 241, 245, calc(.06 + .12 * var(--shade, 0))); }
.detail-card.shaded { isolation: isolate; }   
.detail-card.shaded::before { content: ""; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none; z-index: -1;
  background: repeating-linear-gradient(45deg, var(--hatch) 0 2.2px, transparent 2.2px 6px); }
:root { --ink-dark: #0b0d10; --ink-grey: #78818d; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --ink-dark: #f4f6f9; --ink-grey: #a9b2bd; } }
:root[data-theme="dark"] { --ink-dark: #f4f6f9; --ink-grey: #a9b2bd; }
.detail-card.shaded[data-ink="light"] {
  --text: #eef1f5; --dim: #b4bcc8; --line: #4a5361; --panel: #1b1f26;
  --panel2: #262b34; --ice: #89ddff; --ink-dark: #f4f6f9; --ink-grey: #a9b2bd;
  color: var(--text); border-color: var(--line); }
.primer-def { margin: var(--sp-1) 0 var(--sp-2); font-size: var(--fs-base); line-height: 1.45; max-width: 86ch; }
.primer-def-fold { margin: var(--sp-3) 0 0; }
.primer-def-fold > .primer-def { margin-top: 6px; }
.primer-facts { list-style: none; margin: 0 0 var(--sp-3); padding: 0; display: flex;
                flex-direction: column; gap: 3px; font-size: var(--fs-base); }
.primer-facts li { display: flex; align-items: baseline; gap: var(--sp-2); line-height: 1.35; }
.primer-facts li::before { content: "\25CF"; color: var(--ink-dark); font-size: 8px;
                           position: relative; top: -2px; flex: 0 0 auto; }
.primer-facts .fig { font-family: var(--mono); font-weight: 700; color: var(--ink-dark);
                     font-size: 1.1em; white-space: nowrap; font-variant-numeric: tabular-nums; }

.primer-facts .rankbar { display: inline-block; width: 120px; height: 10px; flex: 0 0 auto;
                         border: 1px solid var(--line); border-radius: 2px; background: var(--panel2);
                         position: relative; top: 1px; overflow: hidden; }
.primer-facts .rankbar > b { display: block; height: 100%; background: var(--fill-raised); }

.gauge-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-4);
              margin: 0 0 var(--sp-2); padding-right: 64px; }   
.detail-card .gauge-head > h4 { margin: 0; font-size: var(--fs-xl); white-space: nowrap; }
.primer-gauge { position: relative; overflow: hidden; display: flex; align-items: baseline;
                gap: var(--sp-3); margin: 0; padding: 4px var(--sp-3); flex: 1 1 280px;
                max-width: 520px; border: 1px solid var(--line); border-radius: var(--r-sm);
                background: repeating-linear-gradient(45deg, rgba(128, 136, 144, .28) 0 2.2px, transparent 2.2px 6px); }
.primer-gauge > .fill { position: absolute; left: 0; top: 0; bottom: 0; opacity: .3;
                        background: var(--fill-raised); pointer-events: none; }
.primer-gauge > span { position: relative; }
.primer-gauge .fig { font: 700 var(--fs-lg) var(--mono); color: var(--ink-dark);
                     font-variant-numeric: tabular-nums; white-space: nowrap; }
.primer-gauge .sub { font-size: var(--fs-xs); color: var(--dim); line-height: 1.3; }

.pane-search.on-table { position: static; display: flex; flex-direction: row; align-items: center;
                        justify-content: flex-end; gap: var(--sp-2); margin: 0 0 4px; }
.detail-card > .close ~ .primer .pane-search.on-table { right: auto; }
.primer-tabs .tab-lead { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); max-width: 86ch; }
.primer-tabs { position: relative; display: flex; flex-direction: column; height: 360px; }
.primer-tabs .pane-scroll { flex: 1 1 auto; }

.primer-tabs .pane-scroll table { width: 100%; }
.primer-tabs .pane-scroll td:nth-child(-n+3) { white-space: normal; }
.primer-tabs .pane-scroll td:nth-last-child(-n+2), .primer-tabs .pane-scroll th:nth-last-child(-n+2) { white-space: nowrap; }

table.grouped tr.sum td:first-child, table.grouped tr.sum td:first-child a,
table.grouped tr.sum .num { color: var(--ink-dark); font-weight: 600; }

.primer-key { margin: var(--sp-3) var(--sp-8) 0; min-height: 40px; display: flex; flex-wrap: wrap;
              align-items: center; justify-content: center; gap: var(--sp-1) var(--sp-4); font-size: var(--fs-xs); }
.primer-key .pie-sw { vertical-align: -1px; margin-right: 2px; }

.wm { position: absolute; bottom: 10px; width: 48px; height: 48px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center; pointer-events: none;
      opacity: calc(.14 + .86 * var(--shade, 0));
      background: radial-gradient(circle, #fff 0 56%, rgba(255,255,255,.55) 72%, rgba(255,255,255,0) 100%); }
.wm-l { left: 12px; }
.wm-r { right: 12px; }
.wm .wordmark { font-size: var(--fs-xs); color: #0b0e14; letter-spacing: -.2px; }
.wm .wordmark b { color: #10538f; }
@media (max-width: 720px) {
  .primer-tabs { height: auto; }
  .primer-tabs .pane-scroll { max-height: 280px; overflow: auto; }
}


.detail-card th.sortable, .k-ca th.sortable { cursor: pointer; user-select: none; white-space: nowrap; }
.detail-card th.sortable:hover, .k-ca th.sortable:hover { color: var(--ice); }
.detail-card th.sortable[data-sort="asc"]::after, .k-ca th.sortable[data-sort="asc"]::after { content: " \2191"; }
.detail-card th.sortable[data-sort="desc"]::after, .k-ca th.sortable[data-sort="desc"]::after { content: " \2193"; }



table.grouped tbody.grp { border-top: 1px solid var(--line); }
table.grouped tr.sub { display: none; }

table.grouped tr.kid, table.grouped tr.of-kid { display: none; }
table.grouped tbody.grp:has(> tr.sum .kd-in:checked) > tr.kid { display: table-row; }
table.grouped tbody.grp:not(:has(> tr.sum .kd-in:checked)) > tr.of-kid { display: none !important; }
tr.sum:has(.tg-in:checked) + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum,
tr.sum:has(.tg-in:checked) + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum + tr.of-sum { display: table-row; }
tr.kid:has(.tg-in:checked) + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid,
tr.kid:has(.tg-in:checked) + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid + tr.of-kid { display: table-row; }
table.grouped tr.kid td:first-child { padding-left: var(--sp-5); }
table.grouped tr.sub td:first-child { padding-left: var(--sp-7); }
table.grouped tr.sub td { font-size: var(--fs-xs); color: var(--dim); border-top: 1px dotted var(--line); }
table.grouped tr.sub .num { font-weight: 400; }
table.grouped .pre { color: var(--dim); font-style: italic; font-weight: 400; }
table.grouped .tg { display: inline-block; margin-left: 6px; cursor: pointer; user-select: none;
                    font: var(--fs-xs) var(--mono); color: var(--ice); white-space: nowrap; }
table.grouped .tg .tg-in { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
table.grouped .tg span::before { content: "\25B8 "; }
tr:has(> td > .tg > .tg-in:checked) .tg span::before { content: "\25BE "; }
table.grouped .tg:hover span { text-decoration: underline; }
table.grouped .tg .tg-in:focus-visible + span { outline: 2px solid var(--ice); outline-offset: 2px; }



.lens-card-pac { background-image: repeating-linear-gradient(45deg, color-mix(in srgb, var(--pacm) 13%, transparent) 0 2.2px, transparent 2.2px 6px); }
.lens-card-self { background-image: repeating-linear-gradient(45deg, color-mix(in srgb, var(--selff) 13%, transparent) 0 2.2px, transparent 2.2px 6px); }
.lens-card-self .primer-facts li::before, .lens-card-self .primer-facts .fig { color: var(--selff); }

:is(.lens-card-self, .lens-card-grass) .primer-def { max-width: none; margin-bottom: var(--sp-4); }   
:is(.lens-card-self, .lens-card-grass) .primer-facts.inline { flex-wrap: wrap; justify-content: flex-start; gap: var(--sp-1) var(--sp-6); }
:is(.lens-card-self, .lens-card-grass) .primer-facts.inline li { white-space: normal; flex: 0 1 auto; min-width: 0; }

:is(.lens-card-self, .lens-card-grass) .primer-bars { margin-top: var(--sp-3); }

:is(.lens-card-self, .lens-card-grass) .primer-bars .figs { font-weight: 700; font-size: var(--fs-base); color: var(--text);
                                     font-variant-numeric: tabular-nums; }
:is(.lens-card-self, .lens-card-grass) .primer-bars .figs.sub { font-size: var(--fs-base); }
:is(.lens-card-self, .lens-card-grass) .primer-bars li { width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px) minmax(0, 1fr); }
@media (max-width: 900px) {
  :is(.lens-card-self, .lens-card-grass) .primer-facts.inline { flex-wrap: wrap; justify-content: flex-start; }
  :is(.lens-card-self, .lens-card-grass) .primer-facts.inline li { white-space: normal; }
}
.primer-facts.inline { flex-direction: row; flex-wrap: wrap; gap: var(--sp-1) var(--sp-5); }
.primer-bars { list-style: none; margin: var(--sp-1) 0 var(--sp-2); padding: 0; display: flex; flex-direction: column; gap: var(--sp-3); }


.primer-bars li { display: grid; grid-template-columns: minmax(max-content, 13em) minmax(0, 420px);
                  grid-auto-rows: auto; gap: 2px var(--sp-3); align-items: center; }
.primer-bars .who { font-weight: 600; font-size: var(--fs-base); grid-column: 1; grid-row: 2;
                    align-self: center; text-align: right; white-space: nowrap; }
.primer-bars .figs { grid-column: 2; font-size: var(--fs-sm); color: var(--dim); }
.primer-bars .figs.sub { font-size: var(--fs-xs); }
.primer-bars .bar { grid-column: 2; display: block; width: 100%; height: 14px; border-radius: 3px;
                    background: var(--panel2); border: 1px solid var(--line); overflow: hidden; }
.primer-bars .bar > b { display: block; height: 100%; width: var(--w, 0%); background: var(--selff);
                        transition: width .3s ease; }
.primer-bars .bar.nz > b { min-width: 3px; }   
.primer-bars .bar.repaid { height: 9px; }
.primer-bars .bar.repaid > b { background: repeating-linear-gradient(45deg, var(--selff) 0 2.2px, transparent 2.2px 6px); }
.primer-bars li[data-hue="blue"] .who    { color: var(--hue-blue-deep); }
.primer-bars li[data-hue="red"] .who     { color: var(--hue-red-deep); }
.primer-bars li[data-hue="gold"] .who    { color: var(--hue-gold-deep); }
.primer-bars li[data-hue="green"] .who   { color: var(--hue-green-deep); }
.primer-bars li[data-hue="neutral"] .who { color: var(--hue-neutral-deep); }
@media (max-width: 640px) {
  .primer-bars li { grid-template-columns: minmax(0, 1fr); }
  .primer-bars .who { grid-row: auto; text-align: left; }
  .primer-bars .figs, .primer-bars .bar { grid-column: 1; }
}


.lens-card-grass { background-image: repeating-linear-gradient(45deg, color-mix(in srgb, var(--grass) 13%, transparent) 0 2.2px, transparent 2.2px 6px); }
.lens-card-grass .primer-facts li::before, .lens-card-grass .primer-facts .fig { color: var(--grass); }
.lens-card-grass .primer-bars .bar > b { background: var(--grass); }



.k-head { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: var(--sp-2) var(--sp-6);
          align-items: center; margin: var(--sp-1) 0 var(--sp-4); }
.k-ring { display: flex; flex-direction: column; align-items: center; gap: var(--sp-2); }
.k-ring .pie { width: 300px; height: 300px; }   
.k-name { margin: 0; font: 600 var(--fs-lg) var(--sans); text-align: center; }
.k-ring[data-hue="blue"] .k-name    { color: var(--hue-blue-deep); }
.k-ring[data-hue="red"] .k-name     { color: var(--hue-red-deep); }
.k-ring[data-hue="gold"] .k-name    { color: var(--hue-gold-deep); }
.k-ring[data-hue="green"] .k-name   { color: var(--hue-green-deep); }
.k-ring[data-hue="neutral"] .k-name { color: var(--hue-neutral-deep); }
.k-bio h2 { margin: 0 0 var(--sp-2); }
.k-bio dl { margin: 0; display: grid; grid-template-columns: max-content minmax(0, 1fr);
            gap: 5px var(--sp-4); font-size: var(--fs-base); }
.k-bio dl > div { display: contents; }
.k-bio dt { color: var(--dim); font: 600 var(--fs-xs) var(--mono); letter-spacing: .06em;
            text-transform: uppercase; align-self: baseline; padding-top: 3px; }
.k-bio dd { margin: 0; }

.k-bio .k-seat { margin: 0; }
.k-bio .k-seat + .k-seat { margin-top: 3px; }
.k-bio details.k-seat > summary { color: var(--text); list-style: none; }
.k-bio details.k-seat > summary::before { content: "\25B8"; color: var(--ice); display: inline-block;
  width: 1em; font-size: var(--fs-xs); }
.k-bio details.k-seat[open] > summary::before { content: "\25BE"; }
.k-bio details.k-seat > summary::-webkit-details-marker { display: none; }
.k-bio details.k-seat > ul { list-style: none; margin: 3px 0 4px 1em; padding: 0;
  font: var(--fs-sm) var(--mono); color: var(--dim); }
.k-bio details.k-seat > ul li { padding: 1px 0; }
.k-life h4 { margin-bottom: var(--sp-2); }
.k-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-base); }
.k-facts li { display: flex; align-items: baseline; gap: var(--sp-3); line-height: 1.35; }
.k-facts .fig { font-family: var(--mono); font-weight: 700; font-size: 1.1em; white-space: nowrap;
                font-variant-numeric: tabular-nums; color: var(--text); min-width: 5.5em; text-align: right; }

.k-facts .fig.w-voters { color: var(--inside); }
.k-facts .fig.w-voters[data-hue="blue"]    { color: var(--hue-blue-deep); }
.k-facts .fig.w-voters[data-hue="red"]     { color: var(--hue-red-deep); }
.k-facts .fig.w-voters[data-hue="gold"]    { color: var(--hue-gold-deep); }
.k-facts .fig.w-voters[data-hue="green"]   { color: var(--hue-green-deep); }
.k-facts .fig.w-voters[data-hue="neutral"] { color: var(--hue-neutral-deep); }
.k-facts .fig.w-outside { color: var(--outside); }
.k-facts .fig.w-outside[data-hue="blue"]    { color: var(--hue-blue-mid); }
.k-facts .fig.w-outside[data-hue="red"]     { color: var(--hue-red-mid); }
.k-facts .fig.w-outside[data-hue="gold"]    { color: var(--hue-gold-mid); }
.k-facts .fig.w-outside[data-hue="green"]   { color: var(--hue-green-mid); }
.k-facts .fig.w-outside[data-hue="neutral"] { color: var(--hue-neutral-mid); }
.k-facts .fig.w-own { color: var(--selff); }
.k-facts .fig.w-cmte { color: var(--pacm); }
.k-facts .fig.w-unpl { color: var(--dim); }   
.k-facts .fig.w-notloaded { color: var(--dim); }
.k-facts .fig.w-arc { color: var(--fill-spent); }
.k-facts .fig.w-arc[data-hue="blue"]    { color: var(--hue-blue-deep); }
.k-facts .fig.w-arc[data-hue="red"]     { color: var(--hue-red-deep); }
.k-facts .fig.w-arc[data-hue="gold"]    { color: var(--hue-gold-deep); }
.k-facts .fig.w-arc[data-hue="green"]   { color: var(--hue-green-deep); }
.k-facts .fig.w-arc[data-hue="neutral"] { color: var(--hue-neutral-deep); }
@media (max-width: 720px) {
  .k-head { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  
  .k-head .k-bio { max-width: 100%; }
  
  .k-head:has(.k-bio .k-title h2) .k-ring .k-name { display: none; }
}


.periods a.nm-link .nm { cursor: pointer; }
.periods a.nm-link:hover .nm { text-decoration: underline; }
.glance-who { margin: 2px 0 var(--sp-1); font-size: var(--fs-sm); }


.k-lenses > .lens-in { position: absolute; opacity: 0; pointer-events: none; }
.k-bar { justify-content: center; margin: var(--sp-1) 0 var(--sp-3); }
.k-lenses > .k-card { display: none; }
#k-fund:checked ~ .k-card-fund, #k-office:checked ~ .k-card-office,
#k-trades:checked ~ .k-card-trades, #k-earmarks:checked ~ .k-card-earmarks,
#k-worth:checked ~ .k-card-worth { display: block; }
#k-fund:checked ~ .k-bar .lens-fund, #k-office:checked ~ .k-bar .lens-office,
#k-trades:checked ~ .k-bar .lens-trades,
#k-earmarks:checked ~ .k-bar .lens-earmarks,
#k-worth:checked ~ .k-bar .lens-worth { border-color: var(--ice); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--ice); }
.k-lenses > .lens-in:focus-visible ~ .k-bar .lens-btn { outline: 2px solid var(--ice); outline-offset: 2px; }
.k-card { margin-bottom: var(--sp-3); }
.k-card-fund .period-grid { height: 470px; }

@media (max-width: 720px) {
  .k-card-fund .period-grid { height: auto; }
  .pane-scroll { overflow: auto; }
  .pane-scroll td:first-child, .pane-scroll th:first-child {
    position: sticky; left: 0; background: var(--panel); z-index: 1; }
  .pane-scroll th:first-child { z-index: 2; }
  .pane-scroll tr:has(input:checked) td:first-child { background: var(--panel2); }
  
  .race-pick { position: static; }
  .race-pick nav, h4 > .race-pick.qpick > nav, .pick-line > .race-pick.qpick > nav {
    left: var(--sp-3); right: var(--sp-3); min-width: 0; max-width: none; }
  .race-pick nav a { white-space: normal; }
  .detail-card .gauge-head > h4 { white-space: normal; }
}

@media (min-width: 721px) { .k-card-fund > h4 { min-height: 46px; } }

.k-card-trades h5 { margin: var(--sp-3) 0 2px; font-size: var(--fs-base); }
.k-card-trades .k-scroll { max-height: 480px; }
.k-card-trades .k-tab td:first-child { min-width: 7em; }

.k-card-earmarks h5 { margin: var(--sp-3) 0 2px; font-size: var(--fs-base); }
.k-card-earmarks .k-tab td:first-child { min-width: 3.5em; }

.k-worth-trades { margin-top: var(--sp-4); border: 1px solid var(--line); border-radius: 6px;
  padding: var(--sp-3) var(--sp-4); background: var(--panel); }
.k-worth-trades > h5:first-child { margin-top: 0; }

.k-seatgroup + .k-seatgroup { margin-top: var(--sp-3); }
.k-linked { margin-top: var(--sp-2); }
.k-linked .badge { text-transform: none; }
.k-affil { list-style: none; margin: 6px 0 2px; padding: 0; font-size: var(--fs-sm); }
.k-affil li { padding: 3px 0; border-top: 1px solid var(--line); }
.k-affil li:first-child { border-top: 0; }


.k-office { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-4) var(--sp-4); }
.k-seats { grid-column: 1 / -1; }

.k-acts { position: relative; }
.k-acts > .tab-in { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.k-acts .tab-body { display: none; flex-direction: column; }
.k-acts .k-scroll { max-height: 520px; }
.k-acts .k-tab td:first-child .k-title { display: inline; margin-left: 6px; }

.k-acts .k-tab { table-layout: fixed; }
.k-acts .k-tab th:nth-child(2), .k-acts .k-tab td:nth-child(2) { width: 17%; }
.k-acts .k-tab th:nth-child(3), .k-acts .k-tab td:nth-child(3) { width: 21%; }

.k-pills button.k-cast { cursor: pointer; font-family: var(--mono); }
.k-pills button.k-cast:hover { outline: 2px solid var(--ice); outline-offset: 1px; }
.k-pills button.k-cast[aria-pressed="true"] { outline: 2px solid var(--text); outline-offset: 1px; }
.k-pills button.k-cast:not([aria-pressed="true"]).dimmed { opacity: .45; }
.k-seatgrid { columns: 2; column-gap: var(--sp-6); }
.k-seatgrid li { break-inside: avoid; }
.k-search { display: block; margin: 2px 0 var(--sp-1); }
.k-search span { display: block; font-size: var(--fs-xs); color: var(--dim); }
.k-search input { width: 100%; box-sizing: border-box; font: var(--fs-sm) var(--sans); padding: var(--sp-1) var(--sp-2);
                  border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--text); }
.k-office h5 { margin: 0 0 2px; font-size: var(--fs-base); }
.k-office h5 .n { font-family: var(--mono); font-weight: 400; color: var(--dim); margin-left: var(--sp-1); }
.k-box { position: relative; min-width: 0; display: flex; flex-direction: column; }
.k-box > .kv { margin: 0 0 6px; font-size: var(--fs-xs); }
.k-scroll { max-height: 420px; overflow-y: auto; border: 1px solid var(--line); border-radius: var(--r-sm);
            background: var(--panel); padding: 2px var(--sp-2); }
.k-tab { width: 100%; font-size: var(--fs-sm); }
.k-tab th { position: sticky; top: 0; background: var(--panel); font: 600 var(--fs-xs) var(--mono);
            letter-spacing: .06em; text-transform: uppercase; color: var(--dim); text-align: left; padding: 6px var(--sp-1); }
.k-tab td { padding: 6px var(--sp-1); border-top: 1px solid var(--line); vertical-align: top; }
.k-tab td:first-child { min-width: 11em; }
.k-tab .k-status { min-width: 7.5em; }
.k-title { color: var(--dim); font-size: var(--fs-xs); }
.k-when { white-space: nowrap; color: var(--dim); font-size: var(--fs-xs); }
.k-status b { font-weight: 600; }
.k-bill.st-became-law .k-status b, .k-bill.st-passed-both-chambers .k-status b,
.k-bill.st-signed .k-status b, .k-bill.st-veto-overridden .k-status b { color: var(--grass); }
.k-bill.st-vetoed .k-status b { color: var(--hue-red-deep); }
.k-vote { border-top: 1px solid var(--line); padding: 5px 0; font-size: var(--fs-sm); }
.k-vote:first-child { border-top: 0; }
.k-vote > summary { cursor: pointer; display: grid; grid-template-columns: 5.4em minmax(0, 1fr); gap: 2px var(--sp-2); list-style: none;
                    align-items: start; }
.k-vote > summary::-webkit-details-marker { display: none; }
.k-vote > summary .k-vq { grid-column: 2; color: var(--dim); font-size: var(--fs-xs); }
.k-vote > summary .k-vq i { color: var(--ice); font-style: normal; }
.k-vote ul { list-style: none; margin: var(--sp-1) 0 0 5.4em; padding: 0 0 0 var(--sp-2); border-left: 2px solid var(--line); font-size: var(--fs-sm); }
.k-vote ul li { display: flex; gap: var(--sp-2); align-items: baseline; padding: 2px 0; }
.k-vote > p { margin: 2px 0 0 6em; font-size: var(--fs-xs); }
.k-cast { display: inline-block; align-self: start; font: 600 10px var(--mono); letter-spacing: .04em;
          text-transform: uppercase; padding: 2px 6px; line-height: 1.2; border-radius: 999px;
          border: 1px solid var(--line); background: var(--panel2); white-space: nowrap;
          min-width: 4.8em; text-align: center; box-sizing: border-box; }

.k-cast.c-yea { color: #fff; background: var(--grass); border-color: var(--grass); }
.k-cast.c-nay { color: #fff; background: var(--hue-red-deep); border-color: var(--hue-red-deep); }

.k-cast.c-not-voting, .k-cast.c-absent, .k-cast.c-other, .k-cast.c-unmapped,
.k-cast.c-present { color: var(--dim); border-style: dashed; }
.k-oscov { margin: 0 0 6px; }
.k-seatcongress { margin: var(--sp-3) 0 var(--sp-1); font-size: var(--fs-sm); }
.k-seatcongress .kv { font-weight: 400; }
.k-seatlist { margin: 0; padding-left: var(--sp-4); font-size: var(--fs-base); }
.k-seatlist li.sub { margin-left: var(--sp-4); font-size: var(--fs-sm); }
@media (max-width: 900px) { .k-office { grid-template-columns: minmax(0, 1fr); } }
.k-worth-range { margin: var(--sp-1) 0 var(--sp-2); font-size: var(--fs-lg); }
.k-worth-range b { font-family: var(--mono); font-weight: 700; }


table.grouped tr.sum.k-pac .num { color: var(--pacm); }
table.grouped tr.sum.k-self .num { color: var(--selff); }
table.grouped tr.sum.k-grass .num { color: var(--grass); }
table.grouped tr.sum[data-hue="blue"] .num    { color: var(--hue-blue-deep); }
table.grouped tr.sum[data-hue="red"] .num     { color: var(--hue-red-deep); }
table.grouped tr.sum[data-hue="gold"] .num    { color: var(--hue-gold-deep); }
table.grouped tr.sum[data-hue="green"] .num   { color: var(--hue-green-deep); }
table.grouped tr.sum[data-hue="neutral"] .num { color: var(--hue-neutral-deep); }


table.grouped tr.sum.matched td:first-child { border-left: 3px solid var(--ice); padding-left: 6px; }
table.grouped tr.sum.matched td:first-child::after { content: " · matched"; font: var(--fs-xs) var(--mono); color: var(--ice); }


.k-race { margin-top: var(--sp-4); }
.k-race h3 { margin: 0 0 6px; }
.k-race .k-race-eyebrow { display: block; font: 600 var(--fs-xs) var(--mono);
             letter-spacing: .06em; text-transform: uppercase;
             color: var(--dim); }
.k-race .k-race-name { display: block; font: 700 var(--fs-md) var(--sans);
             color: var(--text); margin-top: 2px; }

.k-race .prevfill { fill: var(--panel2); }
.k-race g[data-hue="blue"] .prevfill    { fill: var(--hue-blue-mid); }
.k-race g[data-hue="red"] .prevfill     { fill: var(--hue-red-mid); }
.k-race g[data-hue="gold"] .prevfill    { fill: var(--hue-gold-mid); }
.k-race g[data-hue="green"] .prevfill   { fill: var(--hue-green-mid); }
.k-race g[data-hue="neutral"] .prevfill { fill: var(--hue-neutral-mid); }
.k-race .k-race-go { display: block; border: 1px solid var(--line);
                     border-radius: 6px; padding: 6px var(--sp-2) 2px; }
.k-race .k-race-go:hover { border-color: var(--text);
                           background: var(--panel2); }
.k-race .k-race-go svg { display: block; max-width: 100%; height: auto; }

.k-race .k-race-go .spent, .k-race .k-race-go .pl { opacity: 1; }


.pie .w-known { stroke: var(--pacm); }
.pie .w-darkm { stroke: #16181c; }
.pie[data-hue="pac"] .arc { color: var(--pacm); }
.c-ring .k-name { color: var(--pacm); }
.c-lenses { margin-top: var(--sp-3); }
.c-lenses .lens-bar { justify-content: flex-start; }

.c-lenses .c-card { display: none; }
#c-spent:checked ~ .c-card-spent { display: block; }
#c-recv:checked ~ .c-card-recv { display: block; }


.spent-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px;
              gap: var(--sp-4) var(--sp-6); align-items: start; margin-top: var(--sp-4); }

.spent-pies { position: sticky; top: 10px; order: 2; }
.spent-right { order: 1; min-width: 0; }

.spent-right .tab-body.pane-list { min-height: 300px; }
.spent-right .pane-scroll { max-height: 440px; }
.spent-right .pane-scroll .spent-table.grouped td:nth-child(2) { white-space: normal; }

@media (max-width: 720px) {
  .spent-grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); }
  .spent-pies { position: static; order: 1; }
  .spent-right { order: 2; }
  .spent-pies .sp-pie .pie { width: 220px; height: 220px; max-width: 100%; }
  .spent-right .tab-body.pane-list { min-height: 0; }
  .spent-right .pane-scroll { max-height: 320px; }
}

.c-lenses { margin-top: var(--sp-4); }
.c-lenses .lens-bar { justify-content: center; }
.c-lenses .c-card { padding: var(--sp-4) var(--sp-5); margin-top: var(--sp-3); }
.spent-pies .sp-pie { display: none; text-align: center; }
.spent-pies .sp-pie .pie { width: 280px; height: 280px; }
.spent-pies .sp-name { font: 600 var(--fs-base) var(--sans); margin: 6px 0 0; }
.spent-head { display: flex; justify-content: space-between;
              align-items: baseline; gap: var(--sp-3); }
.spent-table tbody tr { cursor: pointer; }
.spent-table input[type="radio"] { position: absolute; opacity: 0; }
.spent-table tbody tr:has(input:checked) { background: var(--panel2);
              outline: 1.5px solid var(--pacm); }




.c-card .tab-in { position: absolute; opacity: 0; pointer-events: none; }


.spent-table tbody tr { cursor: pointer; }
.spent-table tbody tr label { display: block; cursor: pointer; }

.sp-who[data-hue="blue"]    { color: var(--hue-blue-deep); font-weight: 600; }
.sp-who[data-hue="red"]     { color: var(--hue-red-deep); font-weight: 600; }
.sp-who[data-hue="gold"]    { color: var(--hue-gold-deep); font-weight: 600; }
.sp-who[data-hue="green"]   { color: var(--hue-green-deep); font-weight: 600; }
.sp-who[data-hue="neutral"] { color: var(--hue-neutral-deep); font-weight: 600; }
.sp-name[data-hue="blue"] a    { color: var(--hue-blue-deep); }
.sp-name[data-hue="red"] a     { color: var(--hue-red-deep); }
.sp-name[data-hue="gold"] a    { color: var(--hue-gold-deep); }
.sp-name[data-hue="green"] a   { color: var(--hue-green-deep); }
.sp-name[data-hue="neutral"] a { color: var(--hue-neutral-deep); }
.sp-who[data-hue="pac"], .sp-name[data-hue="pac"] a { color: var(--pacm); font-weight: 600; }


#c-spent:checked ~ .lens-bar .lens-cspent,
#c-recv:checked ~ .lens-bar .lens-crecv {
  background: var(--pacm); color: #fff; border-color: var(--pacm); }


@media (max-width: 640px) {
  
  .site-wire { padding: 6px var(--sp-4); gap: var(--sp-3); }
  .wire-logo { padding-right: var(--sp-3); }
  
  .landing { margin-top: 76px; }
  .landing > p.kv { margin-top: var(--sp-5); }
}


.co-lenses .co-card { display: none; }
#co-trades:checked ~ .co-card-trades, #co-pacs:checked ~ .co-card-pacs,
#co-lobby:checked ~ .co-card-lobby, #co-emps:checked ~ .co-card-emps,
#co-subs:checked ~ .co-card-subs { display: block; }
.co-subs tr.dim td { color: var(--dim); }
#co-trades:checked ~ .lens-bar .lens-cotrades, #co-pacs:checked ~ .lens-bar .lens-copacs,
#co-lobby:checked ~ .lens-bar .lens-colobby, #co-emps:checked ~ .lens-bar .lens-coemps,
#co-subs:checked ~ .lens-bar .lens-cosubs {
  background: var(--pacm); color: #fff; border-color: var(--pacm); }
.co-lenses .lens-btn .n { font: var(--fs-sm) var(--mono); opacity: .85; }
.co-ring-note, .co-noring { text-align: center; max-width: 300px; margin: 0; font-size: var(--fs-sm); }
.co-noring { padding-top: var(--sp-7); }
.co-pacs-list { margin: var(--sp-1) 0 var(--sp-4); }
.co-stats-h { margin: var(--sp-5) 0 2px; }
.co-card .spent-right { min-width: 0; }
.co-card .spent-head h4 { margin-right: var(--sp-3); }
.co-trades td .badge { font-size: var(--fs-xs); vertical-align: 1px; }

.co-trades tr.sub td { font-size: var(--fs-base); }
@media (max-width: 640px) {
  .co-lenses .lens-bar { justify-content: flex-start; }
}

.co-card a[data-hue="blue"]    { color: var(--hue-blue-deep); }
.co-card a[data-hue="red"]     { color: var(--hue-red-deep); }
.co-card a[data-hue="gold"]    { color: var(--hue-gold-deep); }
.co-card a[data-hue="green"]   { color: var(--hue-green-deep); }
.co-card a[data-hue="neutral"] { color: var(--hue-neutral-deep); }

.co-chart { width: 100%; height: auto; display: block; margin: 6px 0 var(--sp-1); }
.co-lean text, .co-price text { font: var(--fs-xs) var(--mono); fill: var(--dim); }
.co-lean .cyc { fill: var(--text); }
.co-lean .side { font-weight: 600; font-size: var(--fs-sm); }
.co-lean .axis, .co-price .axis { stroke: var(--text); stroke-width: 1; }
.co-lean .grid, .co-price .grid { stroke: var(--line); stroke-width: 1; }
.co-price .cov { stroke: var(--dim); stroke-dasharray: 3 3; }
.co-lean .lb.other { fill: var(--hue-neutral-mid); }
.co-lean .lb[data-hue="blue"]    { fill: var(--hue-blue-mid); }
.co-lean .lb[data-hue="red"]     { fill: var(--hue-red-mid); }
.co-lean .lb[data-hue="gold"]    { fill: var(--hue-gold-mid); }
.co-lean .lb[data-hue="green"]   { fill: var(--hue-green-mid); }
.co-lean .lb[data-hue="neutral"] { fill: var(--hue-neutral-mid); }
.co-lean .lb:hover { filter: brightness(.85); }
.co-lean text[data-hue="blue"]    { fill: var(--hue-blue-deep); }
.co-lean text[data-hue="red"]     { fill: var(--hue-red-deep); }
.co-lean text[data-hue="gold"]    { fill: var(--hue-gold-deep); }
.co-lean text[data-hue="green"]   { fill: var(--hue-green-deep); }
.co-lean text[data-hue="neutral"] { fill: var(--hue-neutral-deep); }
.co-price .line { fill: none; stroke: var(--ink-dark, var(--text)); stroke-width: 1.1; }
.co-price .dot { stroke-width: 1.6; fill: var(--hue-neutral-deep); stroke: var(--hue-neutral-deep); }
.co-price .dot.sell { fill: var(--panel); }
.co-price .dot.nop { fill: var(--panel2); stroke: var(--dim); }
.co-price .dot[data-hue="blue"]    { stroke: var(--hue-blue-deep); }
.co-price .dot.buy[data-hue="blue"]    { fill: var(--hue-blue-deep); }
.co-price .dot[data-hue="red"]     { stroke: var(--hue-red-deep); }
.co-price .dot.buy[data-hue="red"]     { fill: var(--hue-red-deep); }
.co-price .dot[data-hue="gold"]    { stroke: var(--hue-gold-deep); }
.co-price .dot.buy[data-hue="gold"]    { fill: var(--hue-gold-deep); }
.co-price .dot[data-hue="green"]   { stroke: var(--hue-green-deep); }
.co-price .dot.buy[data-hue="green"]   { fill: var(--hue-green-deep); }
.co-price .dot[data-hue="neutral"] { stroke: var(--hue-neutral-deep); }
.co-price .dot.buy[data-hue="neutral"] { fill: var(--hue-neutral-deep); }
.co-price a:hover .dot { r: 6; }

.co-preview { display: block; margin-top: var(--sp-4); cursor: pointer; border-top: 1px solid var(--line); padding-top: var(--sp-3); }
.co-preview:hover .kv { color: var(--ice); text-decoration: underline; }
.co-preview .co-chart { margin-top: var(--sp-1); }
.co-lean.compact .bar { shape-rendering: crispEdges; }

.pie .w-ici-i { stroke: var(--hue-neutral-deep); }
.pie .w-ici-o { stroke: var(--hue-neutral-mid); }
.pie .w-ici-c { stroke: var(--dim); opacity: .45; }
.pie .w-ici-x { stroke: var(--line); }
.pie-sw.w-ici-i { background: var(--hue-neutral-deep); }
.pie-sw.w-ici-o { background: var(--hue-neutral-mid); }
.pie-sw.w-ici-c { background: var(--dim); opacity: .45; }
.pie-sw.w-ici-x { background: var(--line); }
.pie .w-pty[data-hue="blue"], .pie .w-emp[data-hue="blue"]       { stroke: var(--hue-blue-mid); }
.pie .w-pty[data-hue="red"], .pie .w-emp[data-hue="red"]         { stroke: var(--hue-red-mid); }
.pie .w-pty[data-hue="gold"], .pie .w-emp[data-hue="gold"]       { stroke: var(--hue-gold-mid); }
.pie .w-pty[data-hue="green"], .pie .w-emp[data-hue="green"]     { stroke: var(--hue-green-mid); }
.pie .w-pty[data-hue="neutral"], .pie .w-emp[data-hue="neutral"] { stroke: var(--hue-neutral-mid); }
.pie .w-emp-none { stroke: var(--hue-neutral-mid); opacity: .55; }
.pie-sw.w-pty[data-hue="blue"], .pie-sw.w-emp[data-hue="blue"]       { background: var(--hue-blue-mid); }
.pie-sw.w-pty[data-hue="red"], .pie-sw.w-emp[data-hue="red"]         { background: var(--hue-red-mid); }
.pie-sw.w-pty[data-hue="gold"], .pie-sw.w-emp[data-hue="gold"]       { background: var(--hue-gold-mid); }
.pie-sw.w-pty[data-hue="green"], .pie-sw.w-emp[data-hue="green"]     { background: var(--hue-green-mid); }
.pie-sw.w-pty[data-hue="neutral"], .pie-sw.w-emp[data-hue="neutral"] { background: var(--hue-neutral-mid); }
.pie-sw.w-emp-none { background: var(--hue-neutral-mid); opacity: .55; }
.pie .seam { stroke: var(--text); stroke-width: .75; }
.pie .w:hover { filter: brightness(.85); }
.co-key { font-size: var(--fs-sm); margin-top: 6px; max-width: 300px; }
.co-key li { display: grid; grid-template-columns: 10px 1fr; gap: 2px 6px; align-items: baseline; }
.co-key .pie-sw { margin-top: 3px; }
.co-key-note { grid-template-columns: 1fr !important; color: var(--dim); }
.co-key-note .pie-sw { display: inline-block; vertical-align: -1px; margin: 0 1px 0 0; }
.co-ring2 { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--line);
  display: flex; flex-direction: column; align-items: center; gap: 6px; }
.co-ring2 .pie { width: 170px; height: 170px; }
.co-page .k-head { align-items: start; }
.co-page .k-name { color: var(--text); }
.co-key li.co-key-note { display: block; }






.co-roster td:first-child .kv { display: block; font-size: var(--fs-sm); }
.co-roster .dist { font-family: var(--mono); white-space: nowrap; }
.co-roster .dist .kv { font-family: var(--sans); }

.pac-roster td:first-child { min-width: 22ch; max-width: 34ch; }
.pac-roster td:nth-child(2) { max-width: 24ch; }
.pac-roster td:nth-child(2) .dist { font-size: var(--fs-xs); margin-left: var(--sp-1); }
.pac-roster td:last-child { white-space: nowrap; }

.lb-roster td.lr-kind { white-space: nowrap; }
.lb-roster .lr-kind-m, .lb-roster td:first-child .lr-m { display: none; }
@media (max-width: 600px) {
  .lb-roster .lr-kind { display: none; }
  .lb-roster .lr-kind-m { display: inline; }
  .lb-roster td:first-child .lr-m { display: block; }
  .lr-clients th:nth-child(n+3), .lr-clients td:nth-child(n+3) { display: none; }
  .scroll-x table.lr-clients, .scroll-x table.lr-clients td:first-child { min-width: 0; }
  .lr-clients th.num { white-space: normal; }
}

.lr-bar .lr-rows { font: var(--fs-base) var(--mono); color: var(--dim); }
.lr-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lr-pager a { background: var(--panel2); color: var(--ice); font-weight: 600;
              font-size: var(--fs-base); border: 1px solid var(--line);
              border-radius: var(--r-pill); padding: 6px var(--sp-3); }
.lr-pager a:hover { border-color: var(--ice); text-decoration: none; }
.lr-pager span { font: var(--fs-sm) var(--mono); color: var(--dim); padding: 0 var(--sp-1); }
.lr-door-page > .lr-pager { justify-content: center; margin: var(--sp-4) 0 0; }
@media (max-width: 600px) {
  .lr-pager { gap: var(--sp-1); }
  .lr-pager a { padding: 6px var(--sp-3); }
  .lr-pager span { padding: 0 2px; }
}

.pie.co-sun .ctr.sm { font-size: var(--fs-lg); }
.pie.co-sun .sub { font-size: 9.5px; }


.pie .w-iss-0 { stroke: var(--hue-neutral-deep); }
.pie .w-iss-1 { stroke: var(--ice); }
.pie .w-iss-2 { stroke: var(--dim); }
.pie .w-iss-3 { stroke: var(--hue-neutral-mid); }
.pie .w-iss-4 { stroke: var(--bar); }
.pie .w-iss-5 { stroke: var(--line); }
.pie .w-iss-rest { stroke: var(--panel2); }
.pie-sw.w-iss-0 { background: var(--hue-neutral-deep); }
.pie-sw.w-iss-1 { background: var(--ice); }
.pie-sw.w-iss-2 { background: var(--dim); }
.pie-sw.w-iss-3 { background: var(--hue-neutral-mid); }
.pie-sw.w-iss-4 { background: var(--bar); }
.pie-sw.w-iss-5 { background: var(--line); }
.pie-sw.w-iss-rest { background: var(--panel2); border: 1px solid var(--line); }
.lb-ring .k-name { color: var(--text); }
.lb-lenses .lb-card { display: none; }
#lb-1:checked ~ .lb-card-1, #lb-2:checked ~ .lb-card-2,
#lb-3:checked ~ .lb-card-3, #lb-4:checked ~ .lb-card-4 { display: block; }
#lb-1:checked ~ .lens-bar .lens-lb-1, #lb-2:checked ~ .lens-bar .lens-lb-2,
#lb-3:checked ~ .lens-bar .lens-lb-3, #lb-4:checked ~ .lens-bar .lens-lb-4 {
  border-color: var(--ice); color: var(--ice); }

.lb-years { display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: var(--sp-1) var(--sp-3); align-items: center; margin: var(--sp-2) 0 var(--sp-1); max-width: 520px; }
.lb-years .y { font: 600 var(--fs-sm) var(--mono); color: var(--dim); }
.lb-years .t { height: 10px; background: var(--panel2); border-radius: 2px; }
.lb-years .t i { display: block; height: 100%; background: var(--ice); border-radius: 2px; }
.lb-years .t i.flag { background: repeating-linear-gradient(135deg, var(--ice) 0 4px, var(--panel) 4px 6px); }
.lb-years .v { font: var(--fs-base) var(--mono); }
.lb-issues td:first-child { font-family: var(--mono); }


.cc-lenses .cc-card { display: none; }
#cc-1:checked ~ .cc-card-1, #cc-2:checked ~ .cc-card-2,
#cc-3:checked ~ .cc-card-3, #cc-4:checked ~ .cc-card-4 { display: block; }
#cc-1:checked ~ .lens-bar .lens-cc-1, #cc-2:checked ~ .lens-bar .lens-cc-2,
#cc-3:checked ~ .lens-bar .lens-cc-3, #cc-4:checked ~ .lens-bar .lens-cc-4 {
  border-color: var(--ice); color: var(--ice); }
.cc-ring .pie .w[data-hue="blue"]    { stroke: var(--hue-blue-deep); }
.cc-ring .pie .w[data-hue="red"]     { stroke: var(--hue-red-deep); }
.cc-ring .pie .w[data-hue="gold"]    { stroke: var(--hue-gold-deep); }
.cc-ring .pie .w[data-hue="green"]   { stroke: var(--hue-green-deep); }
.cc-ring .pie .w[data-hue="neutral"] { stroke: var(--hue-neutral-mid); }
.cc-ring .pie-sw[data-hue="blue"]    { background: var(--hue-blue-deep); }
.cc-ring .pie-sw[data-hue="red"]     { background: var(--hue-red-deep); }
.cc-ring .pie-sw[data-hue="gold"]    { background: var(--hue-gold-deep); }
.cc-ring .pie-sw[data-hue="green"]   { background: var(--hue-green-deep); }
.cc-ring .pie-sw[data-hue="neutral"] { background: var(--hue-neutral-mid); }
.cc-hist { margin: 6px 0; }
.cc-hist > summary { cursor: pointer; font: var(--fs-base) var(--mono); color: var(--dim); }
.cc-hist[open] > summary { color: var(--text); }


.b-lenses .b-card { display: none; }
#b-1:checked ~ .b-card-1, #b-2:checked ~ .b-card-2,
#b-3:checked ~ .b-card-3, #b-4:checked ~ .b-card-4,
#b-5:checked ~ .b-card-5 { display: block; }
#b-1:checked ~ .lens-bar .lens-b-1, #b-2:checked ~ .lens-bar .lens-b-2,
#b-3:checked ~ .lens-bar .lens-b-3, #b-4:checked ~ .lens-bar .lens-b-4,
#b-5:checked ~ .lens-bar .lens-b-5 {
  border-color: var(--ice); color: var(--ice); }
.b-chart { overflow-x: auto; margin: 6px 0 2px; }
.b-chart svg { display: block; }
.b-pos-cov { margin: 10px 0 4px; }
.b-ring .b-id { font: 700 var(--fs-2xl) var(--mono); letter-spacing: 0.02em;
  margin: 6px 0 2px; color: var(--text); }


.fl-lenses .fl-card { display: none; }
#fl-1:checked ~ .fl-card-1, #fl-2:checked ~ .fl-card-2,
#fl-3:checked ~ .fl-card-3 { display: block; }
#fl-1:checked ~ .lens-bar .lens-fl-1, #fl-2:checked ~ .lens-bar .lens-fl-2,
#fl-3:checked ~ .lens-bar .lens-fl-3 {
  border-color: var(--ice); color: var(--ice); }
.fl-screen { border: 1px solid var(--line); border-left: 4px solid var(--hue-gold-deep);
  padding: var(--sp-2) var(--sp-3); border-radius: 4px; margin-bottom: var(--sp-3); }


.o5-lenses .o5-card { display: none; }
#o5-1:checked ~ .o5-card-1, #o5-2:checked ~ .o5-card-2,
#o5-3:checked ~ .o5-card-3, #o5-4:checked ~ .o5-card-4 { display: block; }
#o5-1:checked ~ .lens-bar .lens-o5-1, #o5-2:checked ~ .lens-bar .lens-o5-2,
#o5-3:checked ~ .lens-bar .lens-o5-3, #o5-4:checked ~ .lens-bar .lens-o5-4 {
  border-color: var(--ice); color: var(--ice); }



.prov { display: inline-block; position: relative; vertical-align: baseline; }

.prov-line { margin: 1em 0; }
.prov > summary { display: inline; list-style: none; cursor: pointer;
  font: inherit; color: inherit;
  text-decoration: underline dotted; text-decoration-color: var(--dim);
  text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prov > summary::-webkit-details-marker { display: none; }
.prov > summary::marker { content: ""; }
.prov[open] > summary { text-decoration-color: var(--text); }
.prov-box { position: absolute; z-index: 40; left: 0; top: calc(100% + 7px);
  width: max-content; min-width: 250px; max-width: min(380px, 90vw);
  padding: var(--sp-2) var(--sp-3) 6px; background: var(--panel); color: var(--text);
  border: 1px solid var(--line); border-radius: var(--r-sm);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .10); text-align: left;
  white-space: normal; text-transform: none; letter-spacing: 0; }

.prov-box p { display: grid; grid-template-columns: 62px 1fr; gap: 0 var(--sp-3);
  margin: 0 0 var(--sp-1); }
.prov-box b, .stat .prov-box b, .hero-stats .stat .prov-box b {
  font: 600 10px/1.75 var(--mono); letter-spacing: .06em; text-transform: uppercase;
  color: var(--dim); }
.prov-box span, .stat .prov-box span, .hero-stats .stat .prov-box span {
  font: 400 var(--fs-sm)/1.45 var(--sans); color: var(--text); }
.prov-box a { color: var(--blue); text-decoration: none; }
.prov-box a:hover { text-decoration: underline; }
.prov.r .prov-box { left: auto; right: 0; }

.prov-box.lifted { position: fixed; }


.flagp { width: 8px; height: 12px; vertical-align: -1px; }

tr.flagged td { background: var(--panel2); }
tr.flagged td:first-child { box-shadow: inset 3px 0 0 var(--flag); }

.prov.flag .prov-box { min-width: 280px; max-width: min(440px, 92vw); }
.prov-box p.flag-s { display: block; margin: 0 0 5px;
  font: 400 var(--fs-sm)/1.5 var(--sans); color: var(--text); }
.prov-box p.flag-s + p b { margin-top: 2px; }


.tools-doors { display: flex; flex-direction: column; margin: var(--sp-2) 0 var(--sp-4); border-top: 1px solid var(--line); }
.tools-doors a { display: block; padding: var(--sp-3) 2px; border-bottom: 1px solid var(--line); text-decoration: none; }
.tools-doors a span { display: block; font-family: var(--serif); font-weight: 600; font-size: var(--fs-lg); color: var(--ice); }
.tools-doors a small { display: block; margin-top: 3px; font-size: var(--fs-base); line-height: 1.4; color: var(--dim); }
.tools-doors a:hover span { text-decoration: underline; }
.tools-doors a[aria-current="page"] span { color: var(--text); }
@media (min-width: 641px) {
  .tools-doors { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--sp-6); border-top: 0; }
  .tools-doors a { border-top: 1px solid var(--line); border-bottom: 0; }
}

.labrat-h2 { margin: var(--sp-5) 0 0; font-size: var(--fs-md); color: var(--dim);
  font-weight: 600; }

.lab-page .api-hero h1 { font-size: var(--fs-3xl); }

.lab-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.lab-tile { position: relative; display: flex; flex-direction: column; gap: var(--sp-2); min-width: 0;
  padding: var(--sp-4); border-radius: var(--r-lg); text-decoration: none; --fam: var(--api-ochre);
  background: color-mix(in srgb, var(--fam) 8%, var(--panel)); border: 1px solid color-mix(in srgb, var(--fam) 35%, var(--line));
  border-top: 5px solid var(--fam); transition: transform .12s, border-color .12s; }
.lab-tile:hover { transform: translateY(-2px); text-decoration: none; border-color: var(--fam); }
.lab-tile .lab-icon { width: 56px; height: 40px; shape-rendering: crispEdges; }
.lab-tile .lab-icon .pa { fill: var(--fam); }
.lab-tile .lab-icon .pb { fill: color-mix(in srgb, var(--fam) 40%, var(--panel)); }
.lab-tile span { display: block; font-family: var(--serif); font-weight: 600; font-size: var(--fs-lg); line-height: 1.2; color: var(--text); }
.lab-tile small { display: block; font-size: var(--fs-sm); line-height: 1.45; color: var(--dim); }
@media (max-width: 900px) { .lab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .lab-grid { grid-template-columns: minmax(0, 1fr); } }

.co-refusals { margin-top: var(--sp-3); }
.co-refusals > summary { cursor: pointer; }
.co-refusals table { margin-top: var(--sp-2); }


body.is-place main { padding-bottom: var(--sp-2); }
body.is-place footer { margin-top: 0; }

.place-screen { display: flex; flex-direction: column; gap: var(--sp-1);
  min-height: calc(100vh - 240px); }
.place-screen .place-races-sect { min-height: 240px; }
.place-head { flex: 0 0 auto; }
.place-head h1 { margin: 0; font-size: clamp(18px, 2.4vh, 26px); line-height: 1.2; }
.place-eyebrow { color: var(--dim); font-weight: 400; }
.place-basis { margin: 0; font-size: clamp(11px, 1.4vh, 13px); }
.place-h2 { flex: 0 0 auto; margin: var(--sp-1) 0 0; font-size: clamp(15px, 2vh, 20px);
  border-bottom: 1px solid var(--line); padding-bottom: 2px; }
.place-sect { margin-left: var(--sp-5); display: flex; flex-direction: column;
  min-height: 0; flex: 0 0 auto; }
.place-sect h3 { margin: 3px 0 2px; font-size: clamp(12px, 1.6vh, 15px); }
.place-officials { display: flex; justify-content: center; align-items: flex-start;
  gap: clamp(var(--sp-4), 4vw, var(--sp-8)); flex-wrap: wrap; }

.place-officials.loc-left { justify-content: flex-start;
  gap: clamp(var(--sp-5), 5vw, 72px); padding: 6px 0 2px; }
.place-ring { display: flex; flex-direction: column; align-items: center; gap: 0; }
.place-ring .place-pie { display: block; line-height: 0; }
.place-ring .pie, .place-nopie { width: clamp(90px, 14vh, 180px); height: clamp(90px, 14vh, 180px); }
.place-nopie { border: 1px dashed var(--line); border-radius: 50%; display: flex;
  align-items: center; justify-content: center; text-align: center;
  padding: var(--sp-3); box-sizing: border-box; }

.place-ring .place-pie.place-nopie { display: flex; line-height: 1.3;
  font-size: var(--fs-xs); padding: 0 var(--sp-4); }
.place-name { font: 600 clamp(13px, 1.8vh, 16px) var(--sans); text-decoration: none;
  margin-top: 2px; }
.place-name:hover { text-decoration: underline; }
.place-role { font-size: clamp(10px, 1.2vh, 12px); }
.place-ring[data-hue="blue"] .place-name    { color: var(--hue-blue-deep); }
.place-ring[data-hue="red"] .place-name     { color: var(--hue-red-deep); }
.place-ring[data-hue="gold"] .place-name    { color: var(--hue-gold-deep); }
.place-ring[data-hue="green"] .place-name   { color: var(--hue-green-deep); }
.place-ring[data-hue="neutral"] .place-name { color: var(--hue-neutral-deep); }
.place-races-sect { flex: 1 1 auto; min-height: 0; }

.place-races { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column;
  gap: 6px; overflow-y: auto; }
.place-races .place-race.has-graph { min-height: 120px; }
.place-race { display: flex; flex-direction: column; min-height: 0;
  border: 1px solid var(--line); border-radius: 6px; padding: 3px var(--sp-3) 2px; }

.place-race.has-graph { flex: 1 1 0; flex-direction: row; align-items: stretch; gap: var(--sp-3); }
.place-race.has-graph h4 { flex: 0 0 200px; display: flex; flex-direction: column; gap: 3px; }
.place-race.has-graph h4 .kv { font-weight: 400; }
.place-race.no-graph { flex: 0 0 auto; }
.place-race h4 { margin: 0; font-size: clamp(12px, 1.5vh, 14px); flex: 0 0 auto; }
.place-race h4 a { text-decoration: none; }
.place-race h4 a:hover { text-decoration: underline; }
.place-race p.kv { margin: 0; }
.place-graph { flex: 1 1 auto; min-height: 0; display: flex; justify-content: flex-start; }
.place-graph svg { height: 100%; width: auto; max-width: 100%; min-width: 0; }

.place-graph .spent, .place-graph .pl { opacity: 1; }

@media (max-width: 640px) {
  .place-races { overflow: visible; }
  .place-race.has-graph { flex: 0 0 auto; flex-direction: column;
    min-height: 0; padding: var(--sp-2) var(--sp-3) 6px; gap: 6px; }
  .place-race.has-graph h4 { flex: 0 0 auto; }
  .place-graph { flex: 0 0 auto; }
  .place-graph svg { width: 100%; height: auto; }
}


.pair-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4) var(--sp-5); }
.pair-grid > div { min-width: 0; }
.pair-grid dl { margin: 0; }
.pair-grid dl dt { color: var(--dim); font: 600 var(--fs-xs) var(--mono);
  letter-spacing: .07em; text-transform: uppercase; }
.pair-grid dl dd { margin: var(--sp-1) 0 0; }
.amend-kind { font: var(--fs-xs) var(--mono); color: var(--dim);
  white-space: nowrap; }
.amend-tabs { position: relative; }
.amend-tabs .tab-in { position: absolute; opacity: 0; pointer-events: none; }
@media (max-width: 700px) { .pair-grid { grid-template-columns: 1fr; } }


:root { --pf-most: #1f7a3d; --pf-least: #b3261e;
  
  --pf-hatch-a: rgba(181, 115, 28, .075);
  --pf-hatch-b: rgba(87, 99, 111, .05);
  }
:root[data-theme="dark"] { --pf-most: #3fa464; --pf-least: #e0645a;
  --pf-hatch-a: rgba(221, 162, 87, .07);
  --pf-hatch-b: rgba(139, 151, 164, .05); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --pf-most: #3fa464; --pf-least: #e0645a;
    --pf-hatch-a: rgba(221, 162, 87, .07);
    --pf-hatch-b: rgba(139, 151, 164, .05); }
}


[data-tone="green"]  { --pf-tone: #1f7a3d;
  --pf-tone-a: rgba(31, 122, 61, .11); --pf-tone-b: rgba(31, 122, 61, .03); }
[data-tone="ochre"]  { --pf-tone: #b5731c;
  --pf-tone-a: rgba(181, 115, 28, .12); --pf-tone-b: rgba(181, 115, 28, .032); }
[data-tone="slate"]  { --pf-tone: #2b3138;
  --pf-tone-a: rgba(43, 49, 56, .10); --pf-tone-b: rgba(43, 49, 56, .028); }

[data-tone="yellow"] { --pf-tone: #96740a;
  --pf-tone-a: rgba(226, 186, 42, .17); --pf-tone-b: rgba(226, 186, 42, .045); }
:root[data-theme="dark"] [data-tone="green"]  { --pf-tone: #3fa464; }
:root[data-theme="dark"] [data-tone="ochre"]  { --pf-tone: #dda257; }
:root[data-theme="dark"] [data-tone="slate"]  { --pf-tone: #9aa6b2; }
:root[data-theme="dark"] [data-tone="yellow"] { --pf-tone: #d8b43c; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) [data-tone="green"]  { --pf-tone: #3fa464; }
  :root:not([data-theme="light"]) [data-tone="ochre"]  { --pf-tone: #dda257; }
  :root:not([data-theme="light"]) [data-tone="slate"]  { --pf-tone: #9aa6b2; }
  :root:not([data-theme="light"]) [data-tone="yellow"] { --pf-tone: #d8b43c; }
}

.pf { position: relative; max-width: 940px; margin: 0 auto var(--sp-2); }
.pf-ask { text-align: center; margin: var(--sp-2) 0 var(--sp-4); }
.pf-ask h1 { margin: 0; font: 600 clamp(20px, 3.4vw, 30px)/1.25 var(--sans); }
.pf-help { white-space: nowrap; color: var(--dim); }

.pf-rat-home { display: inline-block; width: 44px; height: 1em;
  vertical-align: baseline; }
.pf-rat { position: absolute; left: 0; top: 0; z-index: 5;
  pointer-events: none; will-change: transform; }

.pf-rat[hidden] { display: none; }
.pf-ghost { position: absolute; left: 0; top: 0; z-index: 4;
  pointer-events: none; font: 600 var(--fs-sm) var(--sans); color: var(--panel);
  background: var(--pacm); border-radius: 999px; padding: 3px var(--sp-3);
  white-space: nowrap; will-change: transform, opacity; }
.pf-anim-lab { display: inline-flex; align-items: center; gap: 5px;
  margin-top: var(--sp-1); font-size: var(--fs-xs); color: var(--dim); cursor: pointer; }
.pf-anim-lab input { width: 11px; height: 11px; }


.tut-in, .tut-none { position: absolute; opacity: 0; width: 1px; height: 1px;
  pointer-events: none; }

.tut-btn.tut-back { display: none; }
#tut-people:checked ~ .tut-doors [data-door="people"] .tut-go,
#tut-place:checked ~ .tut-doors [data-door="place"] .tut-go,
#tut-pac:checked ~ .tut-doors [data-door="pac"] .tut-go { display: none; }
#tut-people:checked ~ .tut-doors [data-door="people"] .tut-back,
#tut-place:checked ~ .tut-doors [data-door="place"] .tut-back,
#tut-pac:checked ~ .tut-doors [data-door="pac"] .tut-back { display: block; }
.tut-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4); margin: 6px 0 var(--sp-4); }
.tut-door { display: flex; flex-direction: column; min-width: 0;
  border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--panel); padding: var(--sp-4) var(--sp-4) var(--sp-4);
  transition: padding .4s ease, border-color .4s ease,
              background-color .4s ease; }
.tut-door-body { display: grid; grid-template-rows: 1fr; opacity: 1;
  transition: grid-template-rows .4s ease, opacity .25s ease; }
.tut-door-body > div { overflow: hidden; min-height: 0; }
.tut-door h2 { margin: 0 0 var(--sp-2); font: 600 var(--fs-lg)/1.3 var(--sans); }
.tut-door p { margin: 0 0 var(--sp-4); font-size: var(--fs-base); line-height: 1.55; }
.tut-btn { margin-top: auto; align-self: center; cursor: pointer;
  user-select: none; text-align: center;
  font: 600 var(--fs-md) var(--sans); color: var(--panel); background: var(--pacm);
  border: 1.5px solid var(--pacm); border-radius: 999px; padding: var(--sp-2) var(--sp-5);
  transition: background .2s, color .2s, border-color .2s, box-shadow .2s,
              transform .16s ease; }
.tut-btn:hover { filter: brightness(1.08); }

.tut-btn.tut-grabbed { transform: translate(3px, -3px) rotate(-3deg); }
#tut-people:focus-visible ~ .tut-doors .tut-btn[data-door="people"],
#tut-place:focus-visible ~ .tut-doors .tut-btn[data-door="place"],
#tut-pac:focus-visible ~ .tut-doors .tut-btn[data-door="pac"] {
  outline: 2px solid var(--text); outline-offset: 2px; }


.tut:has(.tut-in:checked) .tut-doors { margin-bottom: var(--sp-4); }
.tut:has(.tut-in:checked) .tut-door { padding: 0; border-color: transparent;
  background-color: transparent; }
.tut:has(.tut-in:checked) .tut-door-body { grid-template-rows: 0fr;
  opacity: 0; }
.tut:has(.tut-in:checked) .tut-btn { background: var(--panel);
  color: var(--dim); border-color: var(--line); padding: 7px var(--sp-4);
  font-size: var(--fs-base); }
.tut:has(.tut-in:checked) .tut-btn:hover { color: var(--text);
  border-color: var(--text); filter: none; }

#tut-people:checked ~ .tut-doors .tut-btn[data-door="people"],
#tut-place:checked ~ .tut-doors .tut-btn[data-door="place"],
#tut-pac:checked ~ .tut-doors .tut-btn[data-door="pac"] {
  background: var(--pacm); color: var(--panel); border-color: var(--pacm);
  box-shadow: 0 0 0 3px var(--pf-hatch-a), 0 0 0 4.5px var(--pacm); }


.tut-tab { display: none; }
#tut-people:checked ~ .tut-tab-people,
#tut-place:checked ~ .tut-tab-place,
#tut-pac:checked ~ .tut-tab-pac { display: block; }

body:has(#tut-place:checked) .pf-results,
body:has(#tut-none:checked) .pf-results,
body:has(#tut-pac:checked) .pf-results:not(.pcf-results),
body:has(#tut-people:checked) .pcf-results { display: none; }
.tut-tab-head { margin: 0 0 var(--sp-3); text-align: center;
  font: 600 clamp(18px, 2.6vw, 24px)/1.3 var(--sans); }

.us-map-box { padding: var(--sp-4) var(--sp-4) var(--sp-3); text-align: center; }
.us-map { display: block; width: 100%; max-width: 860px; height: auto;
  margin: 0 auto; }
.us-st path { fill: var(--panel); stroke: var(--dim); stroke-width: .9;
  stroke-linejoin: round; transition: fill .12s ease; }
.us-st { cursor: pointer; outline: none; }

.us-mark path { fill: var(--pacm); stroke: var(--panel); stroke-width: 1.2; }
.us-st:hover path, .us-st:focus-visible path { stroke: var(--text); }
.us-st[data-hue="blue"]:hover path, .us-st[data-hue="blue"]:focus-visible path { fill: var(--hue-blue-deep); }
.us-st[data-hue="red"]:hover path, .us-st[data-hue="red"]:focus-visible path { fill: var(--hue-red-deep); }
.us-st[data-hue="gold"]:hover path, .us-st[data-hue="gold"]:focus-visible path { fill: var(--hue-gold-deep); }
.us-st[data-hue="green"]:hover path, .us-st[data-hue="green"]:focus-visible path { fill: var(--hue-green-deep); }
.us-st[data-hue="neutral"]:hover path, .us-st[data-hue="neutral"]:focus-visible path { fill: var(--hue-neutral-deep); }

.us-map-cap { min-height: 1.5em; margin: var(--sp-2) 0 2px;
  font: 600 clamp(15px, 1.8vw, 18px)/1.4 var(--sans); }
.us-map-cap .us-map-idle { color: var(--dim); }
.us-map-cap.us-map-live .us-map-idle { display: none; }
.us-map-note { max-width: 640px; margin: var(--sp-1) auto 6px; font-size: var(--fs-xs); }
.us-map-list { text-align: left; margin: 6px 0 0; }
.us-map-list > summary { cursor: pointer; font: 600 var(--fs-sm) var(--sans);
  color: var(--dim); width: fit-content; margin: 0 auto; }
.us-map-list > summary:hover { color: var(--text); }
.us-map-list ul { list-style: none; margin: var(--sp-3) 0 var(--sp-1); padding: 0;
  columns: 4 150px; column-gap: var(--sp-4); font-size: var(--fs-base); }
.us-map-list li { margin: 0 0 3px; break-inside: avoid; }
.tut-soon { text-align: center; padding: var(--sp-6) var(--sp-4) var(--sp-6); }


#pcf-s-pacs:not(:checked) ~ .pf-box .pf-crit-opacs,
#pcf-s-pacs:not(:checked) ~ .pf-box .pf-chip-opacs,
#pcf-s-lobby:not(:checked) ~ .pf-box .pf-crit-olobby,
#pcf-s-lobby:not(:checked) ~ .pf-box .pf-chip-olobby,
#pcf-s-ind:not(:checked) ~ .pf-box .pf-crit-oind,
#pcf-s-ind:not(:checked) ~ .pf-box .pf-chip-oind { display: none; }
#pcf-s-pacs:checked ~ .pf-bubbles .pf-bubble[data-topic="opacs"],
#pcf-s-lobby:checked ~ .pf-bubbles .pf-bubble[data-topic="olobby"],
#pcf-s-ind:checked ~ .pf-bubbles .pf-bubble[data-topic="oind"] {
  background: var(--pf-tone); border-color: var(--pf-tone); color: #fff; }
#pcf-s-pacs:focus-visible ~ .pf-bubbles .pf-bubble[data-topic="opacs"],
#pcf-s-lobby:focus-visible ~ .pf-bubbles .pf-bubble[data-topic="olobby"],
#pcf-s-ind:focus-visible ~ .pf-bubbles .pf-bubble[data-topic="oind"] {
  outline: 2px solid var(--text); outline-offset: 2px; }


.pf-r-light:checked ~ .pf-seg-box .pf-light {
  background: var(--pf-tone, var(--pf-most)); color: #fff; }
.pf-r-dark:checked ~ .pf-seg-box .pf-dark { background: #1f2328; color: #fff; }
.pf-r-light:focus-visible ~ .pf-seg-box .pf-light,
.pf-r-dark:focus-visible ~ .pf-seg-box .pf-dark {
  outline: 2px solid var(--text); outline-offset: 2px; }
.pf-seg-btn.pf-light, .pf-seg-btn.pf-dark { white-space: nowrap; }


.pcf-with-links .pcf-body { display: grid; align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); gap: var(--sp-2) var(--sp-5); }
.pcf-links { margin: var(--sp-3) 0 var(--sp-1); padding: var(--sp-3) var(--sp-3) var(--sp-2);
  border: 1px solid var(--line); border-radius: 8px; background: var(--panel);
  position: relative; }
.pcf-links-head { margin: 0 0 var(--sp-2); font: 600 var(--fs-base)/1.35 var(--sans); }
.pcf-q-row { display: flex; align-items: center; gap: 6px; }
.pcf-q-row input[type="text"] { flex: 1 1 auto; min-width: 0;
  font: var(--fs-base) var(--sans); padding: 6px var(--sp-2); border-radius: 6px;
  border: 1px solid var(--line); background: var(--panel); color: var(--text); }
.pcf-q-idle { flex: 1 1 auto; min-width: 0; font: italic var(--fs-base) var(--sans);
  padding: 6px var(--sp-2); border-radius: 6px; border: 1px solid var(--line);
  background: var(--panel2); color: var(--dim); cursor: text;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pcf-q-idle:hover { border-color: var(--dim); }

.pcf-links:has(.pcf-all-in:checked) .pcf-q,
.pcf-links:not(:has(.pcf-all-in:checked)) .pcf-q-idle { display: none; }
.pcf-none { position: absolute; opacity: 0; width: 1px; height: 1px;
  pointer-events: none; }

.pf-bubble.pcf-back { display: none; }
#pcf-s-pacs:checked ~ .pf-bubbles .pcf-go[data-topic="opacs"],
#pcf-s-lobby:checked ~ .pf-bubbles .pcf-go[data-topic="olobby"],
#pcf-s-ind:checked ~ .pf-bubbles .pcf-go[data-topic="oind"] { display: none; }
#pcf-s-pacs:checked ~ .pf-bubbles .pcf-back[data-topic="opacs"],
#pcf-s-lobby:checked ~ .pf-bubbles .pcf-back[data-topic="olobby"],
#pcf-s-ind:checked ~ .pf-bubbles .pcf-back[data-topic="oind"] { display: inline-block; }
.pcf-links:has(.pcf-all-in:checked) .pcf-terms,
.pcf-links:has(.pcf-all-in:checked) .pcf-note,
.pcf-links:has(.pcf-all-in:checked) .pcf-missed { opacity: .45; }
.pcf-all { display: inline-flex; align-items: center; gap: 3px;
  font-size: var(--fs-xs); color: var(--dim); cursor: pointer; white-space: nowrap; }
.pcf-all-in { width: 15px; height: 15px; margin: 0; accent-color: var(--pacm); }
.pcf-sugg { list-style: none; margin: 2px 0 0; padding: var(--sp-1) 0; position: absolute;
  left: 12px; right: 12px; z-index: 6; background: var(--panel);
  border: 1px solid var(--line); border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .12); max-height: 260px; overflow: auto; }
.pcf-sugg li { padding: 5px var(--sp-3); font-size: var(--fs-base); cursor: pointer;
  display: flex; gap: var(--sp-2); align-items: baseline; }
.pcf-sugg li[aria-selected="true"], .pcf-sugg li:hover { background: var(--panel2); }
.pcf-sugg .pcf-term-kind, .pcf-term .pcf-term-kind { font: 600 9.5px var(--mono);
  letter-spacing: .05em; text-transform: uppercase; color: var(--dim); }
.pcf-miss, .pcf-missed { margin: 6px 0 0; }
.pcf-terms { list-style: none; margin: var(--sp-2) 0 0; padding: 0; display: flex;
  flex-wrap: wrap; gap: 5px; }
.pcf-term { display: inline-flex; align-items: baseline; gap: 5px;
  font-size: var(--fs-sm); padding: 3px var(--sp-2); border-radius: 999px; cursor: pointer;
  background: var(--pf-tone-a, var(--panel2)); border: 1px solid var(--line); }
.pcf-term input { position: absolute; opacity: 0; width: 1px; height: 1px;
  pointer-events: none; }
.pcf-x { color: var(--dim); font-weight: 700; }
.pcf-term:hover .pcf-x { color: var(--text); }

.pcf-term:has(input:not(:checked)) { opacity: .45; text-decoration: line-through; }
.pcf-note { margin: var(--sp-2) 0 0; font-size: var(--fs-xs); }


.pcf-hits { list-style: none; margin: var(--sp-3) 0 0; padding: 0; }
.pcf-hit { display: grid; grid-template-columns: 2em minmax(0, 1fr) auto;
  gap: var(--sp-1) var(--sp-3); align-items: baseline; padding: var(--sp-2) 0;
  border-top: 1px solid var(--line); }
.pcf-hit:first-child { border-top: 0; }
.pcf-hit-n { font: 600 var(--fs-base) var(--mono); color: var(--dim); text-align: right; }
.pcf-hit-main { display: flex; flex-direction: column; min-width: 0; }
.pcf-hit-name { font: 600 var(--fs-base) var(--sans); text-decoration: none; }
a.pcf-hit-name:hover { text-decoration: underline; }
.pcf-hit-sub, .pcf-hit-links { font-size: var(--fs-xs); }
.pcf-hit-figs { display: flex; flex-direction: column; align-items: flex-end;
  font: 600 var(--fs-base) var(--sans); text-align: right; white-space: nowrap; }
.pcf-hit-figs .kv { font-weight: 400; font-size: var(--fs-xs); margin-right: var(--sp-1); }

@media (max-width: 700px) {
  .pcf-with-links .pcf-body { grid-template-columns: minmax(0, 1fr); }
  .pcf-hit { grid-template-columns: 1.6em minmax(0, 1fr); }
  .pcf-hit-figs { grid-column: 2; align-items: flex-start; text-align: left;
    white-space: normal; }
}
.tut-soon p { margin: 0 0 6px; }
.tut-soon p:first-child { font: 600 clamp(16px, 2vw, 19px)/1.4 var(--sans); }

.tut-tab.tut-popping {
  animation: tut-pop .45s cubic-bezier(.2, .85, .3, 1.12) both; }
@keyframes tut-pop {
  from { opacity: 0; transform: translateY(14px) scale(.975); }
  to   { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .tut-door, .tut-door-body, .tut-btn { transition: none; }
  .tut-tab.tut-popping { animation: none; }
}
@media (max-width: 700px) {
  .tut-doors { grid-template-columns: minmax(0, 1fr); }
  .tut:has(.tut-in:checked) .tut-doors { display: flex; flex-wrap: wrap;
    justify-content: center; gap: var(--sp-2); }
}

.pf-in { position: absolute; opacity: 0; width: 1px; height: 1px;
  pointer-events: none; }
.pf-bubbles { display: flex; flex-wrap: wrap; justify-content: center;
  gap: var(--sp-2) var(--sp-3); margin-bottom: var(--sp-4); }
.pf-bubble { display: inline-block; cursor: pointer; user-select: none;
  border: 1.5px solid var(--line); border-radius: 999px;
  padding: 7px var(--sp-4); font: 600 var(--fs-base) var(--sans); background: var(--panel);
  transition: background .15s, border-color .15s, color .15s, opacity .15s; }
.pf-bubble:hover { border-color: var(--text); }
.pf-bubble.pf-lifted { opacity: .35; }

.pf-chip[data-tone] { border-color: var(--pf-tone); }

.pf-box { border: 1px solid var(--line); border-radius: var(--r-md);
  background: repeating-linear-gradient(45deg,
      var(--pf-hatch-a) 0 9px, var(--pf-hatch-b) 9px 18px), var(--panel);
  padding: var(--sp-3) var(--sp-4) var(--sp-4); }

.tut-tab:not(:has(.pf-in:checked)) .pf-box { padding: var(--sp-6) var(--sp-4) var(--sp-6); }
.tut-tab:not(:has(.pf-in:checked)) .pf-box-head { justify-content: center; }

.tut-tab:not(:has(.pf-in:checked)) .pf-where-box { display: none; }
.pf-box-head { margin: 0 0 6px; font-size: var(--fs-md); display: flex;
  flex-wrap: wrap; align-items: center; gap: 6px; }
.pf-box-idle { color: var(--dim); font-weight: 600; text-align: center;
  font-size: clamp(17px, 2.2vw, 22px); line-height: 1.35; }
.tut-tab:has(.pf-in:checked) .pf-box-idle { display: none; }
.pf-chip { font: 600 var(--fs-sm) var(--sans); background: var(--panel2);
  border: 1px solid var(--line); border-radius: 999px; padding: 2px var(--sp-3); }
#pf-t-raised:not(:checked) ~ .pf-box .pf-crit-raised,
#pf-t-raised:not(:checked) ~ .pf-box .pf-chip-raised { display: none; }
#pf-t-pac:not(:checked) ~ .pf-box .pf-crit-pac,
#pf-t-pac:not(:checked) ~ .pf-box .pf-chip-pac { display: none; }
#pf-t-dark:not(:checked) ~ .pf-box .pf-crit-dark,
#pf-t-dark:not(:checked) ~ .pf-box .pf-chip-dark { display: none; }
#pf-t-spent:not(:checked) ~ .pf-box .pf-crit-spent,
#pf-t-spent:not(:checked) ~ .pf-box .pf-chip-spent { display: none; }
#pf-t-raised:checked ~ .pf-bubbles .pf-bubble[data-topic="raised"] { background: var(--pf-tone); border-color: var(--pf-tone); color: #fff; }
#pf-t-pac:checked ~ .pf-bubbles .pf-bubble[data-topic="pac"] { background: var(--pf-tone); border-color: var(--pf-tone); color: #fff; }
#pf-t-dark:checked ~ .pf-bubbles .pf-bubble[data-topic="dark"] { background: var(--pf-tone); border-color: var(--pf-tone); color: #fff; }
#pf-t-spent:checked ~ .pf-bubbles .pf-bubble[data-topic="spent"] { background: var(--pf-tone); border-color: var(--pf-tone); color: #fff; }
#pf-t-raised:focus-visible ~ .pf-bubbles .pf-bubble[data-topic="raised"] { outline: 2px solid var(--text); outline-offset: 2px; }
#pf-t-pac:focus-visible ~ .pf-bubbles .pf-bubble[data-topic="pac"] { outline: 2px solid var(--text); outline-offset: 2px; }
#pf-t-dark:focus-visible ~ .pf-bubbles .pf-bubble[data-topic="dark"] { outline: 2px solid var(--text); outline-offset: 2px; }
#pf-t-spent:focus-visible ~ .pf-bubbles .pf-bubble[data-topic="spent"] { outline: 2px solid var(--text); outline-offset: 2px; }

.pf-crit.pf-inflight, .pf-chip.pf-inflight { display: none !important; }

.pf-crit, .pf-where-box { margin: 0; padding: var(--sp-2) 0 var(--sp-1); min-width: 0; }
.pf-where-box { border-top: 1px solid var(--line); margin-top: 6px; }

.pf-crit[data-tone] { border-top: 0; border-radius: 8px; margin-top: 6px;
  padding: 6px var(--sp-4) var(--sp-3);
  background: repeating-linear-gradient(45deg,
      var(--pf-tone-a) 0 9px, var(--pf-tone-b) 9px 18px); }

.pf-crit-head { margin: 0 0 var(--sp-1); font: 600 var(--fs-xs) var(--mono);
  letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }


.pf-dims { display: flex; flex-wrap: wrap; justify-content: center;
  align-items: flex-start; gap: var(--sp-3) clamp(var(--sp-4), 4vw, var(--sp-7));
  margin: var(--sp-3) 0 var(--sp-1); }
.pf-dim { display: flex; flex-direction: column; align-items: center;
  gap: 5px; }
.pf-dim-lab { font: 600 var(--fs-base) var(--sans); text-align: center; }

.pf-seg { display: inline-flex; flex-direction: column;
  align-items: stretch; gap: 5px; min-width: 128px; }
.pf-r { position: absolute; opacity: 0; width: 1px; height: 1px;
  pointer-events: none; }
.pf-seg-box { display: flex; border: 1.5px solid var(--line);
  border-radius: 6px; overflow: hidden; }
.pf-seg-btn { flex: 1 1 0; text-align: center; cursor: pointer;
  user-select: none; padding: 5px var(--sp-4);
  font: 600 var(--fs-base) var(--sans); background: var(--panel);
  color: var(--dim); transition: background .14s, color .14s; }
.pf-seg-btn + .pf-seg-btn { border-left: 1.5px solid var(--line); }
.pf-seg-btn:hover { color: var(--text); }
.pf-r-least:checked ~ .pf-seg-box .pf-least { background: var(--pf-least);
  color: #fff; }

.pf-r-most:checked ~ .pf-seg-box .pf-most {
  background: var(--pf-tone, var(--pf-most)); color: #fff; }
.pf-r-least:focus-visible ~ .pf-seg-box .pf-least,
.pf-r-most:focus-visible ~ .pf-seg-box .pf-most { outline: 2px solid var(--text);
  outline-offset: 2px; }


.pf-mode { display: block; }
.pf-r-off:checked ~ .pf-mode { display: none; }
.pf-mode-box { display: flex; border: 1px solid var(--line);
  border-radius: 5px; overflow: hidden; }
.pf-mode-btn { flex: 1 1 0; text-align: center; cursor: pointer;
  user-select: none; padding: 2px 6px;
  font: 600 var(--fs-xs) var(--mono); letter-spacing: .02em;
  background: var(--panel); color: var(--dim);
  transition: background .14s, color .14s; }
.pf-mode-btn + .pf-mode-btn { border-left: 1px solid var(--line); }
.pf-mode-btn:hover { color: var(--text); }
.pf-m-total:checked ~ .pf-mode .pf-mode-total,
.pf-m-pct:checked ~ .pf-mode .pf-mode-pct { background: var(--panel2);
  color: var(--text); box-shadow: inset 0 -2px 0 var(--pf-tone, var(--pacm)); }
.pf-m-total:focus-visible ~ .pf-mode .pf-mode-total,
.pf-m-pct:focus-visible ~ .pf-mode .pf-mode-pct { outline: 2px solid var(--text);
  outline-offset: 1px; }


.pf-slider { max-width: 520px; margin: var(--sp-3) auto 2px; text-align: center; }
.pf-slider label { font-size: var(--fs-base); }
.pf-cap-out { font: 600 var(--fs-base) var(--mono); }

.pf-cap-any { display: none; }
.pf-slider.pf-open .pf-cap-any { display: inline; }
.pf-slider.pf-open .pf-cap-lt { display: none; }
.pf-track { position: relative; margin: var(--sp-4) 0 2px; }
.pf-track input[type="range"] { display: block; width: 100%; margin: 0;
  accent-color: var(--pacm); }

.pf-track.pf-has-rat input[type="range"] { accent-color: auto; }
.pf-track input[type="range"]:disabled { opacity: .5; }


.pf-thumb { display: none; position: absolute; top: 50%; left: 0;
  margin-top: -22px; pointer-events: none; z-index: 3; }

.pf-track.pf-has-rat::before { content: ""; position: absolute; top: 50%;
  left: 0; right: 0; height: 6px; margin-top: -3px; border-radius: 999px;
  background: var(--line); z-index: 0; }
.pf-fill { display: none; position: absolute; top: 50%; left: 0;
  height: 6px; margin-top: -3px; border-radius: 999px;
  background: var(--pf-tone, var(--pacm)); pointer-events: none; z-index: 1; }
.pf-track.pf-has-rat .pf-fill { display: block; }
.pf-track.pf-has-rat input[type="range"] { position: relative; z-index: 2;
  background: transparent; }
.pf-track.pf-has-rat input[type="range"]::-webkit-slider-runnable-track {
  background: transparent; }
.pf-track.pf-has-rat input[type="range"]::-moz-range-track {
  background: transparent; }
.pf-track.pf-has-rat input[type="range"]::-moz-range-progress {
  background: transparent; }
.pf-track.pf-has-rat .pf-thumb { display: block; }
.pf-track.pf-has-rat input[type="range"] { height: 24px; background: none;
  -webkit-appearance: none; appearance: none; }
.pf-track.pf-has-rat input[type="range"]::-webkit-slider-runnable-track {
  height: 6px; border-radius: 999px; background: transparent; }
.pf-track.pf-has-rat input[type="range"]::-moz-range-track {
  height: 6px; border-radius: 999px; background: transparent; }
.pf-track.pf-has-rat input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 26px; height: 22px;
  opacity: 0; }
.pf-track.pf-has-rat input[type="range"]::-moz-range-thumb {
  width: 26px; height: 22px; opacity: 0; border: 0; }
.pf-ends { display: flex; justify-content: space-between; font-size: var(--fs-xs); }
.pf-all { display: block; font-size: var(--fs-sm); margin: 6px 0 0; }
.pf-all input { margin-right: 5px; }

.pf-where { display: block; font-size: var(--fs-base); margin: var(--sp-1) 0;
  text-align: center; }
.pf-where select { font: inherit; padding: 2px var(--sp-1); }
.pf-go { display: block; margin: var(--sp-3) auto 2px; cursor: pointer;
  font: 600 var(--fs-md) var(--sans); color: var(--panel); background: var(--pacm);
  border: 0; border-radius: 999px; padding: var(--sp-2) var(--sp-5); }
.pf-go:hover { filter: brightness(1.08); }


.pf-box-head .pf-reset { margin-left: auto; }
.pf-reset { display: inline-block; font: 600 var(--fs-xs) var(--sans);
  color: var(--dim); text-decoration: none; border: 1px solid var(--line);
  border-radius: 999px; padding: 2px var(--sp-3); }
.pf-reset:hover { color: var(--text); border-color: var(--text); }
.tut-tab:not(:has(.pf-in:checked)) .pf-reset { display: none; }
.pf-reset-foot { text-align: center; margin: var(--sp-4) 0 0; }
.pf-reset-foot .pf-reset { margin-left: 0; font-size: var(--fs-base); padding: 5px var(--sp-4); }


.pf-more { margin: 2px 0 var(--sp-1) var(--sp-5); }
.pf-more > summary { cursor: pointer; font: 600 var(--fs-sm) var(--sans);
  color: var(--dim); list-style-position: outside; width: fit-content; }
.pf-more > summary:hover { color: var(--text); }
.pf-more[open] > summary { margin-bottom: var(--sp-1); }
.pf-more p { margin: 0 0 5px; padding-left: var(--sp-4); }


.pf-results.pf-dropping { position: relative; }
.pf-results.pf-dropping .pf-hit { opacity: 0;
  transform: translateY(-8px) scale(.93); }
.pf-results.pf-dropping .pf-hit.pf-hit-in { opacity: 1; transform: none;
  transition: opacity .3s ease,
              transform .34s cubic-bezier(.2, .85, .3, 1.15); }
.pf-drop-rat { position: absolute; left: 0; top: 0; width: 46px; height: 32px;
  z-index: 3; pointer-events: none; transform-origin: 60% 70%;
  transition: transform .16s ease-in-out, opacity .35s ease; }
.pf-drop-rat.pf-drop-done { opacity: 0; }


.pf-results h2 { margin: 0 0 var(--sp-1); }
.pf-hits { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: var(--sp-4) var(--sp-3); }
.pf-hit { display: flex; flex-direction: column; align-items: center;
  text-align: center; gap: 1px; }
.pf-hit .pie { width: clamp(110px, 13vw, 160px); height: clamp(110px, 13vw, 160px); }
.pf-hit-pie { display: block; line-height: 0; }
.pf-hit-nopie { display: flex; align-items: center; justify-content: center;
  width: clamp(110px, 13vw, 160px); height: clamp(110px, 13vw, 160px);
  border: 1px dashed var(--line); border-radius: 50%; box-sizing: border-box; }
.pf-hit-name { font: 600 var(--fs-base) var(--sans); text-decoration: none; }
.pf-hit-name:hover { text-decoration: underline; }
.pf-hit-seat { font-size: var(--fs-xs); }
.pf-hit-figs { display: flex; flex-direction: column; font-size: var(--fs-xs); }
.pf-hit[data-hue="blue"] .pf-hit-name    { color: var(--hue-blue-deep); }
.pf-hit[data-hue="red"] .pf-hit-name     { color: var(--hue-red-deep); }
.pf-hit[data-hue="gold"] .pf-hit-name    { color: var(--hue-gold-deep); }
.pf-hit[data-hue="green"] .pf-hit-name   { color: var(--hue-green-deep); }
.pf-hit[data-hue="neutral"] .pf-hit-name { color: var(--hue-neutral-deep); }

@media (max-width: 620px) {
  .pf-dims { gap: var(--sp-3) var(--sp-5); }
  .pf-seg-btn { padding: 5px var(--sp-3); }
}


.vmark { display: block; width: 300px; height: 300px; }
.vd-ring .vmark { width: 300px; height: 300px; }
.vmark .vm-ring { stroke: var(--panel2); }
.vmark .vm-hatch { stroke: var(--dim); opacity: .55; }
.vmark .vm-base { stroke: var(--line); stroke-width: 1; }
.vmark .vm-bar { fill: var(--text); }
.vmark .vm-pac { fill: var(--pacm); }
.vmark .vm-candidate { fill: var(--hue-neutral-deep); }
.vmark .vm-candidate[data-hue="blue"]    { fill: var(--hue-blue-deep); }
.vmark .vm-candidate[data-hue="red"]     { fill: var(--hue-red-deep); }
.vmark .vm-candidate[data-hue="gold"]    { fill: var(--hue-gold-deep); }
.vmark .vm-candidate[data-hue="green"]   { fill: var(--hue-green-deep); }
.vmark .vm-candidate[data-hue="neutral"] { fill: var(--hue-neutral-deep); }

.vmark .vm-fig { font: 600 var(--fs-xl) var(--mono); fill: var(--text);
  stroke: var(--panel); stroke-width: 5px; paint-order: stroke fill; }

.pie-sw.vm-pac { background: var(--pacm); }
.pie-sw.vm-other { background: var(--text); }
.pie-sw.vm-candidate { background: var(--hue-neutral-deep); }
.pie-sw.vm-candidate[data-hue="blue"]    { background: var(--hue-blue-deep); }
.pie-sw.vm-candidate[data-hue="red"]     { background: var(--hue-red-deep); }
.pie-sw.vm-candidate[data-hue="gold"]    { background: var(--hue-gold-deep); }
.pie-sw.vm-candidate[data-hue="green"]   { background: var(--hue-green-deep); }
.pie-sw.vm-candidate[data-hue="neutral"] { background: var(--hue-neutral-deep); }

.vd-page .k-name { color: var(--text); }
.vd-key { max-width: 300px; }

.vd-key li { align-items: start; }
.vd-key .pie-sw { margin-top: 3px; }
.vd-ring-note, .vd-bio-note { font-size: var(--fs-xs); color: var(--dim); }
.vd-ring-note { max-width: 300px; text-align: center; }
.vd-bio-note { margin: var(--sp-3) 0 0; }
.vd-spellings { margin-top: var(--sp-3); }
.vd-spellings summary { cursor: pointer; color: var(--ice); font-size: var(--fs-sm); }
.vd-sp-table { width: 100%; margin: 6px 0 var(--sp-1); }
.vd-sp-table td, .vd-sp-table th { padding: 2px 6px; font-size: var(--fs-sm); }

.vd-head2 { display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--sp-3); flex-wrap: wrap; margin-top: var(--sp-4); }
.vd-head2 h4 { margin: 0; }

.vd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4);
  margin-top: var(--sp-2); align-items: stretch; }

.vd-clients, .vd-services { min-width: 0; min-height: 0; display: flex;
  flex-direction: column; height: 460px; position: relative;
  border: 1px solid var(--line); border-radius: var(--r-sm);
  background: var(--panel); padding: var(--sp-3) var(--sp-3); }
.vd-clients .pane-scroll, .vd-services .pane-scroll { border: none; }
.vd-client-table, .vd-svc-table { width: 100%; border-collapse: collapse;
  table-layout: fixed; }

.vd-svc-table .vd-what { overflow-wrap: anywhere; }
.vd-svc-table th:nth-child(2), .vd-svc-table td:nth-child(2) { width: 82px; }
.vd-svc-table th:nth-child(3), .vd-svc-table td:nth-child(3) { width: 74px; }
.vd-svc-table th:nth-child(4), .vd-svc-table td:nth-child(4) { width: 104px; }
.vd-svc-table .vd-lane { overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }
.vd-client-table th:nth-child(2), .vd-client-table td:nth-child(2) { width: 84px; }
.vd-client-table th:nth-child(3), .vd-client-table td:nth-child(3) { width: 56px; }
.vd-client-table td:first-child { overflow-wrap: anywhere; }
.vd-clients .pane-scroll, .vd-services .pane-scroll { overflow-x: hidden; }
.vd-client-table th, .vd-svc-table th { position: sticky; top: 0;
  background: var(--panel); z-index: 1; text-align: left;
  font: 600 var(--fs-xs) var(--mono); letter-spacing: .06em; text-transform: uppercase;
  color: var(--dim); padding: var(--sp-1) var(--sp-2); border-bottom: 1px solid var(--line); }
.vd-client-table td, .vd-svc-table td { padding: 3px var(--sp-2); font-size: var(--fs-base);
  vertical-align: top; border-bottom: 1px solid var(--panel2); }
.vd-client-table .num, .vd-svc-table .num { text-align: right;
  font-family: var(--mono); white-space: nowrap; }
.vd-row label { display: block; cursor: pointer; }
.vd-row input { position: absolute; opacity: 0; width: 0; height: 0; }
.vd-who { display: inline-block; border-bottom: 1px dotted var(--line); }
.vd-who-link { color: var(--ice); border-bottom: none; }
.vd-row:hover td { background: var(--panel2); }
.vd-row:has(.vd-row-in:checked) td { background: var(--panel2);
  box-shadow: inset 2px 0 0 var(--blue); }
.vd-who.vm-pac { color: var(--pacm); }
.vd-who.vm-candidate[data-hue="blue"]    { color: var(--hue-blue-deep); }
.vd-who.vm-candidate[data-hue="red"]     { color: var(--hue-red-deep); }
.vd-who.vm-candidate[data-hue="gold"]    { color: var(--hue-gold-deep); }
.vd-who.vm-candidate[data-hue="green"]   { color: var(--hue-green-deep); }
.vd-who.vm-candidate[data-hue="neutral"] { color: var(--hue-neutral-deep); }
.vd-cap { margin: var(--sp-1) 0 0; font-size: var(--fs-xs); }



.vd-watermark { flex: 1 1 auto; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: var(--sp-3); opacity: .3; }
.vd-watermark p { text-align: center; max-width: 24em; }
.vd-pane { display: none; flex-direction: column; min-height: 0; flex: 1 1 auto; }
.vd-pane-head { flex: 0 0 auto; }
.vd-pane-who { margin: 0 0 2px; font-size: var(--fs-md); }
.vd-clients .vd-pane-head .kv { margin: 0 0 6px; }
.vd-pane-head .kv { margin: 0 0 6px; }
.vd-pane .pane-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto;
  border: 1px solid var(--line); border-radius: var(--r-sm); }
.vd-pane-note { margin: 6px 0 0; font-size: var(--fs-xs); }
.vd-cat { color: var(--dim); font-size: var(--fs-xs); }
.vd-off { color: var(--warn); cursor: help; }
.vd-dt { white-space: nowrap; font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--dim); }
.vd-cov { margin-top: var(--sp-4); font-size: var(--fs-xs); color: var(--dim); }

@media (max-width: 860px) {
  .vd-grid { grid-template-columns: minmax(0, 1fr); }
  .vd-clients, .vd-services { height: 380px; }
}


.vd-lanes { margin-top: var(--sp-3); }
.vd-lanes-h { margin: 0 0 var(--sp-1); font: 600 var(--fs-xs) var(--mono);
  letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
.vd-lane-table { border-collapse: collapse; min-width: 320px; }
.vd-lane-table td { padding: 2px var(--sp-3) 2px 0; font-size: var(--fs-base);
  border-bottom: 1px solid var(--panel2); }
.vd-lane-table .num { text-align: right; font-family: var(--mono);
  white-space: nowrap; }
.vd-lane-sub td { color: var(--dim); font-size: var(--fs-sm); }
.vd-lane-total td { border-top: 1px solid var(--line); border-bottom: none;
  font-weight: 600; padding-top: var(--sp-1); }

.vd-lane { font-size: var(--fs-xs); }
.vd-lane-sched_b { color: var(--dim); }
.vd-lane-sched_e { color: var(--outside); }
.vd-lane-ec      { color: var(--ok); }
.vd-lane-irs527  { color: var(--pacm); }
.vd-overlaps { margin-top: var(--sp-2); }
.vd-overlaps summary { cursor: pointer; color: var(--ice); font-size: var(--fs-sm); }

.vd-offsets-line { color: var(--warn); }
.vd-offsets { margin-top: 6px; flex: 0 0 auto; }

.vd-offsets[open] { max-height: 190px; overflow-y: auto; }
.vd-offsets summary { cursor: pointer; color: var(--warn); font-size: var(--fs-sm); }
.vd-offsets .vd-svc-table { margin-top: var(--sp-1); }



.loc-head h1 { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: 2px; }
.loc-head .state-silhouette { flex: none; }
.loc-nick { font-size: inherit; color: inherit; }
.loc-doors { margin: 0 0 6px; }

.race-grid { display: grid; gap: 6px var(--sp-4); margin: 6px 0 var(--sp-1);
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); }
.race-cell { display: flex; justify-content: space-between; gap: var(--sp-2);
  align-items: baseline; padding: 5px var(--sp-2); border: 1px solid var(--line);
  border-radius: 4px; text-decoration: none; }
.race-cell:hover { border-color: currentColor; }
.race-cell .kv { white-space: nowrap; }
.race-cell.race-senate { grid-column: 1 / -1; max-width: 360px; }

table.t-fit { width: auto; min-width: min(46ch, 100%); }
table.t-fit td, table.t-fit th { padding-right: var(--sp-6); }


.loc-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-3) var(--sp-6); align-items: start; }
.loc-top > .lm { grid-column: 2; grid-row: 1; }
.loc-main { min-width: 0; display: flex; flex-direction: column; gap: var(--sp-1); }
@media (max-width: 760px) {
  .loc-top { grid-template-columns: minmax(0, 1fr); }
  .loc-top > .lm { grid-column: 1; grid-row: auto; }
}

@media (min-width: 761px) {
  .loc-top { align-items: stretch; }
  .loc-top > .lm { display: flex; flex-direction: column; }
  .loc-top > .lm > .lm-svg { flex: 1 1 0; height: 0; min-height: 180px; aspect-ratio: auto; }
}
.lm { margin: 0; }
.lm-in { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.lm-tabs { display: flex; gap: var(--sp-1); margin-bottom: 6px; }
.lm-tab { flex: 1 1 0; text-align: center; cursor: pointer; user-select: none;
  font: 600 var(--fs-xs) var(--sans); padding: 5px var(--sp-1); white-space: nowrap; color: var(--dim);
  border: 1px solid var(--line); border-radius: 999px; background: var(--panel); }
.lm-tab:hover { color: var(--text); border-color: var(--text); }
#lm-d:checked ~ .lm-tabs .lm-tab-d, #lm-s:checked ~ .lm-tabs .lm-tab-s,
#lm-h:checked ~ .lm-tabs .lm-tab-h,
#lm-c:checked ~ .lm-tabs .lm-tab-c { background: var(--bar); border-color: var(--bar);
  color: var(--panel); }
#lm-d:focus-visible ~ .lm-tabs .lm-tab-d, #lm-s:focus-visible ~ .lm-tabs .lm-tab-s,
#lm-h:focus-visible ~ .lm-tabs .lm-tab-h,
#lm-c:focus-visible ~ .lm-tabs .lm-tab-c { outline: 2px solid var(--text); outline-offset: 2px; }

.lm-svg { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4;
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: var(--sp-2); box-sizing: border-box; }
.lm-layer { display: none; }
#lm-d:checked ~ .lm-svg .lm-districts, #lm-s:checked ~ .lm-svg .lm-senate,
#lm-h:checked ~ .lm-svg .lm-house,
#lm-c:checked ~ .lm-svg .lm-counties { display: inline; }
.lm-area { cursor: pointer; outline: none; }

.lm-area path { fill: var(--panel); stroke: var(--dim); stroke-width: .6;
  vector-effect: non-scaling-stroke; stroke-linejoin: round;
  transition: fill .12s ease; }
.lm-area[data-hue] path { stroke: var(--panel); stroke-width: .8; }
.lm-area[data-hue="blue"] path    { fill: var(--hue-blue-mid); }
.lm-area[data-hue="red"] path     { fill: var(--hue-red-mid); }
.lm-area[data-hue="gold"] path    { fill: var(--hue-gold-mid); }
.lm-area[data-hue="green"] path   { fill: var(--hue-green-mid); }
.lm-area[data-hue="neutral"] path,
.lm-area[data-hue="split"] path   { fill: var(--hue-neutral-mid); }

.lm-area:hover path, .lm-area:focus-visible path { fill: var(--dim);
  fill-opacity: .35; }
.lm-area[data-hue="blue"]:hover path, .lm-area[data-hue="blue"]:focus-visible path { fill: var(--hue-blue-deep); fill-opacity: 1; }
.lm-area[data-hue="red"]:hover path, .lm-area[data-hue="red"]:focus-visible path { fill: var(--hue-red-deep); fill-opacity: 1; }
.lm-area[data-hue="gold"]:hover path, .lm-area[data-hue="gold"]:focus-visible path { fill: var(--hue-gold-deep); fill-opacity: 1; }
.lm-area[data-hue="green"]:hover path, .lm-area[data-hue="green"]:focus-visible path { fill: var(--hue-green-deep); fill-opacity: 1; }
.lm-area[data-hue="neutral"]:hover path, .lm-area[data-hue="split"]:hover path { fill: var(--hue-neutral-deep); fill-opacity: 1; }

.lm-area.lm-on path { stroke: var(--text); stroke-width: 2.2; fill: var(--dim);
  fill-opacity: .55; }
.lm-area.lm-on[data-hue="blue"] path  { fill: var(--hue-blue-deep); fill-opacity: 1; }
.lm-area.lm-on[data-hue="red"] path   { fill: var(--hue-red-deep); fill-opacity: 1; }
.lm-area.lm-on[data-hue="gold"] path  { fill: var(--hue-gold-deep); fill-opacity: 1; }
.lm-area.lm-on[data-hue="green"] path { fill: var(--hue-green-deep); fill-opacity: 1; }
.lm-area.lm-on[data-hue="neutral"] path, .lm-area.lm-on[data-hue="split"] path { fill: var(--hue-neutral-deep); fill-opacity: 1; }

.lm-outline { fill: none; stroke: var(--dim); stroke-width: 1.3;
  vector-effect: non-scaling-stroke; stroke-linejoin: round; pointer-events: none; }
.lm-cap { margin: 0 0 0 auto; font-size: var(--fs-sm); text-align: right; }
.lm-all { white-space: nowrap; }
.lm-cap.lm-live .lm-cap-idle { display: none; }
.lm-cap-on { font-weight: 600; color: var(--text); }


.lb { margin: var(--sp-4) 0 6px; }
.lb-head { margin: 0 0 6px; font-size: var(--fs-md); border: 0; padding: 0; }

.lb-sel { font: inherit; font-weight: 700; color: var(--accent, inherit); border: 1px solid var(--line);
  border-radius: 6px; padding: 0 var(--sp-1); background: var(--panel); cursor: pointer; }
.lb-sub { margin: 0 0 6px; }

.vr { display: flex; align-items: flex-start; gap: var(--sp-4); margin: var(--sp-3) 0 6px; }
.vr-head { display: flex; flex-direction: column; justify-content: center; gap: 2px;
  height: 92px; margin: 0; font-size: var(--fs-base); }
.vr-h { font-size: var(--fs-md); font-weight: 700; color: var(--text); }
.vr-head b { font: 700 var(--fs-lg) var(--mono); }
.vr-cols { display: flex; align-items: flex-start; margin: 0; width: max-content; }
.vr-col { display: flex; flex-direction: column; align-items: center; width: 92px; }

@media (max-width: 480px) {
  .vr { flex-direction: column; align-items: stretch; gap: 6px; }
  .vr .vr-head, .vr.vr-none .vr-head { flex-direction: row; justify-content: flex-start;
    align-items: baseline; gap: var(--sp-3); height: auto; }
  .vr-cols { width: 100%; }
  .vr-col { width: auto; flex: 1 1 0; }
  .vr-ghost { width: 100%; }
}
.vr-plot { display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  width: 100%; height: 92px; border-bottom: 1px solid var(--line); }
.vr-pct { font: 600 var(--fs-sm) var(--mono); margin-bottom: 3px; }
.vr-stick { display: block; width: 36px; min-height: 2px; border-radius: 3px 3px 0 0; }
.vr-lbl { margin-top: var(--sp-1); padding: 0 2px; font-size: var(--fs-xs); line-height: 1.2; text-align: center; color: var(--dim); }
.vr-stick[data-hue="blue"] { background: var(--hue-blue-deep); }
.vr-stick[data-hue="red"] { background: var(--hue-red-deep); }
.vr-stick[data-hue="gold"] { background: var(--hue-gold-deep); }
.vr-stick[data-hue="green"] { background: var(--hue-green-deep); }
.vr-stick[data-hue="neutral"], .vr-other { background: var(--hue-neutral-mid, #9aa4b0); }

.vr-cols { min-height: 110px; }
.vr-lbl { white-space: nowrap; }
.vr-none .vr-head { height: 92px; }
.vr-ghost { position: relative; }
.vr-ghost .vr-cols { opacity: .16; filter: grayscale(.4); }
.vr-empty { position: absolute; inset: 0 0 auto 0; height: 92px; margin: 0; padding: 0 var(--sp-3);
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-size: var(--fs-sm); line-height: 1.4; color: var(--text); }
.lb-ghost { position: relative; }
.lb-ghost .lb-bar { opacity: .16; }
.lb-ghost-why { margin: 6px 0 0; min-height: 56px; font-size: var(--fs-sm); line-height: 1.4; }
@media (max-width: 480px) { .lb-ghost-why { min-height: 108px; } }
.vr-empty > span { background: var(--bg); padding: var(--sp-1) var(--sp-2); border-radius: 4px;
  box-shadow: 0 0 0 1px var(--line); }

.lb-pick .lb-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; margin-bottom: var(--sp-2); }
.lb-tot { margin-left: var(--sp-3); }
.lb-tot b { font: 700 var(--fs-xl)/1 var(--mono); letter-spacing: -0.01em; cursor: help; }
.lb-tot .lb-none { font: 600 var(--fs-md)/26px var(--sans, inherit); color: var(--dim); }
.lb-bar { display: flex; height: 22px; border-radius: 6px; overflow: hidden;
  border: 1px solid var(--line); background: var(--panel); }
.lb-seg { display: block; min-width: 2px; }
.lb-seg + .lb-seg { border-left: 1px solid var(--panel); }
.lb-constituent { background: var(--hue-neutral-deep); }
.lb-outstate { background: var(--hue-neutral-mid); }
.lb-pac { background: var(--pacm); }
.lb-other { background: var(--hue-neutral-tint);
  background-image: repeating-linear-gradient(45deg, transparent 0 4px,
    rgba(127, 127, 127, .18) 4px 8px); }
.lb-key { list-style: none; display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4);
  margin: 7px 0 var(--sp-1); padding: 0; font-size: var(--fs-sm); }
.lb-key li { display: inline-flex; align-items: center; gap: 5px; cursor: help; }
.lb-key b { font-weight: 600; }
.lb-sw { width: 11px; height: 11px; border-radius: 2px; display: inline-block;
  border: 1px solid var(--line); }
.lb-note { margin: 2px 0 0; font-size: var(--fs-xs); }


.loc-facts { margin: 2px 0 0; font-size: var(--fs-base); }
.loc-facts b { font-weight: 600; }
.loc-facts .kv { font-size: var(--fs-xs); }


.loc-offices-note { margin: var(--sp-3) 0 0; font-size: var(--fs-sm); }


.loc-box { background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: var(--sp-1) var(--sp-5) var(--sp-4); margin: var(--sp-4) 0 0; }
.lv-pane > section:last-child { margin-bottom: 0; }



.loc-levels { padding: 0 var(--sp-5) var(--sp-4); margin-top: var(--sp-7); }
.lv-tab:first-child { border-top-left-radius: var(--r-lg); }
.lv-tab:last-child { border-top-right-radius: var(--r-lg); }
.lv-in { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }

.loc-levels { position: relative; }
.lv-rat { position: absolute; top: -28px; left: calc(100% / 6); width: 40px; height: 28px;
  margin-left: -20px; transition: left .7s cubic-bezier(.45, .05, .4, 1); pointer-events: none; }
.lv-rat svg { display: block; width: 40px; height: 28px; }
#lv-state:checked ~ .lv-rat { left: 50%; }
#lv-local:checked ~ .lv-rat { left: calc(500% / 6); }
.lv-rat.lv-rat-left { transform: scaleX(-1); }
.lv-rat.lv-rat-run svg { animation: lv-rat-bob .18s steps(2) infinite; }
@keyframes lv-rat-bob { 0% { transform: translateY(0); } 100% { transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) {
  .lv-rat { transition: none; }
  .lv-rat.lv-rat-run svg { animation: none; } }
.lv-tabs { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 calc(-1 * var(--sp-5)) 6px;
  border-bottom: 1px solid var(--line); }
.lv-tab { text-align: center; padding: var(--sp-4) var(--sp-2) var(--sp-3); font: 600 var(--fs-md) var(--sans);
  color: var(--dim); background: var(--panel2); cursor: pointer; user-select: none;
  border-left: 1px solid var(--line); }
.lv-tab:first-child { border-left: 0; }
.lv-tab:hover { color: var(--text); }
#lv-fed:checked ~ .lv-tabs .lv-tab-fed, #lv-state:checked ~ .lv-tabs .lv-tab-state,
#lv-local:checked ~ .lv-tabs .lv-tab-local { background: var(--panel); color: var(--text);
  box-shadow: inset 0 3px 0 var(--bar); margin-bottom: -1px;
  border-bottom: 1px solid var(--panel); }
#lv-fed:focus-visible ~ .lv-tabs .lv-tab-fed, #lv-state:focus-visible ~ .lv-tabs .lv-tab-state,
#lv-local:focus-visible ~ .lv-tabs .lv-tab-local { outline: 2px solid var(--text); outline-offset: -4px; }
.lv-pane { display: none; }
#lv-fed:checked ~ .lv-pane-fed, #lv-state:checked ~ .lv-pane-state,
#lv-local:checked ~ .lv-pane-local { display: block; }
.lv-empty { margin: var(--sp-5) 0 6px; text-align: center; }

.lp { max-width: 560px; margin: var(--sp-5) auto var(--sp-4); }
.lp > p:first-child { margin: 0 0 var(--sp-3); }
.lp-form .lp-in { width: 100%; box-sizing: border-box; font: var(--fs-md) var(--sans);
  padding: var(--sp-3) var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--panel); color: var(--text); }
.lp-form .lp-in:focus { outline: 2px solid var(--bar); outline-offset: 1px; }
.lp-form .egs { right: 0; }
.lp-msg { min-height: 1.3em; margin: var(--sp-2) 0 0; }
.loc-box .race-cell { background: var(--bg); }

.loc-state-races .place-races { display: grid; overflow: visible;
  grid-template-columns: repeat(auto-fill, minmax(min(440px, 100%), 1fr)); gap: var(--sp-3); }
.loc-state-races .place-race.has-graph { flex-direction: column; min-height: 0;
  padding: var(--sp-2) var(--sp-3) 6px; gap: 6px; }
.loc-state-races .place-race.has-graph h4 { flex: 0 0 auto; }
.loc-state-races .place-graph svg { height: 190px; width: auto; max-width: 100%; }
.loc-state-races .place-race.no-graph, .loc-state-races .race-lazy { padding: var(--sp-2) var(--sp-3); }
.loc-state-races .race-lazy { min-height: 150px; }

.lv-pane section > h3 { text-align: center; border-bottom: 1px solid var(--line);
  padding-bottom: 7px; margin: var(--sp-5) 0 var(--sp-4); }
@media (max-width: 640px) { .loc-box { padding: 2px var(--sp-3) var(--sp-4); }
  .loc-levels { padding-top: 0; margin-top: var(--sp-6); }
  .lv-tabs { margin: 0 -12px 6px; }
  .lv-tab { font-size: var(--fs-base); padding: var(--sp-3) var(--sp-1) var(--sp-3); }
  .loc-state-races .place-graph svg { height: auto; width: 100%; }
  
  .loc-box .place-officials { display: grid; grid-template-columns: 1fr 1fr;
    gap: var(--sp-4) var(--sp-3); }
  .loc-box .place-ring { min-width: 0; text-align: center; } }


.loc-leg { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--sp-2) var(--sp-6); }
.loc-leg h4 { margin: var(--sp-1) 0 var(--sp-1); font-size: var(--fs-base); }
.loc-leg td { padding: 3px var(--sp-3) 3px 0; font-size: var(--fs-base); }


.lm-ctl { display: flex; align-items: center; gap: 6px; margin: 6px 2px 0; }
.lm-zoom { width: 28px; height: 28px; border-radius: 6px; cursor: pointer;
  border: 1px solid var(--line); background: var(--panel); color: var(--text);
  font: 600 var(--fs-md)/1 var(--sans); padding: 0; }
.lm-zoom:hover { border-color: var(--bar); background: var(--bar); color: var(--panel); }
.lm-all { margin-left: var(--sp-1); font-size: var(--fs-sm); }
.lm-svg.lm-zoomed { cursor: grab; touch-action: none; }
.lm-svg.lm-zoomed:active { cursor: grabbing; }


.person-mark { display: flex; flex-direction: column; align-items: center;
  gap: var(--sp-3); padding: var(--sp-4) 0 6px; }
.person-mark svg { display: block; width: 200px; height: 140px; }
.person-mark-cap { font: 600 var(--fs-base) var(--sans); color: var(--dim);
  text-align: center; max-width: 220px; }

.person-terms .person-yrs { display: none; }
@media (max-width: 640px) {
  .person-terms .person-yrs { display: inline; }
  .person-terms th:nth-child(n+3), .person-terms td:nth-child(n+3) { display: none; }
  .person-terms { min-width: 0 !important; } }


.member-ring { text-align: center; width: 64px; }
.member-ring-svg { display: inline-block; line-height: 0; }
.member-ring-svg svg { width: 56px; height: 56px; }


.leg-ring { display: inline-block; vertical-align: middle; width: 38px; height: 38px;
  margin-right: var(--sp-2); }
.leg-ring svg { display: block; width: 38px; height: 38px; }
.leg-ring .ctr, .leg-ring .sub { display: none; }

.leg-ring .pie-rat { opacity: .85; }

.loc-leg .leg-name { font-weight: 600; }
.loc-leg a.leg-name { text-decoration: underline; text-underline-offset: 2px; }
.loc-leg a.leg-seat { color: var(--dim); font-size: var(--fs-sm); }
.loc-about { margin-top: var(--sp-3); }


.k-ca { margin-top: var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: var(--sp-3) var(--sp-4) var(--sp-3); background: var(--panel); }
.k-ca h5 { margin: 0 0 var(--sp-2); font-size: var(--fs-md); }
.k-ca h5 .kv { font-weight: 400; font-size: var(--fs-sm); }
.k-ca > .ca-in { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.k-ca .ca-body { display: none; flex-direction: column; }
.ca-in-1:checked ~ .ca-body-1, .ca-in-2:checked ~ .ca-body-2, .ca-in-3:checked ~ .ca-body-3 { display: flex; }
.ca-in-1:checked ~ .ca-bar .ca-tg-1, .ca-in-2:checked ~ .ca-bar .ca-tg-2, .ca-in-3:checked ~ .ca-bar .ca-tg-3 {
  color: var(--text); background: var(--panel); border-color: var(--pacm);
  box-shadow: inset 0 -2px 0 var(--panel); }
.ca-in-1:focus-visible ~ .ca-bar .ca-tg-1, .ca-in-2:focus-visible ~ .ca-bar .ca-tg-2,
.ca-in-3:focus-visible ~ .ca-bar .ca-tg-3 { outline: 2px solid var(--ice); outline-offset: 1px; }
.ca-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin: 2px 0 6px; }
.ca-search { width: min(260px, 55%); box-sizing: border-box; font: var(--fs-sm) var(--sans); padding: var(--sp-1) var(--sp-3);
  border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--text); }
.k-ca .ca-scroll { max-height: 420px; }
.ca-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); table-layout: fixed; }
.ca-table th { position: sticky; top: 0; background: var(--panel2); text-align: left; font-size: var(--fs-xs);
  padding: 5px var(--sp-2); z-index: 1; }
.ca-table td { padding: 5px var(--sp-2); border-top: 1px solid var(--line); vertical-align: top; }
.ca-table .num { text-align: right; font-family: var(--mono); }
.ca-bills th:nth-child(1) { width: 11%; }
.ca-bills th:nth-child(3) { width: 20%; }
.ca-bills th:nth-child(4), .ca-bills th:nth-child(5) { width: 13%; }
.ca-bills td:nth-child(1) { white-space: nowrap; font-family: var(--mono); }
.ca-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ca-lobby th:nth-child(n+2) { width: 13%; }
.ca-lobby td:first-child { overflow-wrap: anywhere; }
.k-ca .k-note { margin-top: 6px; }

@media (max-width: 640px) {
  .ca-bills th:nth-child(3), .ca-bills td:nth-child(3),
  .ca-bills th:nth-child(4), .ca-bills td:nth-child(4) { display: none; }
  
  .ca-bills th:nth-child(1) { width: 38%; }
  .ca-bills th:nth-child(5) { width: 30%; }
  .ca-bills td:nth-child(1) { white-space: normal; overflow-wrap: anywhere; }
  .ca-lobby th:nth-child(4), .ca-lobby td:nth-child(4),
  .ca-lobby th:nth-child(5), .ca-lobby td:nth-child(5) { display: none; }
  .ca-lobby th:nth-child(n+2) { width: 26%; }
  .k-ca .ca-table th { white-space: normal; letter-spacing: 0; }
  .k-ca .ca-table th, .k-ca .ca-table td { padding-left: 5px; padding-right: 5px; }
  .ca-search { width: 50%; }
}


.head-pills { justify-content: flex-start; align-items: center; gap: var(--sp-2); }
.watch { display: inline-flex; align-items: center; gap: 6px;
         padding: 3px var(--sp-3) 3px var(--sp-2); border: 1px solid var(--line);
         border-radius: var(--r-pill); background: var(--panel);
         color: var(--ice); font: 400 var(--fs-base)/1.55 var(--sans);
         white-space: nowrap; cursor: pointer; vertical-align: middle; }
.watch:hover { border-color: var(--ice); }
.watch:focus-visible { outline: 2px solid var(--ice); outline-offset: 1px; }
.watch .mark { flex: none; width: 20px; height: 14px;
               filter: grayscale(1); opacity: .55; }
.watch.on { background: var(--ice); border-color: var(--ice);
            color: var(--panel); font-weight: 600; }

.watch.on .mark { filter: none; opacity: 1; --dim: var(--panel2); }
.watch-sample { cursor: default; }

.share { display: inline-flex; align-items: center; gap: 6px;
         padding: 3px var(--sp-3) 3px var(--sp-2); border: 1px solid var(--line);
         border-radius: var(--r-pill); background: var(--panel);
         color: var(--ice); font: 400 var(--fs-base)/1.55 var(--sans);
         white-space: nowrap; cursor: pointer; vertical-align: middle; }
.share:hover { border-color: var(--ice); }
.share:focus-visible { outline: 2px solid var(--ice); outline-offset: 1px; }
.share .share-mark { flex: none; width: 20px; height: 14px; }
.share.copied { border-color: var(--ice); font-weight: 600; }

.pill-pair { display: inline-flex; flex-wrap: nowrap; align-items: stretch; gap: 6px; }
.share-row { margin: var(--sp-1) 0 var(--sp-2); }
.hero .share-row-search { text-align: right; margin: var(--sp-1) 0 0; }
.builder .share { padding: 3px var(--sp-3) 3px var(--sp-2); }
.share-field { width: 22ch; max-width: 60vw; margin-left: var(--sp-2);
               font: 400 var(--fs-sm)/1.4 var(--mono); vertical-align: middle; }
@media (max-width: 480px) {
  .share { padding: 3px var(--sp-2); }
  .share:not(.copied) .share-word { position: absolute; width: 1px; height: 1px;
                                    overflow: hidden; clip: rect(0 0 0 0); }
}

.k-title { display: flex; flex-wrap: wrap; align-items: center;
           justify-content: space-between; gap: 6px var(--sp-4); margin: 0 0 var(--sp-2); }
.k-title h2, .k-bio .k-title h2 { margin: 0; color: var(--text); font-size: var(--fs-xl); }


.wire-watching { flex: none; position: relative; margin-right: var(--sp-4);
                 padding: 0 var(--sp-3); border: 1px solid var(--line);
                 border-radius: var(--r-pill); font-size: var(--fs-sm);
                 color: var(--text); white-space: nowrap; line-height: 17px; }
.wire-watching:hover { border-color: var(--ice); text-decoration: none; }
.site-wire:has(.wire-watching) .wire-logo { border-right-color: transparent;
                                            padding-right: 0; }
.site-wire:has(.wire-crawl) .wire-watching::after {
  content: ""; position: absolute; right: -15px; top: -3px; bottom: -3px;
  border-right: 1px solid var(--line); }
.site-wire .wire-star { color: var(--outside); font-weight: 400; }
.site-wire .wire-mine .wire-short { color: inherit; font-weight: 600; }


.watch-page .seat-head { align-items: center; }
.watch-tools { margin: 0; }
.watch-honest { max-width: 70ch; margin: 6px 0 0; }
.watch-list { display: grid; gap: var(--sp-3); margin-top: var(--sp-4); }
.watch-list:empty { display: none; }
.watch-list .detail-card { margin: 0; }
.watch-empty { margin: var(--sp-4) 0 0; }
.watch-card h4 { display: flex; align-items: baseline;
                 justify-content: space-between; gap: var(--sp-3); }
.watch-remove { background: none; border: 0; padding: 0; color: var(--dim);
                font: 400 var(--fs-sm) var(--sans); cursor: pointer; }
.watch-remove:hover { color: var(--warn); text-decoration: underline; }
.watch-news { display: flex; align-items: flex-start; gap: var(--sp-3);
              margin: 6px 0 2px; font-size: var(--fs-base); line-height: 1.35; }
.watch-news .mark { flex: none; width: 20px; height: 14px; margin-top: 3px; }
.watch-since { margin: 2px 0 var(--sp-2); font-size: var(--fs-sm); }
.watch-figs { margin: 0; display: grid; gap: 5px var(--sp-4); font-size: var(--fs-base);
              grid-template-columns: max-content minmax(0, 1fr); }
.watch-figs > div { display: contents; }
.watch-figs dt { color: var(--dim); font: 600 var(--fs-xs) var(--mono);
                 letter-spacing: .06em; text-transform: uppercase;
                 align-self: baseline; padding-top: 3px; }
.watch-figs dd { margin: 0; }
.watch-figs .fig { font-family: var(--mono); font-weight: 600; }
.watch-empty p { font-size: var(--fs-base); }
.watch-examples { margin: var(--sp-3) 0 var(--sp-2); gap: var(--sp-2); }
@media (max-width: 720px) {
  .k-title { justify-content: center; }
  .wire-watching-word { display: none; }
  .wire-watching { padding: 0 var(--sp-2); margin-right: var(--sp-3); }
  .site-wire:has(.wire-crawl) .wire-watching::after { right: -11px; }
  .watch-figs { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .watch-figs dd { margin-bottom: 6px; }
}


.loc-allraces { margin: var(--sp-4) 0 var(--sp-1); text-align: center; font-weight: 600; }


#k-fund:checked ~ #k-support:checked ~ .k-card-support { display: block; }
.k-support-open { text-align: center; margin: var(--sp-4) 0 2px; }
.k-support-btn { cursor: pointer; }
#k-support:checked ~ .k-card-fund .k-support-btn { border-color: var(--ice); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--ice); }
#k-support:focus-visible ~ .k-card-fund .k-support-btn { outline: 2px solid var(--ice); outline-offset: 2px; }

.k-card-support .sup-in, .k-card-support .src-in { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.k-card-support .src-bar { justify-content: center; margin: var(--sp-2) 0 var(--sp-2); }
.k-card-support .src-body { display: none; }
.src-in-1:checked ~ .src-body-1, .src-in-2:checked ~ .src-body-2 { display: block; }
.src-in-1:checked ~ .src-bar .src-tg-1, .src-in-2:checked ~ .src-bar .src-tg-2 {
  border-color: var(--ice); background: var(--panel2); box-shadow: inset 0 0 0 1px var(--ice); }
.src-in:focus-visible ~ .src-bar .src-tg { outline: 2px solid var(--ice); outline-offset: 2px; }
.k-card-support .sup-body { display: none; flex-direction: column; }
.sup-in-1:checked ~ .sup-body-1, .sup-in-2:checked ~ .sup-body-2,
.sup-in-3:checked ~ .sup-body-3, .sup-in-4:checked ~ .sup-body-4 { display: flex; }
.sup-in-1:checked ~ .sup-bar .sup-tg-1, .sup-in-2:checked ~ .sup-bar .sup-tg-2,
.sup-in-3:checked ~ .sup-bar .sup-tg-3, .sup-in-4:checked ~ .sup-bar .sup-tg-4 {
  color: var(--text); background: var(--panel); border-color: var(--pacm);
  box-shadow: inset 0 -2px 0 var(--panel); }
.k-card-support .sup-scroll { max-height: 360px; }

.sup-table tr:not(.k-donor-sector) + tr.k-donor-sector td { border-top: 2px solid var(--line); }
.sup-table tr.k-donor-sector td:first-child { color: var(--dim); }
.sup-table .k-sector-sub { padding-left: var(--sp-4); display: inline-block; }
.sup-table th:nth-child(n+2) { width: 18%; }

.sup-org th:nth-child(n+2) { width: 22%; }

.sup-adv { margin: var(--sp-2) 0 0; padding: 0; list-style: none; font-size: var(--fs-sm); }
.sup-adv li { padding: var(--sp-2) 0; border-top: 1px solid var(--line); }
.sup-adv .sup-goal { color: var(--dim); margin: 2px 0 0; }
.sup-line { margin: var(--sp-2) 0 0; font-size: var(--fs-sm); }

.leg-race { margin-left: 6px; font-size: var(--fs-xs); font-weight: 600; white-space: nowrap;
  padding: 1px 7px; border: 1px solid var(--line); border-radius: 999px; }
.leg-race.leg-unopp { font-weight: 400; }

.sup-term { font-weight: 700; }
.sup-pair { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.k-card-support .sup-table th:nth-child(n+2) { width: 25%; }
.sup-chart { display: flex; align-items: flex-end; gap: 6px; height: 360px; padding: 0 var(--sp-1); min-width: 0; }
.sup-col { flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-end; }
.sup-amt { font: 600 var(--fs-xs) var(--mono); margin-bottom: 3px; white-space: nowrap; }
.sup-plot { width: 100%; height: 250px; display: flex; align-items: flex-end; justify-content: center;
  border-bottom: 1px solid var(--line); }
.sup-fill { display: block; width: 70%; max-width: 44px; min-height: 2px; background: var(--ice);
  border-radius: 3px 3px 0 0; }
.sup-lbl { height: 72px; margin-top: 5px; font-size: var(--fs-xs); line-height: 1.2; text-align: center;
  color: var(--dim); overflow: hidden; hyphens: auto; overflow-wrap: break-word; }
@media (max-width: 760px) {
  .sup-pair { grid-template-columns: minmax(0, 1fr); }
  .sup-chart { height: 280px; gap: 3px; }
  .sup-plot { height: 180px; }
  
  .sup-amt, .sup-lbl { font-size: 9px; }
  .sup-lbl { overflow-wrap: anywhere; height: 64px; }
}

.sr-empty-msg { min-height: 260px; display: flex; align-items: center; justify-content: center;
  margin: var(--sp-2) 0 var(--sp-3); border: 1px dashed var(--line); border-radius: var(--r-md); background: var(--panel); }
.sr-empty-msg p { max-width: 560px; margin: 0; padding: var(--sp-4); text-align: center; font-size: var(--fs-base); color: var(--dim); }

.k-sumline { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-5); margin: 2px 0 6px; font-size: var(--fs-md); }
.k-sumline b { font-weight: 800; }
.k-sumline a { color: inherit; }
.k-sumline a b { color: var(--ice); }

.k-pillrow { display: flex; align-items: center; gap: var(--sp-3) var(--sp-4); margin: 6px 0 var(--sp-2); }
.k-pillrow .k-pills { flex: 1 1 auto; display: flex; flex-wrap: wrap; justify-content: space-between;
  gap: var(--sp-2); margin: 0; }
.k-pillrow .k-pills button.k-cast { font-size: var(--fs-base); padding: 5px var(--sp-4); flex: 1 1 auto; }
.k-fullrec { flex: none; font-weight: 600; white-space: nowrap; }
.k-first { margin: var(--sp-1) 0 6px; font-weight: 700; font-size: var(--fs-base); }
.ca-head .k-first { margin: 0; }

.glance-ledgers:not(.m-tiles):not(.k-door) { display: flex; flex-wrap: wrap; justify-content: center; }
.glance-ledgers:not(.m-tiles):not(.k-door) .stat { flex: 0 1 180px; }

.seat-running { flex: 1 0 100%; margin: 0; font-size: var(--fs-base); line-height: 1.6; }
.seat-running > .kv:first-child { font-weight: 700; margin-right: 6px; }
.seat-running .src { display: block; font-size: var(--fs-xs); opacity: .7; }
.cmp-chamber { margin: var(--sp-5) 0; }
.cmp-chamber h2 { margin: 0 0 var(--sp-2); }
.cmp-chamber h2 .kv { font-size: var(--fs-base); font-weight: 400; margin-left: var(--sp-2); }
.cmp-parties { display: flex; flex-wrap: wrap; gap: 6px var(--sp-5); list-style: none; margin: 0 0 var(--sp-3); padding: 0; }
.cmp-sw { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: var(--r-sm);
  background: var(--hue-neutral-deep); }
[data-hue="blue"] > .cmp-sw { background: var(--hue-blue-deep); }
[data-hue="red"] > .cmp-sw { background: var(--hue-red-deep); }
[data-hue="gold"] > .cmp-sw { background: var(--hue-gold-deep); }
[data-hue="green"] > .cmp-sw { background: var(--hue-green-deep); }
table.cmp-grid { border-collapse: collapse; font-size: var(--fs-base); min-width: 100%; }
table.cmp-grid th, table.cmp-grid td { padding: 5px var(--sp-3); border-bottom: 1px solid var(--line); }
table.cmp-grid thead th { font-size: var(--fs-sm); color: var(--dim); font-weight: 600; text-align: center; }
table.cmp-grid th[scope="row"] { text-align: left; white-space: nowrap; font-weight: 600; width: 1%; }
table.cmp-grid thead th[rowspan] { width: 1%; }
@media (max-width: 600px) {
  table.cmp-grid th, table.cmp-grid td { padding: var(--sp-1) 6px; }
  table.cmp-grid td { min-width: 34px; }
}
table.cmp-grid th.cmp-party { color: var(--text); border-bottom: 3px solid var(--hue-neutral-deep); }
table.cmp-grid th.cmp-party[data-hue="blue"] { border-bottom-color: var(--hue-blue-deep); }
table.cmp-grid th.cmp-party[data-hue="red"] { border-bottom-color: var(--hue-red-deep); }
table.cmp-grid th.cmp-party[data-hue="gold"] { border-bottom-color: var(--hue-gold-deep); }
table.cmp-grid th.cmp-party[data-hue="green"] { border-bottom-color: var(--hue-green-deep); }
table.cmp-grid td { position: relative; text-align: right; font-family: var(--mono); min-width: 52px; }
table.cmp-grid td > span { position: relative; }
.cmp-fill { position: absolute; left: 0; top: 3px; bottom: 3px; background: var(--hue-neutral-mid); opacity: .55; }
td[data-hue="blue"] > .cmp-fill { background: var(--hue-blue-mid); }
td[data-hue="red"] > .cmp-fill { background: var(--hue-red-mid); }
td[data-hue="gold"] > .cmp-fill { background: var(--hue-gold-mid); }
td[data-hue="green"] > .cmp-fill { background: var(--hue-green-mid); }
.cmp-zero { color: var(--dim); opacity: .5; }
tr.cmp-none th, tr.cmp-none td { font-style: italic; color: var(--dim); }


.pick-line { margin: 0 0 var(--sp-2); line-height: 2; }
.pick-line > .race-pick.qpick { display: inline-block; vertical-align: middle;
                          font-weight: 400; margin: 0 2px; }
.pick-line > .race-pick.qpick > nav { left: 0; right: auto; }
table.ad-targeting { width: 100%; }
table.ad-targeting th { white-space: normal; }
table.ad-targeting td:nth-child(2) { max-width: 24em; overflow-wrap: anywhere; }

.mg-card { margin: var(--sp-3) 0; }
.mg-lede { margin: 2px 0 var(--sp-2); display: flex; flex-wrap: wrap; gap: 6px; }
.mg-marker { font-size: var(--fs-xs); padding: 1px var(--sp-2); border: 1px solid var(--line); border-radius: 999px; color: var(--dim); }
.mg-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--sp-4); }
.mg-stack { border: 1px solid var(--line); border-radius: var(--r-md, 6px); padding: var(--sp-3) var(--sp-3); background: var(--panel); min-width: 0; }
.mg-stack h5 { margin: 0 0 6px; font-size: var(--fs-base); }
.mg-dl { margin: 0; display: grid; grid-template-columns: 1fr; gap: 2px; }
.mg-dl dt { font-size: var(--fs-sm); color: var(--dim); margin-top: 6px; }
.mg-dl dd { margin: 0; overflow-wrap: anywhere; }
.mg-fig { font: 700 var(--fs-md) var(--mono); }
.mg-rank { display: block; font-size: var(--fs-xs); }
.mg-unrel { font-size: var(--fs-xs); color: var(--warn); }
.mg-src { margin: var(--sp-2) 0 0; font-size: var(--fs-sm); }
.mg-bar { display: flex; height: 16px; margin: var(--sp-3) 0 6px; border-radius: 3px; overflow: hidden; border: 1px solid var(--line); }
.mg-seg, .mg-key { display: inline-block; height: 100%; }
.mg-key { width: 10px; height: 10px; margin-right: 6px; border-radius: 2px; vertical-align: -1px; }
.mg-q1 { background: color-mix(in srgb, var(--blue) 18%, var(--panel)); }
.mg-q2 { background: color-mix(in srgb, var(--blue) 38%, var(--panel)); }
.mg-q3 { background: color-mix(in srgb, var(--blue) 58%, var(--panel)); }
.mg-q4 { background: color-mix(in srgb, var(--blue) 78%, var(--panel)); }
.mg-q5 { background: var(--blue); }
.mg-unplacedzip { background: var(--unknown); }
.mg-outsiderollup { background: repeating-linear-gradient(45deg, var(--unknown) 0 3px, var(--panel2) 3px 6px); }
.mg-q { max-width: 520px; }
.mg-q th:nth-child(n+2) { width: 22%; }
.mg-q tr.mg-unplaced td { color: var(--dim); }
.mg-ladder td { vertical-align: middle; }
.mg-ladder th:first-child { width: 2.5em; }
.mg-ladder td:nth-child(2) { min-width: 9em; }
.mg-ladder td:last-child { padding-left: var(--sp-4); }
.mg-track-c { white-space: nowrap; }
.mg-track { position: relative; display: inline-block; width: 140px; height: 10px; margin-right: var(--sp-2);
  vertical-align: middle; border-bottom: 1px solid var(--line); }
.mg-one { position: absolute; top: -2px; bottom: -3px; width: 1px; background: var(--dim); }
.mg-dot { position: absolute; top: 1px; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%;
  background: var(--unknown); }
.mg-dot.mg-above { background: var(--blue); }
.mg-ratio { font-family: var(--mono); }
@media (max-width: 760px) { .mg-track { width: 90px; } }

.db-head { margin-bottom: var(--sp-1); }
.db-sub { margin: var(--sp-4) 0 6px; font-size: var(--fs-base); }
.db-notes { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 var(--sp-2); }
.db-att { font-size: var(--fs-xs); color: var(--dim); border: 1px solid var(--line);
  border-radius: var(--r-pill); padding: 1px var(--sp-2); cursor: help; }
.db-stack { display: flex; height: 18px; border: 1px solid var(--line); background: var(--panel2);
  margin: var(--sp-1) 0 var(--sp-2); overflow: hidden; }
.db-seg { display: block; height: 100%; min-width: 1px; }
.db-seg + .db-seg { border-left: 1px solid var(--panel); }
.db-seg-1 { background: color-mix(in srgb, var(--blue) 22%, var(--panel)); }
.db-seg-2 { background: color-mix(in srgb, var(--blue) 40%, var(--panel)); }
.db-seg-3 { background: color-mix(in srgb, var(--blue) 58%, var(--panel)); }
.db-seg-4 { background: color-mix(in srgb, var(--blue) 78%, var(--panel)); }
.db-seg-5 { background: var(--blue); }
.db-key { display: inline-block; width: 10px; height: 10px; margin-right: 6px;
  vertical-align: -1px; border: 1px solid var(--line); }
.db-table { margin-bottom: 6px; table-layout: auto; }
.db-table th:nth-child(2), .db-table th:nth-child(3) { width: 1%; white-space: nowrap; }
.db-table td.num { white-space: nowrap; }
.db-peer { display: block; font-size: var(--fs-xs); color: var(--dim); margin-top: 2px; }
.db-line { margin: 6px 0; font-size: var(--fs-sm); }
.db-sides { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
  gap: var(--sp-4); }
.db-who { margin: 0 0 var(--sp-2); }

.glance-ledgers.door-line:not(.k-door) { display: block; margin: var(--sp-3) 0; padding: 0; border-top: 0; }
.glance-ledgers.door-line:not(.k-door) .stat { display: inline-flex; flex-direction: row; flex-wrap: wrap;
  align-items: baseline; text-align: left; min-width: 0; gap: var(--sp-1) var(--sp-3); max-width: 100%; padding: 7px var(--sp-3); }
.glance-ledgers.door-line:not(.k-door) .lbl { white-space: normal; overflow: visible; }
.glance-ledgers.door-line:not(.k-door) .fig { font-size: var(--fs-md); white-space: normal; overflow: visible; }
.glance-ledgers.door-line:not(.k-door) .sub { font-size: var(--fs-sm); }
.glance-ledgers.door-line:not(.k-door) .arrow { color: var(--ice); font-weight: 600; }
.glance-ledgers.door-line:not(.k-door) .stat-shut { background: transparent; }


.k-support-open { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-2); }
#k-fund:checked ~ #k-donorbase:checked ~ .k-card-donorbase { display: block; }

.k-foot-btn { cursor: pointer; }
#k-donorbase:checked ~ .k-card-fund .k-donorbase-btn { border-color: var(--ice); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--ice); }
#k-donorbase:focus-visible ~ .k-card-fund .k-donorbase-btn { outline: 2px solid var(--ice); outline-offset: 2px; }


.demo-in { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.demo-btn { vertical-align: middle; }
.demo-btn.demo-none { display: inline-flex; padding: var(--sp-1) var(--sp-3); border: 1px dashed var(--line);
  border-radius: 999px; font-size: var(--fs-base); color: var(--dim); cursor: help; }

#loc-demo:checked ~ .loc-main .demo-btn { border-color: var(--ice); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--ice); }
#loc-demo:focus-visible ~ .loc-main .demo-btn { outline: 2px solid var(--ice); outline-offset: 2px; }
.loc-top > .loc-demo { display: none; grid-column: 2; grid-row: 1; min-width: 0;
  flex-direction: column; gap: 6px; }
.loc-top > #loc-demo:checked ~ .lm { display: none; }
.loc-top > #loc-demo:checked ~ .loc-demo { display: flex; }
@media (max-width: 760px) { .loc-top > .loc-demo { grid-column: 1; grid-row: auto; } }
.demo-top { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); margin: 0;
  flex-wrap: wrap; }
.demo-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.demo-show { position: relative; flex: 1 1 auto; min-height: 280px; display: flex;
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-md);
  box-sizing: border-box; }
.demo-slide { display: none; flex: 1 1 auto; align-items: center; gap: var(--sp-1); padding: var(--sp-3) var(--sp-1);
  min-width: 0; }
#loc-slide-1:checked ~ .demo-slide-1, #loc-slide-2:checked ~ .demo-slide-2,
#loc-slide-3:checked ~ .demo-slide-3, #loc-slide-4:checked ~ .demo-slide-4,
#loc-slide-5:checked ~ .demo-slide-5 { display: flex; }
.demo-arrow { flex: 0 0 36px; align-self: stretch; display: flex; align-items: center;
  justify-content: center; cursor: pointer; user-select: none; font-size: var(--fs-xl);
  color: var(--dim); border-radius: var(--r-md); }
.demo-arrow:hover { color: var(--ice); background: var(--panel2); }
.demo-body { flex: 1 1 0; min-width: 0; }
.demo-title { margin: 0 0 var(--sp-3); font-size: var(--fs-md); }
.demo-row { display: grid; grid-template-columns: minmax(0, 11.5em) minmax(0, 1fr) auto;
  align-items: center; gap: var(--sp-2); margin: 7px 0; font-size: var(--fs-base); }
.demo-lbl { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demo-track { display: block; height: 12px; background: var(--panel2); border-radius: 4px;
  overflow: hidden; }
.demo-fill { display: block; height: 100%; background: var(--ice); border-radius: 0 4px 4px 0; }
.demo-unrel .demo-fill { background: repeating-linear-gradient(135deg, var(--ice) 0 3px, transparent 3px 7px); }
.demo-val { font: 600 var(--fs-base) var(--mono); white-space: nowrap; text-align: right; min-width: 4.5em; }
.demo-missing .demo-val { font-weight: 400; }
.demo-flag { display: inline-block; margin-left: var(--sp-1); padding: 0 5px; border: 1px solid var(--dim);
  border-radius: 999px; font: 600 10px var(--sans); color: var(--dim); line-height: 14px;
  vertical-align: 1px; cursor: help; }
.demo-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); }
.demo-stat { display: flex; flex-direction: column; gap: 3px; padding: var(--sp-3) var(--sp-2); min-width: 0;
  background: var(--panel2); border-radius: var(--r-md); }
.demo-stat .lbl { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--dim); }
.demo-stat .fig { font: 600 var(--fs-lg) var(--mono); overflow-wrap: anywhere; }
.demo-stat .fig small { font: var(--fs-sm) var(--sans); color: var(--dim); }
.demo-stat .sub { font-size: var(--fs-xs); color: var(--dim); min-height: 1.2em; }
.demo-sub { margin: var(--sp-3) 0 0; }
.demo-foot { margin: 0; }
@media (max-width: 480px) { .demo-stats { grid-template-columns: 1fr; } }


.deck { position: relative; }
.deck-in { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.deck-page { display: none; align-items: stretch; gap: var(--sp-1); min-width: 0; }
.deck > input:nth-of-type(1):checked ~ section:nth-of-type(1),
.deck > input:nth-of-type(2):checked ~ section:nth-of-type(2),
.deck > input:nth-of-type(3):checked ~ section:nth-of-type(3),
.deck > input:nth-of-type(4):checked ~ section:nth-of-type(4),
.deck > input:nth-of-type(5):checked ~ section:nth-of-type(5),
.deck > input:nth-of-type(6):checked ~ section:nth-of-type(6),
.deck > input:nth-of-type(7):checked ~ section:nth-of-type(7),
.deck > input:nth-of-type(8):checked ~ section:nth-of-type(8),
.deck > input:nth-of-type(9):checked ~ section:nth-of-type(9),
.deck > input:nth-of-type(10):checked ~ section:nth-of-type(10),
.deck > input:nth-of-type(11):checked ~ section:nth-of-type(11),
.deck > input:nth-of-type(12):checked ~ section:nth-of-type(12),
.deck > input:nth-of-type(13):checked ~ section:nth-of-type(13),
.deck > input:nth-of-type(14):checked ~ section:nth-of-type(14),
.deck > input:nth-of-type(15):checked ~ section:nth-of-type(15),
.deck > input:nth-of-type(16):checked ~ section:nth-of-type(16),
.deck > input:nth-of-type(17):checked ~ section:nth-of-type(17),
.deck > input:nth-of-type(18):checked ~ section:nth-of-type(18),
.deck > input:nth-of-type(19):checked ~ section:nth-of-type(19),
.deck > input:nth-of-type(20):checked ~ section:nth-of-type(20),
.deck > input:nth-of-type(21):checked ~ section:nth-of-type(21),
.deck > input:nth-of-type(22):checked ~ section:nth-of-type(22),
.deck > input:nth-of-type(23):checked ~ section:nth-of-type(23),
.deck > input:nth-of-type(24):checked ~ section:nth-of-type(24),
.deck > input:nth-of-type(25):checked ~ section:nth-of-type(25),
.deck > input:nth-of-type(26):checked ~ section:nth-of-type(26),
.deck > input:nth-of-type(27):checked ~ section:nth-of-type(27),
.deck > input:nth-of-type(28):checked ~ section:nth-of-type(28),
.deck > input:nth-of-type(29):checked ~ section:nth-of-type(29),
.deck > input:nth-of-type(30):checked ~ section:nth-of-type(30) { display: flex; }
.deck-arrow { flex: 0 0 36px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; user-select: none; font-size: var(--fs-xl); color: var(--dim);
  border-radius: var(--r-md); }
.deck-arrow:hover { color: var(--ice); background: var(--panel2); }
.deck-body { flex: 1 1 0; min-width: 0; }
.deck-head { margin: 0 0 var(--sp-2); font-size: var(--fs-base); text-align: center; }
.deck-house .place-officials { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4) var(--sp-2); justify-items: center; }
@media (max-width: 760px) { .deck-house .place-officials { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.deck-races .place-races { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .deck-races .place-races { grid-template-columns: minmax(0, 1fr); } }


.glance-card > .glance-method { display: none; margin: 6px 0 0; }
.glance-card > .tab-in-1:checked ~ .glance-method-1 { display: block; }
.glance-card > .tab-in-2:checked ~ .glance-method-2 { display: block; }
.glance-card > .tab-in-3:checked ~ .glance-method-3 { display: block; }
.glance-card > .tab-in-4:checked ~ .glance-method-4 { display: block; }
.glance-card > .tab-in-5:checked ~ .glance-method-5 { display: block; }
.glance-card > .tab-in-6:checked ~ .glance-method-6 { display: block; }
.glance-card > .tab-in-7:checked ~ .glance-method-7 { display: block; }
.glance-card > .tab-in-8:checked ~ .glance-method-8 { display: block; }
.glance-card > .tab-in-9:checked ~ .glance-method-9 { display: block; }
.glance-card > .tab-in-10:checked ~ .glance-method-10 { display: block; }
.glance-card > .tab-in-11:checked ~ .glance-method-11 { display: block; }
.glance-card > .tab-in-12:checked ~ .glance-method-12 { display: block; }

.glance-ledgers .stat.has-art { position: relative; overflow: hidden; padding-bottom: var(--sp-7); }
.glance-ledgers .stat > span { position: relative; z-index: 1; }
.glance-ledgers .stat > .tile-art { position: absolute; left: 8px; bottom: 5px;
  width: calc(100% - 16px); height: 36px; opacity: .45; pointer-events: none; fill: var(--ice); }
.glance-ledgers .stat:hover > .tile-art { opacity: .7; }
.tile-art .art-line { fill: none; stroke: var(--ice); stroke-width: 2.4; stroke-linecap: round; }
.tile-art .art-seg-1 { fill: color-mix(in srgb, var(--ice) 30%, transparent); }
.tile-art .art-seg-2 { fill: color-mix(in srgb, var(--ice) 50%, transparent); }
.tile-art .art-seg-3 { fill: color-mix(in srgb, var(--ice) 70%, transparent); }
.tile-art .art-seg-4 { fill: color-mix(in srgb, var(--ice) 85%, transparent); }
.tile-art .art-seg-5, .tile-art .art-seg-6, .tile-art .art-seg-7 { fill: var(--ice); }

:root { --art-green-dark: #2f7d4f; --art-green-light: #9ccfae; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --art-green-dark: #5fc78a; --art-green-light: #2c5d40; }
}
:root[data-theme="dark"] { --art-green-dark: #5fc78a; --art-green-light: #2c5d40; }
.tile-art .art-state { fill: var(--art-green-light); }
.tile-art .art-district { fill: var(--art-green-dark); }

.glance-ledgers .stat > .tile-art:has(.art-district),
.glance-ledgers .stat > .tile-art.art-dist { opacity: .8; }
.glance-ledgers .stat:hover > .tile-art:has(.art-district),
.glance-ledgers .stat:hover > .tile-art.art-dist { opacity: 1; }


.glance-card > .glance-ledgers[class*="glance-ledgers-"] { display: none; }
.glance-card > .tab-in-1:checked ~ .glance-ledgers-1 { display: grid; }
.glance-card > .tab-in-2:checked ~ .glance-ledgers-2 { display: grid; }
.glance-card > .tab-in-3:checked ~ .glance-ledgers-3 { display: grid; }
.glance-card > .tab-in-4:checked ~ .glance-ledgers-4 { display: grid; }
.glance-card > .tab-in-5:checked ~ .glance-ledgers-5 { display: grid; }
.glance-card > .tab-in-6:checked ~ .glance-ledgers-6 { display: grid; }
.glance-card > .tab-in-7:checked ~ .glance-ledgers-7 { display: grid; }
.glance-card > .tab-in-8:checked ~ .glance-ledgers-8 { display: grid; }
.glance-card > .tab-in-9:checked ~ .glance-ledgers-9 { display: grid; }
.glance-card > .tab-in-10:checked ~ .glance-ledgers-10 { display: grid; }
.glance-card > .tab-in-11:checked ~ .glance-ledgers-11 { display: grid; }
.glance-card > .tab-in-12:checked ~ .glance-ledgers-12 { display: grid; }


.civic-status h2 { font-size: var(--fs-md); margin: 1.2em 0 .4em; }
.civic-status .civic-line { font-size: var(--fs-md); color: var(--text); }
.civic-problems { margin: 0; padding-left: 1.2em; }
.civic-problems li { margin: .2em 0; }
.civic-problems li.serious b { color: var(--warn); }
.civic-scroll { max-height: 70vh; overflow: auto; }
.civic-lanes { width: 100%; border-collapse: collapse; font-size: var(--fs-base); }
.civic-lanes th, .civic-lanes td { text-align: left; padding: .3em .6em .3em 0;
  border-bottom: 1px solid var(--line); vertical-align: top; }
.civic-lanes th.num, .civic-lanes td.num { text-align: right; }
.civic-lanes tr.behind td { color: var(--warn); }
.civic-lanes tr.behind td:first-child { font-weight: 600; }
@media (max-width: 640px) {
  .civic-lanes th:nth-child(4), .civic-lanes td:nth-child(4) { display: none; }
}


.window-door-card .pane-search { position: static; float: none; display: block;
  width: auto; margin: 0 0 .6em; }
.window-door-card .window-scroll { overflow-x: auto; max-width: 100%; }


:root { --api-ochre: #c48a3a; --api-ochre-soft: #f3e4cd; --api-ink: #0e141b; --api-plum: #6b4fa3; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --api-ochre: #dda257; --api-ochre-soft: #3a2d18; }
}
:root[data-theme="dark"] { --api-ochre: #dda257; --api-ochre-soft: #3a2d18; }
.api-page { max-width: 1040px; margin: 0 auto; }
.api-hero { position: relative; overflow: hidden; display: grid;
  grid-template-columns: minmax(0, 62ch) minmax(0, 1fr); gap: var(--sp-4); align-items: center;
  padding: var(--sp-7) var(--sp-5) var(--sp-6); margin: var(--sp-3) 0 var(--sp-5); border-radius: var(--r-lg);
  background: linear-gradient(135deg, var(--panel) 0 55%, var(--api-ochre-soft)); border: 1px solid var(--line); }
.api-eyebrow { font: 600 var(--fs-xs) var(--mono); letter-spacing: .12em; text-transform: uppercase;
  color: var(--api-ochre); margin: 0 0 var(--sp-2); }
.api-hero h1 { font-size: var(--fs-3xl); line-height: 1.05; margin: 0 0 var(--sp-3); letter-spacing: -.5px; }
.api-hero h1 em { color: var(--ice); font-style: normal; }
.api-hero .lede { color: var(--text); font-size: var(--fs-md); line-height: 1.55; max-width: 62ch; margin: 0 0 var(--sp-4); }
.api-hero .lab-browse { margin-top: calc(-1 * var(--sp-2)); }
.api-hero .lab-browse a { color: var(--text); text-decoration: underline; text-underline-offset: .14em; text-decoration-color: var(--api-ochre); }
.api-hero .lab-browse a:hover { color: var(--api-ochre); }
.api-badge { display: inline-block; padding: 3px var(--sp-3); border-radius: var(--r-pill);
  font: 600 var(--fs-xs) var(--mono); letter-spacing: .08em; text-transform: uppercase;
  background: var(--api-ochre); color: var(--api-ink); margin: 0 0 var(--sp-3); vertical-align: middle; }
.api-cta { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.api-btn { display: inline-flex; align-items: center; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md);
  font-weight: 600; background: var(--blue); color: #fff; }
.api-btn.quiet { background: var(--panel); color: var(--blue); box-shadow: inset 0 0 0 2px var(--blue); }
.api-btn:hover { text-decoration: none; filter: brightness(1.08); }
.api-hero-rat { justify-self: center; }   
.api-hero-rat svg { width: 220px; height: 154px; shape-rendering: crispEdges; transform: scaleX(-1); }   
.api-hero-rat .sack-glow { filter: drop-shadow(0 0 18px color-mix(in srgb, var(--api-ochre) 55%, transparent)); }

.api-slide { position: relative; overflow: hidden; padding: var(--sp-6) 0 var(--sp-5); border-top: 1px solid var(--line); }
.api-slide > h2 { font-size: var(--fs-2xl); line-height: 1.1; margin: 0 0 var(--sp-3); letter-spacing: -.4px; max-width: 40ch; }
.api-slide > .api-lede, .api-slide .api-lede { color: var(--dim); font-size: var(--fs-md); line-height: 1.5; margin: 0 0 var(--sp-5); max-width: 72ch; }
.api-slide .api-h3 { font-size: var(--fs-lg); margin: var(--sp-6) 0 var(--sp-2); }
.api-close { font-size: var(--fs-md); font-weight: 600; max-width: 62ch; margin: var(--sp-5) 0 0; color: var(--text); }

.api-wm { position: absolute; right: 8px; top: var(--sp-6); width: 200px; height: 140px; opacity: .09; z-index: 0;
  shape-rendering: crispEdges; pointer-events: none; }
.api-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-5); }
.api-three h3 { margin: 0 0 6px; font-size: var(--fs-md); }
.api-three p { margin: 0 0 var(--sp-2); color: var(--dim); font-size: var(--fs-base); line-height: 1.5; }
.api-three code { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text); }

.api-points { gap: 0; }
.api-points > div { padding: var(--sp-2) var(--sp-5) var(--sp-2) 0; --pt: var(--api-ochre); }
.api-points > div + div { border-left: 1px solid var(--line); padding-left: var(--sp-5); }
.api-points .api-pt-icon { display: block; width: 56px; height: 40px; margin: 0 0 var(--sp-3); shape-rendering: crispEdges; }
.api-points .api-pt-icon .pa { fill: var(--pt); }
.api-points .api-pt-icon .pb { fill: color-mix(in srgb, var(--pt) 35%, var(--panel)); }
.api-points .api-pt-icon .pc { fill: var(--api-ochre); }
.api-points h3 { font-size: var(--fs-lg); padding-bottom: var(--sp-2); margin-bottom: var(--sp-3); position: relative; }
.api-points h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 4px; background: var(--pt); }

.api-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.api-tile[data-family="federal"] { --fam: var(--ice); }
.api-tile[data-family="outside"] { --fam: var(--outside); }
.api-tile[data-family="congress"] { --fam: var(--hue-red-deep, #9c2b2b); }
.api-tile[data-family="states"] { --fam: var(--ok); }
.api-tile[data-family="companies"] { --fam: var(--api-plum); }
.api-tile[data-family="places"] { --fam: var(--lift-cool); }
.api-tile { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px;
  padding: var(--sp-4) var(--sp-4) var(--sp-3) calc(var(--sp-4) + 6px); border-radius: var(--r-lg);
  --fam: var(--api-ochre);
  background: color-mix(in srgb, var(--fam) 9%, var(--panel)); border: 1px solid color-mix(in srgb, var(--fam) 35%, var(--line)); min-height: 150px; }
.api-tile::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
  background: var(--fam); }
.api-tile h3 { margin: 0; font-size: var(--fs-md); color: var(--text); padding-right: 84px; }   
.api-tile p { margin: 0; color: var(--dim); font-size: var(--fs-sm); line-height: 1.45; }
.api-tile .api-named { margin: auto 0 0; padding: 0 64px 0 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }   
.api-tile .api-named li { font: var(--fs-xs) var(--mono); padding: 2px var(--sp-2); border-radius: var(--r-pill);
  background: color-mix(in srgb, var(--fam) 14%, var(--panel)); color: var(--text); }
.api-tile .api-cad { position: absolute; right: 12px; top: 12px; font: 600 var(--fs-xs) var(--mono);
  letter-spacing: .08em; text-transform: uppercase; color: var(--fam); }
.api-tile .api-icon { position: absolute; right: 10px; bottom: 8px; width: 56px; height: 40px; opacity: .3; }
.api-tile .api-icon rect, .api-tile .api-icon circle, .api-tile .api-icon path { fill: var(--fam); }
.api-tile .api-icon .win { fill: var(--panel); }

.api-big3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin: 0 0 var(--sp-3); }
.api-big3 .api-size { padding: var(--sp-5) var(--sp-4) var(--sp-4); border-radius: var(--r-lg);
  background: var(--bar); color: #f3efe6; }   
.api-big3 .big { font: 700 var(--fs-3xl) var(--mono); line-height: 1; letter-spacing: -1px;
  font-variant-numeric: tabular-nums; }
.api-big3 .big small { display: block; font: 600 var(--fs-xs) var(--mono); letter-spacing: .12em; text-transform: uppercase;
  color: var(--api-ochre); margin: 0 0 6px; }
.api-big3 .lbl { font: 600 var(--fs-sm) var(--mono); letter-spacing: .06em; text-transform: uppercase; margin: var(--sp-3) 0 2px; }
.api-big3 .sub { color: #b9c2cc; font-size: var(--fs-xs); line-height: 1.35; }
.api-ledger { display: grid; gap: 2px; }
.api-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) auto; gap: var(--sp-3); align-items: center;
  padding: 6px var(--sp-3); border-radius: var(--r-sm); background: var(--panel); }
.api-row:nth-child(odd) { background: var(--panel2); }
.api-row .lbl { font: 600 var(--fs-xs) var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text);
  display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.api-row .lbl .sub { font: var(--fs-xs) var(--sans); text-transform: none; letter-spacing: 0; color: var(--dim); }
.api-row .track { height: 12px; border-radius: 2px; background: color-mix(in srgb, var(--api-ochre) 16%, transparent);
  background-image: repeating-linear-gradient(45deg, color-mix(in srgb, var(--api-ochre) 20%, transparent) 0 2px, transparent 2px 6px); overflow: hidden; }
.api-row .track i { display: block; height: 100%; background: var(--api-ochre); }
.api-row .big { font: 700 var(--fs-lg) var(--mono); color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.api-row .big small { font: 600 var(--fs-xs) var(--mono); color: var(--api-ochre); margin-right: var(--sp-1); }
.api-ex { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3) var(--sp-5); }
.api-case { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--sp-4); align-items: center;
  padding: var(--sp-3) 0; }
.api-case svg { width: 120px; height: 90px; }
.api-case svg use { shape-rendering: crispEdges; }
.api-case h3 { margin: 0 0 var(--sp-1); font-size: var(--fs-md); }
.api-case p { margin: 0; color: var(--dim); font-size: var(--fs-sm); line-height: 1.45; }
.api-case .sk-a { fill: var(--ice); } .api-case .sk-b { fill: var(--api-ochre); }
.api-case .sk-l { fill: none; stroke: var(--dim); stroke-width: 1.5; }
.api-case .sk-g { fill: var(--panel2); }
.api-tiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); position: relative; }
.api-tier { position: relative; overflow: hidden; padding: var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel); }
.api-wm.in-tier { top: auto; bottom: 6px; right: 10px; width: 120px; height: 84px; opacity: .12; }   
.api-tier.soon { border-color: var(--api-ochre); background: var(--api-ochre-soft); }
.api-tier h3 { margin: 0 0 6px; font-size: var(--fs-lg); }
.api-tier ul { margin: var(--sp-2) 0 0; padding-left: var(--sp-4); color: var(--dim); font-size: var(--fs-sm); line-height: 1.5; }
.api-tier ul b { color: var(--text); }
.api-foot { text-align: center; padding: var(--sp-6) var(--sp-4) var(--sp-3); border-top: 1px solid var(--line); }
.api-foot p { color: var(--dim); max-width: 60ch; margin: 0 auto var(--sp-4); }

.api-btn.api-contact { gap: var(--sp-3); padding: var(--sp-3) var(--sp-5); font-size: var(--fs-md);
  background: var(--blue); color: #fff; --pacm: var(--api-ochre); --dim: #cfd8e2; --text: #fff; }
.api-btn.api-contact svg { shape-rendering: crispEdges; }
.api-btn.api-contact[aria-disabled] { cursor: default; }
@media (max-width: 900px) {
  .api-hero { grid-template-columns: minmax(0, 1fr); }
  .api-hero-rat { display: none; }
  .api-grid, .api-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .api-big3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .api-grid, .api-three, .api-ex, .api-tiers { grid-template-columns: minmax(0, 1fr); }
  .api-points > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: var(--sp-4); }
  .api-row { grid-template-columns: minmax(0, 1fr) auto; }
  .api-row .track { grid-column: 1 / -1; }
  .api-case { grid-template-columns: minmax(0, 1fr); }
  .api-hero h1 { font-size: var(--fs-2xl); }
  .api-slide > h2 { font-size: var(--fs-xl); }
  .api-wm { display: none; }
}


.ab-page .api-hero h1 { font-size: var(--fs-3xl); }
.ab-stats { list-style: none; margin: 0 0 var(--sp-3); padding: 0; display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-3); }
.ab-stats li { font: 600 var(--fs-md) var(--mono); color: var(--text); padding: var(--sp-2) var(--sp-3);
  border-radius: var(--r-sm); background: color-mix(in srgb, var(--api-ochre) 12%, var(--panel)); border-left: 4px solid var(--api-ochre); }
.ab-pulse { margin: 0; max-width: 72ch; }

.ab-report { border-top: 0; margin: var(--sp-5) 0; padding: var(--sp-6) var(--sp-5) var(--sp-6); border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--api-ochre) 40%, var(--line));
  background-color: color-mix(in srgb, var(--api-ochre) 7%, var(--panel));
  background-image: repeating-linear-gradient(45deg, color-mix(in srgb, var(--api-ochre) 13%, transparent) 0 2.2px, transparent 2.2px 6px); }
.ab-report > h2 { text-align: center; max-width: none; }
.ab-report > .api-lede { text-align: center; margin-left: auto; margin-right: auto; }
.ab-report .ab-rules { gap: var(--sp-5); }
.ab-report .ab-rules h3 { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-md); margin: 0 0 var(--sp-2); }
.ab-report .ab-rules h3 svg { flex: 0 0 auto; shape-rendering: crispEdges; }
.ab-report .ab-rules h3 svg rect { fill: var(--api-ochre); }
.ab-report .ab-rules h3 svg .win { fill: var(--panel); }
.ab-report .ab-rules p { font-size: var(--fs-sm); line-height: 1.5; color: var(--dim); margin: 0; }
.ab-contact { justify-content: center; margin-top: var(--sp-5); }
.ab-fine { margin: var(--sp-5) 0 0; max-width: 80ch; color: var(--dim); }
.ab-fine b { color: var(--text); }
.ab-refs { margin: var(--sp-3) 0 0; }
.ab-founders h3 { max-width: none; }

.ab-card .p-note { margin: 0; }
.ab-card .ab-mail { margin: var(--sp-3) 0 0; font: var(--fs-sm) var(--mono); }


.k-pair-wrap { margin-top: var(--sp-2); }
.k-pair > .tab-in { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.k-pair .tab-bar { flex-wrap: wrap; }
.k-pair .k-pair-head h4, .k-pair .k-pair-line { overflow-wrap: anywhere; }
.k-pair .k-scroll, .b-card-5 .k-scroll { max-height: 480px; overflow: auto; }
.k-pair-hint { padding: var(--sp-1) 0; }
.k-pair .k-pair-head h4 { margin-bottom: 2px; }
.k-pair .k-pair-line { margin: 2px 0 var(--sp-1); }
.k-pair .tab-body { flex-direction: column; }
.k-pair .k-passage td { font-weight: 600; }
.k-pair .k-bucket td { color: var(--dim); }
.k-pair .k-legs td:first-child { white-space: nowrap; }
.k-pair .k-lob { border-top: 1px solid var(--line); padding: 5px 0; font-size: var(--fs-sm); }
.k-pair .k-lob:first-child { border-top: 0; }
.k-pair .k-lob > summary { cursor: pointer; }
.k-pair .k-lob .k-floor { display: block; }
.k-pair .k-pair-cov { margin-top: var(--sp-2); font-size: var(--fs-xs); }
.k-pairlink { font-size: var(--fs-xs); white-space: nowrap; }


.lg-row { border-top: 1px solid var(--line); padding: var(--sp-3) 0 var(--sp-2); }
.lg-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--sp-3); }
.lg-title { margin: 0; font-size: var(--fs-lg); }
.lg-money { margin: var(--sp-2) 0; }
.lg-money b { font: 700 var(--fs-xl) var(--mono); margin-right: var(--sp-2); }
.lg-bars { display: grid; gap: 4px; max-width: 560px; margin: var(--sp-2) 0; }
.lg-bar { display: grid; grid-template-columns: minmax(0, 15em) minmax(0, 1fr) 4.5em;
  align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); }
.lg-bl { color: var(--dim); }
.lg-trk { height: 10px; background: var(--panel2); border-radius: var(--r-sm); overflow: hidden; }
.lg-trk i { display: block; height: 100%; background: var(--blue); }
.lg-base .lg-trk i { background: var(--bar); }
.lg-fig { font: 500 var(--fs-sm) var(--mono); font-variant-numeric: tabular-nums; text-align: right; }
.lg-scores { margin: var(--sp-2) 0; padding-left: 1.1em; font-size: var(--fs-sm); }
.lg-scores li { margin: 2px 0; }
.lg-scores b { font-family: var(--mono); }
@media (max-width: 600px) {
  .lg-bar { grid-template-columns: minmax(0, 1fr) 4.5em; }
  .lg-bl { grid-column: 1 / -1; }
}

.k-lenses > .k-layers { display: none; }
#k-fund:checked ~ #k-support:checked ~ .k-layers { display: block; }
.k-layers > .k-card { display: block; }
@media (min-width: 980px) {
  #k-fund:checked ~ #k-support:checked ~ .k-layers-two {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--sp-3); align-items: start; }
  .k-layers-two .sup-pair { grid-template-columns: minmax(0, 1fr); }
  .k-layers-two .sup-chart { height: 230px; }
  .k-layers-two .sup-plot { height: 140px; }
  .k-layers-two .sup-lbl { height: 56px; }
}
.fc-what { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); color: var(--dim); }
.k-card-face > .fc-in, .fc-pane > .fc-in { position: absolute; opacity: 0; pointer-events: none;
  width: 0; height: 0; }
.fc-body { display: none; }
.fc-in-1:checked ~ .fc-body-1, .fc-in-2:checked ~ .fc-body-2 { display: block; }
.fc-in-1:checked ~ .fc-bar .fc-tg-1, .fc-in-2:checked ~ .fc-bar .fc-tg-2 {
  color: var(--text); background: var(--panel); border-color: var(--pacm);
  box-shadow: inset 0 -2px 0 var(--panel); }
.fc-lead { margin: var(--sp-2) 0; font-size: var(--fs-sm); }
.fc-list { list-style: none; margin: 0; padding: 0; }
.fc-row { padding: 6px 0 8px; border-top: 1px solid var(--line); }
.fc-row:first-child { border-top: 0; }
.fc-row-small { padding: 4px 0; }
.fc-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-2); }
.fc-head > span:first-child { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; }
.fc-subj { font-weight: 600; font-size: var(--fs-base); min-width: 0; overflow-wrap: anywhere; }
.fc-fig { font: 600 var(--fs-sm) var(--mono); white-space: nowrap; }
.fc-fig .kv { font-weight: 400; margin-left: 4px; }
.fc-track { display: block; height: 6px; margin: 4px 0 2px; background: var(--panel2);
  border-radius: var(--r-lg); overflow: hidden; }
.fc-fill { display: block; height: 100%; background: var(--ice); border-radius: var(--r-lg); }
.fc-givers { list-style: none; margin: 4px 0 0; padding: 0; font-size: var(--fs-sm); }
.fc-giver { display: flex; align-items: baseline; gap: 6px; padding: 1px 0; min-width: 0; }
.fc-giver .fc-org { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; }
.fc-gd { font-family: var(--mono); color: var(--dim); white-space: nowrap; }
.fc-tier { display: inline-block; font-size: 10px; letter-spacing: .02em; text-transform: uppercase;
  padding: 0 5px; border: 1px solid var(--line); border-radius: var(--r-pill); color: var(--dim);
  line-height: 15px; white-space: nowrap; }
.fc-tier-filed { color: var(--ok); border-color: var(--ok); }
.fc-tier-firm { color: var(--ice); border-color: var(--ice); }
.fc-tier-sponsored { color: var(--warn); border-color: var(--warn); }
.fc-sub { margin: var(--sp-3) 0 2px; font-size: var(--fs-xs); text-transform: uppercase;
  letter-spacing: .04em; color: var(--dim); }
.fc-unfaced ul { list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); }
.fc-unfaced li { display: flex; justify-content: space-between; gap: var(--sp-2); padding: 2px 0;
  color: var(--dim); }
.fc-ufig { font-family: var(--mono); white-space: nowrap; }
.fc-tiers { margin: var(--sp-2) 0 0; font-size: var(--fs-sm); }
.fc-more { margin-top: 4px; }
.fc-more summary { cursor: pointer; }

.fc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--sp-3); align-items: start; }
.fc-col h3 { margin: 0 0 2px; font-size: var(--fs-lg); }
.fc-col .fc-hue { display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  margin-right: 6px; vertical-align: baseline; }
.fc-race-table td.num, .fc-race-table th.num { text-align: right; white-space: nowrap; }
.fc-race-table td .fc-track { margin: 3px 0 0; height: 4px; }

.fc-index { width: 100%; border-collapse: collapse; }
.fc-index th { text-align: left; font-size: var(--fs-xs); text-transform: uppercase;
  letter-spacing: .04em; color: var(--dim); font-weight: 600; padding: 4px 6px;
  border-bottom: 1px solid var(--line); }
.fc-index td { vertical-align: top; padding: 8px 6px; border-bottom: 1px solid var(--line);
  font-size: var(--fs-sm); }
.fc-index td.num, .fc-index th.num { text-align: right; white-space: nowrap; }
.fc-index .fc-subj { display: block; }
.fc-index ul { list-style: none; margin: 0; padding: 0; }
.fc-index .fc-none { color: var(--dim); }
.fc-spread { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--sp-3);
  font-size: var(--fs-sm); }
@media (max-width: 760px) {
  .fc-index thead { display: none; }
  .fc-index tr { display: block; border-bottom: 1px solid var(--line); padding: 6px 0; }
  .fc-index td { display: block; border: 0; padding: 2px 0; }
  .fc-index td.num { text-align: left; }
  .fc-index td[data-h]::before { content: attr(data-h) ": "; color: var(--dim);
    font-size: var(--fs-xs); text-transform: uppercase; }
}
.fc-h2 { font-size: var(--fs-lg); margin: var(--sp-4) 0 var(--sp-2); }

#b-6:checked ~ .b-card-6 { display: block; }
#b-6:checked ~ .lens-bar .lens-b-6 { border-color: var(--ice); color: var(--ice); }
.b-face-open { color: var(--ice); cursor: pointer; }
.b-face-lead { font-size: var(--fs-md); margin: var(--sp-2) 0; }
.b-face-lead .fig-lg > summary { font: 700 var(--fs-xl) var(--mono); }
.b-face-members { list-style: none; margin: 0 0 var(--sp-2); padding: 0; }
.b-face-members > li { padding: 6px 0; border-top: 1px solid var(--line); }
table.fc-race-table.ca-table th { text-transform: none; letter-spacing: 0; font: 600 var(--fs-sm)/1.3 var(--sans);
  white-space: normal; vertical-align: bottom; min-width: 96px; }
.fc-race-table th:first-child, .fc-race-table td:first-child { min-width: 180px; }
.fc-col h3 { text-transform: none; letter-spacing: 0; font: 700 var(--fs-lg)/1.25 var(--sans); }
.fc-col h3 .kv { font-weight: 400; font-size: var(--fs-sm); }
.fc-total { margin: var(--sp-3) 0; }
.fc-total details.prov, .b-face-lead details.prov { display: inline-block; }
.fc-note { display: block; font-size: var(--fs-xs); color: var(--dim); }
.fc-unfaced li > span:first-child { color: var(--text); }
.fc-index ul li { display: flex; gap: 4px; align-items: baseline; }

.fc-in-3:checked ~ .fc-body-3 { display: block; }
.fc-in-3:checked ~ .fc-bar .fc-tg-3 {
  color: var(--text); background: var(--panel); border-color: var(--pacm);
  box-shadow: inset 0 -2px 0 var(--panel); }
.fc-tier-funded { color: var(--pacm); border-color: var(--pacm); }
.fc-outside { padding: var(--sp-2) 0 var(--sp-3); }
.fc-outside + .fc-outside { border-top: 1px solid var(--line); }
.fc-outside > .fc-sub:first-child { margin-top: 0; font-size: var(--fs-sm); color: var(--text); }
.fc-giver > .kv { white-space: nowrap; font-size: var(--fs-xs); }
.c-funded { margin: var(--sp-3) 0; }
.c-funded > h4 .kv { font-weight: 400; }
.fc-chain td { vertical-align: top; font-size: var(--fs-sm); }
.fc-chain td.num, .fc-chain th.num { text-align: right; white-space: nowrap; }
.fc-chain td:first-child { min-width: 160px; }
.fc-h3 { font-size: var(--fs-md); margin: var(--sp-3) 0 var(--sp-1); }
.sup-outside { margin: var(--sp-3) 0 var(--sp-2); padding-top: var(--sp-2);
  border-top: 1px solid var(--line); }
.sup-outside-sides { display: grid; gap: var(--sp-3); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) {
  .sup-outside-sides { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
.sup-outside th:first-child { text-transform: none; letter-spacing: 0; white-space: normal; }
.om-funded { margin-top: 2px; }
@media (max-width: 600px) {
  .fc-giver { flex-wrap: wrap; }
  .fc-giver > .kv { white-space: normal; }
}
@media (max-width: 760px) {
  .fc-chain thead { display: none; }
  .fc-chain tr { display: block; border-bottom: 1px solid var(--line); padding: 6px 0; }
  .fc-chain td { display: block; border: 0; padding: 2px 0; }
  .fc-chain td.num { text-align: left; }
  .fc-chain td[data-h]:not(:first-child)::before { content: attr(data-h) ": "; color: var(--dim);
    font-size: var(--fs-xs); text-transform: uppercase; }
}
.fc-chain td { overflow-wrap: anywhere; }
.fc-chain .kv { font-size: inherit; }

.pr-tier-filed { color: var(--ok); border-color: var(--ok); }
.pr-tier-register { color: var(--ice); border-color: var(--ice); }
.pr-tier-inferred { color: var(--pacm); border-color: var(--pacm); }
.pr-tier-reviewed { color: var(--text); border-color: var(--text); }
.pr-table td .fc-tier { margin-right: 4px; }
.pr-table td:nth-child(2) { min-width: 120px; }
.pr-table td.num details.prov { display: inline-block; }
.pr-formula, .pr-chain, .pr-foot { color: var(--dim); }
.pr-formula b, .pr-chain b { color: var(--text); font-weight: 600; }
.om-principals { margin-top: 2px; }
.pr-positions td:first-child { min-width: 180px; }

#c-recv:checked ~ #c-ind:checked ~ .c-card-ind { display: block; }
#c-ind:checked ~ .c-card-recv .c-ind-btn { border-color: var(--ice); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--ice); }
#c-ind:focus-visible ~ .c-card-recv .c-ind-btn { outline: 2px solid var(--ice); outline-offset: 2px; }
.c-lenses .c-card .pane-scroll { max-height: 380px; overflow-y: auto; }
.c-foot { margin-top: var(--sp-4); }
.c-foot .prov-line, .c-foot .provenance { margin: var(--sp-2) 0; }


.card .glance-card > h3.glance-title { margin: 0 0 var(--sp-2); text-align: center; font-size: var(--fs-lg); font-weight: 700;
  color: var(--text); text-transform: none; letter-spacing: 0; }

.graph-how .graph-key { margin: var(--sp-1) 0 0; padding-left: 1.2em; }
.graph-how .graph-key li { margin: 2px 0; }

.periods .keylbl { font: 14px var(--mono); fill: var(--text); }
.periods .axl { font: 600 14px var(--mono); fill: var(--text); }

.glance-ledgers .lbl { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; }

.lenses > .q-sup-card { display: none; }
.lenses > .k-card-support.q-sup-card, .lenses > .k-card-donorbase.q-sup-card { margin-top: var(--sp-3); }

.k-card-support .src-body.src-only { display: block; }


.lv-pane-state > .lv-leg-in, .lv-leg-box > .lv-leg-in { position: absolute; opacity: 0; pointer-events: none; }
.lv-leg-box { display: none; margin-top: var(--sp-3); }
#lv-leg:checked ~ .lv-leg-box { display: block; }
#lv-leg:checked ~ .loc-allraces .lv-leg-btn { border-color: var(--ice); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--ice); }
#lv-leg:focus-visible ~ .loc-allraces .lv-leg-btn { outline: 2px solid var(--ice); outline-offset: 2px; }
.lv-leg-tabs { margin: 0 0 var(--sp-3); }
#lv-leg-u:checked ~ .lv-leg-tabs [for="lv-leg-u"],
#lv-leg-l:checked ~ .lv-leg-tabs [for="lv-leg-l"] { border-color: var(--ice); background: var(--panel2);
  box-shadow: inset 0 0 0 1px var(--ice); }

#lv-leg-u:checked ~ .lv-leg-tabs [for="lv-leg-u"][data-hue="blue"],
#lv-leg-l:checked ~ .lv-leg-tabs [for="lv-leg-l"][data-hue="blue"] { border-color: var(--hue-blue-deep);
  background: var(--hue-blue-tint); box-shadow: inset 0 0 0 1px var(--hue-blue-deep); color: var(--hue-blue-deep); }
#lv-leg-u:checked ~ .lv-leg-tabs [for="lv-leg-u"][data-hue="red"],
#lv-leg-l:checked ~ .lv-leg-tabs [for="lv-leg-l"][data-hue="red"] { border-color: var(--hue-red-deep);
  background: var(--hue-red-tint); box-shadow: inset 0 0 0 1px var(--hue-red-deep); color: var(--hue-red-deep); }
#lv-leg-u:checked ~ .lv-leg-tabs [for="lv-leg-u"][data-hue="gold"],
#lv-leg-l:checked ~ .lv-leg-tabs [for="lv-leg-l"][data-hue="gold"] { border-color: var(--hue-gold-deep);
  background: var(--hue-gold-tint); box-shadow: inset 0 0 0 1px var(--hue-gold-deep); color: var(--hue-gold-deep); }
#lv-leg-u:checked ~ .lv-leg-tabs [for="lv-leg-u"][data-hue="green"],
#lv-leg-l:checked ~ .lv-leg-tabs [for="lv-leg-l"][data-hue="green"] { border-color: var(--hue-green-deep);
  background: var(--hue-green-tint); box-shadow: inset 0 0 0 1px var(--hue-green-deep); color: var(--hue-green-deep); }
#lv-leg-u:checked ~ .lv-leg-tabs [for="lv-leg-u"][data-hue="neutral"],
#lv-leg-l:checked ~ .lv-leg-tabs [for="lv-leg-l"][data-hue="neutral"] { border-color: var(--hue-neutral-deep);
  box-shadow: inset 0 0 0 1px var(--hue-neutral-deep); }
.lv-leg-list { display: block; }
.lv-leg-pane { display: none; }
#lv-leg-u:checked ~ .lv-leg-list .lv-leg-pane-u,
#lv-leg-l:checked ~ .lv-leg-list .lv-leg-pane-l { display: block; }
.lv-leg-box .pane-scroll { max-height: 380px; overflow-y: auto; }
.lv-leg-box .pane-scroll table { width: 100%; font-size: var(--fs-base); }
.lv-leg-box .pane-scroll td { white-space: normal; padding: 3px var(--sp-3) 3px var(--sp-2); }
.lv-leg-box .pane-scroll td:first-child { min-width: 0; width: 1%; white-space: nowrap; }
.lv-leg-foot { text-align: center; margin: var(--sp-3) 0 0; }
.lv-leg-box .loc-about { margin-top: var(--sp-2); }

@media (max-width: 640px) {
  .lv-leg-box .pane-scroll tr { display: block; padding: 4px 0; border-bottom: 1px solid var(--line); }
  .lv-leg-box .pane-scroll td, .lv-leg-box .pane-scroll td:first-child { display: block; width: auto;
    white-space: normal; padding: 1px var(--sp-2); border: 0; }
}


.periods .div.band { stroke: var(--line); stroke-width: 1; marker-end: none; }


.sr-glance .glance-big .stat[data-fact="raised"] > .fill { background: var(--hue-green-deep); }

.glance-card.sr-glance { min-height: 0; }


.glance-ledgers.sr-ledgers { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 600px) { .glance-ledgers.sr-ledgers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.mg-map { display: block; width: 100%; max-width: 520px; height: auto; margin: var(--sp-2) auto; }
.mg-map .mg-county { fill: var(--hue-green-deep); stroke: var(--panel); stroke-width: .6; }
.mg-map .mg-seat { fill: none; stroke: var(--text); stroke-width: 1.4; }
.sr-door .fc-track { display: inline-block; width: 120px; height: 6px; background: var(--panel2); vertical-align: middle; margin-left: var(--sp-2); }
.sr-door .fc-fill { display: block; height: 100%; background: var(--hue-green-deep); }


.fc-chart { margin: var(--sp-3) 0 var(--sp-4); }
.gb-chart { display: block; width: 100%; height: auto; }
.gb-chart .gb-grid { stroke: var(--line); stroke-width: 1; }
.gb-chart .gb-base { stroke: var(--text); stroke-width: 1.2; }
.gb-chart .gb-tick, .gb-chart .gb-leg { font: 12px var(--mono); fill: var(--dim); }
.gb-chart .gb-axl { font: 600 12px var(--mono); fill: var(--text); }
.gb-chart .gb-cat { font: 12px var(--sans); fill: var(--text); }
.gb-chart .gb-bar { fill: var(--hue-neutral-deep); }
.gb-chart .gb-bar[data-hue="blue"] { fill: var(--hue-blue-deep); }
.gb-chart .gb-bar[data-hue="red"] { fill: var(--hue-red-deep); }
.gb-chart .gb-bar[data-hue="gold"] { fill: var(--hue-gold-deep); }
.gb-chart .gb-bar[data-hue="green"] { fill: var(--hue-green-deep); }
.fc-faced { position: relative; height: 22px; margin: var(--sp-2) 0 var(--sp-3); border: 1px solid var(--line);
            border-radius: var(--r-sm); background: var(--panel2); overflow: hidden; }
.fc-faced-fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--hue-neutral-deep); opacity: .35; }
.fc-faced-fill[data-hue="blue"] { background: var(--hue-blue-deep); }
.fc-faced-fill[data-hue="red"] { background: var(--hue-red-deep); }
.fc-faced-fill[data-hue="gold"] { background: var(--hue-gold-deep); }
.fc-faced-fill[data-hue="green"] { background: var(--hue-green-deep); }
.fc-faced-lbl { position: relative; display: block; padding: 2px var(--sp-2); font-size: var(--fs-sm); color: var(--text); }
.fc-blur { display: flex; height: 14px; margin: 2px 0 4px; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; background: var(--panel2); }
.fc-blur-seg { display: block; height: 100%; }
.fc-blur-key > summary { cursor: pointer; }
.fc-blur-key ul { list-style: none; margin: 4px 0 0; padding: 0; font-size: var(--fs-sm); }
.fc-blur-key li { display: flex; align-items: center; gap: var(--sp-2); padding: 2px 0; }
.fc-blur-key li > span:first-of-type { flex: 1 1 auto; }
.fc-blur-sw { display: inline-block; width: 12px; height: 12px; border-radius: 2px; flex: 0 0 auto; }

:root { --blur-1: #6b7a8c; --blur-2: #a68a3c; --blur-3: #7a6b9c; --blur-4: #c07a3c; --blur-5: #3c8ca6;
        --blur-6: #8c6b6b; --blur-7: #5c8c5c; --blur-8: #9c9c3c; --blur-9: #333; --blur-10: #b0b0b0;
        --blur-11: #6b8ca6; --blur-12: #8c7a5c; }
.r-unfaced_quiet { background: var(--blur-1); }
.r-unfaced_industry { background: var(--blur-2); }
.r-unfaced_sector { background: var(--blur-3); }
.r-unfaced_nominated { background: var(--blur-4); }
.r-unfaced_status { background: var(--blur-5); }
.r-unfaced_uncoded { background: var(--blur-6); }
.r-unfaced_sponsor { background: var(--blur-7); }
.r-unfaced_no_sponsor { background: var(--blur-8); }
.r-unfaced_dark { background: var(--blur-9); }
.r-unknown { background: var(--blur-10); }
.r-unfaced_person { background: var(--blur-11); }
.r-unfaced_established { background: var(--blur-12); }


.fc-more-info { margin-top: var(--sp-3); }
.fc-scroller { display: flex; align-items: center; gap: var(--sp-2); margin: var(--sp-2) 0; }
.fc-scroll-box { flex: 1 1 auto; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; }
.fc-scroll-box .gb-chart.gb-fixed { display: block; max-width: none; }
.fc-scroll-btn { flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%;
                 background: var(--panel); color: var(--text); font-size: var(--fs-md); cursor: pointer; }
.fc-scroll-btn:hover { border-color: var(--ice); }


.fc-h2.fc-center { text-align: center; }

.fc-areas { margin-top: var(--sp-3); }   
.fc-areas .fc-h2.fc-center { margin-top: 0; }
.gb-chart .gb-name { font: 600 13px var(--sans); fill: var(--hue-neutral-deep); }
.gb-chart .gb-name[data-hue="blue"] { fill: var(--hue-blue-deep); }
.gb-chart .gb-name[data-hue="red"] { fill: var(--hue-red-deep); }
.gb-chart .gb-name[data-hue="gold"] { fill: var(--hue-gold-deep); }
.gb-chart .gb-name[data-hue="green"] { fill: var(--hue-green-deep); }
.gb-chart a.gb-link:hover .gb-name { text-decoration: underline; }
.fc-more-info > summary { text-align: center; }
.fp { display: grid; grid-template-columns: minmax(220px, 340px) 1fr; gap: var(--sp-3) var(--sp-5); align-items: start; margin: var(--sp-3) 0; }
.fp .fp-in { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.fp-chart { grid-column: 1; }
.fp-pie { display: block; width: 100%; height: auto; }
.fp-pie .fp-w { stroke: var(--panel); stroke-width: 1; transform-box: view-box; transform-origin: 50% 50%; transition: transform .15s ease; }
.fp-list { grid-column: 2; list-style: none; margin: 0; padding: 0; columns: 2; column-gap: var(--sp-4); font-size: var(--fs-sm); }
.fp-list li { break-inside: avoid; }
.fp-list label { display: flex; align-items: center; gap: 6px; padding: 2px 6px; border: 1px solid transparent; border-radius: var(--r-sm); cursor: pointer; }
.fp-list label:hover { background: var(--panel2); }
.fp-list label > span:first-of-type { flex: 1 1 auto; }
.fp-amt { font: var(--fs-xs) var(--mono); color: var(--dim); white-space: nowrap; }
.fp-sw { display: inline-block; width: 11px; height: 11px; border-radius: 2px; flex: 0 0 auto; }
.fp-infos { grid-column: 1 / -1; }

.fp-info { display: none; padding: var(--sp-2) var(--sp-3); margin: 8px 8px 10px 0; border: 2px solid var(--slice, var(--dim));
           border-radius: var(--r-sm); background: var(--panel);
           box-shadow: 0 0 0 6px color-mix(in srgb, var(--slice, var(--dim)) 28%, transparent); }
.fp-info .fc-sub { margin-top: 0; }
@media (max-width: 700px) { .fp { grid-template-columns: 1fr; } .fp-chart, .fp-list { grid-column: 1; } .fp-list { columns: 1; } }


.race-faces > .fcs-in { position: absolute; opacity: 0; pointer-events: none; }
.race-faces > .fc-support { display: none; margin-top: var(--sp-3); }
.fc-support-h { margin: 0 0 var(--sp-2); font: 700 var(--fs-lg)/1.25 var(--sans); text-transform: none; letter-spacing: 0; }
.fc-col .k-support-open { margin-top: var(--sp-3); }


.fcp { display: grid; grid-template-columns: 150px 1fr; gap: var(--sp-2) var(--sp-3); align-items: start; margin: var(--sp-2) 0; }
.fcp .fcp-in { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.fcp-chart { grid-column: 1; }
.fcp-pie { display: block; width: 100%; height: auto; }
.fcp-pie .fcp-w { stroke: var(--panel); stroke-width: 1; transform-box: view-box; transform-origin: 50% 50%; transition: transform .15s ease; }
.fcp-list { grid-column: 2; list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); max-height: 170px; overflow-y: auto; }
.fcp-list label { display: flex; align-items: center; gap: 6px; padding: 1px 6px; border: 1px solid transparent; border-radius: var(--r-sm); cursor: pointer; }
.fcp-list label:hover { background: var(--panel2); }
.fcp-list label > span:first-of-type { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fcp-infos { grid-column: 1 / -1; }
.fcp-infos .fc-givers { margin: 2px 0 0; }


.fp-chart, .fcp-chart { position: relative; }
.pie-clear { position: absolute; left: 50%; top: 50%; width: 40%; height: 40%; transform: translate(-50%, -50%);
             border-radius: 50%; cursor: pointer; }


.periods .bar[data-provisional] .edge,
.periods .row .bar[data-provisional] .edge { stroke: var(--text); stroke-width: 1; stroke-dasharray: 3 2; }
.periods .bar[data-provisional] .pl { font-style: italic; }


.k-bio details.k-records { margin-top: var(--sp-2); font-size: var(--fs-base); }
.k-bio details.k-records > summary { cursor: pointer; }
.k-bio details.k-records > ul { font: var(--fs-sm)/1.4 var(--sans); }
.k-bio details.k-records > ul li { padding: 3px 0; }
.k-records .k-rec-reg { font: var(--fs-xs) var(--mono); letter-spacing: .06em; text-transform: uppercase;
  color: var(--dim); }
.k-records .k-rec-why { color: var(--dim); }
.k-records .kv { font-size: var(--fs-xs); }
.k-records .k-rec-how { color: var(--dim); border-top: 1px solid var(--line); margin-top: 3px; padding-top: 5px; }

.hub-list { display: flex; flex-direction: column; margin: var(--sp-2) 0; }
.hub-list .hub-item { display: grid; gap: var(--sp-1) var(--sp-4); padding: var(--sp-2) 0;
                      border-top: 1px solid var(--line); align-items: start; }
.hub-list .hub-thead { border-top: 0; padding-bottom: 2px; }
.hub-list .hub-thead .lbl { font: var(--fs-xs) var(--mono); letter-spacing: .06em;
                            text-transform: uppercase; color: var(--dim); }
.hub-list .badge { white-space: normal; }
.hub-list .badge a { color: inherit; }
.k-card-fund .k-regpick { margin-right: var(--sp-1); max-width: 100%; }
.k-card-fund .k-regpick > summary { white-space: normal; }

.people-list .hub-item { grid-template-columns: minmax(0, 1.3fr) minmax(0, 2.3fr) minmax(0, 1.9fr); }
.people-list .people-who { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.people-list .people-name { font-weight: 600; }
.people-list .people-who .badge { margin-left: 0; }
.people-list .people-meta { font-size: var(--fs-sm); }
.people-list .people-line { line-height: var(--lh-snug); }
.people-list .people-records { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-sm); }
.people-list .people-records .badge { align-self: flex-start; margin: 2px 0 0; }
.people-more > summary { cursor: pointer; }
.people-more .hub-list { margin-top: 0; }
@media (max-width: 900px) {
  .people-list .hub-thead { display: none; }
  .people-list .hub-item { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .people-list .people-records { margin-top: 2px; }
}


.k-ring svg.pie circle.w, .k-ring svg.pie circle.ring2,
.period-grid .period-left svg.pie circle.w, .period-grid .period-left svg.pie circle.ring2,
.period-grid .pie-key li, .period-grid .ring-h .pie-sw.o,
.pane .pane-pie svg.pie circle.w-given, .pane .pane-pie svg.pie circle.w-spent,
.pane .pane-pie .pie-key li { cursor: pointer; }
.period-grid .pie-key li:hover .lbl, .pane .pane-pie .pie-key li:hover .lbl { text-decoration: underline; }


.pf-key { padding-left: var(--sp-4); margin-bottom: var(--sp-2); }
.pf-key li { display: flex; align-items: center; gap: 6px; margin-bottom: 2px; }
.pf-key .pf-sw { display: inline-flex; gap: 2px; min-width: 22px; }
.pf-key .pie-sw.o.arc[data-hue="blue"] { background: repeating-linear-gradient(45deg, var(--hue-blue-deep) 0 2px, transparent 2px 5px); }
.pf-key .pie-sw.o.arc[data-hue="red"]  { background: repeating-linear-gradient(45deg, var(--hue-red-deep) 0 2px, transparent 2px 5px); }


.detail-card > .pane-search ~ .period-grid .period-right .tab-bar { margin-top: 12px; }
@media (max-width: 720px) {
  .detail-card > .pane-search ~ .period-grid .period-right .tab-bar { margin-top: 0; }
}
