/* Hallmark · macrostructure: existing Civic Atlas diagrams · theme: shared Civic Atlas
 * pre-emit critique: P4 H4 E4 S4 R5 V4. Nav: existing masthead; footer: existing colophon.
 * Only US-specific additions. The shared design files are copied byte for byte.
 */
:root{--bloc-dem:oklch(47% .15 250);--bloc-gop:oklch(47% .18 25);--bloc-ind:var(--color-ink-3);--flag-blue:#005eb8;--flag-paper:#fff}
:root[data-theme="dark"]{--bloc-dem:oklch(76% .12 250);--bloc-gop:oklch(77% .13 25)}
.dem{--bloc:var(--bloc-dem)}.gop{--bloc:var(--bloc-gop)}.ind{--bloc:var(--bloc-ind)}
.mast-controls{justify-self:end;display:flex;align-items:center;gap:var(--space-xs)}
.us-two,.us-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}
.us-branches{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:var(--space-lg)}
.us-branches>div{border:1px solid var(--color-rule);padding:var(--space-md);background:var(--color-paper-2)}
.us-seats{grid-template-columns:repeat(var(--columns),minmax(0,1fr));width:100%;max-width:32rem;margin-block:var(--space-md)}
.us-seats i{background:var(--bloc)}.us-seats i.unknown{background:transparent;box-shadow:inset 0 0 0 1px var(--color-ink-3)}
.us-legend{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);list-style:none;padding:0;font-size:var(--text-sm)}
.us-legend li{border-inline-start:4px solid var(--bloc,var(--color-ink-3));padding-inline-start:var(--space-2xs)}
.us-countdown{text-align:start;margin-bottom:var(--space-lg)}
.us-balance{display:flex;gap:2px;height:1.5rem;margin-block:var(--space-md);position:relative}.us-balance::after{content:'';position:absolute;inset-block:-.35rem;inset-inline-start:50%;width:2px;background:var(--color-ink)}
.us-fixture{border-inline-start:3px solid var(--color-ink-3);color:var(--color-ink-2);padding-inline-start:var(--space-sm);margin-bottom:var(--space-md);font-size:var(--text-sm)}
.us-balance i{background:var(--bloc);flex-basis:0}.us-balance i.unknown{background:var(--color-paper-3)}
.us-calculator{margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-rule)}
.us-calculator label{display:block}.us-calculator input{width:100%;accent-color:var(--color-accent)}
.us-calculator output{display:block;min-height:4em}.us-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);list-style:none;padding:0;margin-block:var(--space-lg)}
.us-steps>li{padding:var(--space-md);border:1px solid var(--color-rule);background:var(--color-paper-2)}
.us-steps b{font-family:var(--font-display);font-size:var(--text-xl)}
.us-races{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}
.us-races>li{border-top:2px solid var(--color-ink);padding-block:var(--space-sm);min-width:0}.us-races h3{font-size:var(--text-xl)}
.us-races p{font-size:var(--text-sm)}.us-races .fine{margin-top:var(--space-xs)}
.us-summary{font-weight:700;cursor:pointer;color:var(--color-ink)}
.us-disclosure{margin-block:var(--space-md)}.us-disclosure p{margin-top:var(--space-sm);max-width:var(--measure)}
.us-thumbnail{display:block;width:100%;height:7rem;fill:var(--color-ink);stroke:var(--color-ink-3)}
.us-thumbnail .you{fill:var(--color-logo);stroke:none}
.us-glyph{display:block;width:100%;aspect-ratio:3/2;height:auto;color:var(--color-ink);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);border-radius:.4rem;margin-bottom:var(--space-xs)}
.us-card-title{margin-block:var(--space-xs)}
@media(max-width:800px){.us-two,.us-branches{grid-template-columns:minmax(0,1fr)}.us-races{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Phone masthead: search.css lays out the top row (toggle and languages, the search field, the date); the control group (pill and flag) takes the languages' cell */
@media(max-width:699px){.mast .mast-top .mast-controls{grid-column:2;grid-row:1;justify-self:end}}
@media(max-width:600px){.us-races,.us-steps{grid-template-columns:minmax(0,1fr)}.mast-name{flex-wrap:wrap;justify-content:center;line-height:1.2}.mast-name small{white-space:nowrap}.us-seats{gap:2px}}

.us-rep-search{margin-top:var(--space-md);max-width:40rem}.us-rep-search label{display:block;font-size:var(--text-sm);font-weight:700}.us-rep-search>div{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-2xs)}.us-rep-search input{flex:1;min-width:8rem;max-width:100%;background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-ink);padding:var(--space-xs);font:inherit}.us-rep-search button{white-space:nowrap}
/* The shared tools-i18n.css mirrors .page-nav-arrow on LTR pages, so page navigation always carries the RTL glyphs (back →, forward ←) like the Israeli editions. */
/* Phase 2 uses the existing stop and vote components; additions are limited to US maps and controls. */
.us-map{width:100%;height:auto;max-height:22rem;background:var(--color-paper-2);border:1px solid var(--color-rule)}.us-map path{fill:var(--color-paper-3);stroke:var(--color-ink-3);stroke-width:.6;vector-effect:non-scaling-stroke}.us-map path.selected{fill:var(--color-accent-wash);stroke:var(--color-accent);stroke-width:2}
.us-pickers{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-block:var(--space-lg)}.us-pickers label{display:grid;gap:var(--space-2xs);font-size:var(--text-sm);font-weight:700;min-width:0;max-width:100%;flex:1 1 12rem}.us-pickers select{font:inherit;color:var(--color-ink);background:var(--color-paper-2);border:1px solid var(--color-rule-strong);padding:var(--space-xs);min-width:0;width:100%}
.us-choice{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block:var(--space-sm)}.us-choice [aria-current]{border-color:var(--color-accent);color:var(--color-accent)}.us-coverage{border-inline-start:3px solid var(--color-rule-strong);padding-inline-start:var(--space-sm);margin-block:var(--space-sm)}
.us-record-links{list-style:none;padding:0}.us-record-links li{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-sm);border-block-start:1px solid var(--color-rule)}.us-record-links time{color:var(--color-ink-3);font-size:var(--text-sm)}.us-record-links a{font-weight:600}.us-member-directory{columns:3 14rem;list-style:none;padding:0}.us-member-directory li{break-inside:avoid;margin-bottom:var(--space-xs)}
#control-result{display:block;margin-block:var(--space-lg);font-size:var(--text-2xl)}[hidden]{display:none!important}#vote-app{scroll-margin-top:4rem}#vote-app details{border-top:1px solid var(--color-rule);padding-block:var(--space-xs)}#vote-app summary{cursor:pointer}.tally-key svg{width:12px;height:12px}.verdict .w{font-size:var(--text-2xl)}.plenum .legend svg{display:inline;width:12px;height:12px}.us-map+ h4{margin-top:var(--space-sm)}
body[data-page="votes"] .section{max-width:1120px;margin-inline:auto}body[data-page="votes"] .us-two{min-width:0}.us-two .results a{grid-template-columns:minmax(0,1fr) 5rem}.us-two .results .d{grid-column:1/-1}.us-two .results .t{overflow-wrap:anywhere}.us-two .results .mini .strip{display:flex;height:6px}.us-two .results .mini .f{background:var(--color-ink)}.us-two .results .mini .a{background:var(--color-ink-3)}.us-two .results{list-style:none;padding:0}.us-two .results a{display:grid;gap:var(--space-xs);padding-block:var(--space-xs);border-top:1px solid var(--color-rule);text-decoration:none}.us-two .results .k{display:block;font-size:var(--text-xs);color:var(--color-ink-3)}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}output.stop-figure{overflow-wrap:anywhere}.us-races .fine{overflow-wrap:anywhere}@media(max-width:600px){.us-record-links li{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs)}.us-choice .btn{white-space:normal}.verdict .n{flex-wrap:wrap}.us-pickers{gap:var(--space-sm)}.mast-nav{justify-content:flex-start}.us-two .results a{grid-template-columns:minmax(0,1fr) 4rem}}

.mast-nav{justify-content:safe center}
/* Keep the longer US navigation visible on desktop; retain shared mobile scrolling. */
@media(min-width:1280px){.mast-nav{column-gap:var(--space-sm);row-gap:0;flex-wrap:wrap}.chapters ol{column-gap:var(--space-xs);flex-wrap:nowrap}.chapters a{font-size:var(--text-xs)}.chapters .ch-logo{margin-inline-end:0}}
/* History uses the shared timeline and comparison components. */
.hx-lanes{margin-block:var(--space-md) var(--space-xl);padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:.6rem;display:grid;gap:var(--space-sm)}
.hx-lane{display:grid;grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule)}
.hx-lane>b{font-size:var(--text-sm)}.hx-lane svg{width:100%;height:auto;min-height:36px;overflow:visible}.hx-lane path{stroke:var(--color-rule);stroke-dasharray:3 3}.hx-lane circle{stroke:var(--color-ink);stroke-width:2;fill:var(--color-paper)}
.hx-axis-labels{display:flex;justify-content:space-between;padding-inline-start:calc(9.5rem + var(--space-sm));font-size:var(--text-xs);direction:ltr}.hx-era-links{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);padding-inline-start:1.5rem}.hx-era-links a[aria-current]{color:var(--color-accent)}
.hx-power{margin-block:var(--space-md)}.hx-power figcaption{font-size:var(--text-xs);color:var(--color-ink-3)}.hx-power-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-xs);border:var(--rule-hair) solid var(--color-rule)}.hx-power-bar>span{padding:var(--space-xs);font-weight:600;font-size:var(--text-sm);text-align:center}.hx-power-bar .expanded{background:var(--color-ink);color:var(--color-paper)}
.hx-era .timeline{margin-top:var(--space-md)}.hx-era summary.event-head{cursor:pointer;list-style:none}.hx-era summary.event-head::-webkit-details-marker{display:none}.hx-era details[open] .event-year{color:var(--color-accent)}.hx-era details[open] .event-dot{background:var(--color-accent);border-color:var(--color-accent)}.hx-era details[open] .event-toggle::after{transform:rotate(0deg)}
.hx-amendments{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:var(--space-xs);padding:0;list-style:none}.hx-amendments a{display:grid;text-align:center;border:var(--rule-hair) solid var(--color-rule);padding:var(--space-sm) var(--space-2xs);min-height:64px}.hx-amendments b{font-family:var(--font-display);font-size:var(--text-xl)}.hx-amendments small{color:var(--color-ink-3)}.hx-amendment-list{padding-inline-start:1.5rem}.hx-amendment-list li{padding-block:var(--space-sm);scroll-margin-top:6rem}.hx-milestones{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-sm);padding:0}.hx-milestones li{display:grid;align-content:start;gap:var(--space-xs);border-top:var(--rule-strong) solid var(--color-ink);padding-top:var(--space-sm)}.hx-milestones b{font-family:var(--font-display);font-size:var(--text-xl)}.hx-milestones span{font-size:var(--text-sm)}
@media(max-width:42rem){.hx-lanes{padding:var(--space-sm)}.hx-lane{grid-template-columns:minmax(0,1fr);gap:0;padding-top:var(--space-xs)}.hx-axis-labels{padding-inline-start:0}.hx-amendments{grid-template-columns:repeat(3,minmax(0,1fr))}.hx-milestones{grid-template-columns:minmax(0,1fr)}.hx-milestones li{grid-template-columns:4.5rem minmax(0,1fr);align-items:baseline}}

/* Poll closings, governors and Israel bridge */
.us-closings{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin-block:var(--space-md)}.us-closings th,.us-closings td{text-align:start;vertical-align:top;padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--color-rule)}.us-closings th{font-weight:700}
.us-closings td:first-child{white-space:nowrap;font-family:var(--font-display);font-size:var(--text-lg)}.us-closings td:nth-child(2){white-space:nowrap;color:var(--color-accent);font-weight:700}
.us-closings tr.is-past{color:var(--color-ink-3)}.us-closings tr.is-past td:nth-child(2){color:var(--color-ink-3)}.us-closings td:last-child::before{content:attr(data-state) ": ";font-weight:700}.us-closings td:last-child:not([data-state])::before{content:none}
.us-governors{list-style:none;padding:0;columns:2;gap:var(--space-md);font-size:var(--text-sm)}.us-governors li{break-inside:avoid;border-inline-start:4px solid var(--bloc,var(--color-ink-3));padding-inline-start:var(--space-2xs);margin-block:var(--space-2xs)}
.us-bridge{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.us-bridge>li{border:1px solid var(--color-rule);background:var(--color-paper-2);padding:var(--space-md)}.us-bridge h3{font-size:var(--text-xl);margin-bottom:var(--space-xs)}.us-bridge p{font-size:var(--text-sm)}.us-bridge-links{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}
@media(max-width:800px){.us-bridge{grid-template-columns:minmax(0,1fr)}.us-governors{columns:1}.us-closings td:first-child{font-size:var(--text-base)}.us-closings th,.us-closings td{padding-inline:var(--space-2xs)}}
/* The shared play control centres itself with inset-inline-start:50% plus translate(50%), which assumes an RTL root; mirror it on LTR pages and let the long English label wrap at phone width. */
[dir="ltr"] .cv-play{transform:translate(-50%,-50%)}[dir="ltr"] .cv-play:active{transform:translate(-50%,calc(-50% + 1px))}
.cv-play{max-width:calc(100% - 1.5rem);white-space:normal;text-align:center}
/* Audit 2026-10-31: real content where document placeholders stood. Funding-gap bars, oversight ladder, committee roster, branch facts, midterm flips, federal/state powers. */
.us-facts{list-style:none;padding:0;margin:var(--space-sm) 0 0;display:grid;gap:var(--space-xs);font-size:var(--text-sm)}.us-facts li{padding-inline-start:var(--space-sm);border-inline-start:3px solid var(--color-rule-strong)}
.us-steps>li>b{display:block;margin-bottom:var(--space-2xs)}.us-steps>li>p{margin:0;font-size:var(--text-sm);max-width:var(--measure)}.us-ladder{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));counter-reset:ladder}.us-ladder>li{counter-increment:ladder;position:relative;padding-top:var(--space-lg)}.us-ladder>li::before{content:counter(ladder);position:absolute;top:var(--space-xs);inset-inline-start:var(--space-md);font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-ink-3)}
.us-gaps{list-style:none;padding:0;margin-block:var(--space-md);display:grid;gap:var(--space-2xs);font-size:var(--text-sm)}.us-gaps li{display:grid;grid-template-columns:11rem minmax(0,1fr) 15rem;align-items:center;gap:var(--space-sm);min-width:0}.us-gaps time{color:var(--color-ink-3);white-space:nowrap}.us-gaps .us-gap-bar{display:block;width:100%;justify-self:stretch;height:.7rem;background:var(--color-rule)}.us-gaps .us-gap-bar i{display:block;height:100%;min-width:2px;background:var(--color-ink)}.us-gaps .is-partial .us-gap-bar i{background:repeating-linear-gradient(135deg,var(--color-ink) 0 4px,var(--color-paper) 4px 7px)}.us-gaps .is-longest .us-gap-bar i{background:var(--color-accent)}.us-gaps .us-gap-days{color:var(--color-ink-2)}
.us-committees{list-style:none;padding:0;margin:var(--space-sm) 0;columns:2 11rem;font-size:var(--text-sm)}.us-committees li{break-inside:avoid;padding-block:var(--space-3xs,.15rem)}.us-committees small{display:block;color:var(--color-ink-3);font-size:var(--text-xs)}
.us-flips{list-style:none;padding:0;margin-block:var(--space-md);display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-sm)}.us-flips li{border-top:4px solid var(--bloc,var(--color-ink));padding-top:var(--space-xs);font-size:var(--text-sm);display:grid;gap:var(--space-3xs,.15rem)}.us-flips b{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}.us-flips span.dem,.us-flips span.gop{color:var(--bloc)}
.us-powers{list-style:none;padding:0;margin-block:var(--space-md);display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-sm)}.us-powers li{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);background:var(--color-paper-2);font-size:var(--text-sm)}
@media(max-width:600px){.us-gaps li{grid-template-columns:auto minmax(0,1fr);gap:var(--space-3xs,.15rem) var(--space-sm);padding-block:var(--space-3xs,.15rem)}.us-gaps .us-gap-days{grid-row:1;grid-column:2;text-align:end}.us-gaps .us-gap-bar{grid-column:1/-1}.us-committees{columns:1}}
#vote-controls{scroll-margin-top:64px}
