*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{width:100%}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#dc143c,#a00000);color:#fff;padding:3rem 2rem;text-align:center;box-shadow:0 2px 8px #00000026}.header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700;letter-spacing:-.5px}.subtitle{margin:.5rem 0;font-size:1.1rem;opacity:.95;max-width:600px;margin-left:auto;margin-right:auto}.last-updated{margin:1rem 0 0;font-size:.9rem;opacity:.85;font-style:italic}.container{max-width:1200px;width:100%;margin:0 auto;padding:2rem;flex:1}.results-header{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 1.5rem;flex-wrap:wrap;gap:1rem}.results-header h2{margin:0;font-size:1.5rem;color:#333}.count-breakdown{font-size:1rem;font-weight:400;color:#666;margin-left:.5rem}.results-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.clear-filters{background-color:#dc143c;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease}.clear-filters:hover{background-color:#a00000;transform:translateY(-1px);box-shadow:0 2px 8px #dc143c4d}.pending-bills-section{margin-bottom:2rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #667eea26;border:2px solid #667eea}.pending-bills-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.pending-bills-title{display:flex;align-items:center;gap:.75rem;flex:1}.pending-bills-title h2{margin:0;font-size:1.2rem;font-weight:600}.bill-count-pending{background-color:#ffffff4d;color:#fff;padding:.3rem .7rem;border-radius:12px;font-size:.85rem;font-weight:600}.pending-bills-content{padding:1.25rem}.pending-bills-intro{margin:0 0 1.25rem;padding:1rem;background:#f5f7ff;border-left:4px solid #667eea;border-radius:4px;color:#666;font-size:.95rem;line-height:1.5}.bills-list{display:flex;flex-direction:column;gap:1.5rem}.priority-section{display:flex;flex-direction:column;gap:.6rem}.section-header{background:#fff;padding:1rem 1.25rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #DC143C}.section-header h2{margin:0 0 .35rem;font-size:1.2rem;color:#333;display:flex;align-items:center;gap:.5rem}.section-description{margin:0;color:#666;font-size:.85rem;line-height:1.4}.high-priority-header{border-left-color:#dc143c;background:linear-gradient(to right,#fff5f5,#fff)}.riders-header{border-left-color:#ff8c00;background:linear-gradient(to right,#fff8f0,#fff)}.other-bills-header{border-left-color:#999;background:linear-gradient(to right,#f9f9f9,#fff)}.collapsible{cursor:pointer;transition:all .2s ease}.collapsible:hover{background:linear-gradient(to right,#f0f0f0,#f8f8f8);transform:translate(2px)}.expand-icon-section{margin-left:.5rem;font-size:1.2rem;font-weight:400;opacity:.7}.other-bills-section{margin-top:1rem}.no-results{text-align:center;padding:3rem;background:#fff;border-radius:8px;color:#666}.no-results p{margin:0;font-size:1.1rem}.footer{background-color:#333;color:#fff;text-align:center;padding:3rem 2rem;margin-top:3rem}.footer-content{max-width:800px;margin:0 auto}.footer-statement{margin:0 0 2rem;font-size:1rem;opacity:.95;line-height:1.6}.footer-about{margin:2rem 0;padding:1.5rem;background-color:#ffffff0d;border-radius:8px;border-top:2px solid rgba(220,20,60,.5)}.footer-about h3{margin:0 0 .75rem;font-size:1.1rem;color:#fff;font-weight:600}.footer-about p{margin:0;font-size:.9rem;opacity:.85;line-height:1.5}.footer-feedback{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.footer-feedback a{color:gold;text-decoration:none;font-weight:500;transition:opacity .3s ease}.footer-feedback a:hover{opacity:.8;text-decoration:underline}.footer-copyright{margin:2rem 0 0;font-size:.85rem;opacity:.7}@media(max-width:768px){.header h1{font-size:2rem}.subtitle{font-size:1rem}.container{padding:1rem}.results-header{flex-direction:column;align-items:flex-start}.footer{padding:2rem 1rem}.footer-statement{font-size:.9rem}.footer-about{padding:1rem}.footer-about h3{font-size:1rem}.footer-about p{font-size:.85rem}}.category-filter{margin:2rem 0}.category-filter h3{margin:0 0 1rem;font-size:1.2rem;color:#333;font-weight:600}.category-tags{display:flex;flex-wrap:wrap;gap:.75rem}.category-tag{background-color:#fff;border:2px solid #e0e0e0;color:#555;padding:.7rem 1.2rem;border-radius:25px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 3px #0000000d}.category-tag:hover{border-color:#dc143c;color:#dc143c;transform:translateY(-2px);box-shadow:0 4px 12px #dc143c26}.category-tag.selected{background:linear-gradient(135deg,#dc143c,#a00000);border-color:#dc143c;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #dc143c4d}.category-tag.selected:hover{background:linear-gradient(135deg,#a00000,maroon);border-color:#a00000}.category-name{display:inline-block}@media(max-width:768px){.category-tags{gap:.5rem}.category-tag{padding:.6rem 1rem;font-size:.85rem}}.category-group{margin-bottom:0;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #00000014}.category-group-header{background:#f5f5f5;color:#555;padding:.65rem 1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;border-bottom:1px solid #e0e0e0}.category-group-header:hover{background:#ebebeb}.category-group-title{display:flex;align-items:center;gap:.75rem}.category-group-title h2{margin:0;font-size:.95rem;font-weight:500}.bill-count{background-color:#e0e0e0;color:#666;padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500}.expand-icon-large{font-size:1.1rem;font-weight:300;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:#00000014;color:#666;border-radius:50%;transition:all .2s ease}.category-group-header:hover .expand-icon-large{background-color:#0000001f;transform:scale(1.05)}.category-group-content{padding:.7rem;display:flex;flex-direction:column;gap:.5rem}@media(max-width:768px){.category-group-header{padding:.6rem .85rem}.category-group-title{flex-direction:column;align-items:flex-start;gap:.4rem}.category-group-title h2{font-size:.9rem}.category-group-content{padding:.6rem}}.bill-card{background:#fff;border-radius:8px;padding:.7rem .9rem;box-shadow:0 1px 3px #00000014;transition:all .2s ease;border-left:3px solid #ccc;cursor:pointer;-webkit-user-select:none;user-select:none}.bill-card.collapsed{padding:.6rem .9rem}.bill-card.expanded{padding:.9rem 1.1rem;box-shadow:0 2px 8px #0000001f}.bill-card:hover{box-shadow:0 3px 8px #0000001f;border-left-width:4px}.bill-card.priority-high{border-left-color:#dc143c}.bill-card.priority-medium{border-left-color:#ff8c00}.bill-card.priority-low,.bill-card.priority-watching{border-left-color:#ccc}.bill-card.type-rider{border-left-color:#ff8c00}.bill-card.highlighted-floor-vote{background:linear-gradient(to right,#fffbea,#fff);border-left-color:#ff6b00;border-left-width:4px;box-shadow:0 2px 12px #ff6b0026}.bill-card.highlighted-floor-vote:hover{box-shadow:0 4px 16px #ff6b0040;border-left-width:5px}.floor-vote-badge{background:linear-gradient(135deg,#ff6b00,#ff8c00);color:#fff;padding:.4rem .7rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 2px 6px #ff6b004d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 2px 6px #ff6b004d}50%{box-shadow:0 2px 10px #ff6b0080}}.bill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.bill-header-right{display:flex;align-items:center;gap:.75rem}.expand-icon{font-size:1.2rem;font-weight:300;color:#666;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:#0000000d;border-radius:50%;transition:all .2s ease;flex-shrink:0}.bill-card:hover .expand-icon{background-color:#0000001a}.bill-card.priority-high .expand-icon{color:#dc143c;background-color:#dc143c1a}.bill-card.priority-high:hover .expand-icon{background-color:#dc143c33}.bill-numbers{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.bill-number,.bill-number-link{font-weight:600;color:#333;font-size:.85rem;font-family:Courier New,monospace;text-decoration:none}.bill-number-link{transition:all .2s ease;padding:.2rem .4rem;border-radius:4px}.bill-number-link:hover{background-color:#333;color:#fff;text-decoration:none}.bill-card.priority-high .bill-number,.bill-card.priority-high .bill-number-link{color:#dc143c}.bill-card.priority-high .bill-number-link:hover{background-color:#dc143c}.category-badge{background-color:#dc143c;color:#fff;padding:.4rem .8rem;border-radius:15px;font-size:.8rem;font-weight:500;white-space:nowrap}.bill-title{margin:.2rem 0;font-size:.95rem;color:#222;font-weight:600;line-height:1.3;transition:all .2s ease}.bill-card.expanded .bill-title{font-size:1.1rem;margin-bottom:.5rem}.bill-details{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f0f0f0;animation:slideDown .2s ease}.bill-sponsors{margin:.5rem 0;font-size:.85rem;color:#555}.bill-sponsors strong{color:#333;display:block;margin-bottom:.4rem}.sponsors-list{display:flex;flex-direction:column;gap:.4rem}.sponsor-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sponsor-name{color:#333;font-weight:500}.sponsor-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.sponsor-badge.party-r{background-color:#dc3545;color:#fff}.sponsor-badge.party-d{background-color:#06c;color:#fff}.sponsor-badge.party-i{background-color:#6c757d;color:#fff}.bill-description{margin:.5rem 0 0;font-size:.9rem;color:#444;line-height:1.5}@media(max-width:768px){.bill-card.collapsed{padding:.5rem .75rem}.bill-card.expanded{padding:.7rem .9rem}.bill-title{font-size:.9rem}.bill-card.expanded .bill-title{font-size:1rem}.bill-description{font-size:.85rem}.expand-icon{width:22px;height:22px;font-size:1rem}}.search-bar{position:relative;margin-bottom:1rem}.search-input{width:100%;padding:1rem 3rem 1rem 1.2rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s ease;background-color:#fff;box-shadow:0 1px 3px #0000000d}.search-input:focus{outline:none;border-color:#dc143c;box-shadow:0 2px 8px #dc143c26}.search-input::placeholder{color:#999}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;color:#999;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease}.clear-search:hover{color:#dc143c}@media(max-width:768px){.search-input{padding:.9rem 2.5rem .9rem 1rem;font-size:.95rem}}.download-container{position:relative}.download-button{background-color:#dc143c;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.download-button:hover{background-color:#a00000;transform:translateY(-1px);box-shadow:0 2px 8px #dc143c4d}.download-icon{font-size:1rem}.download-backdrop{position:fixed;inset:0;background-color:transparent;z-index:999}.download-menu{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:1000;min-width:320px;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.download-menu-header{background:linear-gradient(135deg,#dc143c,#a00000);color:#fff;padding:1rem 1.25rem}.download-menu-header h3{margin:0;font-size:1.1rem;font-weight:600}.download-section{padding:1.25rem}.download-section h4{margin:0 0 .5rem;font-size:1rem;color:#333;font-weight:600}.download-description{margin:0 0 1rem;font-size:.85rem;color:#666}.download-buttons{display:flex;gap:.75rem}.download-option{flex:1;background-color:#f5f5f5;border:2px solid #e0e0e0;color:#333;padding:.7rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.download-option:hover{background-color:#dc143c;border-color:#dc143c;color:#fff;transform:translateY(-2px);box-shadow:0 2px 8px #dc143c33}.download-divider{height:1px;background-color:#e0e0e0;margin:0 1.25rem}@media(max-width:768px){.download-menu{min-width:280px;right:auto;left:50%;transform:translate(-50%)}.download-buttons{flex-direction:column}.download-option{width:100%}}.update-banner{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:1rem 2rem;box-shadow:0 2px 8px #0003;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.update-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1rem}.update-icon{font-size:1.5rem;flex-shrink:0}.update-text{margin:0;flex:1;font-size:.95rem;line-height:1.5}.update-text strong{color:gold;margin-right:.5rem}.update-banner-close{background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.update-banner-close:hover{background:#fff3;transform:scale(1.1)}@media(max-width:768px){.update-banner{padding:.75rem 1rem}.update-banner-content{gap:.75rem}.update-icon{font-size:1.2rem}.update-text{font-size:.85rem}.update-banner-close{width:28px;height:28px;font-size:1rem}}.passed-bills-section{margin-bottom:2rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #dc143c26;border:2px solid #dc143c}.passed-bills-header{background:linear-gradient(135deg,#dc143c,#a00000);color:#fff;padding:1rem 1.25rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;-webkit-user-select:none;user-select:none}.passed-bills-header:hover{background:linear-gradient(135deg,#c11234,#900000)}.passed-bills-title{display:flex;align-items:center;gap:.75rem;flex:1}.alert-icon{font-size:1.5rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.passed-bills-title h2{margin:0;font-size:1.2rem;font-weight:600}.bill-count-passed{background-color:#ffffff4d;color:#fff;padding:.3rem .7rem;border-radius:12px;font-size:.85rem;font-weight:600}.passed-bills-content{padding:1.25rem}.passed-bills-intro{margin:0 0 1.25rem;padding:1rem;background:#fff5f5;border-left:4px solid #dc143c;border-radius:4px;color:#666;font-size:.95rem;line-height:1.5}.passed-bills-list{display:flex;flex-direction:column;gap:1rem}.passed-bill-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:1rem;transition:all .2s ease}.passed-bill-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#dc143c}.passed-bill-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}.passed-bill-info{flex:1}.passed-bill-numbers{display:flex;gap:.5rem;margin-bottom:.5rem}.passed-bill-title{margin:0 0 .5rem;font-size:1.05rem;font-weight:600;color:#222;line-height:1.3}.passed-bill-description{margin:0;font-size:.9rem;color:#555;line-height:1.4}.passed-bill-sponsors{margin-top:.75rem;font-size:.85rem;color:#555}.passed-bill-sponsors strong{color:#333;display:block;margin-bottom:.4rem}.passed-bill-sponsors .sponsors-list{display:flex;flex-direction:column;gap:.4rem}.passed-bill-sponsors .sponsor-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.passed-bill-sponsors .sponsor-name{color:#333;font-weight:500}.passed-bill-sponsors .sponsor-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.passed-bill-sponsors .sponsor-badge.party-r{background-color:#dc3545;color:#fff}.passed-bill-sponsors .sponsor-badge.party-d{background-color:#06c;color:#fff}.passed-bill-sponsors .sponsor-badge.party-i{background-color:#6c757d;color:#fff}.vote-info{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;padding:.75rem;background:#f9f9f9;border-radius:6px;min-width:180px}.vote-date{font-size:.8rem;color:#666;font-weight:500;text-align:right}.vote-total{font-size:1.3rem;font-weight:700;color:#333;font-family:Courier New,monospace}.vote-yeas{color:#dc143c}.vote-nays{color:#666}.vote-breakdown{display:flex;gap:.75rem;font-size:.85rem}.party-vote{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;background:#fff;border-radius:4px;font-family:Courier New,monospace}.party-vote.republican{border:1px solid #ff6b6b}.party-vote.democrat{border:1px solid #4dabf7}.party-label{font-weight:600;font-size:.75rem}.party-votes{font-size:.85rem}@media(max-width:768px){.passed-bills-header{padding:.9rem 1rem}.passed-bills-title h2{font-size:1rem}.alert-icon{font-size:1.2rem}.passed-bill-header{flex-direction:column;gap:1rem}.vote-info{width:100%;align-items:center}.vote-date{text-align:center}}
