:root{color:#dbe4f2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#38bdf82e,#0000 34%),linear-gradient(#020617 0%,#0f172a 45%,#111827 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}a{color:inherit}a:hover{opacity:.94}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;color:#f8fafc;max-width:11ch;margin:.6rem 0 1rem;font-size:clamp(2.6rem,5vw,4.8rem);line-height:.98}h2{color:#f8fafc;font-size:clamp(1.55rem,2vw,2.2rem);line-height:1.1}p{color:#cbd5e1}.app-shell{gap:22px;width:min(1380px,100% - 32px);margin:0 auto;padding:28px 0 44px;display:grid}.status-shell{align-items:center;min-height:100vh}.bill-count{background:#0f172ac7;border:1px solid #94a3b82e;border-radius:999px;align-items:baseline;gap:10px;padding:10px 16px;display:inline-flex;box-shadow:0 12px 40px #0206173d}.bill-count strong{color:#f8fafc;font-size:1.15rem}.view-tabs,.role-tabs{flex-wrap:wrap;gap:10px;display:flex}.view-tabs button,.role-tabs button{color:#cbd5e1;font:inherit;cursor:pointer;background:#0f172ab8;border:1px solid #94a3b838;border-radius:999px;padding:.58rem .95rem}.view-tabs button.active,.role-tabs button.active{color:#f8fafc;background:#082f49c7;border-color:#38bdf8ad}.compact-tabs{justify-content:flex-end}.map-panel,.detail-card,.cluster-list-card,.legislator-workspace,.legislator-detail-card,.status-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172ac7;border:1px solid #94a3b82e;border-radius:26px;box-shadow:0 24px 80px #02061752}.workspace-grid{grid-template-columns:minmax(0,1.6fr) minmax(340px,.8fr);align-items:start;gap:22px;display:grid}.stat-label,.section-kicker,.detail-label{text-transform:uppercase;letter-spacing:.16em;color:#38bdf8;font-size:.73rem;display:block}.map-panel,.detail-card,.cluster-list-card,.legislator-workspace,.legislator-detail-card,.status-card{padding:24px}.panel-header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.search-box{color:#cbd5e1;gap:8px;min-width:min(320px,100%);font-size:.88rem;display:grid}.search-box input{color:#f8fafc;font:inherit;background:#0f172aa6;border:1px solid #94a3b840;border-radius:14px;padding:.8rem .95rem}.stage-filter{align-items:center;gap:8px;margin-top:-4px;padding:4px 2px 14px;display:flex;overflow-x:auto}.stage-filter button{color:#cbd5e1;font:inherit;cursor:pointer;white-space:nowrap;background:#0f172aa8;border:1px solid #94a3b838;border-radius:999px;flex:none;padding:.48rem .78rem;font-size:.82rem;position:relative}.stage-filter button:not(:last-child):after{content:"";background:#94a3b847;width:8px;height:1px;position:absolute;top:50%;right:-9px}.stage-filter button.active{color:#f8fafc;background:#082f49c7;border-color:#38bdf8ad}.map-frame{background:linear-gradient(#080f20d6,#070a15f5);border:1px solid #94a3b824;border-radius:22px;position:relative;overflow:visible}.map-svg{border-radius:22px;width:100%;height:auto;display:block}.map-magnifier{z-index:3;will-change:transform;pointer-events:auto;background:#020617fa;border:2px solid #7dd3fcd9;border-radius:999px;width:168px;height:168px;position:absolute;top:0;left:0;overflow:hidden;transform:translate(0,0);box-shadow:0 18px 40px #0206178c,0 0 0 4px #0f172aeb}.map-magnifier-hidden{visibility:hidden;pointer-events:none}.map-magnifier-svg{width:100%;height:100%;display:block}.map-point{cursor:pointer}.map-background{fill:#020617f2;cursor:default}.detail-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.clear-selection{color:#cbd5e1;font:inherit;cursor:pointer;background:#1e293b8c;border:1px solid #94a3b838;border-radius:999px;padding:.35rem .75rem;font-size:.82rem}.clear-selection:hover{color:#f8fafc;border-color:#38bdf88c}.grid-lines{pointer-events:none}.grid-lines line{stroke:#94a3b82e;stroke-width:1px;stroke-dasharray:5 8}.sidebar-stack{gap:22px;display:grid}.chip-row{flex-wrap:wrap;gap:10px;margin:12px 0 14px;display:flex}.cluster-chip,.bill-chip{color:#020617;border-radius:999px;align-items:center;padding:.42rem .78rem;font-size:.84rem;font-weight:700;display:inline-flex}.bill-chip{color:#e2e8f0;background:#94a3b83d}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.detail-grid div{background:#1e293b9e;border-radius:16px;padding:14px}.detail-grid dt{text-transform:uppercase;letter-spacing:.12em;color:#7dd3fc;margin-bottom:8px;font-size:.78rem}.detail-grid dd{color:#f8fafc;margin:0}.action-text{margin-top:0}.link-row{flex-wrap:wrap;gap:16px;margin-top:18px;display:flex}.link-row.compact{gap:10px;margin-top:8px}.link-row a,.status-card code{color:#7dd3fc}.bill-legislator-groups{gap:16px;margin-top:22px;display:grid}.bill-legislator-group h3{color:#f8fafc;margin:0 0 10px;font-size:.92rem}.legislator-chip-list{gap:10px;display:grid}.legislator-contact-card,.legislator-rank-row,.legislator-bill-list a{color:#e2e8f0;background:#1e293b8c;border:1px solid #94a3b824;border-radius:16px}.legislator-contact-card{gap:5px;padding:12px;display:grid}.contact-stack{color:#cbd5e1;gap:3px;font-size:.86rem;display:grid}.muted-copy{color:#94a3b8}.legislator-grid{grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr);gap:22px;display:grid}.legislator-rank-list{align-content:start;gap:10px;display:grid}.legislator-rank-row{text-align:left;cursor:pointer;align-items:center;gap:14px;width:100%;padding:12px 14px;display:flex}.legislator-rank-row.party-republican{background:linear-gradient(90deg,#7f1d1d94,#1e293b8c 42%);border-color:#ef444457 #ef444457 #ef444457 #ef4444;border-left-style:solid;border-left-width:8px}.legislator-rank-row.party-democrat{background:linear-gradient(90deg,#1e40af94,#1e293b8c 42%);border-color:#3b82f65c #3b82f65c #3b82f65c #3b82f6;border-left-style:solid;border-left-width:8px}.legislator-rank-row.party-unknown{border-left:8px solid #94a3b880}.legislator-rank-row.active{outline-offset:2px;outline:2px solid #7dd3fccc}.rank-number,.score-pill{color:#7dd3fc;background:#0ea5e92e;border-radius:999px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.rank-number{flex:none;width:34px;height:34px}.score-pill{min-width:56px;height:40px}.legislator-rank-row span:last-child,.legislator-bill-list a{display:grid}.legislator-rank-row>span:nth-of-type(2){flex:1;min-width:0}.legislator-photo{object-fit:cover;background:#0f172ab8;border:2px solid #f8fafc33;border-radius:999px;flex:none}.legislator-photo.small{width:52px;height:52px}.legislator-photo.large{width:74px;height:74px}.photo-fallback{color:#e2e8f0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.party-pill{letter-spacing:.03em;color:#f8fafc;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.32rem .66rem;font-size:.74rem;font-weight:800;display:inline-flex}.party-pill.party-republican{background:#dc2626}.party-pill.party-democrat{background:#2563eb}.party-pill.party-unknown{background:#64748bcc}.legislator-title-row{align-items:center;gap:14px;display:flex}.legislator-rank-row small,.legislator-bill-list small{color:#cbd5e1}.category-pie{background-clip:padding-box;border-radius:999px;flex:none;width:42px;height:42px;overflow:hidden}.category-pie.empty{background:#94a3b833}.category-summary{background:#1e293b8c;border-radius:18px;align-items:center;gap:14px;margin-top:18px;padding:14px;display:flex}.category-summary .category-pie{width:64px;height:64px}.category-legend{color:#cbd5e1;flex-wrap:wrap;gap:8px 12px;margin-top:8px;font-size:.86rem;display:flex}.category-legend span{align-items:center;gap:6px;display:inline-flex}.category-legend i{border-radius:999px;width:10px;height:10px}.role-tabs{margin:20px 0 14px}.legislator-bill-list{gap:10px;display:grid}.legislator-bill-list a{border-left:6px solid var(--category-color,#94a3b873);background:linear-gradient(90deg, color-mix(in srgb, var(--category-color,#38bdf8) 22%, transparent), transparent 42%), #1e293b8c;gap:5px;padding:13px 120px 13px 13px;text-decoration:none;position:relative}.legislator-bill-list a:hover{border-color:#38bdf88c}.legislator-bill-list a em{color:#e2e8f0;text-align:center;background:#0f172ab8;border-radius:999px;max-width:104px;padding:.28rem .56rem;font-size:.72rem;font-style:normal;font-weight:800;position:absolute;bottom:12px;right:12px}.cluster-list{gap:10px;margin-top:14px;display:grid}.cluster-row{color:#e2e8f0;text-align:left;cursor:pointer;background:#1e293b8c;border:1px solid #94a3b824;border-radius:18px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.cluster-row.active{background:#082f4980;border-color:#38bdf8b3}.cluster-swatch{border-radius:999px;flex:none;width:14px;height:14px}.cluster-copy{display:grid}.cluster-copy strong{color:#f8fafc}.cluster-copy small{color:#cbd5e1}.error-card h1,.map-panel h2,.detail-card h2{margin-bottom:.8rem}@media (width<=1100px){.workspace-grid{grid-template-columns:1fr}.panel-header{flex-direction:column;align-items:stretch}}@media (width<=720px){.app-shell{width:min(100%,100% - 20px);padding:18px 0 28px}.map-panel,.detail-card,.cluster-list-card,.legislator-workspace,.legislator-detail-card,.status-card{border-radius:20px;padding:18px}.detail-grid{grid-template-columns:1fr}.search-box{min-width:0}.legislator-grid{grid-template-columns:1fr}}
