/* Victoria Votes 2026 — Find and Seek theme
   Tokens + chrome aligned with findandseek.app (Satoshi, Roboto Mono, neon green). */

@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;600;700&display=swap");

@font-face {
  font-family: "Satoshi";
  src: url("https://cdn.prod.website-files.com/69b3dcd6dbb0a39643fb1ff8/69b3e2c0d89a8f900cb50290_Satoshi-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Satoshi";
  src: url("https://cdn.prod.website-files.com/69b3dcd6dbb0a39643fb1ff8/69b3e2c03380bc936589661b_Satoshi-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Satoshi";
  src: url("https://cdn.prod.website-files.com/69b3dcd6dbb0a39643fb1ff8/69b3e2c03ef97360f03e8556_Satoshi-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

:root{
  --green:#98fe00; --green-dark:#233802; --green-soft:#98fe000c;
  --ground:#ffffff; --desk:#f3f3f3; --panel:#ffffff; --bar:#f3f3f3;
  --ink:#131313; --ink-2:#3a3a3a; --muted:#797979; --rule:#e5e5e5; --rule-2:#eeeeee;
  --la:#1E6B45; --lc:#9B2B2B; --la-tint:#e8f3ec; --lc-tint:#f7e8e6;
  --focus:#98fe00; --flag:#8A6A12;
  --serif:"Satoshi", Arial, sans-serif;
  --sans:"Satoshi", Arial, sans-serif;
  --mono:"Roboto Mono", ui-monospace, monospace;
  --ease:cubic-bezier(0.32, 0.72, 0, 1);
  --track-tight:-0.04em;
  --max:77.5rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--desk); color:var(--ink);
  font:400 15px/1.55 var(--sans); letter-spacing:-0.01em;
  margin:0; padding:0; min-height:100svh;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--green); color:var(--ink)}
.wrap{
  max-width:min(100%, 68rem); margin:0 auto;
  background:var(--ground);
  padding-inline:clamp(1.25rem, 4vw, 2.5rem);
  padding-block:0 0;
  min-height:100svh;
  display:flex; flex-direction:column;
}
a{color:inherit; text-decoration-color:var(--muted); text-underline-offset:3px}
a:hover{text-decoration-color:var(--ink)}
button, input, select, textarea{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--ink); outline-offset:2px}
.mono{font-family:var(--mono); font-variant-numeric:tabular-nums}

/* ——— Find and Seek topbar ——— */
.sitenav{
  position:sticky; top:0; z-index:40;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:0.75rem 1.5rem;
  margin-inline:calc(-1 * clamp(1.25rem, 4vw, 2.5rem));
  padding:0 clamp(1.25rem, 4vw, 2.5rem);
  min-height:4.25rem;
  background:var(--ink); color:#fff;
  border-bottom:1px solid transparent;
}
.sitenav .brand{
  font:700 1.05rem/1.2 var(--sans); letter-spacing:var(--track-tight);
  text-decoration:none; text-transform:none; color:#fff;
  display:inline-flex; align-items:baseline; gap:0.55rem; flex-wrap:wrap;
}
.sitenav .brand .fs{display:inline-flex; align-items:baseline; gap:0}
.sitenav .brand .fs em{font-style:normal; color:var(--green)}
.sitenav .brand .product{
  font:500 0.6875rem/1 var(--mono); letter-spacing:0.04em;
  text-transform:lowercase; color:#b4b4b4; margin-left:0;
  padding-left:0.65rem; border-left:1px solid rgba(255,255,255,0.18);
}
.navlinks{display:flex; flex-wrap:wrap; gap:0.35rem 1.35rem; align-items:center; margin-left:auto}
.navlinks a{
  font-family:var(--mono); font-size:0.8125rem; font-weight:400;
  text-transform:lowercase; text-decoration:none; color:#b4b4b4;
  border-bottom:none; padding-bottom:0; transition:color 0.2s var(--ease);
}
.navlinks a:hover{color:var(--green)}
.navlinks a[aria-current="page"]{color:var(--green); font-weight:500; border-bottom:none}

.sitefoot{
  margin-top:auto; margin-inline:calc(-1 * clamp(1.25rem, 4vw, 2.5rem));
  padding:1.75rem clamp(1.25rem, 4vw, 2.5rem) 2.5rem;
  background:var(--ink); color:#b4b4b4;
  border-top:none; font-size:0.8125rem; display:grid; gap:0.65rem;
}
.sitefoot b{color:#fff; font-weight:700}
.sitefoot a{color:var(--green); text-decoration:none}
.sitefoot a:hover{text-decoration:underline}

/* masthead / rankings */
header.mast{padding-block:2.5rem 1.75rem; border-bottom:1px solid var(--rule); display:grid; gap:1rem}
.eyebrow{font:500 0.75rem/1 var(--mono); letter-spacing:0.04em; text-transform:lowercase; color:var(--muted); display:flex; flex-wrap:wrap; gap:0.4rem 0.9rem}
.eyebrow::before{content:"/"; color:var(--green); font-weight:600}
h1{font:700 clamp(2rem,4.5vw,3.25rem)/1.05 var(--sans); letter-spacing:var(--track-tight); margin:0; text-wrap:balance; max-width:18ch}
.stand{font:400 1.0625rem/1.55 var(--sans); color:var(--ink-2); max-width:62ch; margin:0}
.facts{display:flex; flex-wrap:wrap; gap:0.5rem 1.75rem; font:400 0.8125rem/1.4 var(--mono); color:var(--muted)}
.facts b{color:var(--ink); font-weight:500}

.caveats{margin-block:1.75rem 0.5rem; display:grid; grid-template-columns:minmax(0,190px) 1fr; gap:1rem 2rem; padding-block:1.1rem; border-block:1px solid var(--rule)}
.caveats h2{font:700 1.25rem/1.2 var(--sans); letter-spacing:var(--track-tight); margin:0}
.caveats ul{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.75rem 1.75rem}
.caveats li{font-size:0.9rem; color:var(--ink-2); max-width:52ch}
.caveats li b{color:var(--ink); font-weight:600}

.controls{position:sticky; top:4.25rem; z-index:5; background:var(--ground); display:flex; flex-wrap:wrap; align-items:center; gap:0.65rem 1.35rem; padding-block:0.9rem; border-bottom:1px solid var(--rule-2)}
.seg{display:inline-flex; border:1px solid var(--rule); overflow:hidden}
.seg button{background:transparent; border:0; padding:0.4rem 0.75rem; font-size:0.8125rem; cursor:pointer; color:var(--ink-2); font-family:var(--mono)}
.seg button + button{border-left:1px solid var(--rule)}
.seg button[aria-pressed="true"]{background:var(--ink); color:#fff}
.ctl-label{font:500 0.6875rem/1 var(--mono); letter-spacing:0.04em; text-transform:lowercase; color:var(--muted)}
.legend{display:flex; gap:1rem; font-size:0.8125rem; color:var(--ink-2); margin-left:auto}
.key{display:inline-flex; align-items:center; gap:0.4rem}
.sw{width:0.75rem; height:0.75rem; display:inline-block}
.sw.la{background:var(--la)} .sw.lc{background:var(--lc)}

/* sections */
section.block{padding-block:36px 8px}
.block-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:6px}
h2.sec{font:700 28px/1.15 var(--serif);margin:0;text-wrap:balance}
.part{font:500 12px/1 var(--mono);color:var(--muted);letter-spacing:.04em}
.dek{color:var(--ink-2);max-width:68ch;margin:6px 0 18px}
.context{font:400 13px/1.5 var(--mono);color:var(--muted);margin:0 0 14px}
.context b{color:var(--ink);font-weight:500}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px}
.grid3 h3{font:700 20px/1.2 var(--serif);margin:0 0 2px}
.grid3 .dek{font-size:14px;margin-bottom:12px}

/* ranked bars */
.rank{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.row{display:grid;grid-template-columns:28px minmax(0,1fr) 84px;align-items:center;gap:0 10px;padding:6px 4px;border-radius:4px}
.row:hover{background:var(--rule-2)}
.pos{font:400 12px/1 var(--mono);color:var(--muted);text-align:right}
.who{min-width:0}
.who button{background:none;border:0;padding:0;text-align:left;cursor:pointer;font-weight:600;font-size:14px;line-height:1.3}
.who button:hover{text-decoration:underline;text-underline-offset:3px}
.sub{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{font:500 10px/1 var(--mono);letter-spacing:.06em;padding:3px 5px;border-radius:3px;color:#fff;flex:none}
.chip.la{background:var(--la)} .chip.lc{background:var(--lc)}
.track{grid-column:2 / 3;height:10px;margin-top:5px;position:relative}
.bar{position:absolute;left:0;top:0;bottom:0;border-radius:0 4px 4px 0;display:flex;gap:2px;overflow:hidden}
.bar i{display:block;height:100%}
.bar i:last-child{border-radius:0 4px 4px 0}
.val{font:500 15px/1 var(--mono);text-align:right;align-self:start;padding-top:2px}
.val small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px;white-space:nowrap}
.axis{display:grid;grid-template-columns:28px minmax(0,1fr) 84px;gap:0 10px;padding:4px 4px 0}
.axis .ticks{position:relative;height:16px;border-top:1px solid var(--rule)}
.axis .ticks span{position:absolute;top:3px;transform:translateX(-50%);font:400 11px/1 var(--mono);color:var(--muted)}
.axis .ticks span:first-child{transform:none}
.note{font-size:13px;color:var(--muted);margin:10px 0 0;max-width:70ch}

/* gifts */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}
.grid2 h3,.trips h3{font:700 20px/1.2 var(--serif);margin:0 0 2px}
.dtype{font:400 11px/1.3 var(--mono);color:var(--muted);letter-spacing:.02em}
.trips{margin-top:40px}
.trips table{min-width:720px}
.trips td{font-size:13.5px}
.trips td:first-child,#portfolio-body td:first-child{min-width:180px}

/* party + lists */
select.party{padding:6px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px}
.plabel{font:500 11px/1.3 var(--mono);color:var(--muted)}
.cmp td,.cmp th{white-space:nowrap}
.cmp td.donors{white-space:normal;min-width:220px;font-size:13px}
.oi-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.oi-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--rule-2)}
.oi-list .who2{font-weight:600;font-size:14px}
.oi-list .txt{font-size:14px;color:var(--ink-2);margin-top:2px}
.roles{font-size:13px;color:var(--ink-2)}
.roles div + div{margin-top:2px}
.reflist{font-size:13px;color:var(--ink-2)}
.refnote{font-size:13px;color:var(--muted);max-width:74ch;margin:0 0 14px;padding-left:12px;border-left:3px solid var(--rule)}

/* explorer */
.explorer-bar{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin:4px 0 12px}
.search{flex:1 1 260px;max-width:360px;padding:9px 12px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit}
.count{font:400 13px/1 var(--mono);color:var(--muted)}
.tablewrap{overflow-x:auto;border-top:1px solid var(--rule)}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--rule-2);vertical-align:top}
th{font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
th.num,td.num{text-align:right}
th button{background:none;border:0;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
th button[aria-sort="descending"]{color:var(--ink)}
th button[aria-sort="descending"]::after{content:" ↓"}
td.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
td.zero{color:var(--muted)}
tr.member{cursor:pointer}
tr.member:hover td{background:var(--rule-2)}
tr.member td:first-child button{background:none;border:0;padding:0;font-weight:600;cursor:pointer;text-align:left}
tr.detail td{background:var(--panel);padding:18px 18px 22px}
.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 36px}
.dgrid h4{font:700 16px/1.2 var(--serif);margin:0 0 8px;display:flex;justify-content:space-between;gap:10px}
.dgrid h4 span{font:400 11px/1.6 var(--mono);color:var(--muted)}
.items{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.items li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;font-size:13.5px;line-height:1.4;border-bottom:1px dotted var(--rule);padding-bottom:5px}
.items .tag{font:400 11px/1.4 var(--mono);color:var(--muted)}
.items a{font:400 11px/1.4 var(--mono);white-space:nowrap}
.none{font-size:13px;color:var(--muted)}
.flagtxt{color:var(--flag);font-size:12px}
.srcline{font-size:13px;color:var(--muted);margin-top:14px}

/* tooltip */
.tip{position:fixed;pointer-events:none;z-index:20;background:var(--ink);color:var(--ground);font:400 12px/1.45 var(--sans);padding:8px 10px;border-radius:6px;max-width:260px;opacity:0;transition:opacity .1s}
.tip b{font-weight:600}

footer{margin-top:48px;padding-top:22px;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px;font-size:13.5px;color:var(--ink-2)}
footer h2{font:700 18px/1.2 var(--serif);margin:0 0 6px;color:var(--ink)}
footer p{margin:0 0 8px;max-width:62ch}

@media (max-width:900px){
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .oi-list{grid-template-columns:1fr}
  .caveats{grid-template-columns:1fr}
  .caveats ul{grid-template-columns:1fr}
  .dgrid{grid-template-columns:1fr}
  footer{grid-template-columns:1fr}
  .legend{margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* collapsed sections: the secondary tables stay on the page, one click away */
details.block > summary, details.trips > summary, details.pagefoot > summary{cursor:pointer;list-style:none;display:block}
details.block > summary::-webkit-details-marker, details.trips > summary::-webkit-details-marker, details.pagefoot > summary::-webkit-details-marker{display:none}
details.block > summary::after, details.trips > summary::after, details.pagefoot > summary::after{
  content:"+ show";font:700 12px/1 var(--sans);letter-spacing:.02em;color:var(--muted);
  border:1px solid var(--rule);padding:5px 9px;margin-left:10px;white-space:nowrap;vertical-align:middle}
details[open] > summary::after{content:"– hide"}
details.block > summary h2, details.block > summary h3, details.trips > summary h3{display:inline;margin:0}
details.trips > summary{margin:14px 0 0}
details.pagefoot{margin-top:44px;border-top:1px solid var(--rule);padding-top:14px}
details.pagefoot > summary{font:700 14px/1.3 var(--sans);color:var(--ink-2)}
details.pagefoot footer{margin-top:18px}

/* site chrome */
.sitenav{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;padding-block:14px;border-bottom:1px solid var(--rule)}
.sitenav .brand{font:700 17px/1.2 var(--serif);text-decoration:none}
.sitenav .brand span{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:6px}
.navlinks{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;margin-left:auto}
.navlinks a{text-decoration:none;color:var(--ink-2);border-bottom:2px solid transparent;padding-bottom:2px}
.navlinks a:hover{color:var(--ink)}
.navlinks a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--la);font-weight:600}
.sitefoot{margin-top:56px;padding-block:22px 40px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--muted);display:grid;gap:8px}
.sitefoot b{color:var(--ink)}
.prose{max-width:70ch;padding-block:28px 0}
.prose h1{font:700 clamp(28px,4vw,42px)/1.1 var(--serif);margin:0 0 10px;text-wrap:balance}
.prose h2{font:700 22px/1.2 var(--serif);margin:32px 0 8px}
.prose h3{font:700 17px/1.2 var(--serif);margin:22px 0 6px}
.prose p,.prose li{color:var(--ink-2);font-size:15.5px}
.prose ul{padding-left:20px;display:grid;gap:6px}
.prose table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}
.prose th,.prose td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--rule-2)}
.prose th{font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.callout{border-left:3px solid var(--la);padding:10px 0 10px 14px;margin:16px 0;color:var(--ink-2);font-size:14.5px}
.dl{list-style:none;padding:0;display:grid;gap:10px;margin:16px 0}
.dl li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline;border-bottom:1px solid var(--rule-2);padding-bottom:10px}
.dl .name{font-weight:600}
.dl .desc{font-size:13.5px;color:var(--muted)}
.dl a{font:500 13px/1 var(--mono);white-space:nowrap}
pre.code{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:12px 14px;overflow-x:auto;font:400 13px/1.6 var(--mono);color:var(--ink)}
.copybtn{font:500 12px/1 var(--mono);padding:7px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);cursor:pointer}
/* one-click MCP install buttons */
.mcplinks{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 10px}
.mcplinks .btn{font:700 13px/1 var(--sans);padding:9px 14px;border:1px solid var(--rule);background:var(--panel);color:var(--ink);text-decoration:none}
.mcplinks .btn:hover{border-color:var(--ink)}
.mcpnotes{padding-left:20px;display:grid;gap:6px;color:var(--ink-2);font-size:14.5px}
.ask{list-style:none;padding:0;display:grid;gap:8px;margin:10px 0 0}
.ask li{border:1px solid var(--rule-2);border-radius:6px;padding:10px 12px;font-size:14px;color:var(--ink-2)}

/* ---------------------------------------------------------------------------
   Identity: the tabled document, not a dashboard about it.

   The returns are printed forms — a numbered part, its statutory citation, an
   instruction line, a grey header bar, ruled rows; one humanist sans, black on
   white, no ornament. The site borrows that: a white page on a desk-grey
   ground, hairline rules instead of cards, chamber green and red (Assembly and
   Council, as in the chambers themselves) as the only colour, and figures in
   tabular numerals. These overrides come after the explorer stylesheet, so they
   re-point the shared tokens for every page.
   --------------------------------------------------------------------------- */

.prose h1{font:900 clamp(26px,3.6vw,38px)/1.12 var(--sans);letter-spacing:-.02em;margin:0 0 10px}
.prose h2{font:700 19px/1.25 var(--sans);margin:30px 0 6px;padding-bottom:5px;border-bottom:1px solid var(--rule)}
.prose h3{font:700 15.5px/1.25 var(--sans);margin:20px 0 4px}
.prose table th{background:var(--bar);font:700 12px/1.3 var(--sans);letter-spacing:.01em;text-transform:none;color:var(--ink);padding:8px 10px}
.prose table td{padding:8px 10px}
.callout{border-left:0;border:1px solid var(--rule);background:var(--bar);padding:11px 14px;margin:16px 0}
.dl li{border-bottom:1px solid var(--rule-2)}
.dl a{font:700 12.5px/1 var(--sans);letter-spacing:.02em;border:1px solid var(--rule);padding:5px 9px;text-decoration:none}
.dl a:hover{border-color:var(--ink)}
pre.code{border-radius:0;background:var(--bar);font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-size:12.5px}
.copybtn{border-radius:0;font:700 12.5px/1 var(--sans);background:var(--ink);color:var(--ground);border:1px solid var(--ink)}
.ask li{border:0;border-bottom:1px solid var(--rule-2);border-radius:0;padding:8px 0}

/* The roll of members, set as the tabled return is set: ruled rows, a grey
   header bar, tabular figures, chamber colour for the house. Tokens come from
   the shared stylesheet. */

[hidden]{display:none!important}

.dirhead{padding-block:34px 22px;display:grid;gap:10px}
.dirhead h1{font:900 clamp(27px,4.2vw,44px)/1.06 var(--sans);letter-spacing:-.025em;margin:0;max-width:22ch}
.dirhead .lede{font:400 16.5px/1.6 var(--sans);color:var(--ink-2);max-width:66ch;margin:0}
.dirhead .lede b{font-weight:700;color:var(--ink)}

/* one row of controls, no box around them */
.finder{margin-bottom:14px;display:grid;gap:8px}
.searchrow{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.searchbox{flex:1 1 300px;display:flex;align-items:center;gap:8px;border:1px solid var(--rule);background:var(--panel);padding:0 10px}
.searchbox:focus-within{border-color:var(--ink)}
.searchbox svg{flex:none;width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:2}
.searchbox input{flex:1;border:0;background:transparent;color:var(--ink);font:400 14.5px/1 var(--sans);padding:10px 0;min-width:0}
.searchbox input:focus{outline:0}
.clearq{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:17px;line-height:1;padding:3px}
.houses{display:inline-flex;border:1px solid var(--rule)}
.houses button{background:transparent;border:0;padding:8px 13px;font:400 13.5px/1 var(--sans);cursor:pointer;color:var(--ink-2)}
.houses button + button{border-left:1px solid var(--rule)}
.houses button[aria-pressed="true"]{background:var(--ink);color:var(--ground);font-weight:700}
select#parties{width:auto;max-width:210px;text-overflow:ellipsis;border:1px solid var(--rule);background:var(--panel);color:var(--ink);font:400 13.5px/1 var(--sans);padding:0 30px 0 10px;min-height:38px;border-radius:0;cursor:pointer;
  appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 15px) 17px,calc(100% - 10px) 17px;background-size:5px 5px;background-repeat:no-repeat}
select#parties:focus{outline:2px solid var(--focus);outline-offset:1px}
.resultline{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;font:400 12.5px/1.5 var(--sans);color:var(--muted);margin:0}
.resultline b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.resultline button{border:0;background:transparent;color:var(--ink-2);text-decoration:underline;cursor:pointer;font:inherit;padding:0}

/* the four categories, as boxes */
.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cat{text-align:left;border:1px solid var(--rule);background:var(--panel);padding:9px 11px;cursor:pointer;display:grid;gap:1px}
.cat:hover{border-color:var(--muted)}
.cat .v{font:700 19px/1.1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.cat .k{font:700 11.5px/1.3 var(--sans);color:var(--ink-2)}
.cat .s{font:400 11.5px/1.3 var(--sans);color:var(--muted)}
.cat[aria-pressed="true"]{background:var(--ink);border-color:var(--ink)}
.cat[aria-pressed="true"] .v,.cat[aria-pressed="true"] .k{color:var(--ground)}
.cat[aria-pressed="true"] .s{color:var(--ground);opacity:.75}

/* member cards */
.cardgrid{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:1fr;gap:8px}
.cardgrid > li{display:grid}
.mcard{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:1fr auto;gap:11px;
  width:100%;height:100%;text-align:left;background:var(--panel);border:1px solid var(--rule);padding:11px 11px 0;cursor:pointer;color:inherit;font:inherit}
.mcard:hover{border-color:var(--muted)}
.mcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--pc,var(--muted))}
.avatar{width:54px;height:54px;flex:none;object-fit:cover;background:var(--bar);display:grid;place-items:center;
  font:700 16px/1 var(--sans);color:var(--muted);border:1px solid var(--rule-2)}
.mcard .who{min-width:0;display:grid;gap:1px;align-content:start}
.mcard .nm{font:700 15px/1.25 var(--sans);color:var(--ink)}
.mcard .rl{font:400 12px/1.35 var(--sans);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mcard .el{font:400 12px/1.35 var(--sans);color:var(--muted)}
.mcard .pty{font:700 11.5px/1.3 var(--sans);color:var(--ink-2)}
.mcard .pty em{font-style:normal;font-weight:400;color:var(--muted)}
.tally{grid-column:1/-1;align-self:end;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:10px;border-top:1px solid var(--rule-2);margin-inline:-11px;padding-inline:11px}
.tally span{padding:7px 0 8px;font:400 11.5px/1.3 var(--sans);color:var(--muted);text-align:center;border-left:1px solid var(--rule-2)}
.tally span:first-child{border-left:0;text-align:left}
.tally b{display:block;font:700 14px/1.2 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.tally span.zero b{color:var(--rule)}
.house-la::before{background:var(--la)}
.house-lc::before{background:var(--lc)}
.empty{padding:28px 2px;color:var(--muted)}
.rollfoot{font:400 12px/1.6 var(--sans);color:var(--muted);padding-block:14px 0;display:flex;flex-wrap:wrap;gap:2px 16px;max-width:82ch}
.rollfoot i{width:9px;height:9px;display:inline-block;font-style:normal;margin-right:5px;vertical-align:0}
.rollfoot .la i{background:var(--la)} .rollfoot .lc i{background:var(--lc)}

/* one member */
.detail{padding-block:14px 0}
.backrow{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-bottom:16px}
.back{border:1px solid var(--rule);background:var(--panel);padding:6px 11px;cursor:pointer;font:700 13px/1 var(--sans)}
.back:hover{border-color:var(--ink)}
.backrow .where{font:400 12.5px/1.4 var(--sans);color:var(--muted)}
.dhead{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:start;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.dhead .avatar{width:104px;height:104px;font-size:30px}
.dhead h2{font:900 clamp(23px,3.2vw,33px)/1.08 var(--sans);letter-spacing:-.02em;margin:0 0 5px}
.dhead .meta{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:13.5px;color:var(--ink-2)}
.dhead .meta .pty{font-weight:700}
.dhead .meta .pty i{width:9px;height:9px;background:var(--pc,var(--muted));font-style:normal;display:inline-block;margin-right:6px}
.dhead .rolelist{margin:9px 0 0;padding:0;list-style:none;display:grid;gap:2px}
.dhead .rolelist li{font-size:13px;color:var(--ink-2)}
.dhead .rolelist li::before{content:"— ";color:var(--muted)}
.dhead .src{margin:10px 0 0;font:400 12.5px/1.5 var(--sans);color:var(--muted)}
.tallies{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--rule);border-top:0;margin-bottom:26px}
.tallies div{padding:9px 11px;border-right:1px solid var(--rule-2)}
.tallies div:last-child{border-right:0}
.tallies .v{display:block;font:700 18px/1.1 var(--sans);font-variant-numeric:tabular-nums}
.tallies .k{display:block;font:400 11.5px/1.3 var(--sans);color:var(--muted)}
.formpart{margin-bottom:24px}
.formpart .formbar{background:var(--bar);border:1px solid var(--rule);border-bottom:0;padding:7px 11px;display:flex;flex-wrap:wrap;gap:3px 10px;align-items:baseline}
.formpart .no{font:700 12px/1.3 var(--sans);color:var(--ink)}
.formpart .ttl{font:700 14px/1.3 var(--sans);color:var(--ink)}
.formpart .say{font:400 12.5px/1.4 var(--sans);color:var(--muted);flex-basis:100%}
.rows{list-style:none;margin:0;padding:0;border:1px solid var(--rule);display:grid}
.rows li{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:0;border-bottom:1px solid var(--rule-2)}
.rows li:last-child{border-bottom:0}
.rows li > span:first-child{padding:8px 11px;min-width:0}
.rows .t{display:block;font-size:14px;color:var(--ink)}
.rows .s{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.rows .kind{font:700 11px/1 var(--sans);color:var(--muted);margin-right:7px}
.cite{padding:8px 11px;text-align:right;font:400 12px/1.5 var(--sans);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;text-decoration-color:var(--rule)}
.nilrow{border:1px solid var(--rule);padding:9px 11px;font-size:13.5px;color:var(--muted);margin:0}
.orgs{list-style:none;margin:0;padding:0;border:1px solid var(--rule);display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.orgs li{padding:8px 11px;border-right:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.orgs .o{font-size:13.5px;color:var(--ink)}
.orgs .c{font:400 12px/1 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.foot-note{margin-top:22px;padding-top:12px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--muted);max-width:76ch}

@media (max-width:820px){
  .cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cardgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
  .tallies{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tallies div{border-bottom:1px solid var(--rule-2)}
  .dhead{grid-template-columns:70px minmax(0,1fr);gap:14px}
  .dhead .avatar{width:70px;height:70px;font-size:22px}
}



/* ——— Find and Seek component polish ——— */
.dirhead{padding-block:2.75rem 1.5rem; display:grid; gap:0.75rem}
.dirhead h1{font:700 clamp(1.75rem,4vw,2.75rem)/1.05 var(--sans); letter-spacing:var(--track-tight); margin:0; max-width:22ch}
.dirhead .lede{font:400 1.05rem/1.55 var(--sans); color:var(--ink-2); max-width:66ch; margin:0}
.dirhead .lede b{font-weight:700; color:var(--ink)}

.searchbox{border:1px solid var(--rule); background:var(--panel)}
.searchbox:focus-within{border-color:var(--ink); box-shadow:0 0 0 1px var(--ink)}
.houses{border:1px solid var(--rule)}
.houses button{font-family:var(--mono); font-size:0.8125rem}
.houses button[aria-pressed="true"]{background:var(--ink); color:#fff}
select#parties{border:1px solid var(--rule); font-family:var(--mono); font-size:0.8125rem}

.cat{border:1px solid var(--rule); background:var(--panel); transition:border-color 0.15s var(--ease), background 0.15s}
.cat:hover{border-color:var(--ink)}
.cat[aria-pressed="true"]{background:var(--ink); border-color:var(--ink)}
.cat .v{font-family:var(--mono); font-weight:600}

.mcard{border:1px solid var(--rule); background:var(--panel); transition:border-color 0.15s var(--ease), transform 0.15s var(--ease)}
.mcard:hover{border-color:var(--ink); transform:translateY(-1px)}
.mcard .nm{font-weight:700; letter-spacing:var(--track-tight)}
.tally b{font-family:var(--mono); font-weight:600}

.dhead{border-bottom:2px solid var(--ink)}
.dhead h2{font:700 clamp(1.5rem,3vw,2.1rem)/1.08 var(--sans); letter-spacing:var(--track-tight)}
.back{font-family:var(--mono); font-size:0.8125rem; border:1px solid var(--rule); background:var(--panel)}
.back:hover{border-color:var(--ink); background:var(--green); color:var(--ink)}

.formpart .formbar{background:var(--bar); border:1px solid var(--rule)}
.rows{border:1px solid var(--rule)}
.cite{font-family:var(--mono); font-size:0.75rem}
.cite:hover{color:var(--ink)}

.copybtn, .btn, a.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-weight:500; font-size:0.8125rem;
  background:var(--green); color:var(--ink); border:1px solid var(--green);
  padding:0.65rem 1rem; text-decoration:none; cursor:pointer;
  transition:transform 0.15s var(--ease);
}
.copybtn:hover, .btn:hover, a.btn:hover{transform:scale(1.02)}
pre.code{background:var(--bar); border:1px solid var(--rule); font-family:var(--mono); font-size:0.8125rem; padding:0.9rem 1rem; overflow:auto}

.prose h1{font:700 clamp(1.75rem,3.6vw,2.5rem)/1.1 var(--sans); letter-spacing:var(--track-tight); margin:2rem 0 0.75rem}
.prose h2{font:700 1.15rem/1.25 var(--sans); letter-spacing:var(--track-tight); margin:2rem 0 0.5rem; padding-bottom:0.4rem; border-bottom:1px solid var(--rule)}
.prose h3{font:700 1rem/1.25 var(--sans); margin:1.35rem 0 0.35rem}
.callout{border:1px solid var(--rule); background:var(--green-soft); padding:0.85rem 1rem; margin:1rem 0}

.row:hover{background:var(--green-soft)}
.chip{font-family:var(--mono)}
.pos{font-family:var(--mono)}

@media (max-width:720px){
  .caveats{grid-template-columns:1fr}
  .caveats ul{grid-template-columns:1fr}
  .sitenav .brand .product{border-left:0; padding-left:0; flex-basis:100%}
}
