:root{--bg:#f7f4ef;--surface:#fff;--surface-strong:#fffaf3;--text:#4f463d;--text-strong:#211a16;--muted:#7f7369;--border:#e6ddd2;--accent:#7c3aed;--accent-dark:#5b21b6;--accent-soft:#ede9fe;--danger:#b42318;--danger-soft:#fee4e2;--skeleton-bg:#ece3d8;--democratic:#2563eb;--republican:#dc2626;--independent:#7c3aed;--shadow:0 20px 45px #5b412a1f;--radius-lg:28px;--radius-md:18px;--radius-sm:12px;color:var(--text);background:radial-gradient(circle at top left, #7c3aed2e, transparent 32rem), radial-gradient(circle at top right, #2563eb1f, transparent 28rem), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}#root{min-height:100svh}.app-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:56px 0}.hero{border-radius:var(--radius-lg);background:linear-gradient(135deg, #ffffffeb, #fffaf3db), var(--surface);min-height:420px;box-shadow:var(--shadow);border:1px solid #7c3aed1f;grid-template-columns:minmax(0,1fr) minmax(340px,380px);align-items:center;gap:clamp(28px,4vw,48px);padding:48px;display:grid}.hero>div{min-width:0}h1,h2,h3,p{margin:0}h1{max-width:min(100%,680px);color:var(--text-strong);letter-spacing:-.07em;font-size:clamp(2.6rem,6vw,5rem);line-height:.95}h2{color:var(--text-strong);letter-spacing:-.03em;font-size:1.35rem;line-height:1.2}h3{color:var(--text-strong);letter-spacing:-.02em;font-size:1.2rem;line-height:1.15}.hero-copy{max-width:610px;color:var(--muted);margin-top:20px;font-size:1.15rem}.search-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffffd6;justify-self:end;width:100%;padding:24px;box-shadow:0 12px 24px #211a1614;container-type:inline-size}.search-card label{color:var(--text-strong);margin-bottom:10px;font-size:.9rem;font-weight:800;display:block}.search-mode-tabs{--tab-gap:6px;--tab-padding:5px;--tab-one:.82fr;--tab-two:.82fr;--tab-three:1.36fr;grid-template-columns:minmax(0, var(--tab-one)) minmax(0, var(--tab-two)) minmax(0, var(--tab-three));gap:var(--tab-gap);padding:var(--tab-padding);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-strong);margin-bottom:16px;display:grid;position:relative;overflow:hidden}.search-mode-tabs:before{inset:var(--tab-padding) auto var(--tab-padding) var(--tab-padding);width:calc((100% - (var(--tab-padding) * 2) - (var(--tab-gap) * 2)) * .82 / 3);background:var(--surface);content:"";border-radius:10px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;box-shadow:0 6px 14px #211a1614}.search-mode-tabs[data-active=district]:before{transform:translateX(calc(100% + var(--tab-gap)))}.search-mode-tabs[data-active=representative]:before{width:calc((100% - (var(--tab-padding) * 2) - (var(--tab-gap) * 2)) * 1.36 / 3);transform:translateX(calc((100% * 1.2059) + (var(--tab-gap) * 2)))}.search-mode-tabs button{z-index:1;min-width:0;color:var(--muted);white-space:nowrap;background:0 0;border-radius:10px;padding:9px 6px;font-size:clamp(.7rem,1.75vw,.9rem);font-weight:900;transition:color .18s;position:relative}.search-mode-tabs button.active{color:var(--accent-dark)}.issue-priority-panel{border-top:1px solid var(--border);gap:14px;margin-top:20px;padding-top:18px;display:grid}.issue-priority-panel h2{font-size:1rem}.issue-priority-panel p{color:var(--muted);margin-top:4px;font-size:.9rem}.issue-chip-grid{flex-wrap:wrap;gap:8px;display:flex}.issue-chip{border:1px solid var(--border);color:var(--text);background:var(--surface);cursor:pointer;border-radius:999px;padding:8px 10px;font-size:.84rem;font-weight:800;transition:border-color .18s cubic-bezier(.16,1,.3,1),background .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1)}.issue-chip:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed24}.issue-chip:active{transform:translateY(0)scale(.96);box-shadow:0 2px 6px #7c3aed1f}.issue-chip:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.issue-chip.selected{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft);box-shadow:0 2px 10px #7c3aed29}.issue-chip.selected:hover{transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed33}.issue-chip-more{color:var(--accent-dark);background:0 0;border-style:dashed}.issue-briefing{border:1px solid var(--border);border-radius:var(--radius-md);background:#fffaf3b8;gap:16px;margin-top:22px;padding:18px;display:grid}.issue-briefing-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.issue-briefing-header p{color:var(--muted);margin-top:4px;font-size:.9rem}.issue-briefing-status{color:var(--muted);flex:none;font-size:.8rem;font-weight:600}.issue-briefing-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;display:grid}.issue-briefing-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);gap:10px;min-width:0;padding:14px;display:grid}.issue-briefing-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.issue-briefing-card-header h3{font-size:1rem}.issue-briefing-card-header span{color:var(--muted);flex:none;font-size:.76rem;font-weight:600}.issue-briefing-empty{color:var(--muted);font-size:.92rem}.selected-issues-note{color:var(--accent-dark);font-weight:800}.missing-issue-note{margin-top:-2px}.missing-issue-note a{color:var(--accent-dark);font-weight:800;text-decoration:none}.missing-issue-note a:hover{text-decoration:underline}.search-row{gap:10px;display:flex}@container (width<=430px){.search-row{flex-direction:column;align-items:stretch}}.search-row input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-strong);background:var(--surface);outline:none;flex:1 1 0;padding:14px 16px;transition:border-color .15s,box-shadow .15s}.search-row input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.primary-button,.secondary-button{border-radius:var(--radius-sm);justify-content:center;align-items:center;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button-content{justify-content:center;align-items:center;gap:8px;display:inline-flex}.button-content-loading{gap:6px}.loading-dots{align-items:center;gap:4px;display:inline-flex}.loading-dots span{opacity:.32;transform-origin:50%;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.25s cubic-bezier(.37,0,.63,1) infinite pulse-dot}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-dark));padding:14px 20px;box-shadow:0 10px 18px #7c3aed42}.secondary-button{width:100%;color:var(--accent-dark);background:var(--accent-soft);padding:12px 16px}.helper-text{color:var(--muted);margin-top:12px;font-size:.86rem}.location-button{color:var(--accent-dark);border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0;align-items:center;gap:8px;margin-top:12px;padding:9px 14px;font-size:.86rem;font-weight:700;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.location-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.location-button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.status-message{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-strong);background:#ffffffc7;margin:24px auto 0;padding:14px 18px}.status-message.error{color:var(--danger);background:var(--danger-soft);border-color:#b4231838}.loading-hint{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);background:#ffffffb3;margin:20px auto 0;padding:12px 16px;font-size:.9rem}.lookup-section-anchor{scroll-margin-top:28px}.results-section{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#ffffffd1;margin-top:34px;padding:34px;animation:.52s cubic-bezier(.16,1,.3,1) both lookup-section-enter}.results-skeleton{position:relative}.results-header{border-bottom:1px solid var(--border);padding-bottom:24px}.district-summary{max-width:680px}.district-description{color:var(--muted);margin-top:6px;font-size:.95rem}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px;display:grid}.result-group{flex-direction:column;gap:14px;min-width:0;display:flex}.member-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:20px;position:relative;overflow:hidden;box-shadow:0 12px 22px #211a1612}.loading-card:before{background:var(--border)}.member-card:before{background:var(--party-color);content:"";width:5px;position:absolute;inset:0 auto 0 0}.party-democratic{--party-color:var(--democratic)}.party-republican{--party-color:var(--republican)}.party-independent{--party-color:var(--independent)}.member-summary{align-items:center;gap:14px;display:flex}.member-photo{object-fit:cover;border:3px solid #ffffffe6;border-radius:50%;flex:none;width:70px;height:70px;box-shadow:0 8px 18px #211a161f}.member-photo-empty{color:var(--party-color);background:color-mix(in srgb, var(--party-color) 14%, white);letter-spacing:.02em;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1.5rem;font-weight:800;display:flex}.member-details{min-width:0}.party-pill{color:var(--party-color);background:color-mix(in srgb, var(--party-color) 12%, white);border-radius:999px;margin-top:8px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.member-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.skeleton-member-details{gap:9px;width:100%;display:grid}.skeleton-avatar{background:var(--skeleton-bg);box-shadow:none;border:0}.skeleton-line{background:linear-gradient(90deg, transparent, #ffffffa6, transparent), var(--skeleton-bg);background-size:220% 100%,100% 100%;border-radius:999px;max-width:100%;height:.8rem;animation:1.25s ease-in-out infinite shimmer;display:block}.detail-skeleton{gap:10px;display:grid}.skeleton-meta-row{align-items:center;gap:10px;display:flex}.details-panel{margin-top:18px;padding-top:4px;animation:.36s cubic-bezier(.16,1,.3,1) both detail-panel-enter}.details-panel .detail-item,.details-panel .issue-card{animation:.34s cubic-bezier(.16,1,.3,1) both detail-item-enter}.details-panel .detail-item:first-child,.details-panel .issue-card:first-child{animation-delay:40ms}.details-panel .detail-item:nth-child(2),.details-panel .issue-card:nth-child(2){animation-delay:90ms}.details-panel .detail-item:nth-child(3),.details-panel .issue-card:nth-child(3){animation-delay:.14s}.details-panel .detail-item:nth-child(4),.details-panel .issue-card:nth-child(4){animation-delay:.19s}.details-panel .detail-item:nth-child(5),.details-panel .issue-card:nth-child(5){animation-delay:.24s}.ai-summary-card{border-radius:var(--radius-sm);background:linear-gradient(135deg,#ede9febf,#fffaf3f2);border:1px solid #7c3aed2e;margin-bottom:12px;padding:16px}.ai-summary-label{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.ai-summary-headline{color:var(--text-strong);margin-top:6px;font-weight:900;line-height:1.3}.ai-takeaways{color:var(--text);gap:6px;margin:10px 0 0;padding-left:18px;font-size:.9rem;display:grid}.ai-caveat{color:var(--muted);margin-top:10px;font-size:.82rem}.issue-list{gap:10px;margin-bottom:16px;display:grid}.issue-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-strong);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.issue-title{color:var(--text-strong);font-weight:900}.issue-direction,.issue-counts{color:var(--muted);text-transform:uppercase;font-size:.84rem;font-weight:700}.issue-example{color:var(--text);margin-top:6px;font-size:.88rem;line-height:1.35}.issue-counts{text-align:right;gap:4px;display:grid}.section-label{color:var(--text-strong);letter-spacing:.08em;text-transform:uppercase;margin:12px 0 8px;font-size:.78rem;font-weight:900}.detail-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.detail-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-strong);padding:14px}.detail-title{color:var(--text-strong);font-size:.95rem;font-weight:800;line-height:1.32}.vote-metadata-line{color:var(--muted);margin-top:5px;font-size:.78rem;font-weight:800}.vote-kind{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-bottom:8px;padding:3px 8px;font-size:.72rem;font-weight:900;display:inline-flex}.vote-kind-policy{color:#155e31;background:#dcfce7}.vote-kind-procedural{color:#76520b;background:#fef3c7}.vote-card-contextual{background:var(--surface-strong)}.vote-impact{color:var(--text);margin-top:8px;font-size:.92rem;line-height:1.4}.priority-match-badge{width:fit-content;color:var(--accent-dark);background:var(--accent-soft);border-radius:999px;margin-top:8px;padding:5px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.vote-context-note{border-left:3px solid var(--border);color:var(--muted);background:#ffffff94;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:.84rem}.vote-row-prominent{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.vote-question{color:var(--text);margin-top:6px;font-size:.88rem}.detail-meta{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:.82rem;font-weight:700;display:flex}.vote-source-link{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.02em;margin-top:10px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-block}.vote-source-link:hover,.vote-source-link:focus-visible{text-decoration:underline}.latest-action{color:var(--text);margin-top:8px;font-size:.88rem}.vote-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:.88rem;font-weight:700;display:flex}.vote-position{color:var(--accent-dark);background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-weight:800;display:inline-flex}.vote-position.tone-yea{color:#155e31;background:#dcfce7}.vote-position.tone-nay{color:var(--danger);background:var(--danger-soft)}.vote-result{color:var(--muted);background:var(--surface-strong);border-radius:999px;padding:4px 10px;font-weight:800;display:inline-flex}.vote-result.tone-pass{color:#155e31;background:#dcfce7}.vote-result.tone-fail{color:var(--danger);background:var(--danger-soft)}.clamp-body{margin:0}.clamp-3{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.read-more-btn{color:var(--accent-dark);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:0;font-size:.82rem;font-weight:800}.read-more-btn:hover,.read-more-btn:focus-visible{text-decoration:underline}.inline-error{border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-soft);margin-top:12px;padding:12px;font-size:.9rem}.detail-note{border-radius:var(--radius-sm);color:var(--muted);background:var(--surface-strong);margin-top:12px;padding:12px;font-size:.9rem}.source-line{color:var(--muted);text-transform:uppercase;margin-top:12px;font-size:.78rem;font-weight:700}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);background:#fffaf3b8;padding:16px}.site-footer{width:min(1120px,100% - 32px);color:var(--muted);grid-template-columns:minmax(0,1fr) minmax(280px,auto);gap:18px;margin:-28px auto 44px;padding:18px 8px 0;font-size:.84rem;display:grid}.footer-brand,.footer-powered-by{gap:8px;display:grid}.footer-link-groups{grid-template-columns:repeat(2,minmax(0,max-content));gap:18px 26px;display:grid}.footer-link-group{align-items:start;gap:6px;display:grid}.footer-link-group+.footer-link-group{border-left:1px solid color-mix(in srgb, var(--border) 88%, white);padding-left:20px}.footer-link-group>span{color:color-mix(in srgb, var(--muted) 82%, white);letter-spacing:.03em;font-size:.68rem;font-weight:700}.footer-link-group nav{row-gap:4px;display:grid}.footer-powered-by{text-align:right;color:color-mix(in srgb, var(--muted) 82%, white);justify-items:end;font-size:.74rem}.footer-powered-by>span{font-weight:600}.footer-powered-by nav{flex-wrap:wrap;justify-content:flex-end;gap:6px 10px;display:flex}.footer-powered-by a{color:color-mix(in srgb, var(--muted) 86%, #000);font-weight:500;text-decoration:none}.footer-powered-by a:hover{color:color-mix(in srgb, var(--muted) 72%, #000);text-decoration:none}.footer-link-group a{color:color-mix(in srgb, var(--muted) 72%, var(--accent-dark));font-weight:600;text-decoration:none}.footer-link-group a:hover{color:var(--accent-dark);text-decoration:underline}@keyframes pulse-dot{0%,to{opacity:.28;transform:translateY(0)scale(.92)}45%{opacity:.95;transform:translateY(-3px)scale(1.08)}72%{opacity:.48;transform:translateY(0)scale(1)}}@keyframes shimmer{to{background-position:-220% 0,0 0}}@keyframes lookup-section-enter{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes detail-panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-item-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.loading-dots span,.skeleton-line,.results-section,.details-panel,.details-panel .detail-item,.details-panel .issue-card{animation:none}.search-mode-tabs:before,.search-mode-tabs button,.issue-chip{transition:none}.issue-chip:hover,.issue-chip:active,.issue-chip.selected:hover{transform:none}}@media (width<=980px){.hero{grid-template-columns:1fr;align-items:start}.search-card{justify-self:stretch}}@media (width<=860px){.app-shell{width:min(100% - 24px,640px);padding:24px 0}.member-grid{grid-template-columns:1fr}.hero,.results-section{padding:24px}.search-row{flex-direction:column;align-items:stretch}.site-footer{grid-template-columns:1fr;margin-top:-24px}.footer-link-groups{grid-template-columns:1fr;gap:10px}.footer-link-group+.footer-link-group{border-top:1px solid color-mix(in srgb, var(--border) 88%, white);border-left:0;padding-top:10px;padding-left:0}.footer-powered-by{text-align:left;justify-items:start}.footer-powered-by nav{justify-content:flex-start}}@media (width<=520px){.app-shell{width:100%;padding:0}.hero,.results-section{border-left:0;border-right:0;border-radius:0}.hero{min-height:auto}.search-card,.member-card{padding:18px}.member-summary{align-items:flex-start}.issue-briefing{padding:14px}.issue-briefing-header,.issue-briefing-card-header{display:grid}.issue-briefing-status,.issue-briefing-card-header span{width:fit-content}.footer-link-group{grid-template-columns:1fr;gap:4px}}
