/* The 2026 midterms guide and the sign-in surfaces. Colours come from the theme tokens. */
.mt-hero .lead{max-width:62ch}
.mt-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-top:14px;background:var(--rule);border:1px solid var(--rule);border-radius:14px;overflow:hidden}
.mt-stats>div{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--sheet)}
.mt-stats>div:first-child{background:var(--fill-soft)}
.mt-stats b{font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--strong);letter-spacing:-.02em}
.mt-stats span{font-size:13px;color:var(--ink-3)}
@media (max-width:760px){.mt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mt-stats>div:first-child{grid-column:1/-1}}

.mt-finder{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}
.mt-finder label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2);flex:1 1 180px;max-width:280px}
.mt-finder input,.mt-finder select{font:inherit;font-size:16px;font-weight:400;padding:10px 12px;border:1px solid var(--rule-2);border-radius:10px;background:var(--sheet);color:var(--ink);min-width:0}
.mt-finder .mt-or{font-size:13px;color:var(--ink-3);padding-bottom:12px}
.mt-finder .btn{flex:0 0 auto}

.mt-open{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.mt-open-row{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--sheet);color:var(--ink);text-decoration:none}
.mt-open-row:hover{border-color:var(--strong)}
.mt-open-row b{font-size:17px}
.mt-mini{font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.mt-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.mt-states a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--sheet);color:var(--ink);text-decoration:none}
.mt-states a:hover{border-color:var(--strong);background:var(--fill-soft)}

.mt-party{display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:7px;font-size:12px;font-weight:700;color:#fff;background:var(--p-oth)}
.mt-mini .mt-party{width:18px;height:18px;font-size:10px;border-radius:5px}
.mt-party.dem{background:var(--p-dem)}.mt-party.rep{background:var(--p-rep)}

.mt-race{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--rule);border-radius:16px;background:var(--sheet)}
.mt-race-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.mt-race-head .h3{margin:2px 0 0;font-size:21px}
.mt-race-head .h3 a{color:inherit;text-decoration:none}
.mt-race-head .h3 a:hover{text-decoration:underline}
.mt-cands{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.mt-cand{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--rule);border-top:4px solid var(--p-oth);border-radius:12px;background:var(--paper)}
.mt-cand.dem{border-top-color:var(--p-dem)}.mt-cand.rep{border-top-color:var(--p-rep)}
.mt-cand-head{display:flex;align-items:flex-start;gap:10px}
.mt-cand-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.mt-cand-name b{font-size:17px;line-height:1.25}
.mt-badge{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;background:var(--strong);color:var(--sheet);vertical-align:1px}
.mt-badge.soft{background:var(--fill);color:var(--strong)}
.mt-about{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.mt-said{margin:0;display:flex;flex-direction:column;gap:6px}
.mt-said ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:14px;line-height:1.45}
.mt-said .tiny a{color:var(--ink-3)}
.mt-money{margin:0;padding-top:8px;border-top:1px dashed var(--rule)}
.mt-money b{font-variant-numeric:tabular-nums}
.mt-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:auto;font-size:14px}
.mt-links .btn{padding:8px 14px;font-size:14px}

.mt-cands.compact{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mt-cand.compact{padding:8px 12px 8px 10px;border-top-width:1px;border-left:4px solid var(--p-oth);border-radius:10px;flex:1 1 220px}
.mt-cand.compact.dem{border-left-color:var(--p-dem)}.mt-cand.compact.rep{border-left-color:var(--p-rep)}
.mt-cand.compact .mt-cand-name b{font-size:15px}
.mt-house{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:12px}
.mt-house .mt-race{padding:16px;gap:10px}
.mt-house .mt-race-head .h3{font-size:18px}

.mt-flag{margin:0;padding:12px 14px;border-radius:12px;background:var(--fill-soft);border:1px solid var(--fill);font-size:14px;color:var(--ink)}
.mt-yours .mt-race{border-color:var(--strong);box-shadow:0 0 0 3px var(--fill-soft)}
.mt-actions{gap:10px;flex-wrap:wrap}

.mt-nudge{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px 28px;align-items:center;padding:24px;border-radius:18px;background:var(--fill-soft);border:1px solid var(--fill)}
.mt-nudge .h2{margin:4px 0 6px}
.mt-nudge p{margin:0;color:var(--ink-2)}
.mt-nudge-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
@media (max-width:760px){.mt-nudge{grid-template-columns:1fr}}
.mt-method ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.5;color:var(--ink-2)}

/* Sign-in surfaces */
.g-signin{min-height:44px;display:flex;align-items:center}
.g-signin[hidden]{display:none}
.access-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.access-public{display:flex;flex-direction:column;gap:4px;margin:6px 0 4px;padding:18px 20px;border-radius:16px;border:1px solid var(--fill);background:var(--fill-soft);color:var(--ink);text-decoration:none;max-width:640px}
.access-public b{font-size:20px;color:var(--strong)}
.access-public:hover{border-color:var(--strong)}
.account-google{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.account-google .h3{margin:0}
.account-or{display:flex;align-items:center;gap:12px;margin:4px 0;color:var(--ink-3);font-size:13px}
.account-or::before,.account-or::after{content:"";flex:1;height:1px;background:var(--rule)}

/* Continue with Google: Google's own button colours (white, grey outline, near-black text). */
.g-start{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #747775;background:#FFFFFF;color:#1F1F1F;font:500 15px/1.2 var(--f-body);cursor:pointer}
.g-start:hover{background:#F7F8F8}
.g-start:focus-visible{outline:3px solid var(--strong);outline-offset:2px}
.google-dialog .search-box{max-width:420px}
.google-dialog .g-signin{min-height:48px}

/* US research pages: caucuses, executive, member additions */
.analysis-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--fill-soft);color:var(--strong);border:1px solid var(--fill)}
.caucus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.caucus-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--rule);border-radius:14px;background:var(--sheet);color:var(--ink);text-decoration:none}
.caucus-card:hover{border-color:var(--strong)}
.caucus-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--sunk);gap:2px}
.caucus-bar i{display:block;background:var(--p-oth)}.caucus-bar i.dem{background:var(--p-dem)}.caucus-bar i.rep{background:var(--p-rep)}
.caucus-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.caucus-person{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--rule);border-left:4px solid var(--p-oth);border-radius:10px;background:var(--sheet);color:var(--ink);text-decoration:none}
.caucus-person.dem{border-left-color:var(--p-dem)}.caucus-person.rep{border-left-color:var(--p-rep)}
.caucus-person>span{display:flex;flex-direction:column;min-width:0}
.leader-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.leader-card{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--rule);border-top:4px solid var(--p-oth);border-radius:14px;background:var(--sheet)}
.leader-card.dem{border-top-color:var(--p-dem)}.leader-card.rep{border-top-color:var(--p-rep)}
.leader-card b{font-size:20px}
.table-wrap{overflow-x:auto}
.member-race{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink)}
.member-race:hover{border-color:var(--strong)}
.member-caucuses{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ideology-scale{position:relative;height:28px;margin:6px 4px 0}
.ideology-track{position:absolute;left:0;right:0;top:12px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--p-dem),var(--rule) 50%,var(--p-rep))}
.ideology-median{position:absolute;top:6px;width:2px;height:16px;margin-left:-1px;background:var(--ink-3)}
.ideology-dot{position:absolute;top:5px;width:18px;height:18px;margin-left:-9px;border-radius:50%;border:3px solid var(--sheet);box-shadow:0 0 0 1px var(--ink-3);background:var(--p-oth)}
.ideology-dot.dem{background:var(--p-dem)}.ideology-dot.rep{background:var(--p-rep)}


/* Election banner on the US briefing */
.mt-banner{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:14px;background:var(--fill-soft);border:1px solid var(--fill);color:var(--ink);text-decoration:none}
.mt-banner:hover{border-color:var(--strong)}
.mt-banner-count{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:6px 10px;border-radius:10px;background:var(--strong);color:var(--sheet)}
.mt-banner-count b{font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.mt-banner-count span{font-size:11px;letter-spacing:.02em}
.mt-banner-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.mt-banner-text b{font-size:17px;color:var(--strong)}
.mt-banner-text span{font-size:14px;color:var(--ink-2)}
.mt-banner-go svg,.access-public svg{width:18px;height:18px}
