body{background:#0a0a0a;color:var(--text-primary);font-family:Courier New,monospace;margin:0}.header-bar{background:#1a0000;border-bottom:3px solid #cc0000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem}@media(min-width:768px){.header-bar{padding:.9rem 2rem}}.header-bar h1{font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:#c00;margin:0}@media(min-width:768px){.header-bar h1{font-size:1.3rem;letter-spacing:.2em}}.tagline{color:var(--text-label);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.back-link{margin-left:auto;color:var(--text-muted);font-size:.65rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.back-link:hover{color:#c00}.parties-nav-link{font-family:Courier New,monospace;font-size:.6rem;letter-spacing:.25em;color:#c00;text-decoration:none;opacity:.7;transition:opacity .15s;text-transform:uppercase;white-space:nowrap;margin-left:auto}.parties-nav-link:hover{opacity:1}.filters{background:#0f0f0f;border-bottom:1px solid #222;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.6rem}@media(min-width:768px){.filters{padding:1rem 2rem;gap:.75rem}}.filter-row{display:flex;align-items:center;gap:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.filter-row::-webkit-scrollbar{display:none}.filter-label{color:var(--text-muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;min-width:46px;flex-shrink:0}.pill{background:#111;border:1px solid #2a2a2a;color:var(--text-label);font-family:Courier New,monospace;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .75rem;cursor:pointer;transition:all .12s;white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent}.pill:hover{border-color:var(--text-label);color:var(--text-secondary)}.pill.active{background:#c00;border-color:#c00;color:#fff}.party-row{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.party-row::-webkit-scrollbar{display:none}.pill[data-risk=critical].active{background:#ff2020;border-color:#ff2020}.pill[data-risk=high].active{background:#ff8c00;border-color:#ff8c00;color:#000}.pill[data-risk=medium].active{background:#ffd600;border-color:#ffd600;color:#000}.pill[data-risk=low].active{background:#22c55e;border-color:#22c55e;color:#000}.sort-row{display:flex;gap:0;border:1px solid #222;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.sort-row::-webkit-scrollbar{display:none}.sort-pill{background:#0a0a0a;border:none;border-right:1px solid #222;color:var(--text-muted);font-family:Courier New,monospace;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .9rem;cursor:pointer;transition:all .12s;white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent}.sort-pill:last-child{border-right:none}.sort-pill:hover{color:var(--text-secondary);background:#111}.sort-pill.active{background:#111;color:var(--text-primary);border-bottom:2px solid #cc0000}.search-input{background:#111;border:1px solid #2a2a2a;color:var(--text-primary);padding:.45rem .75rem;font-family:Courier New,monospace;font-size:.8rem;min-width:0;width:100%;box-sizing:border-box}.search-input:focus{outline:1px solid #cc0000;border-color:#c00}.search-input::placeholder{color:var(--text-muted)}@media(min-width:768px){.search-input{min-width:220px;width:auto}}.count-bar{padding:.5rem 1rem;font-size:.65rem;letter-spacing:.06em;border-bottom:1px solid #151515;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;overflow-x:auto;scrollbar-width:none}.count-bar::-webkit-scrollbar{display:none}@media(min-width:768px){.count-bar{padding:.6rem 2rem;font-size:.72rem;gap:1.5rem}}.count-critical{color:#ff2020}.count-high{color:#ff8c00}.count-medium{color:#ffd600}.count-low{color:#22c55e}.count-total{color:var(--text-muted);margin-left:auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem;max-width:1600px;margin:0 auto;transition:opacity .2s}.grid.fading{opacity:0}@media(min-width:480px){.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.9rem;padding:1rem}}@media(min-width:768px){.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.2rem;padding:1.2rem 1.5rem}}@media(min-width:1024px){.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.2rem;padding:1.5rem 2rem}}.politician-card{background:#0d0d0d;border:1px solid #1e1e1e;cursor:pointer;text-decoration:none;color:inherit;display:block;transition:border-color .15s,box-shadow .15s;overflow:hidden}.politician-card:hover{border-color:#c00;box-shadow:0 0 18px #cc000040,0 0 4px #cc00001a}.photo-container{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#1a1a1a}.photo-container img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(85%) contrast(1.4) brightness(.75) sepia(20%);display:block;transition:filter .2s}.politician-card:hover .photo-container img{filter:grayscale(40%) contrast(1.2) brightness(.85) sepia(10%)}.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#0f0f0f);font-size:3rem;color:#2a2a2a}.photo-overlay{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#000000eb)}.chamber-badge{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.15rem .4rem;border:1px solid}.chamber-badge.senate{color:#f90;border-color:#f90}.chamber-badge.representatives{color:#0af;border-color:#0af}.risk-badge-wrap{position:absolute;top:6px;right:6px}.risk-badge{display:inline-block;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;color:#000;cursor:default}.risk-badge.critical{background:#ff2020;animation:badge-pulse 1.8s ease-in-out infinite}.risk-badge.high{background:#ff8c00}.risk-badge.medium{background:#ffd600}.risk-badge.low{background:#22c55e}@keyframes badge-pulse{0%,to{box-shadow:0 0 4px #ff202099}50%{box-shadow:0 0 14px #ff2020,0 0 28px #ff202066}}.card-info{padding:.4rem .5rem .45rem;transition:transform .15s}.politician-card:hover .card-info{transform:translateY(-2px)}.politician-name{font-size:.72rem;font-weight:700;color:#d8d8d8;text-transform:uppercase;letter-spacing:.04em;line-height:1.2;margin-bottom:.18rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{font-size:.58rem;color:#484848;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{text-align:center;padding:4rem;color:var(--text-muted);grid-column:1/-1}.loading-state{text-align:center;padding:4rem;color:var(--text-muted)}footer{border-top:1px solid #151515;padding:1.5rem 2rem;text-align:center;color:#2e2e2e;font-size:.7rem}@media(max-width:768px){.politicians-grid,[class*=grid]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.filter-row,[class*=filter]{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;padding-bottom:4px!important}.filter-row::-webkit-scrollbar{display:none!important}.search-input,input[type=text]{width:100%!important;font-size:16px!important}.risk-strip,.summary-strip{flex-wrap:wrap!important;gap:8px!important}}
