.house-page .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;margin:24px 0}.house-page .stat{padding:24px 0;border-top:1px solid var(--line)}.house-page .stat strong{display:block;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:900;letter-spacing:-.04em}.house-page .d{color:var(--blue)}.house-page .r{color:var(--red)}.house-page table{width:100%;border-collapse:collapse;font-size:.9rem}.house-page td,.house-page th{padding:15px 12px;text-align:left;border-bottom:1px solid var(--line)}.house-page th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.house-page .table{overflow:auto}.house-page input{font:inherit;padding:12px;border:1px solid var(--line);border-radius:6px;width:min(90%,450px);background:var(--paper,#fff)}.house-page section{margin:48px 0}.house-page section>h2{border-top:3px solid var(--ink);padding-top:20px;letter-spacing:-.03em}.house-page svg{width:100%;height:300px}.house-page small{color:var(--muted)}.house-page .house-control-numbers{grid-template-columns:1fr 1fr}.house-page .house-control-numbers .out-of{grid-column:1/-1}.house-page .house-mosaic{display:grid;grid-template-columns:repeat(25,1fr);gap:7px;margin-top:28px}.house-page .house-mosaic i{aspect-ratio:1;border-radius:50%;display:block}.house-page .house-mosaic .dem{background:var(--blue)}.house-page .house-mosaic .rep{background:var(--red)}.house-page .chamber-hero{padding:48px 0 28px}.house-page .chamber-hero h1{max-width:950px}.house-page .house-summary{margin-top:24px}.house-page .house-method-note{font-size:.82rem;color:var(--muted)}.office-portals.house-enabled{grid-template-columns:repeat(2,minmax(0,1fr))}.office-portals.house-enabled .house-office-card{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 40px}.house-office-card .office-card-head{grid-column:1/-1}.house-office-card .office-forecast-call{margin:0}.house-office-card .office-card-note{grid-column:1/-1}.house-office-card .home-control-numbers{margin:0}.house-office-card .home-control-numbers{grid-template-columns:1fr 1fr}@media(max-width:1000px){.office-portals.house-enabled{grid-template-columns:1fr}.office-portals.house-enabled .house-office-card{grid-template-columns:1fr}.house-page .house-mosaic{gap:4px}}@media(max-width:600px){.house-page .stats{grid-template-columns:1fr}.house-page svg{height:240px}.house-page .candidate-matchup{grid-template-columns:1fr}.house-page .candidate-matchup .versus{display:none}.house-page td,.house-page th{padding:12px 8px}.house-page .house-mosaic{gap:3px}}
.house-evidence-steps article{display:grid;grid-template-columns:36px 1fr auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.house-evidence-steps h4{margin:0;font-size:1rem}.house-evidence-steps p{margin:5px 0 0;font-size:.85rem;color:var(--muted)}.house-evidence-steps .checkpoint-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:white;background:var(--muted)}.house-evidence-steps .checkpoint-number.dem{background:var(--blue);color:white}.house-evidence-steps .checkpoint-number.rep{background:var(--red);color:white}
.office-portals.house-enabled .house-office-card{grid-column:auto;display:flex;min-height:470px;gap:0}.house-office-card .office-forecast-call{margin:24px 0}.house-office-card .home-control-numbers{margin-top:auto}.office-portals.house-enabled .governor-office-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px 48px;min-height:0}.governor-office-card .office-card-head{grid-column:1/-1}.office-portals.house-enabled .governor-office-card .home-control-numbers{margin:0;align-self:center}.house-page .house-vote-forecast{margin-top:20px;padding:18px 0}.house-vote-forecast>div:first-of-type{display:flex;justify-content:space-between;margin:8px 0}.house-page .history-chart,.house-page .history-plot{width:100%;max-width:none}.house-page .history-chart{min-height:0}.house-page .house-details-body .history-plot{height:auto;min-height:260px}.house-seat-outcome{display:grid;grid-template-columns:65px 1fr 65px 65px;gap:18px;align-items:center;max-width:760px;margin:12px auto;font-size:.9rem}.house-seat-outcome>div{height:12px;background:var(--soft);border-radius:4px;overflow:hidden}.house-seat-outcome i{height:100%;display:block;background:var(--blue)}.house-seat-outcome>strong{text-align:center}.house-page .house-seat-distribution{margin:36px 0}.house-page .inline-explanation .explain-top h2{font-size:clamp(1.5rem,3vw,2.3rem)}.house-page .hero-distribution{margin-top:28px}.house-page .house-explanation .drawer-details{margin-top:24px}.house-page .house-reason .explain-button{flex-shrink:0}
@media(max-width:800px){.office-portals.house-enabled{grid-template-columns:1fr}.office-portals.house-enabled .house-office-card{min-height:0}.office-portals.house-enabled .governor-office-card{grid-template-columns:1fr}.house-page .house-details-body .history-plot{min-height:180px}.house-seat-outcome{grid-template-columns:50px 1fr 45px 50px;gap:8px}.house-page .reason-strip{display:block}.house-page .reason-strip .explain-button{margin-top:14px}}
.house-page .chamber-hero,.house-page .house-race-hero{background:transparent}.house-page .chamber-hero::before,.house-page .chamber-hero::after,.house-page .house-race-hero::before,.house-page .house-race-hero::after{display:none;background:none}
/* The shared hero gradient extends to the viewport, not a boxed inner wrap. */
.house-page{position:relative;isolation:isolate}.house-page::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:1100px;max-height:100%;pointer-events:none;background:radial-gradient(circle at 12% 22%,rgba(23,105,194,.17),transparent 32%),radial-gradient(circle at 88% 18%,rgba(216,59,67,.14),transparent 30%),radial-gradient(circle at 52% 112%,rgba(117,73,190,.12),transparent 34%),#fbfbfa;mask-image:linear-gradient(#000 65%,transparent)}
.house-office-card[data-leader="dem"]{border-top-color:var(--blue)}.house-office-card[data-leader="rep"]{border-top-color:var(--red)}.house-office-card[data-leader="neutral"]{border-top-color:var(--muted)}
.house-seat-balance{padding:0 0 20px}.house-seat-balance>div{height:14px;background:var(--red);position:relative;border-radius:4px}.house-seat-balance i{height:100%;background:var(--blue);display:block;border-radius:4px 0 0 4px}.house-seat-balance b{position:absolute;top:-6px;bottom:-6px;width:3px;background:var(--navy);box-shadow:0 0 0 2px white}.house-seat-balance p{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--muted);margin-top:14px}
.house-page .house-race-hero h1{font-size:clamp(2.4rem,5.4vw,4.8rem);max-width:950px;line-height:1.05}.house-page .house-race-hero{padding:32px 0 28px}.house-page .house-race-hero .race-call{margin:28px 0 22px}.house-page .house-outcome{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.house-chart-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.house-chart-head h2{font-size:1.2rem;margin:5px 0}.house-chart-head p{font-size:.82rem;color:var(--muted)}.house-page .house-outcome svg{height:auto;max-height:160px;display:block;width:100%;margin-top:20px;overflow:visible}.house-outcome text{font:16px system-ui;fill:var(--muted)}.house-chart-axis{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted);margin-top:6px}.house-page .house-reader-section{margin:24px 0}.house-page .house-reason{margin:28px 0 24px}.house-details-body{padding:28px}.house-page .house-details-body section{margin:12px 0 24px}.house-page .house-details-body section>h2{border:0;padding:0;font-size:1.2rem}.house-page .house-details-body h3{margin:28px 0 18px}.house-evidence-lead{font-family:var(--display);font-size:1.2rem}.house-page .house-donut{width:160px;height:160px}.house-page .house-donut .donut-label{z-index:1}.house-effect{display:grid;grid-template-columns:minmax(200px,1fr) minmax(150px,1fr) 90px;gap:20px;align-items:center;margin:24px 0}.house-effect small{display:block;margin-top:5px}.house-effect-track{position:relative;height:32px;background:linear-gradient(90deg,transparent calc(50% - 1px),var(--navy) calc(50% - 1px),var(--navy) calc(50% + 1px),transparent calc(50% + 1px))}.house-effect-track i{position:absolute;height:20px;top:6px;border-radius:3px}.house-effect-track i.dem{background:var(--blue)}.house-effect-track i.rep{background:var(--red)}.house-effect-track i.neutral{background:var(--muted)}.house-effect>b{text-align:right}.house-combined{display:flex;justify-content:space-between;border-top:2px solid var(--navy);padding:18px 0;font-size:1.2rem}.house-page .house-input-table th{text-transform:none;letter-spacing:0;font-weight:600;font-size:.88rem}.house-input-table td{text-align:right}.house-poll-source{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:20px}.house-history-empty{border:1px dashed var(--line);padding:28px;border-radius:6px;color:var(--muted)}.house-history-grid{display:grid;grid-template-columns:1fr;gap:10px}.house-page .house-browser{margin-top:36px}.house-browser-toolbar{display:grid;grid-template-columns:minmax(200px,2fr) 1fr 1fr;gap:16px;background:var(--soft);padding:20px;border-block:1px solid var(--line);margin:20px 0 12px}.house-browser-toolbar label{font-size:.72rem;color:var(--muted);font-weight:750}.house-page .house-browser-toolbar input,.house-browser-toolbar select{display:block;width:100%;margin-top:6px;font:inherit;font-size:.9rem;padding:11px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink)}.house-page .house-race-table td{vertical-align:middle}.house-race-table a{text-decoration:none;display:block}.house-race-table a:hover strong{text-decoration:underline}.house-race-table td small{display:block;font-size:.72rem;margin-top:4px}.house-prob-pair{display:flex;justify-content:space-between;gap:20px;font-weight:800;margin-bottom:7px}.house-prob-bar{background:var(--red);height:6px;border-radius:5px;overflow:hidden}.house-prob-bar i{display:block;height:100%;background:var(--blue)}.house-rating{font-size:.75rem;font-weight:750;white-space:nowrap}.house-range-cell{font-size:.8rem;white-space:nowrap;color:var(--muted)}.house-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:.8rem;color:var(--muted)}.house-pagination button{font:inherit;padding:10px 14px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--navy);cursor:pointer}.house-pagination button:disabled{opacity:.4;cursor:default}.house-page .neutral{color:var(--muted)}.house-page .house-compact-history>summary strong{font-size:1.15rem}.house-page .chamber-hero{margin-top:24px;padding-top:32px}.house-page .chamber-hero h1{font-size:clamp(2.7rem,6vw,5.6rem);line-height:1.02;max-width:900px}.house-page .chamber-hero .mosaic-card{padding:28px 0 22px;margin-top:24px}.house-page .house-control-numbers strong{font-size:clamp(3rem,6vw,5rem)}.house-page .house-mosaic{max-width:850px;margin:22px auto 0;gap:6px}.house-page .house-summary{margin:28px 0}.house-page .house-summary .meaning-ribbon{padding:20px 0}.house-page .house-mosaic+.mosaic-sentence{font-size:1rem;margin-top:14px}
.house-page .chamber-hero h1{font-size:clamp(2.5rem,4.4vw,4.2rem);max-width:none}.house-page .house-summary .seat-summary-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.house-page .house-summary .seat-summary-ribbon span{min-width:0}.house-page .house-summary .seat-summary-ribbon strong{font-size:1.6rem}.house-page .house-input-table td{text-align:right}
@media(max-width:720px){.house-browser-toolbar{grid-template-columns:1fr 1fr;padding:14px;gap:12px}.house-browser-toolbar label:first-child{grid-column:1/-1}.house-page .house-race-table{min-width:680px}.house-details-body{padding:18px}.house-effect{grid-template-columns:1fr 80px;gap:8px}.house-effect-track{grid-row:2;grid-column:1/-1}.house-effect>b{grid-column:2;grid-row:1}.house-chart-head{display:block}.house-chart-head p{margin-top:6px}.house-page .house-donut{width:120px;height:120px}.house-page .house-race-hero h1{font-size:2.4rem}.house-page .chamber-hero .mosaic-card{padding:22px 0}.house-page .house-mosaic{gap:4px}.house-page .house-control-numbers strong{font-size:2.8rem}.house-outcome svg text{font-size:36px}.house-page .house-summary .seat-summary-ribbon{grid-template-columns:1fr 1fr;gap:16px}.house-page .house-summary .seat-summary-ribbon span{padding:0;border:0}}
