:root{--bg-base: #FFFFFF;--bg-panel: #FFFFFF;--bg-panel-alt: #fafafa;--text-main: #000000;--text-muted: #666666;--text-dark: #333333;--color-dem: #0033A0;--color-gop: #C90016;--color-pro: #0033A0;--color-anti: #C90016;--color-mixed: #B8860B;--color-unknown: #737373;--color-alert: #C90016;--border-light: #E5E5E5;--accent-yellow: #FFB81C;--accent-gold: #FFB81C;--accent-orange: #FFB81C;--bg: var(--bg-base);--card: var(--bg-panel);--border: var(--border-light);--text: var(--text-muted);--dim: var(--text-muted);--white: var(--text-main);--green: var(--color-pro);--green-bg: rgba(0, 51, 160, .08);--red: var(--color-anti);--red-bg: rgba(201, 0, 22, .08);--amber: var(--color-alert);--amber-bg: rgba(255, 184, 28, .15);--blue: #0033A0;--blue-bg: rgba(0, 51, 160, .08);--gray: var(--color-unknown);--gray-bg: rgba(0, 0, 0, .06);--color-rep: #C90016}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--text-main);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.font-mono{font-family:Space Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace!important}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}::selection{background-color:var(--text-main);color:var(--bg-base)}#root{display:flex;min-height:100vh}.app-layout{display:flex;width:100%;min-height:100vh}.sidebar{width:256px;background:var(--bg-base);border-right:1px solid var(--border-light);border-right-width:2px;padding:0;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:100;display:flex;flex-direction:column}.sidebar-logo{padding:24px;border-bottom:2px solid var(--text-main)}.sidebar-logo h1{font-family:Merriweather,Georgia,serif;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text-main);margin:0;display:flex;align-items:center;gap:8px;text-transform:uppercase}.sidebar-logo .sub{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-top:4px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:16px 12px;flex:1}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:0;border-left:4px solid transparent;border-bottom:1px solid var(--border-light);font-size:14px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:all .15s}.sidebar-nav a:hover{background:var(--bg-panel);color:var(--text-main);text-decoration:none}.sidebar-nav a.active{background:var(--text-main);color:var(--bg-base);font-weight:700;border-left-color:var(--text-main)}.sidebar-nav .nav-icon{font-size:1.125rem;width:24px;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}.main-content{flex:1;margin-left:256px;padding:32px;max-width:1600px;background:transparent}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}.kpi-card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:8px}.kpi-card .val{font-size:42px;font-weight:300;letter-spacing:-1px;line-height:1;color:var(--text-main)}.kpi-card .val.red{color:var(--color-anti)}.kpi-card .val.green{color:var(--color-pro)}.kpi-card .val.amber{color:var(--color-alert)}.kpi-card .label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-top:0}.section-head{display:flex;align-items:center;gap:8px;margin:28px 0 14px}.section-head h2{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);white-space:nowrap}.section-head-hint{font-size:10px;font-weight:500;color:var(--text-muted);white-space:nowrap}.section-head .line{flex:1;height:1px;background:var(--text-main);min-width:40px}.context-block{background:transparent;border:none;padding:0;margin-bottom:32px}.dashboard-header{margin-bottom:32px}.dashboard-header .context-title{font-family:Merriweather,Georgia,serif;font-size:3.5rem;font-weight:400;font-style:italic;color:var(--text-main);display:inline-block;margin:0 0 16px;letter-spacing:-.02em;line-height:1}.dashboard-header .context-subtitle{font-family:Merriweather,Georgia,serif;font-size:1.25rem;color:var(--text-muted);line-height:1.6;max-width:42rem}.dashboard-header .context-methodology{font-size:.8rem;color:var(--text-muted);margin-top:6px}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header-row svg{color:var(--text-muted)}.card-percent{font-size:2.25rem;color:var(--text-muted)}.card-subtext{font-size:11px;color:var(--text-muted);margin:-4px 0 8px}.card-source-note{font-size:9px;color:var(--text-muted)}.risk-badge{display:inline-flex;align-items:center;gap:6px;font-family:Space Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:var(--text-main);color:var(--bg-base);padding:4px 8px}.mechanics-head{margin-bottom:12px}.section-head-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);white-space:nowrap;margin:0}.section-head-title.mechanics-title{font-family:Merriweather,Georgia,serif;font-size:1.5rem;font-weight:400;font-style:italic;text-transform:none;letter-spacing:-.02em}.mechanics-to-committee-bridge{display:flex;align-items:center;gap:12px;margin:24px 0 20px;padding-left:4px}.mechanics-to-committee-bridge svg{color:var(--text-main);flex-shrink:0}.mechanics-to-committee-bridge p{margin:0;font-family:Merriweather,Georgia,serif;font-size:1.5rem;font-weight:400;font-style:italic;color:var(--text-main)}.timeline-section{margin:0 0 24px}.timeline-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-card, #fff);border:1px solid var(--border);border-radius:6px;font-size:.75rem;color:var(--text-muted);overflow-x:auto}.timeline-icon{flex-shrink:0;color:var(--text-muted)}.timeline-items{display:flex;align-items:center;gap:8px;white-space:nowrap}.timeline-item{letter-spacing:.02em}.timeline-item.timeline-past{text-decoration:line-through;opacity:.5}.timeline-item.timeline-major{font-weight:700;color:var(--text-main)}.timeline-divider{width:16px;height:1px;background:var(--border);flex-shrink:0}.chamber-filter{display:flex;gap:8px;margin:24px 0 16px}.chamber-filter-btn{padding:6px 16px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;font-family:Inter,system-ui,sans-serif;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .15s ease}.chamber-filter-btn:hover{border-color:var(--text-main);color:var(--text-main)}.chamber-filter-btn.active{background:var(--text-main);color:var(--bg-base);border-color:var(--text-main)}.races-legend{font-size:10px;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:16px}.races-legend span{white-space:nowrap}.section-note{font-size:12px;color:var(--text-muted);line-height:1.5;margin:-8px 0 16px;max-width:600px}.races-why-matter{font-family:Merriweather,Georgia,serif;font-size:1rem;line-height:1.6;color:var(--text-muted);margin:0 0 24px;max-width:42rem}.committee-title-large{font-family:Merriweather,Georgia,serif!important;font-size:1.5rem!important;font-weight:400!important;font-style:italic!important;text-transform:none!important;letter-spacing:-.02em!important}.committee-section{overflow:hidden;min-width:0;margin-top:-4px}.committee-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:16px}.committee-head-simple{display:flex;align-items:center;gap:10px;margin-bottom:4px}.committee-head-simple .committee-title-large{flex-shrink:0}.committee-head-simple .line{flex:1;min-width:40px}.committee-head-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:0}.committee-head-inner .line{flex:1;min-width:60px}.committee-intro{font-size:12px;color:var(--text-muted);font-family:Merriweather,Georgia,serif;margin:0 0 0 12px;flex-shrink:0}.committee-context-note{font-size:12px;color:var(--text-muted);margin:0 0 14px;overflow-wrap:break-word;max-width:100%}.committee-context-note strong{color:var(--text-main)}.section-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin:-6px 0 16px;max-width:560px}.races-listicle{margin:0 0 32px}.races-listicle-grid{display:flex;flex-direction:column;gap:12px}.race-impact-card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:0;border-left-width:4px;border-left-style:solid;padding:18px 20px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,box-shadow .2s}.race-impact-card:hover{border-color:var(--text-main);box-shadow:2px 2px 0 var(--text-main)}.race-impact-card.race-impact-pro{border-left-color:var(--color-pro)}.race-impact-card.race-impact-anti{border-left-color:var(--color-anti)}.race-impact-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.race-impact-headline{font-family:Merriweather,Georgia,serif;font-size:1.125rem;font-weight:600;color:var(--text-main);line-height:1.35;text-decoration:none;flex:1;min-width:0}.race-impact-headline:hover{color:var(--color-pro);text-decoration:underline}.race-impact-committee{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-pro);flex-shrink:0}.race-impact-percent{font-family:Merriweather,Georgia,serif;font-size:1.25rem;font-weight:600;color:var(--text-main);flex-shrink:0}.race-impact-subline{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0}.race-impact-bar{height:4px;background:var(--border-light);border-radius:0;overflow:hidden;margin-top:8px}.race-impact-bar-fill{height:100%;background:var(--color-pro);border-radius:0;transition:width .3s ease}.race-impact-anti .race-impact-bar-fill{background:var(--color-anti)}.key-members-desc{font-size:11px;color:var(--text-muted);margin:-4px 0 12px;line-height:1.4}.stance-legend-row{display:flex;flex-wrap:wrap;gap:16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.stance-legend{display:flex;align-items:center;gap:6px}.stance-legend.pro{color:var(--color-pro)}.stance-legend.anti{color:var(--color-anti)}.stance-legend.mixed{color:var(--color-mixed)}.stance-legend.unknown{color:var(--text-muted)}.text-mixed{color:var(--color-mixed)}.text-unknown{color:var(--color-unknown)}.stance-legend .dot{width:8px;height:8px;border-radius:0;display:inline-block}.stance-legend.pro .dot{background:var(--color-pro)}.stance-legend.anti .dot{background:var(--color-anti)}.stance-legend.mixed .dot{background:var(--color-mixed)}.stance-legend.unknown .dot{background:var(--text-muted)}.context-title{font-size:18px;font-weight:600;color:var(--text-main);margin:0 0 24px;letter-spacing:-.02em}.context-sections{display:flex;flex-direction:column;gap:20px}.context-section{display:flex;gap:16px;align-items:flex-start}.context-step{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--color-alert);color:var(--text-main);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.context-heading{font-size:14px;font-weight:600;color:var(--text-main);margin:0 0 6px}.context-text{font-size:13px;color:var(--text-muted);line-height:1.6;margin:0}.context-section strong{color:var(--text-main)}.section-intro{font-size:13px;color:var(--text-muted);line-height:1.55;margin:-6px 0 20px;max-width:720px}.probability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}@media (max-width: 900px){.probability-grid{grid-template-columns:1fr}}.probability-card{background:var(--bg-panel);border:1px solid var(--text-main);border-radius:0;padding:0;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.probability-card:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--text-main)}.probability-card .card-inner{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}.ledger-color-bar{height:6px;width:100%;display:flex}.ledger-bar-dem{background-color:var(--color-dem)}.ledger-bar-gop{background-color:var(--color-gop)}.ledger-card-accent{border-left-width:8px!important;border-left-style:solid!important;border-left-color:var(--text-main)!important}.probability-card .card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted)}.probability-card .card-value{font-family:Merriweather,Georgia,serif;font-size:80px;font-weight:400;letter-spacing:-.02em;line-height:1;color:var(--text-main)}.probability-card .card-value-link{color:inherit;text-decoration:none;cursor:pointer}.probability-card .card-value-link:hover{text-decoration:underline}.probability-card .card-value.high-risk{font-family:Merriweather,Georgia,serif;font-size:64px;font-weight:400;letter-spacing:-.02em;color:var(--text-main)}.control-bar{height:4px;border-radius:0;background:var(--border-light);display:flex;overflow:hidden;margin-top:8px}.control-bar .dem{background:var(--color-dem)}.control-bar .gop{background:var(--color-gop)}.control-labels{display:flex;justify-content:space-between;font-family:Space Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-top:6px}.control-labels .dem{color:var(--color-dem)}.control-labels .gop{color:var(--color-gop)}.risk-card-desc{font-size:12px;color:var(--text-muted);margin:0}.alert-banner{display:flex;flex-direction:column;gap:8px;background:var(--bg-panel-alt);border:1px solid var(--border-light);border-left:3px solid var(--color-alert);border-radius:6px;padding:16px 20px;margin-bottom:24px}.alert-banner .alert-title{color:var(--color-alert);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;margin:0}.alert-banner p{font-size:13px;color:var(--text-muted);margin:0;line-height:1.55}.alert-banner strong{color:var(--text-main)}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.split>*{min-width:0;overflow:hidden}@media (max-width: 900px){.split{grid-template-columns:1fr}}.committee-card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:8px;padding:24px;overflow:hidden}.committee-card h3{font-size:18px;font-weight:600;color:var(--text-main);margin-bottom:4px}.committee-card .chair-line{font-size:13px;color:var(--color-alert);margin-bottom:14px}.committee-panel{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:0;overflow:hidden;display:flex;flex-direction:column}.committee-panel-light{background:var(--bg-panel-alt);border-color:var(--border-light);min-width:0}.committee-panel-light .committee-panel-header{background:var(--bg-panel);padding:20px}.committee-panel-header-compact{padding:14px 20px!important;flex-direction:column!important;gap:4px!important}.committee-panel-header-compact .committee-panel-title{margin-bottom:0}.chair-name-compact{font-size:12px;color:var(--text-muted);font-family:Merriweather,Georgia,serif}.committee-panel-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.committee-panel-title{font-family:Merriweather,Georgia,serif;font-size:20px;font-weight:400;color:var(--text-main);margin:0}.committee-panel-subtitle{font-size:13px;color:var(--text-muted);margin:0}.badge-count{padding:2px 8px;border-radius:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:var(--bg-panel-alt);border:1px solid var(--border-light)}.chair-line-light{font-size:12px;color:var(--text-muted);font-family:Merriweather,Georgia,serif;display:flex;align-items:center;gap:8px;margin-top:4px}.chair-label{color:var(--text-muted)}.chair-name-with-initials{font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:6px}.chair-initials{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--bg-panel-alt);border:1px solid var(--border-light);font-size:10px;font-family:Inter,sans-serif}.chair-threat{text-align:right}.chair-threat-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:2px}.chair-threat-value{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-orange)}.committee-panel-header{padding:24px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:flex-start}.committee-panel-light .committee-panel-body{padding:20px;background:var(--bg-panel-alt)}.committee-panel-body{padding:24px;display:flex;flex-direction:column;gap:32px}.chair-risk{display:flex;align-items:center;justify-content:space-between;background:var(--bg-panel-alt);padding:16px 20px;border-radius:0;border-left:4px solid var(--color-alert)}.chair-risk .label-sm{display:block;margin-bottom:4px}.chair-name{font-size:20px;font-weight:500;margin:0;color:var(--text-main)}.stance-pill-anti{padding:6px 12px;border-radius:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--red-bg);color:var(--color-anti);border:1px solid rgba(239,68,68,.3)}.composition-section .label-sm{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px}.composition-label-top{display:block;margin-bottom:12px;color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px}.label-white{color:var(--text-main)!important}.composition-desc{font-size:12px;color:var(--text-muted);margin:4px 0 0}.committee-panel-light .composition-section{padding:16px;background:var(--bg-panel-alt);border-bottom:1px solid var(--border-light)}.composition-header{display:flex;justify-content:space-between;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;gap:8px;min-width:0}.composition-header .label-pro{color:var(--color-pro)}.composition-header .label-anti{color:var(--color-anti)}.unknown-count{margin-top:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:center}.committee-panel-light .stacked-bar{background:var(--border-light);border-radius:0;height:8px}.committee-panel-light .legend-row{display:none}.stacked-bar{height:12px;width:100%;background:var(--bg-panel-alt);border-radius:6px;display:flex;overflow:hidden}.stacked-segment{height:100%;transition:width .5s ease}.stacked-segment.pro{background:var(--color-pro)}.stacked-segment.anti{background:var(--color-anti)}.stacked-segment.unknown{background:var(--color-unknown)}.stacked-segment.mixed{background:var(--color-mixed)}.legend-row{display:flex;gap:24px;margin-top:4px}.legend-row .legend-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.legend-row .legend-dot{width:8px;height:8px;border-radius:50%}.legend-row .legend-dot.pro{background:var(--color-pro)}.legend-row .legend-dot.anti{background:var(--color-anti)}.legend-row .legend-dot.unknown{background:var(--color-unknown)}.key-members-section .label-sm,.member-grid-section .label-sm{display:block;margin-bottom:12px}.member-grid-section .label-sm{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.member-grid{display:flex;flex-wrap:wrap;gap:4px}.member-grid-cell{width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--bg-base);cursor:default;position:relative}.member-grid-cell.pro{background:var(--color-pro)}.member-grid-cell.anti{background:var(--color-anti)}.member-grid-cell.mixed{background:var(--color-mixed)}.member-grid-cell.unknown{background:var(--color-unknown)}.member-grid-cell .member-grid-icon{line-height:1}.member-grid-cell .member-grid-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-6px);background:var(--text-main);color:var(--bg-base);padding:5px 8px;font-size:10px;font-weight:500;line-height:1.35;white-space:nowrap;max-width:220px;z-index:10;border-radius:3px;pointer-events:none}.member-grid-cell:hover .member-grid-tooltip{display:block}.member-grid-cell.seat-in-play{outline:2px solid var(--text-main);outline-offset:1px}.member-grid-cell .member-grid-badge{position:absolute;top:2px;right:2px;font-size:8px;line-height:1;color:var(--bg-base);background:var(--text-main);width:12px;height:12px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.members-list{display:flex;flex-direction:column}.members-list-header{display:grid;grid-template-columns:2fr 1fr 1fr;padding-bottom:12px;border-bottom:1px solid var(--border-light);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.members-list-row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:12px 0;border-bottom:1px solid var(--border-light);align-items:center;font-size:13px;color:var(--text-muted)}.members-list-row.last{border-bottom:none}.member-name{font-weight:500;color:var(--text-main)}.member-name a{color:var(--color-pro);text-decoration:underline;text-underline-offset:2px}.member-name a:hover{color:#4ade80}.member-state{color:var(--text-muted)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:middle}.status-dot.pro{background:var(--color-pro)}.status-dot.anti{background:var(--color-anti)}.status-dot.mixed{background:var(--color-alert)}.status-dot.unknown{background:var(--color-unknown)}.donut-row{display:flex;align-items:center;gap:20px}.donut-container{position:relative;width:120px;height:120px;flex-shrink:0}.donut-container svg{width:120px;height:120px}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-center .num{font-size:1.4rem;font-weight:800;color:var(--white);line-height:1}.donut-center .lbl{font-size:.6rem;color:var(--dim)}.legend{display:flex;flex-direction:column;gap:6px}.legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.roster-strip{display:flex;gap:3px;flex-wrap:wrap;margin:8px 0}.roster-cell{width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:#ffffffb3;cursor:default;position:relative}.roster-cell.pro{background:#2fe5a740}.roster-cell.anti{background:#1f68ff40}.roster-cell.mixed{background:#e83e8c33}.roster-cell.unknown{background:#5c617a33}.roster-cell .tooltip{display:none;position:absolute;bottom:38px;left:50%;transform:translate(-50%);background:#1a1a2a;border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:.7rem;white-space:nowrap;z-index:10;color:var(--text);font-weight:400}.roster-cell:hover .tooltip{display:block}.race-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.race-card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:0;padding:16px 20px;position:relative;overflow:hidden;cursor:pointer;transition:all .2s}.race-card.race-card-impact-style{position:relative;padding:14px 16px;border-left-width:4px;border-left-style:solid;display:flex;flex-direction:column;gap:5px;min-width:0}.race-card-impact-style.race-card.stance-pro{border-left-color:var(--color-pro)}.race-card-impact-style.race-card.stance-anti{border-left-color:var(--color-anti)}.race-card-impact-style.race-card.stance-unknown,.race-card-impact-style.race-card.stance-mixed{border-left-color:var(--color-unknown)}.race-card-headline{font-family:Merriweather,Georgia,serif;font-size:1rem;font-weight:600;color:var(--text-main);line-height:1.35}.race-card-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.race-card-grade-stance{display:flex;align-items:center;gap:6px;font-size:11px}.race-card-grade-stance .grade-muted{color:var(--text-muted)}.race-card-grade-stance .stance{font-weight:600}.race-card-grade-stance .stance-pro{color:var(--color-pro)}.race-card-grade-stance .stance-anti{color:var(--color-anti)}.race-card-grade-stance .stance-unknown,.race-card-grade-stance .stance-mixed{color:var(--text-muted)}.race-card.race-card-impact-style.has-percent{padding-right:64px}.race-card-percent{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:Merriweather,Georgia,serif;font-size:1rem;font-weight:600;color:var(--text-main)}.race-card-source-note{font-size:.65rem;font-weight:400;color:var(--text-muted);font-family:Inter,sans-serif}.race-card-subline{font-size:11px;color:var(--text-muted);line-height:1.4;margin:2px 0 0}.race-card.has-percent .race-card-subline{padding-right:52px}.race-card-bar{height:3px;background:var(--border-light);border-radius:0;overflow:hidden;margin-top:6px}.race-card-bar-fill{height:100%;border-radius:0;transition:width .3s ease}.race-card-bar-fill.fill-safe{background:var(--color-pro)}.race-card-bar-fill.fill-lean{background:var(--color-alert)}.race-card-bar-fill.fill-toss{background:var(--color-anti)}.race-card-bar-fill.fill-stance-pro{background:var(--color-pro)}.race-card-bar-fill.fill-stance-anti{background:var(--color-anti)}.race-card-bar-fill.fill-stance-mixed{background:var(--color-mixed)}.race-card-bar-fill.fill-stance-unknown{background:var(--color-unknown)}.race-card:hover{border-color:var(--text-main);box-shadow:2px 2px 0 var(--text-main)}.race-card.high{border-left:3px solid var(--color-anti)}.race-card.positive{border-left:3px solid var(--color-pro)}.race-card.medium{border-left:3px solid var(--color-alert)}.race-card.low{border-left:3px solid var(--color-unknown)}.race-card.race-card-hfsc{background:linear-gradient(90deg,rgba(0,51,160,.05) 0%,var(--bg-panel) 12%)}.race-card.race-card-hfsc .race-card-headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.race-card.race-card-hfsc .race-card-hfsc-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600;letter-spacing:.5px;background:#0033a01f;color:var(--color-pro)}.race-card.race-card-voted{background:linear-gradient(90deg,rgba(34,139,34,.05) 0%,var(--bg-panel) 12%)}.race-card.race-card-voted .race-card-headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.race-card .race-card-voted-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600;letter-spacing:.5px;background:#228b221f;color:var(--green, #228b22)}.race-card-chamber-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600;letter-spacing:.5px;background:#0000000f;color:var(--text-muted);vertical-align:middle;margin-left:4px}.race-card-chamber-senate{background:#8b5cf61a;color:#7c3aed}.race-card-chamber-house{background:#3b82f61a;color:#2563eb}.race-card:not(.race-card-impact-style) .district{font-size:13px;font-weight:600;color:var(--text-main)}.race-card:not(.race-card-impact-style) .candidate-name{font-size:13px;color:var(--text-muted);margin-top:4px}.race-card .meta{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:.65rem;font-weight:600}.pill-pro{background:var(--green-bg);color:var(--color-pro)}.pill-anti{background:var(--red-bg);color:var(--color-anti)}.pill-unknown{background:var(--gray-bg);color:var(--color-unknown)}.pill-mixed{background:var(--amber-bg);color:var(--color-alert)}.pill-market{background:var(--bg-panel-alt);color:var(--text-muted)}.pill-hfsc{background:#3b82f626;color:var(--blue)}.pill-voted{background:#228b221f;color:var(--green, #228b22)}.pill-low-volume{background:var(--amber-bg);color:var(--amber);font-size:.7rem}.race-card-date{color:var(--text-muted);font-weight:500}.race-card-low-volume{font-size:.65rem;color:#b45309;font-weight:500;font-family:Inter,sans-serif}.race-card .note{font-size:.72rem;color:var(--dim);margin-top:8px;line-height:1.4}.market-bar{height:4px;border-radius:0;background:var(--border-light);margin-top:10px;position:relative}.market-bar .fill{height:100%;border-radius:2px;position:absolute;left:0;top:0}.market-bar .fill.safe{background:var(--color-pro)}.market-bar .fill.lean{background:var(--color-alert)}.market-bar .fill.toss{background:var(--color-anti)}.spotlight{background:var(--bg-panel-alt);border:1px solid var(--border-light);border-left:3px solid var(--color-pro);border-radius:6px;padding:20px;margin-bottom:16px}.spotlight .badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-pro);background:#2fe5a726;padding:4px 10px;border-radius:4px;margin-bottom:8px}.spotlight h3{font-size:1rem;color:var(--white);margin-bottom:10px}.spotlight .comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.spotlight .person{text-align:center}.spotlight .person .name{font-size:.85rem;font-weight:700;color:var(--white)}.spotlight .person .grade-big{font-size:2rem;font-weight:900;line-height:1.2}.spotlight .person .detail{font-size:.7rem;color:var(--dim)}.spotlight .arrow{font-size:1.5rem;color:var(--green)}.spotlight .caveat{font-size:.72rem;color:var(--dim);margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05)}.scenario-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.scenario-row{display:flex;align-items:center;gap:12px;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:6px;padding:10px 14px;font-size:13px}.scenario-row .race-label{flex:1;color:var(--white);font-weight:600}.scenario-row .race-stance{font-size:.7rem;color:var(--dim)}.toggle-group{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.toggle-group button{padding:4px 12px;font-size:.7rem;font-weight:600;border:none;background:var(--card);color:var(--dim);cursor:pointer;transition:all .15s}.toggle-group button.active-dem{background:#3b82f633;color:var(--blue)}.toggle-group button.active-rep{background:#e5393533;color:var(--color-rep)}.toggle-group button.active-default{background:#ffffff14;color:var(--text-muted)}.score-gauge{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:8px;padding:24px;text-align:center;margin-bottom:24px}.score-gauge .score-value{font-size:3.5rem;font-weight:900;line-height:1}.score-gauge .score-label{font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.8px;margin-top:8px}.score-gauge .score-bar{height:8px;border-radius:4px;background:#ffffff0f;margin-top:16px;overflow:hidden}.score-gauge .score-bar .score-fill{height:100%;border-radius:4px;transition:width .5s ease,background .5s ease}.race-detail-header{margin-bottom:24px}.race-detail-header .back-link{font-size:.75rem;color:var(--dim);margin-bottom:12px;display:inline-block}.race-detail-header h2{font-size:1.3rem;color:var(--white);font-weight:800}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 700px){.detail-grid{grid-template-columns:1fr}}.detail-card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:6px;padding:20px}.detail-card h4{font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px}.detail-card .big-stat{font-size:2.5rem;font-weight:900;line-height:1}.detail-card .stat-label{font-size:.7rem;color:var(--dim);margin-top:4px}.profile-page{min-height:100vh;padding:32px 24px;background:var(--bg-base)}.profile-container{max-width:80rem;margin:0 auto;padding:0}@media (max-width: 768px){.profile-page{padding:20px 16px}}.profile-main-card{background:var(--bg-panel);border:1px solid var(--border-light);padding:32px 40px}@media (max-width: 768px){.profile-main-card{padding:24px 20px}}.profile-hero.profile-hero-in-card{margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--border-light)}.profile-hero-in-card{display:flex;flex-direction:row;align-items:center;gap:28px;flex-wrap:wrap}.profile-portrait-wrap{position:relative;flex-shrink:0}.profile-portrait{width:120px;height:120px;border:1px solid var(--border-light);overflow:hidden;background:var(--bg-panel-alt)}@media (min-width: 768px){.profile-portrait{width:140px;height:140px}}.profile-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.profile-hero-content{flex:1;min-width:0}.profile-tags{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.profile-tag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--text-main);background:transparent;padding:0 0 3px;border-bottom:1px solid var(--text-main)}.profile-tag-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--text-main);color:var(--bg-panel);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.profile-name{font-family:Libre Baskerville,Georgia,serif;font-size:2.25rem;font-weight:700;line-height:1.1;margin:0}@media (min-width: 768px){.profile-name{font-size:2.75rem}}.profile-hero-tagline{font-size:.95rem;font-style:italic;color:var(--text-muted);line-height:1.5;margin:12px 0 0;max-width:36rem}.profile-tagline{font-size:1rem;color:var(--text-muted);line-height:1.6;font-style:italic;max-width:42rem}.profile-grid{display:grid;grid-template-columns:1fr;gap:48px}@media (min-width: 1024px){.profile-grid{grid-template-columns:7fr 5fr}}.profile-grid-two-cards{grid-template-columns:1fr;gap:32px;margin-top:0}@media (min-width: 768px){.profile-grid-two-cards{grid-template-columns:1.6fr .8fr;gap:40px;align-items:start}}.profile-summary-col .profile-section-label{display:block;margin-bottom:6px;font-size:9px}.profile-summary-col .profile-section-title{margin-bottom:16px;border:none;padding:0;font-size:1.25rem;font-family:Libre Baskerville,Georgia,serif}.profile-summary-footer{display:flex;flex-wrap:wrap;gap:20px}.profile-footer-icon{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.profile-footer-icon svg{color:var(--text-muted);flex-shrink:0}.profile-market-col{display:flex;flex-direction:column;gap:20px}.profile-market-aggregator{background:var(--bg-panel);border:1px solid var(--text-main);border-radius:0;padding:16px 20px}.profile-market-aggregator-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.profile-market-aggregator .profile-section-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.profile-market-aggregator-icon{color:var(--text-muted);flex-shrink:0}.profile-market-value{font-family:Libre Baskerville,Georgia,serif;font-size:3rem;font-weight:700;letter-spacing:-.02em;color:var(--text-main);margin:0 0 14px;line-height:1}.profile-market-value span{font-size:1.25rem;vertical-align:.35em}.profile-market-split-bar{height:4px;margin-bottom:6px}.profile-market-bar{height:4px;background:var(--border-light);margin-bottom:8px}.profile-market-bar-fill{height:100%;background:var(--color-pro);transition:width .4s ease}.profile-market-split-labels{display:flex;justify-content:space-between;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}.profile-market-split-labels a{color:var(--color-pro);text-decoration:none;font-weight:800}.profile-market-split-labels a:hover{text-decoration:underline}.profile-market-footer-note{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0;line-height:1.4;text-align:center}.profile-action-links{display:flex;flex-direction:column;gap:8px}.profile-action-links a{font-size:12px;font-weight:500;color:var(--color-pro)}.profile-action-links a:hover{text-decoration:underline}.profile-other-candidates{margin-top:40px}.profile-main{display:flex;flex-direction:column;gap:48px}.profile-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;padding-bottom:8px;border-bottom:1px solid var(--text-main)}.profile-section-title{font-family:Libre Baskerville,Georgia,serif;font-size:1.5rem;font-weight:700}.profile-section-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}.accent-bar{height:3px;width:100%;display:flex}.accent-bar-blue{background:var(--color-pro);flex:1}.accent-bar-red{background:var(--color-anti);flex:1}.legislative-card{border:1px solid var(--text-main);overflow:hidden;background:var(--bg-panel);transition:background .2s}.legislative-card:hover{background:#fafafa}.legislative-card-inner{padding:16px;display:flex;flex-direction:column;gap:16px}@media (min-width: 768px){.legislative-card-inner{flex-direction:row;justify-content:space-between;align-items:center}}.legislative-card-title{font-weight:700;font-size:1rem;margin-bottom:2px}.legislative-card-desc{font-size:13px;color:var(--text-muted)}.legislative-card-meta{display:flex;align-items:center;gap:24px}.legislative-meta-item{text-align:right}.legislative-meta-label{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.legislative-meta-value{font-size:11px;font-weight:700;text-transform:uppercase}.legislative-meta-value.vetoed{color:var(--color-anti)}.legislative-meta-value.vote{font-size:1.125rem;font-weight:800;font-style:italic}.legislative-meta-value.mono{font-family:Space Mono,monospace;font-size:11px;font-weight:500}.profile-professional-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--text-main);border:1px solid var(--text-main);overflow:hidden}@media (max-width: 768px){.profile-professional-grid{grid-template-columns:1fr}}.profile-professional-cell{background:var(--bg-panel);padding:24px}.profile-professional-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);display:block;margin-bottom:16px}.profile-professional-item{margin-bottom:12px}.profile-professional-item:last-child{margin-bottom:0}.profile-professional-item strong{font-weight:700;font-size:1rem}.profile-professional-item p{font-size:13px;color:var(--text-muted);margin-top:2px}.profile-summary-quote{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);font-size:13px;line-height:1.6;color:var(--text-dark);font-style:italic;font-family:Libre Baskerville,Georgia,serif}.profile-sidebar{display:flex;flex-direction:column;gap:40px}.profile-market-card{border:1px solid var(--text-main);padding:24px;background:var(--bg-panel);position:relative}.profile-market-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);display:block;margin-bottom:24px}.profile-market-value{font-family:Libre Baskerville,Georgia,serif;font-size:3.75rem;font-weight:700;letter-spacing:-.02em}.profile-market-value span{font-size:2rem}.profile-market-split{margin-top:24px}.profile-market-split-bar{height:4px;display:flex;margin-bottom:8px}.profile-market-split-labels{display:flex;justify-content:space-between;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.profile-market-footer{margin-top:24px;font-size:8px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;line-height:1.4}.profile-statements-title{font-family:Libre Baskerville,Georgia,serif;font-size:1.125rem;font-weight:700;display:flex;align-items:center;gap:12px}.profile-statements-title:after{content:"";flex:1;height:1px;background:var(--text-main)}.profile-statement{position:relative;padding-left:16px;border-left:2px solid var(--text-main);margin-bottom:24px}.profile-statement:last-child{margin-bottom:0}.profile-statement-text{font-family:Libre Baskerville,Georgia,serif;font-size:1rem;font-style:italic;line-height:1.6;margin-bottom:12px}.profile-statement-meta{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.profile-footer{margin-top:64px;padding-top:32px;border-top:1px solid var(--text-main);text-align:center}.profile-footer-text{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4em}.profile-links{font-size:.75rem;color:var(--text-muted);display:flex;flex-direction:column;gap:6px;margin-top:12px}.profile-links a:hover{text-decoration:underline}.alert-config-card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:6px;padding:20px;margin-bottom:12px}.alert-config-card h4{font-size:.85rem;color:var(--white);margin-bottom:12px}.alert-config-card .config-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.alert-config-card label{font-size:.75rem;color:var(--text);flex:1}.alert-config-card input[type=number]{width:70px;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--white);font-size:.8rem;font-family:Inter,sans-serif}.alert-config-card input[type=checkbox]{accent-color:var(--blue)}.races-table-wrapper{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.races-table{width:100%;border-collapse:collapse}.races-table th{font-size:.65rem;color:var(--dim);text-transform:uppercase;letter-spacing:.8px;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-weight:600;white-space:nowrap;background:var(--card);position:sticky;top:0}.races-table td{font-size:.78rem;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text)}.races-table tr{cursor:pointer;transition:background .1s}.races-table tbody tr:hover{background:#ffffff08}.races-table .stance-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.digital-assets-head{margin-top:32px;margin-bottom:8px}.digital-assets-brief{margin:24px 0 32px}.digital-assets-brief p{font-family:Merriweather,Georgia,serif;font-size:.95rem;line-height:1.6;color:var(--text-muted);margin:0}.subcommittee-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:12px}.subcommittee-desc strong{color:var(--text-main)}.subcommittee-card{background:#f9fafb80;border:1px solid var(--border-light);border-radius:0;padding:20px;margin-bottom:12px}.subcommittee-card h4{font-family:Merriweather,Georgia,serif;font-size:18px;font-weight:700;color:var(--text-main);margin:0 0 12px}.subcommittee-member{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px}.subcommittee-member .rm-badge{font-size:.6rem;color:var(--amber);font-weight:700}.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-btn{padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--dim);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.filter-btn:hover{border-color:var(--text);color:var(--text)}.filter-btn.active{background:var(--text-main);color:var(--bg-base);border-color:var(--text-main)}.footnote{color:var(--text-muted);font-size:.65rem;margin-top:24px;padding-top:12px;border-top:1px solid var(--border-light)}.mechanics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:4px}@media (max-width: 900px){.mechanics-grid{grid-template-columns:1fr}}.mechanics-card{background:#f9fafb80;border:1px solid var(--border-light);border-radius:0;padding:20px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;position:relative;overflow:hidden;transition:border-color .2s}.mechanics-card:hover{border-color:var(--text-main)}.mechanics-card.mechanics-red:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-gold)}.mechanics-card.mechanics-yellow:before,.mechanics-card.mechanics-green:before{display:none}.mechanics-card .mechanics-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-main)}.mechanics-card h4{font-family:Merriweather,Georgia,serif;font-size:16px;font-weight:700;color:var(--text-main);margin:0;line-height:1.35}.mechanics-card p{font-size:14px;color:var(--text-muted);line-height:1.55;margin:0}.mechanics-card-footnote{font-size:12px!important;color:var(--text-muted);margin:12px 0 0!important;line-height:1.5}.methodology-page{padding:0}.methodology-title{font-family:Merriweather,Georgia,serif;font-size:2.25rem;font-weight:400;font-style:italic;color:var(--text-main);background:var(--accent-gold);padding:4px 8px;display:inline-block;margin:0 0 32px}.methodology-placeholder{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:0;padding:48px;display:flex;align-items:center;justify-content:center}.methodology-placeholder p{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}@media (max-width: 768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px;max-width:100%}.dashboard-header .context-title{font-size:2rem;margin-bottom:10px}.dashboard-header .context-subtitle{font-size:1rem}.probability-grid{grid-template-columns:1fr!important}.probability-card .card-value,.probability-card .card-value-link{font-size:2.5rem}.mechanics-grid{grid-template-columns:1fr}.mechanics-card h4{font-size:14px}.mechanics-card p{font-size:13px}.section-head{flex-wrap:wrap}.committee-head{flex-direction:column}.stance-legend-row{width:100%}.split{grid-template-columns:1fr!important}.committee-title-large{font-size:1.1rem!important}.mechanics-to-committee-bridge p{font-size:1.1rem}.timeline-bar{padding:8px 12px;gap:6px;font-size:.65rem}.timeline-items{gap:6px}.chamber-filter{flex-wrap:wrap}.race-impact-main{flex-wrap:wrap;gap:4px}.race-impact-headline{font-size:.95rem;flex-basis:100%}.race-impact-committee{font-size:9px}.race-impact-percent{font-size:1rem}.race-impact-subline{font-size:12px}.races-why-matter{font-size:.9rem}.digital-assets-brief p{font-size:.85rem}.profile-page,.profile-main-card{padding:20px 16px}.profile-hero-in-card{flex-direction:column;align-items:flex-start;gap:16px}.profile-portrait{width:80px;height:80px}.profile-name{font-size:1.75rem}.profile-tags{gap:8px}.profile-tag{font-size:8px}.profile-tag-badge{font-size:8px;padding:3px 8px}.profile-hero-tagline{font-size:.85rem}.profile-grid-two-cards{grid-template-columns:1fr}.profile-market-aggregator{padding:14px 16px}.profile-market-value{font-size:2.5rem}.profile-section-title{font-size:1.1rem}.profile-section-header{margin-bottom:16px}.race-card.race-card-impact-style.has-percent{padding-right:16px}.race-card-percent{position:static;transform:none;font-size:.9rem;margin-top:4px}.race-card-headline{font-size:.9rem}}.embed-page{max-width:1100px;margin:0 auto;padding:24px;background:var(--bg-base)}@media (max-width: 800px) and (max-height: 500px){.embed-page{padding:12px 16px;max-width:100%}.embed-page .probability-grid{gap:8px;grid-template-columns:repeat(3,1fr)}.embed-page .probability-card .card-inner{padding:12px 14px;gap:6px}.embed-page .probability-card .card-label{font-size:8px}.embed-page .probability-card .card-value{font-size:36px}.embed-page .probability-card .card-value.high-risk{font-size:28px}.embed-page .probability-card .card-header-row svg{width:14px;height:14px}.embed-page .card-subtext{font-size:10px}.embed-page .control-bar{height:3px}.embed-page .control-labels{font-size:8px}.embed-page .ledger-color-bar{height:4px}.embed-page .risk-card-desc{font-size:10px}.embed-page .risk-badge{font-size:9px;padding:2px 6px}.embed-page .mechanics-section{margin-top:12px}.embed-page .section-head.mechanics-head{margin-bottom:8px}.embed-page .mechanics-title{font-size:13px!important}.embed-page .mechanics-grid{gap:8px}.embed-page .mechanics-card{padding:12px;gap:6px}.embed-page .mechanics-card .mechanics-icon{width:24px;height:24px}.embed-page .mechanics-card .mechanics-icon svg{width:20px;height:20px}.embed-page .mechanics-card h4{font-size:12px}.embed-page .mechanics-card p{font-size:11px}.embed-page .committee-title-large{font-size:14px!important}.embed-page .committee-context-note{font-size:11px}.embed-page .split{gap:10px}.embed-page .committee-panel .committee-panel-header{padding:10px 14px}.embed-page .committee-panel .committee-panel-title{font-size:14px}.embed-page .committee-panel .chair-name-compact,.embed-page .committee-panel .member-grid-cell{font-size:10px}.embed-page .committee-panel .composition-label-top,.embed-page .committee-panel .label-pro,.embed-page .committee-panel .label-anti{font-size:9px}.embed-page .digital-assets-brief p{font-size:11px}.embed-page .races-why-matter{font-size:12px}.embed-page .race-impact-card{padding:10px}.embed-page .race-impact-headline{font-size:13px}.embed-page .race-impact-percent{font-size:20px}.embed-page .race-impact-subline{font-size:11px}}.us-map-section{margin-bottom:32px}.us-map-section .section-head{margin-bottom:16px}.us-map-wrapper{position:relative;background:var(--bg-panel);border:1px solid var(--border-light);padding:16px 8px 8px}.us-map-svg{width:100%;height:auto;display:block}.us-map-svg path{transition:opacity .15s}.map-tooltip{position:fixed;z-index:100;background:var(--bg-panel);border:1px solid var(--text-main);padding:8px 12px;font-size:.75rem;line-height:1.4;color:var(--text-main);pointer-events:none;white-space:nowrap;box-shadow:2px 2px #00000014}.map-popover{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:110;background:var(--bg-panel);border:1px solid var(--text-main);padding:16px 20px;min-width:240px;max-width:340px;box-shadow:4px 4px #0000001a}.map-popover strong{display:block;font-family:Merriweather,Georgia,serif;font-size:.95rem;margin-bottom:10px}.map-popover-list{display:flex;flex-direction:column;gap:6px}.map-popover-item{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;font-size:.8rem;border:1px solid var(--border-light);transition:background .15s,border-color .15s}.map-popover-item:hover{background:var(--bg-panel-alt);border-color:var(--text-main)}.map-popover-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stance-dot-pro{background:var(--color-pro)}.stance-dot-anti{background:var(--color-anti)}.stance-dot-mixed{background:var(--color-mixed)}.stance-dot-unknown{background:var(--color-unknown)}.map-popover-pct{margin-left:auto;font-weight:600;color:var(--text-muted);font-size:.75rem}.map-legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:10px 0 4px;font-size:.7rem;color:var(--text-muted)}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}@media (max-width: 768px){.us-map-wrapper{padding:8px 4px 4px}.map-popover{min-width:200px}}.race-profile-header{margin-bottom:32px}.race-profile-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.race-chamber-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}.race-hfsc-badge{font-size:10px;font-weight:700;background:var(--accent-gold);color:#000;padding:1px 6px;border-radius:3px;letter-spacing:.03em}.race-district-title{font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:700;margin:8px 0 12px;color:var(--text-main);line-height:1.15}.race-subtitle{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:15px;color:var(--text-muted);line-height:1.5;margin:0}.candidate-card-v2{background:var(--bg-panel-alt, #fafafa);border-radius:6px;border:1px solid var(--border);overflow:hidden}.candidate-card-topbar{height:3px;width:100%}.candidate-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 16px 0}.candidate-card-header-left{display:flex;gap:12px;align-items:flex-start}.candidate-card-avatar{width:44px;height:44px;border-radius:50%;background:#e8e5e0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#666;flex-shrink:0}.candidate-card-info{display:flex;flex-direction:column;gap:2px}.candidate-card-role{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.03em}.candidate-card-name{font-size:18px;font-weight:600;color:var(--text-main)}.candidate-card-links{display:flex;gap:8px;margin-top:4px}.candidate-card-links a{color:var(--text-muted);opacity:.5;transition:opacity .15s}.candidate-card-links a:hover{opacity:1}.candidate-card-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.candidate-card-grade{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700}.candidate-card-divider{border:none;border-top:1px solid var(--border-light, #e5e5e5);margin:12px 16px 0}.candidate-card-votes{padding:12px 16px 16px}.candidate-card-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);font-weight:600;margin-bottom:8px}.candidate-card-vote-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;border-bottom:1px solid var(--border-light, #eee)}.candidate-card-vote-row:last-child{border-bottom:none}.candidate-card-vote-bill{font-weight:500;color:var(--text-main)}.candidate-card-vote-result{display:flex;align-items:center;gap:6px;font-weight:500;font-size:13px}.vote-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.vote-yes{color:#1a56db}.vote-yes .vote-dot{background:#1a56db}.vote-no{color:#c0392b}.vote-no .vote-dot{background:#c0392b}.candidate-card-stance-basis{padding:12px 16px 16px}.candidate-card-stance-basis ul{list-style:none;margin:0;padding:0}.candidate-card-stance-basis li{position:relative;padding-left:16px;font-size:13px;line-height:1.6;color:var(--text-main);margin-bottom:4px}.candidate-card-stance-basis li:before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%}.candidate-card-stance-basis li.stance-positive:before{background:#1a56db}.candidate-card-stance-basis li.stance-negative:before{background:#c0392b}.candidate-card-stance-basis li.stance-neutral:before{background:#bbb}.race-matchup-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;margin:0}.race-matchup-grid.single-candidate{grid-template-columns:1fr}.race-matchup-vs{font-size:13px;color:var(--dim);font-weight:600;padding-top:24px;text-align:center}.race-probability-section{margin-bottom:24px}.race-probability-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);margin:0 0 12px;font-weight:600}.race-probability-row{display:flex;align-items:center;gap:12px;margin-bottom:6px}.race-probability-source-label{font-size:13px;color:var(--text-muted);min-width:100px;flex-shrink:0}.race-probability-source-label a{color:var(--text-muted);text-decoration:none}.race-probability-source-label a:hover{text-decoration:underline}.race-probability-pct{font-size:14px;font-weight:600;color:var(--text-main);min-width:40px;text-align:right}.race-probability-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.race-probability-bar-fill{height:100%;background:var(--color-dem);border-radius:3px;transition:width .3s ease}.race-probability-bar-runoff{background:var(--color-mixed, #B8860B)}.race-probability-note{font-size:12px;color:var(--dim);margin:4px 0 0}.race-probability-market-links{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;color:var(--dim);margin:10px 0 0;line-height:1.4}.race-probability-market-links a{color:var(--text-muted);text-decoration:none;flex-shrink:0}.race-probability-market-links a:hover{text-decoration:underline;color:var(--text-dark)}.race-divider{border:none;border-top:1px solid var(--border);margin:24px 0}.race-next-date-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-dem);margin-right:8px;vertical-align:middle}.race-context{margin:0;padding:0}.race-context h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);margin:0 0 12px;font-weight:600}.race-context p{font-size:15px;line-height:1.7;color:var(--text-main);margin:0}.race-context p strong{font-weight:700}.runoff-notice{background:#fef3c7;color:#b7860b;font-size:13px;font-weight:500;padding:10px 16px;border-radius:6px;margin-bottom:20px}.race-next-date{margin:12px 0 8px;font-size:13px;color:var(--dim);display:flex;align-items:center}@media (max-width: 768px){.race-matchup-grid{grid-template-columns:1fr;gap:12px}.race-matchup-vs{padding:0;text-align:left}.race-district-title{font-size:28px}}
