/* Embeddable widgets (/embed/*). Light theme only: they sit on other sites' pages.
   No inline styles anywhere; widths use the w-N classes below, as on the main site. */
@font-face { font-family: "Public Sans"; src: url("/fonts/public-sans-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
:root { --surface: #FFFFFF; --sunk: #ECEEE9; --ink: #15171C; --ink-2: #3D424A; --muted: #646A73; --rule: #DFE1DC;
  --violet: #4F2F88; --violet-tint: #EFEAF8; --link: #5534A0; --yes: #00897A; --no: #AD6F00; --present: #8A9097; --nv: #C9CCC5;
  --dem: #2F5C96; --rep: #A13A36; --ind: #4E6A47; color-scheme: light; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--surface); }
body { font: 400 15px/1.45 "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--ink); }
a { color: var(--link); text-underline-offset: 2px; }
a:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; border-radius: 3px; }
h1 { font-size: 18px; line-height: 1.25; margin: 0; font-weight: 750; letter-spacing: -0.01em; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.emb { display: grid; gap: 14px; padding: 16px 18px; border: 1px solid var(--rule); border-radius: 14px; min-height: 100vh; }
.emb-head { display: flex; gap: 14px; align-items: center; }
.emb-head-plain { display: grid; gap: 6px; }
.emb-meta { margin: 4px 0 0; display: flex; gap: 10px; flex-wrap: wrap; font-size: 13.5px; color: var(--ink-2); }
.emb-eyebrow { margin: 0; font-size: 12.5px; color: var(--muted); font-weight: 600; letter-spacing: .02em; }
.emb-result { margin: 0; font-size: 14px; color: var(--ink-2); }
.photo { width: 52px; height: 64px; border-radius: 10px; object-fit: cover; background: var(--sunk); display: grid; place-items: center; font-weight: 700; color: var(--muted); flex: none; }
.party { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.party::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.party.D::before { background: var(--dem); } .party.R::before { background: var(--rep); } .party.I::before { background: var(--ind); }
.emb-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.emb-stats > div { background: var(--sunk); border-radius: 10px; padding: 10px 12px; display: grid; gap: 2px; align-content: start; }
.emb-stats dt { font-size: 12.5px; color: var(--muted); font-weight: 600; }
.emb-stats dd { margin: 0; font-size: 24px; font-weight: 750; letter-spacing: -0.02em; }
.emb-stats dd.emb-exp { font-size: 12.5px; font-weight: 600; letter-spacing: 0; color: var(--ink-2); }
.emb-note { margin: 0; font-size: 13px; color: var(--ink-2); }
.emb-scroll { overflow: auto; max-height: calc(100vh - 150px); }
.emb-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.emb-table th, .emb-table td { text-align: left; padding: 7px 6px; border-bottom: 1px solid var(--rule); vertical-align: top; }
.emb-table thead th { font-size: 12px; color: var(--muted); font-weight: 650; position: sticky; top: 0; background: var(--surface); }
.emb-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.emb-table th[scope=row] { font-weight: 600; }
.emb-sub { display: flex; gap: 8px; font-size: 12.5px; font-weight: 400; color: var(--muted); margin-top: 2px; }
.emb-tally { display: grid; gap: 8px; }
.emb-tally-row { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 4px 10px; align-items: center; font-size: 13.5px; }
.emb-bar { display: flex; gap: 2px; height: 16px; }
.emb-bar span { display: block; height: 100%; min-width: 3px; }
.emb-bar span:first-child { border-radius: 4px 0 0 4px; } .emb-bar span:last-child { border-radius: 0 4px 4px 0; } .emb-bar span:only-child { border-radius: 4px; }
.emb-bar .yea { background: var(--yes); } .emb-bar .nay { background: var(--no); } .emb-bar .present { background: var(--present); } .emb-bar .not_voting { background: var(--nv); }
.emb-nums { grid-column: 2; font-size: 12.5px; color: var(--muted); }
.emb-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--rule); padding-top: 10px; align-self: end; }
.emb-foot a { font-weight: 650; }
@media (max-width: 380px) { .emb-stats { grid-template-columns: 1fr; } .emb { padding: 12px; } }
/* Data-driven bar widths (pipeline/site.py: share). */
.w-0 { width: 0%; } .w-1 { width: 1%; } .w-2 { width: 2%; } .w-3 { width: 3%; } .w-4 { width: 4%; } .w-5 { width: 5%; } .w-6 { width: 6%; } .w-7 { width: 7%; } .w-8 { width: 8%; } .w-9 { width: 9%; }
.w-10 { width: 10%; } .w-11 { width: 11%; } .w-12 { width: 12%; } .w-13 { width: 13%; } .w-14 { width: 14%; } .w-15 { width: 15%; } .w-16 { width: 16%; } .w-17 { width: 17%; } .w-18 { width: 18%; } .w-19 { width: 19%; }
.w-20 { width: 20%; } .w-21 { width: 21%; } .w-22 { width: 22%; } .w-23 { width: 23%; } .w-24 { width: 24%; } .w-25 { width: 25%; } .w-26 { width: 26%; } .w-27 { width: 27%; } .w-28 { width: 28%; } .w-29 { width: 29%; }
.w-30 { width: 30%; } .w-31 { width: 31%; } .w-32 { width: 32%; } .w-33 { width: 33%; } .w-34 { width: 34%; } .w-35 { width: 35%; } .w-36 { width: 36%; } .w-37 { width: 37%; } .w-38 { width: 38%; } .w-39 { width: 39%; }
.w-40 { width: 40%; } .w-41 { width: 41%; } .w-42 { width: 42%; } .w-43 { width: 43%; } .w-44 { width: 44%; } .w-45 { width: 45%; } .w-46 { width: 46%; } .w-47 { width: 47%; } .w-48 { width: 48%; } .w-49 { width: 49%; }
.w-50 { width: 50%; } .w-51 { width: 51%; } .w-52 { width: 52%; } .w-53 { width: 53%; } .w-54 { width: 54%; } .w-55 { width: 55%; } .w-56 { width: 56%; } .w-57 { width: 57%; } .w-58 { width: 58%; } .w-59 { width: 59%; }
.w-60 { width: 60%; } .w-61 { width: 61%; } .w-62 { width: 62%; } .w-63 { width: 63%; } .w-64 { width: 64%; } .w-65 { width: 65%; } .w-66 { width: 66%; } .w-67 { width: 67%; } .w-68 { width: 68%; } .w-69 { width: 69%; }
.w-70 { width: 70%; } .w-71 { width: 71%; } .w-72 { width: 72%; } .w-73 { width: 73%; } .w-74 { width: 74%; } .w-75 { width: 75%; } .w-76 { width: 76%; } .w-77 { width: 77%; } .w-78 { width: 78%; } .w-79 { width: 79%; }
.w-80 { width: 80%; } .w-81 { width: 81%; } .w-82 { width: 82%; } .w-83 { width: 83%; } .w-84 { width: 84%; } .w-85 { width: 85%; } .w-86 { width: 86%; } .w-87 { width: 87%; } .w-88 { width: 88%; } .w-89 { width: 89%; }
.w-90 { width: 90%; } .w-91 { width: 91%; } .w-92 { width: 92%; } .w-93 { width: 93%; } .w-94 { width: 94%; } .w-95 { width: 95%; } .w-96 { width: 96%; } .w-97 { width: 97%; } .w-98 { width: 98%; } .w-99 { width: 99%; }
.w-100 { width: 100%; }
