@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;800&family=Libre+Baskerville:ital,wght@1,700&family=Cormorant+Garamond:wght@700&display=swap";@import"https://fonts.googleapis.com/css?family=Raleway:300,400,500,600&display=swap";@import"https://fonts.googleapis.com/css?family=Montserrat:600,700,800&display=swap";@import"https://fonts.googleapis.com/css?family=Raleway:300,400";@import"https://fonts.googleapis.com/css?family=Montserrat:700";.disabled{pointer-events:none;opacity:.5;text-decoration:line-through}.cursor-pointer{cursor:pointer}@keyframes cosineWave{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(calc(2px*cos(25deg))) rotate(calc(1deg*cos(25deg)))}50%{transform:translateY(calc(-2px*cos(50deg))) rotate(calc(-1deg*cos(50deg)))}75%{transform:translateY(calc(2px*cos(75deg))) rotate(calc(1deg*cos(75deg)))}to{transform:translateY(0) rotate(0)}}.navbar{position:fixed;font-family:Raleway,sans-serif;letter-spacing:4px;font-weight:400;margin:0;top:0;width:100%;background:linear-gradient(135deg,#000c,#141414d9,#000c);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#ccc;min-height:65px;padding:.6rem .5rem;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003,inset 0 1px #ffffff1a;backface-visibility:hidden;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;justify-content:space-between;align-items:center;z-index:1001!important;border-bottom:1px solid rgba(255,255,255,.05);isolation:isolate;contain:layout style paint}.navbar.scrolled{min-height:60px;background:linear-gradient(135deg,#ffffff45,#f8f8f818,#ffffff6b);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 40px #00000026,0 4px 12px #0000001a,inset 0 1px #fffc;border-bottom:1px solid rgba(0,0,0,.08)}.logo{position:absolute;top:50%;text-decoration:none;transform:translateY(-50%);text-transform:uppercase;color:#ccc;font-size:28px;font-weight:300;cursor:pointer;transition:.3s ease}.nav-logo{height:55px;width:auto;vertical-align:bottom;margin-right:8px}.logo span{color:#e78533;font-weight:600}.navbar.scrolled .logo{color:#000}.navbar .menu-button{position:absolute;height:48px;width:48px;top:50%;right:25px;transform:translateY(-50%);cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:none!important;background:#ffffff1a!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;padding:8px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;font-family:inherit;font-size:inherit;color:inherit;text-transform:none;line-height:1}.navbar .menu-button:hover{background:#ffffff26!important;transform:translateY(-50%) scale(1.05);box-shadow:0 8px 25px #00000026,0 4px 10px #0000001a}.navbar .menu-button:focus{outline:none;background:#fff3!important;box-shadow:0 0 0 3px #e785334d,0 8px 25px #00000026,0 4px 10px #0000001a}.navbar .menu-button:active{transform:translateY(-50%) scale(.95)}.white-bar{height:3px;width:24px;background-color:#ccc;border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000001a,0 0 8px #ffffff4d;transform-origin:center}.red{background:linear-gradient(45deg,#f72206,#f44)}.blue{background:linear-gradient(45deg,#03a3f9,#4dabf7)}.navbar.scrolled .white-bar{background-color:#333;box-shadow:0 2px 4px #0003,0 0 8px #0000001a}.menu-open .white-bar:nth-child(1),.menu-open .white-bar:nth-child(4){width:0;opacity:0;transform:rotate(180deg)}.menu-open .white-bar:nth-child(2){transform:translateY(3.5px) rotate(45deg);background:linear-gradient(45deg,#e78533,#ffb366)}.menu-open .white-bar:nth-child(3){transform:translateY(-3.5px) rotate(-45deg);background:linear-gradient(45deg,#e78533,#ffb366)}.navbar:not(.menu-open) .white-bar{animation:cosineWave 2s ease-in-out}.navbar:not(.menu-open) .white-bar:nth-child(1){animation-delay:0s}.navbar:not(.menu-open) .white-bar:nth-child(2){animation-delay:.2s}.navbar:not(.menu-open) .white-bar:nth-child(3){animation-delay:.4s}.navbar:not(.menu-open) .white-bar:nth-child(4){animation-delay:.6s}@media (prefers-reduced-motion: reduce){.navbar:not(.menu-open) .white-bar{animation:none}.navbar+.the-bass,.drop-down-container,.navbar+.the-bass .drop-down-item,.navbar .menu-button{transition-duration:.1s!important}.menu-open+.the-bass{animation:none}.menu-open .drop-down-container{animation:none}}.navbar,.navbar *,.navbar+.the-bass,.navbar+.the-bass *{font-family:Raleway,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.navbar .menu-button,.navbar+.the-bass button.drop-down-item{appearance:none;-webkit-appearance:none;-moz-appearance:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;touch-action:manipulation}.navbar.scrolled+.the-bass{top:60px}.menu-items-container{display:flex;flex-direction:column;flex-grow:1}.drop-down-container{display:flex;height:15%;width:90%;left:160%;margin:8px 0;transform:translate(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);text-indent:5px;border-radius:8px;overflow:hidden}.login-nav-link{margin-top:auto!important;margin-bottom:20px}.navbar+.the-bass{position:fixed;height:0;width:380px;right:0;top:100px;background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.1);border-bottom-left-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000!important;padding:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px #00000026,0 10px 10px #0000000a,inset 0 1px #ffffff1a;isolation:isolate;contain:layout style paint}.menu-open+.the-bass{min-height:45vh;padding:20px 0;display:flex;flex-direction:column;animation:slideInFromRight .4s cubic-bezier(.4,0,.2,1)}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.rela-block{display:block;position:relative;overflow:hidden}.menu-open .drop-down-container{left:50%;animation:slideInMenuItem .4s cubic-bezier(.4,0,.2,1) forwards}.drop-down-container:nth-child(1){transition:all .3s cubic-bezier(.4,0,.2,1),left .4s .1s cubic-bezier(.4,0,.2,1);animation-delay:.1s}.drop-down-container:nth-child(2){transition:all .3s cubic-bezier(.4,0,.2,1),left .4s .15s cubic-bezier(.4,0,.2,1);animation-delay:.15s}.drop-down-container:nth-child(3){transition:all .3s cubic-bezier(.4,0,.2,1),left .4s .2s cubic-bezier(.4,0,.2,1);animation-delay:.2s}.drop-down-container:nth-child(4){transition:all .3s cubic-bezier(.4,0,.2,1),left .4s .25s cubic-bezier(.4,0,.2,1);animation-delay:.25s}.drop-down-container:nth-child(5){transition:all .3s cubic-bezier(.4,0,.2,1),left .4s .3s cubic-bezier(.4,0,.2,1);animation-delay:.3s}@keyframes slideInMenuItem{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.navbar+.the-bass .drop-down-item{position:absolute;top:0;left:0;right:8px;bottom:0;background:linear-gradient(135deg,#222222e6,#323232e6)!important;color:#f0f8ff!important;text-transform:lowercase;text-decoration:none;font-family:Raleway,sans-serif;font-weight:500;letter-spacing:1px;display:flex;align-items:center;padding:0 16px!important;border-radius:8px!important;transition:all .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05)!important;cursor:pointer;text-align:left;width:100%;height:100%;box-sizing:border-box}.navbar+.the-bass .drop-down-item:hover{background:linear-gradient(135deg,#e7853333,#ffb36633)!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 8px 25px #e7853326,0 4px 10px #0000001a;border-color:#e785334d!important}.navbar+.the-bass .drop-down-item:focus{outline:none;background:linear-gradient(135deg,#e785334d,#ffb3664d)!important;color:#fff!important;box-shadow:0 0 0 3px #e7853366,0 8px 25px #e7853326;border-color:#e7853380!important}.drop-down-item:before{content:"";position:absolute;right:-8px;height:100%;width:4px;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(180deg,transparent 0%,rgba(231,133,51,.8) 50%,transparent 100%);opacity:0;border-radius:0 4px 4px 0}.drop-down-item:hover:before{opacity:1;width:6px;background:linear-gradient(180deg,#e7853366,#e78533,#e7853366)}@media screen and (max-width: 768px){.navbar .menu-button{right:15px;height:44px;width:44px;background:#ffffff26!important}.logo{left:15px;font-size:24px}.white-bar{width:20px;height:2.5px}.drop-down-container{width:95%;margin:6px 0}.navbar+.the-bass{width:100vw;border-left:none;border-radius:0}.navbar+.the-bass .drop-down-item{font-size:1.3rem!important;padding:0 20px!important;letter-spacing:.5px}.navbar{min-height:60px;padding:.5rem}.navbar.scrolled{min-height:55px}}@media screen and (max-width: 480px){.navbar .menu-button{right:10px;height:40px;width:40px}.logo{left:10px;font-size:20px}.white-bar{width:18px;height:2px}.navbar+.the-bass .drop-down-item{font-size:1.1rem!important;padding:0 16px!important}.navbar{min-height:55px}.menu-open+.the-bass{min-height:50vh}}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#000c,#141414d9,#000c);display:flex;align-items:center;justify-content:center;z-index:1002;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:20px;box-sizing:border-box;animation:overlayFadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.settings-modal-content{background:linear-gradient(135deg,#fffffff2,#f8f8f8fa,#fffffff2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;width:100%;max-width:480px;max-height:85vh;overflow:hidden;box-shadow:0 25px 50px #00000040,0 12px 25px #00000026,inset 0 1px #fff9;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1);position:relative;isolation:isolate;contain:layout style paint}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 20px;border-bottom:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,#ffffffe6,#ffffffb3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.settings-modal-header h2{margin:0;font-size:1.75rem;font-weight:600;color:#1a1a1a;font-family:Raleway,sans-serif;letter-spacing:-.5px;background:linear-gradient(135deg,#1a1a1a,#333);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-button{background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;cursor:pointer;color:#666;transition:all .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.close-button:hover{background:#e785331a;border-color:#e785334d;color:#e78533;transform:scale(1.05)}.close-button:focus{outline:none;box-shadow:0 0 0 3px #e785334d}.close-button:active{transform:scale(.95)}.settings-modal-body{padding:0 28px 28px;overflow-y:auto;max-height:calc(85vh - 100px);scrollbar-width:thin;scrollbar-color:rgba(231,133,51,.3) transparent}.settings-modal-body::-webkit-scrollbar{width:6px}.settings-modal-body::-webkit-scrollbar-track{background:transparent}.settings-modal-body::-webkit-scrollbar-thumb{background:#e785334d;border-radius:3px}.settings-modal-body::-webkit-scrollbar-thumb:hover{background:#e7853380}.form-group{margin-bottom:24px;position:relative}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2d2d2d;font-size:14px;font-family:Raleway,sans-serif;letter-spacing:.3px;text-transform:uppercase}.form-group input{width:100%;padding:14px 16px;border:2px solid rgba(0,0,0,.08);border-radius:12px;font-size:16px;font-family:Raleway,sans-serif;background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;color:#333}.form-group input:focus{border-color:#e78533;outline:none;background:#fffffff2;box-shadow:0 0 0 4px #e785331a,0 4px 12px #0000001a;transform:translateY(-1px)}.form-group input:hover:not(:focus){border-color:#00000026;background:#ffffffe6}.disabled-input{background:linear-gradient(135deg,#f5f5f5cc,#f0f0f0e6)!important;color:#888!important;cursor:not-allowed!important;border-color:#0000000d!important;position:relative}.disabled-input:before{content:"🔒";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}.helper-text{font-size:12px;color:#888;margin-top:6px;font-style:italic;padding-left:4px}.button-group{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(0,0,0,.06)}.primary-button{background:linear-gradient(135deg,#e78533,#ff9f4a);color:#fff;border:none;padding:14px 28px;border-radius:12px;font-weight:600;font-size:14px;font-family:Raleway,sans-serif;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 12px #e785334d,0 2px 4px #0000001a;min-width:120px}.primary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.primary-button:hover:before{left:100%}.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #e7853366,0 4px 12px #00000026;background:linear-gradient(135deg,#ff9f4a,#e78533)}.primary-button:active{transform:translateY(0);box-shadow:0 2px 8px #e785334d,0 1px 4px #0000001a}.primary-button:focus{outline:none;box-shadow:0 0 0 4px #e785334d,0 4px 12px #e785334d}.primary-button:disabled{background:linear-gradient(135deg,#ccc,#bbb);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.primary-button:disabled:before{display:none}.divider{display:flex;align-items:center;margin:36px 0 28px;position:relative}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.divider span{padding:0 20px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#ffffffe6,#f8f8f8e6);border-radius:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05);position:relative;z-index:1}.advanced-settings{margin-top:24px}.settings-card{background:linear-gradient(135deg,#fffc,#f8f8f8e6);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.settings-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e78533,#ff9f4a,#e78533);opacity:0;transition:opacity .3s ease}.settings-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001f,0 6px 15px #00000014;border-color:#e7853333}.settings-card:hover:before{opacity:1}.settings-card-content{padding:24px;position:relative;z-index:1}.settings-card h3{margin:0 0 12px;color:#1a1a1a;font-size:18px;font-weight:600;font-family:Raleway,sans-serif;display:flex;align-items:center;gap:8px}.settings-card h3:before{content:"🔧";font-size:16px}.settings-card p{color:#666;margin:0 0 20px;line-height:1.5;font-size:14px}.secondary-button{background:linear-gradient(135deg,#ffffffe6,#f5f5f5e6);color:#444;border:1px solid rgba(0,0,0,.1);padding:10px 20px;border-radius:10px;font-weight:500;font-size:13px;font-family:Raleway,sans-serif;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;overflow:hidden}.secondary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(231,133,51,.1),transparent);transition:left .4s}.secondary-button:hover:before{left:100%}.secondary-button:hover{background:linear-gradient(135deg,#e785331a,#ff9f4a1a);border-color:#e785334d;color:#333;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.secondary-button:active{transform:translateY(0)}.secondary-button:focus{outline:none;box-shadow:0 0 0 3px #e7853333}@media screen and (max-width: 768px){.settings-modal-overlay{padding:15px}.settings-modal-content{max-width:100%;border-radius:16px;max-height:90vh}.settings-modal-header{padding:20px 24px 16px}.settings-modal-header h2{font-size:1.5rem}.settings-modal-body{padding:0 24px 24px}.form-group input{padding:12px 14px;font-size:16px}.close-button{width:32px;height:32px;font-size:18px}}@media screen and (max-width: 480px){.settings-modal-overlay{padding:10px}.settings-modal-content{border-radius:12px}.settings-modal-header{padding:16px 20px 12px}.settings-modal-header h2{font-size:1.3rem}.settings-modal-body{padding:0 20px 20px}.form-group{margin-bottom:20px}.button-group{flex-direction:column-reverse;gap:8px}.primary-button,.secondary-button{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.settings-modal-overlay,.settings-modal-content,.close-button,.form-group input,.primary-button,.secondary-button,.settings-card{animation:none!important;transition-duration:.1s!important}.primary-button:before,.secondary-button:before{display:none}}@media (prefers-contrast: high){.settings-modal-content,.form-group input{background:#fff;border:2px solid #000000}.primary-button{background:#000;border:2px solid #000000}.secondary-button{background:#fff;border:2px solid #000000;color:#000}}footer{background-color:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ccc;text-align:center;padding:5px 0;border-radius:var(--border-radius);width:100%;position:fixed;bottom:-0;font-family:Raleway;margin:0;height:fit-content;box-shadow:4px 0 15px #0003}footer p{margin:0;padding:0}@media (max-width: 768px){footer{font-size:.8rem;bottom:-10vh;box-shadow:2px 0 #0003;width:100%;color:#333;text-align:center;margin:0;padding:0}footer p{margin:0}}.app-container{display:flex;flex-direction:column;margin:4vh 0;justify-content:space-between}.home-container{margin-bottom:.5vh;transition:all 1s ease-in-out}.home-message{font-family:Raleway;margin:0;padding:0}.accent-link{text-decoration:none}.accent{font-weight:600;color:var(--primary-600, #e78533)}.accent-link:hover{color:var(--primary-700, #d77a2b);text-decoration:underline}.fancy-font{font-family:Playfair Display,Libre Baskerville,Cormorant Garamond,serif;font-weight:100;font-style:italic;color:#b48867;letter-spacing:.7px;text-shadow:1px 1px 4px rgba(0,0,0,.2)}@media (max-width: 480px){.home-title{font-size:1.5rem}}@media (max-width: 375px){.home-title{font-size:1.1rem}}.checkbox-container{display:flex;align-items:center;gap:5px;font-family:Raleway;font-size:14px;background-color:#ec373700!important;padding:5px 10px;border-bottom:1px solid #ddd!important;cursor:pointer;flex:1 1 250px}.checkbox-container input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border-radius:50%;cursor:pointer;display:inline-block;position:relative;border:1px solid #00000065;transform:scale(.7);overflow:hidden}.checkbox-container input[type=checkbox]:checked{background-color:#e73333;border:none}.checkbox-container input[type=checkbox]:checked:after{content:"✔";font-size:16px;color:#fff;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:none;accent-color:#e73333}.card-wrapper{color:#232323;font-family:Droid Sans,sans-serif;overflow:hidden;text-align:justify}.checkbox-container span{font-weight:600;cursor:pointer;width:fit-content}.o-name{color:#e78533}.mock-data-warning{background-color:#fff3cd;color:#856404;padding:12px;border-radius:5px;margin:10px 0;font-weight:700;text-align:center;border:1px solid #ffeeba}.officials-page-container{padding:15px 0;height:auto}.officials-header-container{display:flex;flex-direction:row;align-items:center;max-width:fit-content;flex-wrap:wrap}.state-selector-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-start}.officials-header{display:flex;align-items:center;gap:12px;margin:1vh}.number-of{font-size:3rem;text-shadow:1px 1px 1px rgb(255,255,0);text-decoration:underline rgb(255,166,0)}.officials-filter{display:flex;flex-wrap:wrap;width:100%;max-width:800px;align-items:center;font-family:var(--font-family, Arial, sans-serif);gap:.75rem;margin:1rem auto;padding:.75rem 1rem;background:#f9f9f90d;border-radius:8px;box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.officials-filter{justify-content:space-between}.officials-filter input[type=text]{flex:1 1 100%;order:-1;margin-bottom:.5rem}.officials-filter select,.officials-filter .age-filter-label{flex:0 1 48%}}@media (max-width: 480px){.officials-filter{flex-direction:column;align-items:stretch;width:95%}.officials-filter input[type=text],.officials-filter select,.officials-filter .age-filter-label{flex:1 1 100%;width:100%;margin-bottom:.5rem}}.officials-filter input[type=text]{flex:1 1 200px;min-width:160px;padding:.75rem;font-size:1rem;border:1px solid #ccc;border-radius:6px;background:#fff;color:#000;box-shadow:inset 0 1px 2px #0000001a;transition:border-color .2s ease,box-shadow .2s ease}.officials-filter input[type=text]::placeholder{color:#999;opacity:1}.officials-filter input[type=text]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.officials-filter select{flex:0 1 150px;min-width:120px;padding:.75rem;font-size:1rem;color:#333;background:#fff url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D'12'%20height%3D'8'%20viewBox%3D'0%200%2012%208'%20xmlns%3D'http%3A//www.w3.org/2000/svg'%3E%3Cpath%20d%3D'M1%201l5%205%205-5'%20stroke%3D'%23666'%20stroke-width%3D'2'%20fill%3D'none'%20fill-rule%3D'evenodd'/%3E%3C/svg%3E") no-repeat right .75rem center;border:1px solid #ccc;border-radius:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-size:12px 8px;transition:border-color .2s ease,box-shadow .2s ease}.officials-filter select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.officials-filter .age-filter-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;font-size:1rem;white-space:nowrap;border-radius:6px;transition:background-color .2s}.officials-filter .age-filter-label:hover{background-color:#ffffff1a}.officials-filter .age-filter-label input[type=checkbox]{width:18px;height:18px;margin:0}.pagination-filter-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin-top:20px;padding:0 10px}@media (max-width: 480px){.pagination-filter-container{padding:0 5px}}.states-dropdown{height:40px;font-size:1rem;padding:10px 15px;outline:none;box-shadow:0 0 10px #ece9e3;border-radius:5px;margin-right:1vw;font-weight:700;cursor:pointer;transition:box-shadow .3s ease-in-out,background-color .3s ease-in-out,color .3s ease-in-out}.states-dropdown:hover{outline:none;box-shadow:0 0 10px #ece9e3;border-color:#e5d7bc;background-color:#ece9e3;color:#fff}.officials-container{display:flex;scrollbar-darkshadow-color:#333;scrollbar-color:#f5f5f5 #f5f5f5;scroll-behavior:smooth;scrollbar-width:thin;flex-direction:row;align-items:center;justify-content:column;width:auto;margin:0vh 0vw;overflow-y:scroll;box-shadow:inset;padding:0}.officials-container::-webkit-scrollbar{width:8px;height:8px}.officials-container::-webkit-scrollbar-thumb{background-color:#888;border-radius:10px}.officials-container::-webkit-scrollbar-thumb:hover{background-color:#555}.filter-pagination-components{height:25%;flex-wrap:wrap;justify-content:center;align-items:center}.pagination-controls{display:flex;justify-self:center;align-items:center;gap:1rem;margin:20px 0}.pagination-controls button{background-color:#0675ec;color:#fff;padding:8px 14px;border:none;border-radius:5px;cursor:pointer}.pagination-controls button:disabled{background-color:#ccc;cursor:not-allowed}.makisu-fold{animation:makisuFold .5s ease-in forwards}.makisu-drop{animation:makisuDrop 1s ease-out forwards}@keyframes makisuFold{0%{transform-origin:top;transform:rotateX(0);opacity:1}50%{transform:rotateX(-45deg);opacity:.5}to{transform:rotateX(-90deg);opacity:0}}@keyframes makisuDrop{0%{transform-origin:top;transform:rotateX(-90deg);opacity:0}50%{transform:rotateX(-45deg);opacity:.5}to{transform:rotateX(0);opacity:1}}.officials-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;min-height:45vh;padding:5px 10px;margin:0vh 0rem;perspective:800px}.officials-list .checkbox-container:nth-child(1){animation-delay:.1s}.officials-list .checkbox-container:nth-child(2){animation-delay:.2s}.officials-list .checkbox-container:nth-child(3){animation-delay:.3s}.officials-list .checkbox-container:nth-child(4){animation-delay:.4s}.officials-list .checkbox-container:nth-child(5){animation-delay:.5s}.officials-list .checkbox-container:nth-child(6){animation-delay:.6s}.officials-list .checkbox-container:nth-child(7){animation-delay:.7s}.officials-list .checkbox-container:nth-child(8){animation-delay:.8s}.officials-list .checkbox-container:nth-child(9){animation-delay:.9s}.officials-list .checkbox-container:nth-child(10){animation-delay:1s}.officials-list .checkbox-container:nth-child(11){animation-delay:1.1s}.officials-list .checkbox-container:nth-child(12){animation-delay:1.2s}.officials-list .checkbox-container:nth-child(13){animation-delay:1.3s}.officials-list .checkbox-container:nth-child(14){animation-delay:1.4s}.officials-list .checkbox-container:nth-child(15){animation-delay:1.5s}.officials-list .checkbox-container:nth-child(16){animation-delay:1.6s}.officials-list .checkbox-container:nth-child(17){animation-delay:1.7s}.officials-list .checkbox-container:nth-child(18){animation-delay:1.8s}.officials-list .checkbox-container:nth-child(19){animation-delay:1.9s}.officials-list .checkbox-container:nth-child(20){animation-delay:2s}.officials-list .checkbox-container:nth-child(21){animation-delay:2.1s}.officials-list .checkbox-container:nth-child(22){animation-delay:2.2s}.officials-list .checkbox-container:nth-child(23){animation-delay:2.3s}.officials-list .checkbox-container:nth-child(24){animation-delay:2.4s}.officials-list .checkbox-container:nth-child(25){animation-delay:2.5s}.officials-list .checkbox-container:nth-child(26){animation-delay:2.6s}.officials-list .checkbox-container:nth-child(27){animation-delay:2.7s}.officials-list .checkbox-container:nth-child(28){animation-delay:2.8s}.officials-list .checkbox-container:nth-child(29){animation-delay:2.9s}.officials-list .checkbox-container:nth-child(30){animation-delay:3s}.officials-list .checkbox-container:nth-child(31){animation-delay:3.1s}.officials-list .checkbox-container:nth-child(32){animation-delay:3.2s}.officials-list .checkbox-container:nth-child(33){animation-delay:3.3s}.officials-list .checkbox-container:nth-child(34){animation-delay:3.4s}.officials-list .checkbox-container:nth-child(35){animation-delay:3.5s}.officials-list .checkbox-container:nth-child(36){animation-delay:3.6s}.officials-list .checkbox-container:nth-child(37){animation-delay:3.7s}.officials-list .checkbox-container:nth-child(38){animation-delay:3.8s}.officials-list .checkbox-container:nth-child(39){animation-delay:3.9s}.officials-list .checkbox-container:nth-child(40){animation-delay:4s}.officials-list .checkbox-container:nth-child(41){animation-delay:4.1s}.officials-list .checkbox-container:nth-child(42){animation-delay:4.2s}.officials-list .checkbox-container:nth-child(43){animation-delay:4.3s}.officials-list .checkbox-container:nth-child(44){animation-delay:4.4s}.officials-list .checkbox-container:nth-child(45){animation-delay:4.5s}.officials-list .checkbox-container:nth-child(46){animation-delay:4.6s}.officials-list .checkbox-container:nth-child(47){animation-delay:4.7s}.officials-list .checkbox-container:nth-child(48){animation-delay:4.8s}.officials-list .checkbox-container:nth-child(49){animation-delay:4.9s}.officials-list .checkbox-container:nth-child(50){animation-delay:5s}@media (max-width: 768px){.officials-header{font-size:1.5rem;height:fit-content;box-sizing:border-box;text-align:center;display:flex;flex-wrap:wrap;align-items:baseline;text-shadow:1px 3px 10px rgb(206,175,148)}.officials-container{display:flex;flex-direction:row;align-items:start;width:98%;padding:0 5px 0 0;margin:0vh 0vw;overflow-y:scroll;height:50vh;flex-wrap:wrap;align-items:center;justify-content:center}.states-dropdown{font-size:1.2rem;margin-left:2vw}.officials-header-container{display:flex;flex-direction:column;justify-self:center}.number-of{font-size:5rem;text-shadow:1px 1px 1px rgb(255,255,0)}}@media (max-width: 480px){.officials-header{font-size:1rem;height:fit-content;color:#333;box-sizing:border-box;text-align:center;display:flex;flex-wrap:wrap;justify-content:baseline;align-items:center;text-shadow:1px 3px 10px rgb(154,147,141)}.officials-container{display:flex;flex-direction:row;align-items:start;width:98%;padding:0 5px 0 0;margin:0vh 0vw;overflow-y:scroll;height:50vh;flex-wrap:wrap;align-items:center;justify-content:center}}.xstyles-al{background-color:#f4a461;color:#fff}.xstyles-ak{background-color:#036;color:#f8f8f8}.xstyles-az{background-color:#ffe4b5;color:#000}.xstyles-ar{background-color:#9932cc;color:#fff}.xstyles-ca{background-color:#fde910;color:#000}.xstyles-co{background-color:#b0e0e6;color:#232323}.xstyles-ct{background-color:#228b22;color:#fff}.xstyles-de{background-color:#ffe50b;color:#444}.xstyles-fl{background-color:tomato;color:#fff}.xstyles-ga{background-color:#49274a;color:#f9f9f9}.xstyles-hi{background-color:#ffa07a;color:#000}.xstyles-id{background-color:#b2ebf2;color:#222}.xstyles-il{background-color:#bebada;color:#000}.xstyles-in{background-color:#ffb347;color:#2c2c2c}.xstyles-ia{background-color:#7fff00;color:#000}.xstyles-ks{background-color:#fff8dc;color:#333}.xstyles-ky{background-color:#4169e1;color:#fff}.xstyles-la{background-color:indigo;color:#fff}.xstyles-me{background-color:#3cb371;color:#fff}.xstyles-md{background-color:#ddd;color:#000}.xstyles-ma{background-color:#4682b4;color:#fff}.xstyles-mi{background-color:#bada55;color:#111}.xstyles-mn{background-color:#dfb2f4;color:#111}.xstyles-ms{background-color:#6b8e23;color:#fff}.xstyles-mo{background-color:tan;color:#111}.xstyles-mt{background-color:#e6e6fa;color:#222}.xstyles-ne{background-color:#f08080;color:#1a1a1a}.xstyles-nv{background-color:#708090;color:#fff}.xstyles-nh{background-color:#1e90ff;color:#fff}.xstyles-nj{background-color:gold;color:#000}.xstyles-nm{background-color:orange;color:#fff}.xstyles-ny{background-color:#191970;color:#fff}.xstyles-nc{background-color:#afeeee;color:#222}.xstyles-nd{background-color:#abc123;color:#111}.xstyles-oh{background-color:sienna;color:#f9f9f9}.xstyles-ok{background-color:peru;color:#fff}.xstyles-or{background-color:#2e8b57;color:#fff}.xstyles-pa{background-color:#bc8f8f;color:#000}.xstyles-ri{background-color:#40e0d0;color:#000}.xstyles-sc{background-color:wheat;color:#222}.xstyles-sd{background-color:khaki;color:#333}.xstyles-tn{background-color:#d2691e;color:#fff}.xstyles-tx{background-color:#fff;color:#d00;border:1px solid #d00;font-weight:700}.xstyles-ut{background-color:#ff69b4;color:#fff}.xstyles-vt{background-color:#006400;color:#fff}.xstyles-va{background-color:#8b4513;color:#fff}.xstyles-wa{background-color:#3cb371;color:#fff}.xstyles-wv{background-color:#8a2be2;color:#fff}.xstyles-wi{background-color:silver;color:#000}.xstyles-wy{background-color:#fff8dc;color:#111}.xstyles-pr{background-color:#150ef2;color:red;font-weight:bolder}.text-container{display:flex;gap:.5px;padding-right:.5vw}.letter{display:inline-block;filter:blur(8px)}.space{width:15px}@media (max-width: 480px){.letter{font-size:1rem}.text-container{font-size:.9rem}.space{width:5px}}.stateDisplay-container{vertical-align:center;padding:10px;position:relative}.stateDisplay-container img{max-width:60px;display:block;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stateDisplay-container img:hover{transform:scale(1.05);filter:drop-shadow(0 8px 16px rgba(0,0,0,.2));cursor:pointer}.stateDisplay-container img:active{transform:scale(.98)}.stateDisplay-container img:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}.stateDisplay-container p{font-size:1rem;font-weight:500;color:#444;background:linear-gradient(135deg,#ffe4e4,#fcc);border-radius:8px;border:1px solid #ffaaaa;text-align:center;padding:.5rem;margin:.5rem 0;box-shadow:0 2px 4px #0000001a}.stateDisplay-container:after{content:"Click to view districts";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:.7rem;color:#64748b;opacity:0;transition:opacity .3s ease;pointer-events:none;white-space:nowrap}.stateDisplay-container:hover:after{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.stateDisplay-container img{max-width:50px}.stateDisplay-container:after{font-size:.6rem;bottom:-15px}}@media (prefers-reduced-motion: reduce){.stateDisplay-container img{transition:none}.stateDisplay-container img:hover{transform:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:50px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-title{font-size:1.5rem;margin-bottom:1rem;text-align:center;padding-right:60px;font-weight:600;color:inherit}.modal-close-btn{margin-top:1.5rem;padding:.5rem 1rem;cursor:pointer;background:var(--button-bg, #555);color:var(--button-color, #fff);border:none;border-radius:4px;align-self:center;position:absolute;top:10px;right:10px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.modal-close-btn:focus-visible{outline:2px solid #007acc;outline-offset:2px;z-index:1001}.modal-body{max-height:60vh;overflow-y:auto;padding:20px;scrollbar-width:thin;scrollbar-color:rgba(155,155,155,.5) transparent}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background-color:#9b9b9b80;border-radius:20px}@media (prefers-contrast: high){.modal-overlay{background-color:#000c}.modal-content,.modal-close-btn{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}.button{background-color:#0675ec;width:25%;color:inherit;font-weight:500;padding:8px 14px;border:none;border-radius:5px;cursor:pointer}.contact-button,.chat-button{width:90%;padding:10px;font-size:16px;font-weight:700;border:none;border-radius:4px;cursor:pointer;transition:background .3s ease-in-out;margin-top:10px}.contact-button{background-color:#007bff;color:#fff}.contact-button:hover{background-color:#0056b3}.chat-button{background-color:#28a745;color:#fff;margin-bottom:2vh}.chat-button:hover{background-color:#1e7e34}.contact-button:disabled,.chat-button:disabled{background-color:#ccc;cursor:not-allowed}.button:focus-visible,.contact-button:focus-visible,.chat-button:focus-visible{outline:2px solid #007acc;outline-offset:2px;box-shadow:0 0 0 4px #007acc33}.button,.contact-button,.chat-button{min-height:44px;min-width:44px;padding:12px 16px}@media (prefers-contrast: high){.button,.contact-button,.chat-button{border:2px solid currentColor}.button:disabled,.contact-button:disabled,.chat-button:disabled{border-color:#666;opacity:.6}}@media (prefers-reduced-motion: reduce){.shiny-text{animation:none}.button,.contact-button,.chat-button{transition:none}}.button:disabled,.contact-button:disabled,.chat-button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.shiny-text{color:#b5b5b5a4;background:linear-gradient(120deg,#fff0 40%,#fffc,#fff0 60%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block;animation:shine 5s linear infinite}@keyframes shine{0%{background-position:100%}to{background-position:-100%}}.shiny-text.disabled{animation:none}.state-district-modal{width:90vw;max-width:1200px;max-height:90vh;background:#0d1a26f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(74,144,226,.3);border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px #0009}.state-district-modal__header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid rgba(74,144,226,.2);background:linear-gradient(135deg,#4a90e21a,#0d1a261a)}.state-district-modal__title{margin:0;font-size:1.8rem;font-weight:700;color:#fffffff2;text-shadow:0 2px 4px rgba(0,0,0,.3)}.state-district-modal__close{background:none;border:none;font-size:2rem;color:#ffffffb3;cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease}.state-district-modal__close:hover{background:#4a90e233;color:#ffffffe6;transform:scale(1.1)}.state-district-modal__content{padding:32px;max-height:70vh;overflow-y:auto}.state-district-modal__content::-webkit-scrollbar{width:8px}.state-district-modal__content::-webkit-scrollbar-track{background:#0d1a2680;border-radius:4px}.state-district-modal__content::-webkit-scrollbar-thumb{background:#4a90e266;border-radius:4px}.state-district-modal__content::-webkit-scrollbar-thumb:hover{background:#4a90e299}.state-district-modal__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#fffc}.state-district-modal__loading p{margin-top:20px;font-size:1.1rem;font-weight:500}.state-district-modal__error{padding:20px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:8px;margin-bottom:24px}.state-district-modal__error p{margin:0;color:#fca5a5e6;font-weight:500}.state-district-modal__no-districts{padding:24px;background:#4a90e21a;border:1px solid rgba(74,144,226,.3);border-radius:8px;margin-bottom:24px;text-align:center}.state-district-modal__no-districts p{margin:0 0 12px;color:#ffffffe6;font-weight:500}.state-district-modal__no-districts ul{text-align:left;margin:16px 0;color:#fffc}.state-district-modal__no-districts ul li{margin-bottom:4px}.state-district-modal__map{background:#0d1a26cc;border:2px solid rgba(74,144,226,.4);border-radius:12px;padding:20px;margin-bottom:24px;min-height:500px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.state-district-modal__map:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(74,144,226,.05) 0%,transparent 50%,rgba(74,144,226,.05) 100%);pointer-events:none}.state-district-modal__svg{width:100%;height:100%;max-height:500px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.state-district-modal__state-outline{transition:all .3s ease}.state-district-modal__state-outline:hover{fill:#4a90e226;stroke:#4a90e2}.state-district-modal__district{transition:all .3s ease;cursor:pointer}.state-district-modal__district:hover{fill:#4a90e24d!important;stroke:#fff!important;stroke-width:.015!important}.state-district-modal__district-label{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;pointer-events:none;text-shadow:-1px -1px 0 rgba(0,0,0,.8),1px -1px 0 rgba(0,0,0,.8),-1px 1px 0 rgba(0,0,0,.8),1px 1px 0 rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.9);-webkit-user-select:none;user-select:none;fill:#fffffff2!important}.state-district-modal__info h3{margin:0 0 16px;color:#ffffffe6;font-size:1.3rem;font-weight:600}.state-district-modal__district-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;max-height:200px;overflow-y:auto;padding:16px;background:#ffffff05;border-radius:8px;border:1px solid rgba(74,144,226,.2)}.state-district-modal__district-item{padding:12px 16px;background:#4a90e21a;border:1px solid rgba(74,144,226,.3);border-radius:8px;text-align:center;transition:all .3s ease;cursor:pointer}.state-district-modal__district-item:hover{background:#4a90e233;border-color:#4a90e280;transform:translateY(-2px);box-shadow:0 4px 12px #4a90e233}.state-district-modal__district-item .district-number{color:#ffffffe6;font-weight:600;font-size:.9rem}@media (max-width: 768px){.state-district-modal{width:95vw;max-height:85vh}.state-district-modal__header{padding:20px 24px}.state-district-modal__title{font-size:1.5rem}.state-district-modal__content{padding:24px 20px}.state-district-modal__map{min-height:300px;padding:16px}.state-district-modal__district-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;padding:12px}.state-district-modal__district-item{padding:10px 12px}.state-district-modal__district-item .district-number{font-size:.8rem}}@media (max-width: 480px){.state-district-modal{width:100vw;height:100vh;border-radius:0;max-height:none}.state-district-modal__header{padding:16px 20px}.state-district-modal__title{font-size:1.3rem}.state-district-modal__content{padding:20px 16px;max-height:calc(100vh - 80px)}.state-district-modal__map{min-height:250px;padding:12px}}:root{--card-bg-start: #1f1f1f;--card-bg-end: #252525;--section-bg: #2b2b2b;--highlight-color: #ffbf00;--primary-font-color: #f0f0f0;--secondary-font-color: #d3d3d3;--transition-speed: .2s}.official-card{width:420px;max-width:90%;min-height:fit-content;background:linear-gradient(135deg,var(--card-bg-start),var(--card-bg-end));color:var(--primary-font-color);border-radius:8px;box-shadow:0 2px 24px #0009;overflow-y:auto;margin:auto;padding:25px 20px;display:flex;flex-direction:column;transition:box-shadow var(--transition-speed),transform var(--transition-speed)}.official-card:hover{box-shadow:0 4px 32px #000000b3;transform:translateY(-2px)}.official-card::-webkit-scrollbar{width:0;background:transparent}.official-card__header{display:flex;margin-bottom:16px;align-items:end;justify-content:space-between}.official-card__photo{width:100px;height:170px;border-radius:4px;object-fit:cover;margin-right:16px;background:#fff;box-shadow:0 1px 4px #ffffff26}.official-card__title{display:flex;flex-direction:column;justify-content:center;flex:1}.card-actions{display:flex;justify-content:space-between;flex-direction:column;align-items:center;padding:8px 0;gap:.75rem;font-size:1.1rem;border-top:1px solid #444;border-bottom:1px solid #444;background:var(--section-bg);border-radius:4px;margin-left:auto;flex-shrink:0}.card-actions button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;transition:var(--bill-card-transition);color:var(--bill-card-text-secondary);display:flex;align-items:center;justify-content:center}.card-actions button:hover{background:var(--bill-card-bg-tertiary);color:var(--bill-card-accent);transform:translateY(-2px) scale(1.1)}.card-actions button:active{transform:translateY(0) scale(.95)}.official-card__name{font-size:1.3rem;font-weight:600;margin:0 0 6px;text-transform:capitalize;letter-spacing:.5px}.official-card__party{font-size:.95rem;font-weight:500;color:var(--secondary-font-color)}.official-card__body{flex:1;display:flex;flex-direction:column;gap:8px}.highlight-title{color:#ffa01b;letter-spacing:.1rem;text-shadow:0 0 4px rgba(0,0,0,.2)}.highlight-title span{text-shadow:none;color:#fff;letter-spacing:0rem}.official-card__age,.official-card__email,.official-card__phone,.official-card__fax,.official-card__address{background:var(--section-bg);padding:8px 10px;border-radius:4px;font-size:.95rem;overflow-x:hidden;display:inline-block;line-height:1.4;transition:background var(--transition-speed)}.official-card__age:hover,.official-card__email:hover,.official-card__phone:hover,.official-card__fax:hover,.official-card__address:hover{background:#343434}.official-card__email{display:flex;align-items:center;justify-content:space-between;background:var(--section-bg);padding:8px 10px;border-radius:4px;font-size:.95rem;overflow-x:hidden;line-height:1.4;transition:background var(--transition-speed);margin:0}.official-card__email-icon{flex-shrink:0;color:var(--highlight-color);font-size:1.5rem;text-decoration:none;transition:color var(--transition-speed),transform var(--transition-speed)}.official-card__email-icon:hover{color:#ffd366;transform:translate(2px)}.official-card__email-icon{padding:4px}.official-card__all-offices{background:var(--section-bg);padding:10px;border-radius:4px;margin-top:8px;transition:background var(--transition-speed)}.official-card__all-offices:hover{background:#343434}.official-card__all-offices h3{margin:0 0 6px;font-size:1rem;font-weight:600;letter-spacing:.3px}.official-card__all-offices ul{list-style:none;margin:0;padding:0}.official-card__all-offices li{margin-bottom:8px;line-height:1.4}.official-card__role{background:#262626;padding:8px 10px;border-radius:4px;transition:background var(--transition-speed)}.official-card__role:hover{background:#343434}.official-card__role-title{font-weight:600;margin-bottom:4px;letter-spacing:.5px}.official-card__websites{background:var(--section-bg);padding:10px;border-radius:4px;margin-top:8px;transition:background var(--transition-speed)}.official-card__websites:hover{background:#343434}.official-card__websites h3{margin:0 0 6px;font-size:1rem;font-weight:600;letter-spacing:.3px}.official-card__websites ul{list-style:none;margin:0;padding:0}.official-card__websites li{margin-bottom:6px}.official-card__websites a{color:var(--highlight-color);font-weight:500;text-decoration:none;transition:color var(--transition-speed)}.official-card__websites a:hover{text-decoration:underline;color:#ffd366}.official-card__identifiers{background:var(--section-bg);padding:10px;border-radius:4px;margin-top:8px;transition:background var(--transition-speed)}.official-card__identifiers:hover{background:#343434}.official-card__identifiers h3{margin:0 0 6px;font-size:1rem;font-weight:600;letter-spacing:.3px}.official-card__identifiers ul{list-style:none;margin:0;padding:0}.official-card__identifiers li{margin-bottom:4px}.official-card__footer{margin-top:16px;display:flex;flex-direction:column;gap:16px}.official-card__socials a{margin-right:12px;text-decoration:none;color:var(--highlight-color);font-weight:500;transition:color var(--transition-speed)}.official-card__socials a:hover{text-decoration:underline;color:#ffd366}.official-card__buttons{display:flex;justify-content:space-evenly;gap:8px;min-height:3rem}.official-card__button{flex:1;padding:8px 16px;background-color:#ff0080;color:#fff;font-weight:600;border:none;border-radius:4px;text-align:center;transition:background-color var(--transition-speed),transform var(--transition-speed);cursor:pointer;letter-spacing:.4px}.official-card__button:hover{background-color:#e00074;transform:translateY(-1px)}.official-card__button:active{transform:translateY(0);background-color:#c60066}.official-card__reviews-section{margin-top:16px;background:var(--section-bg);border-radius:4px;padding:10px;transition:background var(--transition-speed)}.official-card__reviews-section:hover{background:#343434}.review-btn{background-color:#2c9e69!important}.review-btn:hover{background-color:#34b87a!important}.official-card__buttons{display:flex;justify-content:space-between;gap:12px}.official-card__buttons button{flex:1}.ack-modal{background-color:var(--section-bg);color:#fff;max-width:400px;margin:0 auto;padding:24px 20px;border-radius:8px;box-shadow:0 4px 12px #00000059;text-align:center}.ack-modal h2{margin-bottom:16px;font-size:1.5rem;font-weight:600;letter-spacing:.5px}.ack-modal p{margin-bottom:20px;font-size:1rem;line-height:1.5;color:#ccc}.ack-modal__option{margin-bottom:24px}.ack-modal__option label{display:inline-flex;align-items:center;gap:8px;font-size:1rem;cursor:pointer;color:#eee}.ack-modal__option input[type=radio]{accent-color:var(--highlight-color);width:18px;height:18px;cursor:pointer}.ack-modal button{background-color:var(--highlight-color);color:#000;padding:10px 24px;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-speed),transform var(--transition-speed)}.ack-modal button:disabled{background-color:#666;cursor:not-allowed;opacity:.7}.ack-modal button:not(:disabled):hover{background-color:#ffd366;transform:translateY(-1px)}.official-card__current-events-section{margin-top:16px;background:var(--section-bg);border-radius:4px;padding:12px;transition:background var(--transition-speed)}.official-card__current-events-section:hover{background:#343434}.current-events-toggle-btn{width:100%;background:transparent;border:none;color:var(--primary-font-color);font-size:1rem;font-weight:600;padding:8px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:color var(--transition-speed)}.current-events-toggle-btn:hover{color:var(--highlight-color)}.current-events-toggle-btn:focus{outline:2px solid var(--highlight-color);outline-offset:2px;border-radius:4px}.toggle-icon{font-size:.8rem;transition:transform .3s ease;color:var(--secondary-font-color)}.toggle-icon.expanded{transform:rotate(180deg)}.current-events-content{margin-top:12px;padding-top:12px;border-top:1px solid #444;animation:fadeIn .3s ease-in-out}.current-events-content .current-events{background:transparent;padding:0}.current-events-content .current-events .articles-grid{gap:8px}.current-events-content .current-events .news-article{background:#ffffff05;border:1px solid rgba(255,255,255,.08);font-size:12px}.current-events-content .current-events .news-article:hover{background:#ffffff0d;border-color:#ffa01b4d;transform:translateY(-1px)}.current-events-content .current-events .news-article .article-content{padding:10px}.current-events-content .current-events .news-article .article-title a{font-size:12px;font-weight:600;color:#f3f4f6}.current-events-content .current-events .news-article .article-title a:hover{color:#ffa01b}.current-events-content .current-events .news-article .article-description{font-size:11px;color:#d1d5db;margin-bottom:8px}.current-events-content .current-events .news-article .article-meta{font-size:9px;padding-top:6px}.current-events-content .current-events .loading-spinner,.current-events-content .current-events .error-message{margin:0;min-height:80px}.current-events-content .current-events .loading-spinner .spinner{width:24px;height:24px;border-width:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reviews-toggle-btn{width:100%;background:transparent;border:none;color:var(--primary-font-color);font-size:1rem;font-weight:600;padding:8px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:color var(--transition-speed)}.reviews-toggle-btn:hover{color:var(--highlight-color)}.reviews-toggle-btn:focus{outline:2px solid var(--highlight-color);outline-offset:2px;border-radius:4px}@media (max-width: 768px){.official-card__current-events-section{margin-top:12px;padding:10px}.current-events-toggle-btn{font-size:.9rem;padding:6px 0}.current-events-content{margin-top:8px;padding-top:8px}}@media (max-width: 480px){.official-card__current-events-section{margin-top:8px;padding:8px}.current-events-toggle-btn{font-size:.85rem;padding:6px 0}.toggle-icon{font-size:.7rem}}.party-badge{display:inline-block;padding:4px 8px;border-radius:4px;color:#fff;font-size:.85rem;font-weight:600;margin-right:8px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.official-card__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.status-badge,.service-badge,.contact-badge{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.status-badge{text-transform:uppercase;letter-spacing:.5px}.service-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.service-veteran{background:linear-gradient(135deg,#059669,#10b981)}.service-experienced{background:linear-gradient(135deg,#3b82f6,#6366f1)}.service-moderate{background:linear-gradient(135deg,#f59e0b,#f97316)}.service-new{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.contact-excellent{background:linear-gradient(135deg,#10b981,#059669)}.contact-good{background:linear-gradient(135deg,#3b82f6,#2563eb)}.contact-limited{background:linear-gradient(135deg,#f59e0b,#d97706)}.contact-poor{background:linear-gradient(135deg,#ef4444,#dc2626)}.official-card__insights{background:linear-gradient(135deg,var(--section-bg),#323232);border-radius:8px;padding:16px;margin:16px 0;border:1px solid #404040}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.insight-item{display:flex;flex-direction:column;align-items:center;text-align:center}.insight-label{font-size:.75rem;color:var(--secondary-font-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.insight-value{font-size:.9rem;font-weight:600;color:var(--highlight-color)}.official-card__section{background:var(--section-bg);border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid #404040}.section-title{font-size:1.1rem;font-weight:600;color:var(--highlight-color);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #404040}.contact-grid{display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;flex-direction:column;gap:4px}.contact-item.address-item{grid-column:1 / -1}.contact-label{font-size:.85rem;color:var(--secondary-font-color);font-weight:500}.contact-value{display:flex;justify-content:space-between;align-items:center;color:var(--primary-font-color);font-size:.9rem}.contact-action{color:var(--highlight-color);text-decoration:none;font-size:.8rem;font-weight:500;transition:color var(--transition-speed)}.contact-action:hover{color:#ffd366}.address-value{flex-direction:column;align-items:flex-start;gap:2px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.8rem;color:var(--secondary-font-color);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.detail-value{color:var(--primary-font-color);font-size:.9rem;font-weight:500}.offices-list{display:flex;flex-direction:column;gap:12px}.office-item{background:#323232;padding:12px;border-radius:6px;border-left:3px solid var(--highlight-color)}.office-name{font-weight:600;color:var(--primary-font-color);margin-bottom:4px}.office-details{display:flex;gap:12px;flex-wrap:wrap;font-size:.85rem;color:var(--secondary-font-color)}.office-type{color:var(--highlight-color);font-style:italic}.online-presence{display:flex;flex-direction:column;gap:12px}.presence-label{font-size:.85rem;color:var(--secondary-font-color);font-weight:500;margin-bottom:4px}.websites-list,.social-links,.openstates-link{display:flex;flex-direction:column;gap:6px}.website-link,.social-link{color:var(--highlight-color);text-decoration:none;font-size:.9rem;padding:6px 0;border-bottom:1px solid #404040;transition:color var(--transition-speed),border-color var(--transition-speed)}.website-link:hover,.social-link:hover{color:#ffd366;border-color:#ffd366}.socials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.social-link{border:1px solid #404040;border-radius:6px;padding:8px 12px;text-align:center;border-bottom:1px solid #404040}.social-link.twitter:hover{border-color:#1da1f2;color:#1da1f2}.social-link.facebook:hover{border-color:#1877f2;color:#1877f2}.identifiers-list{display:flex;flex-direction:column;gap:8px}.identifier-item{display:flex;gap:8px;align-items:center;padding:8px;background:#323232;border-radius:4px}.identifier-scheme{font-weight:600;color:var(--highlight-color);min-width:80px}.identifier-value{color:var(--primary-font-color);font-family:monospace}.record-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.record-item{display:flex;flex-direction:column;gap:4px}.record-label{font-size:.8rem;color:var(--secondary-font-color);font-weight:500}.record-value{color:var(--primary-font-color);font-size:.85rem}.official-card__buttons{display:flex;gap:12px;justify-content:center;margin-top:16px}.primary-action{background:linear-gradient(135deg,var(--highlight-color),#e6ac00);border:none;color:#1f1f1f;font-weight:600}.secondary-action{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;font-weight:600}.primary-action:hover,.secondary-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.official-card{width:95%;padding:20px 16px}.official-card__badges{flex-direction:column;gap:6px}.insight-grid{grid-template-columns:repeat(2,1fr)}.details-grid{grid-template-columns:1fr}.contact-grid{gap:10px}.official-card__buttons{flex-direction:column;gap:8px}}@media (max-width: 480px){.official-card{width:98%;padding:16px 12px}.official-card__header{flex-direction:column;text-align:center}.official-card__photo{width:80px;height:120px;margin:0 auto 12px}.insight-grid,.socials-grid{grid-template-columns:1fr}}.favorite-button{font-size:1.5rem;font-weight:700;background:none;border:none;cursor:pointer;outline:none;transition:transform .2s ease,color .3s ease,opacity .2s ease;padding:.25rem;border-radius:.25rem}.favorite-button:hover:not(:disabled){transform:scale(1.1)}.favorite-button:active:not(:disabled){transform:scale(.9)}.favorite-button:disabled{cursor:not-allowed;opacity:.6}.favorite-button.favorited{color:gold;text-shadow:0 0 8px rgba(255,215,0,.8)}.favorite-button.unfavorited{color:#666;text-shadow:none}.favorite-button.unfavorited:hover:not(:disabled){color:gold;text-shadow:0 0 8px rgba(255,215,0,.4)}.favorite-button.loading{animation:pulse 1s infinite}.favorite-button:focus{outline:2px solid #ffd700;outline-offset:2px}.vote-buttons-container{display:flex;flex-direction:row;align-items:center;justify-content:center}.up-down-vote-wrapper{display:flex;flex-direction:column;justify-content:center}.vote-buttons{text-align:center}.vote-button{font-size:1rem;background:none;border:none;cursor:pointer;outline:none;transition:transform .2s ease,color .3s ease}.vote-button:active{transform:scale(.9)}.vote-button.up.active{color:#22c55e!important;background:none!important}.vote-button.down.active{color:#ef4444!important;background:none!important}.vote-button.inactive{color:#999}.vote-button.up.inactive{text-shadow:0 0 3px rgba(0,255,17,.727)}.vote-button.down.inactive{text-shadow:0 0 3px rgba(255,42,0,.727)}.vote-score{font-size:1rem;text-align:center;color:#ccc}.review-form-container{background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f0f0f0;border-radius:16px;padding:32px;width:90%;max-width:600px;margin:20px auto;box-shadow:0 8px 30px #0003;border:1px solid rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease}.review-form-container:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.review-form-container h2{margin:0 0 24px;font-size:1.8rem;text-align:center;color:#fff;font-weight:700;text-shadow:0 4px 10px rgba(255,255,255,.3)}.review-form{display:flex;flex-direction:column;gap:24px}.rating-selector{display:flex;flex-direction:column;gap:12px}.rating-selector label{font-weight:600;font-size:1rem;color:#fff}.star-rating{display:flex;gap:12px;justify-content:center}.star-btn{background:none;border:none;cursor:pointer;font-size:32px;color:#ffffff80;transition:color .2s ease,transform .2s ease}.star-btn.active{color:#ffbf00}.star-btn:hover{color:#ffbf00;transform:scale(1.2)}.review-input{display:flex;flex-direction:column;gap:12px}.review-input label{font-weight:600;font-size:1rem;color:#fff}.review-input textarea{padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-family:inherit;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.review-input textarea:focus{outline:none;border-color:#ffbf00;box-shadow:0 0 8px #ffbf0080}.form-actions{display:flex;justify-content:center}.submit-btn{padding:12px 24px;background-color:#ffbf00;color:#fff;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 15px #ffbf0066}.submit-btn:hover{background-color:#ffd666;transform:translateY(-2px);box-shadow:0 8px 20px #ffbf0080}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{background-color:#fff3;color:#ffffff80;cursor:not-allowed}.auth-required-message{background-color:#ffffff1a;border-radius:12px;padding:24px;text-align:center;margin:24px 0;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0003}.auth-required-message p{margin-bottom:16px;color:#fff;font-size:1rem}.login-link{display:inline-block;background:linear-gradient(135deg,#e78533,#e74c3c);color:#fff;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.login-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.error-message{background-color:#ff00001a;color:#ff4d4d;padding:12px 16px;border-radius:8px;margin-bottom:16px;border:1px solid rgba(255,0,0,.2);font-size:.9rem;text-align:center}@media (max-width: 768px){.review-form-container{width:95%;padding:24px}.review-form-container h2{font-size:1.6rem}.star-btn{font-size:28px}.review-input textarea{font-size:.9rem}.submit-btn{font-size:.9rem;padding:10px 20px}}@media (max-width: 480px){.review-form-container{width:100%;padding:16px}.review-form-container h2{font-size:1.4rem}.star-btn{font-size:24px}.review-input textarea{font-size:.85rem}.submit-btn{font-size:.85rem;padding:8px 16px}}.reviews-list{margin-top:16px}.reviews-title{font-size:1.1rem;margin-bottom:16px;color:#ffbf00;border-bottom:1px solid #444;padding-bottom:8px}.review-item{background:#2b2b2b;border-radius:6px;padding:12px;margin-bottom:12px}.review-header{display:flex;justify-content:space-between;margin-bottom:8px}.review-author{font-weight:600;color:#f0f0f0}.review-date{font-size:.85rem;color:#aaa}.review-rating{margin-bottom:10px}.star{color:#555;font-size:18px}.star.filled{color:#ffbf00}.review-content{line-height:1.5;color:#d3d3d3}.reviews-loading,.reviews-error,.no-reviews{padding:16px;text-align:center;color:#aaa;background:#2b2b2b;border-radius:6px}.reviews-error{color:#ff6b6b}.reviews-toggle-btn{width:100%;padding:10px;margin:12px 0;background:linear-gradient(135deg,#ffbf00,#ff9500);color:#1f1f1f;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:transform .2s,filter .2s}.reviews-toggle-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.reviews-toggle-btn:active{transform:translateY(0)}.current-events{max-width:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:transparent;border-radius:8px}.current-events.loading{display:flex;justify-content:center;align-items:center;min-height:120px;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px}.current-events.error{display:flex;justify-content:center;align-items:center;min-height:120px;background:#f871710d;border:1px solid rgba(248,113,113,.2);border-radius:8px}.current-events .loading-spinner{text-align:center}.current-events .loading-spinner .spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top:3px solid #fbbf24;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}.current-events .loading-spinner p{color:#d1d5db;font-size:13px;font-weight:500}.current-events .error-message{text-align:center;padding:24px;background:#f871711a;border-radius:8px;border:1px solid rgba(248,113,113,.2)}.current-events .error-message h3{color:#f87171;margin-bottom:8px;font-size:16px}.current-events .error-message p{color:#d1d5db;margin-bottom:12px;font-size:13px}.current-events .error-message .retry-button{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.current-events .error-message .retry-button:hover{background:linear-gradient(135deg,#ef4444,#dc2626);transform:translateY(-1px)}.current-events .current-events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.current-events .current-events-header h2{color:#f3f4f6;font-size:18px;margin:0;font-weight:600}.current-events .current-events-header .refresh-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:8px 10px;border-radius:50%;cursor:pointer;font-size:14px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.current-events .current-events-header .refresh-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:rotate(180deg) scale(1.1);box-shadow:0 4px 8px #0003}.current-events .no-articles{text-align:center;padding:24px;background:#ffffff05;border-radius:8px;color:#9ca3af;border:1px solid rgba(255,255,255,.1)}.current-events .no-articles p:first-child{font-size:14px;margin-bottom:6px;color:#d1d5db}.current-events .no-articles p:last-child{font-size:12px;color:#6b7280}.current-events .articles-container .article-count{color:#9ca3af;font-size:12px;margin-bottom:12px;text-align:center;font-weight:500}.current-events .articles-container .articles-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 768px){.current-events .articles-container .articles-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}}.current-events .news-article{background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.current-events .news-article:hover{transform:translateY(-2px);background:#ffffff0f;border-color:#fbbf244d;box-shadow:0 8px 25px #0003}.current-events .news-article .article-image{width:100%;height:150px;overflow:hidden;background:#ffffff05;position:relative}.current-events .news-article .article-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.current-events .news-article .article-image:hover img{transform:scale(1.05)}.current-events .news-article .article-image:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fbbf241a,#f973160d);opacity:0;transition:opacity .3s ease}.current-events .news-article .article-image:hover:after{opacity:1}.current-events .news-article .article-content{padding:14px}.current-events .news-article .article-content .article-title{margin:0 0 10px;font-size:14px;line-height:1.4}.current-events .news-article .article-content .article-title a{color:#f3f4f6;text-decoration:none;font-weight:600;transition:color .2s ease}.current-events .news-article .article-content .article-title a:hover{color:#fbbf24;text-decoration:none}.current-events .news-article .article-content .article-description{color:#d1d5db;font-size:12px;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.current-events .news-article .article-content .article-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#6b7280;border-top:1px solid rgba(255,255,255,.05);padding-top:10px}@media (max-width: 480px){.current-events .news-article .article-content .article-meta{flex-direction:column;align-items:flex-start;gap:4px}}.current-events .news-article .article-content .article-meta .source{font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.5px;font-size:9px}.current-events .news-article .article-content .article-meta .publish-date{color:#9ca3af;font-style:italic;font-size:9px}.current-events-compact{width:100%;font-size:12px;background:transparent;border-radius:6px;overflow:hidden}.current-events-compact.loading{display:flex;align-items:center;gap:8px;padding:12px;color:#d1d5db;background:#ffffff05;border-radius:6px}.current-events-compact.loading .compact-spinner{font-size:16px;animation:pulse 1.5s ease-in-out infinite}.current-events-compact.loading p{margin:0;font-size:12px;color:#d1d5db;font-weight:500}.current-events-compact.error,.current-events-compact.no-news{padding:12px;text-align:center;color:#f87171;background:#f871711a;border-radius:6px;border:1px solid rgba(248,113,113,.2)}.current-events-compact.error p,.current-events-compact.no-news p{margin:0;font-size:12px;color:#f87171;font-weight:500}.current-events-compact .compact-header{padding:10px 12px;background:linear-gradient(135deg,#ff990026,#f8b4041a);border-bottom:1px solid rgba(255,153,0,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.current-events-compact .compact-header h4{margin:0;font-size:13px;font-weight:600;color:#fbbf24;text-shadow:0 1px 2px rgba(0,0,0,.3);letter-spacing:.3px}.current-events-compact .compact-articles{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,153,0,.3) transparent}.current-events-compact .compact-articles::-webkit-scrollbar{width:4px}.current-events-compact .compact-articles::-webkit-scrollbar-track{background:transparent}.current-events-compact .compact-articles::-webkit-scrollbar-thumb{background:#ff99004d;border-radius:2px}.current-events-compact .compact-articles::-webkit-scrollbar-thumb:hover{background:#ff990080}.current-events-compact .compact-article{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05);transition:all .2s ease;position:relative}.current-events-compact .compact-article:last-child{border-bottom:none}.current-events-compact .compact-article:hover{background:linear-gradient(135deg,#f97f0426,#f565651a);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translate(2px)}.current-events-compact .compact-article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(135deg,#f97316,#ef4444);opacity:0;transition:opacity .2s ease}.current-events-compact .compact-article:hover:before{opacity:1}.current-events-compact .compact-article-link{text-decoration:none;color:inherit;display:block;transition:color .2s ease}.current-events-compact .compact-article-link:hover{text-decoration:none}.current-events-compact .compact-title{font-size:12px;font-weight:600;line-height:1.4;color:#f3f4f6;margin-bottom:6px;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:color .2s ease}.current-events-compact .compact-title:hover{color:#fbbf24}.current-events-compact .compact-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9ca3af;margin-top:4px}.current-events-compact .compact-source{font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.5px;font-size:9px}.current-events-compact .compact-date{font-style:italic;color:#6b7280;font-size:9px}@media (prefers-color-scheme: light){.current-events-compact .compact-header{border-bottom-color:#d1d5db}.current-events-compact .compact-header h4{color:#1d4ed8}.current-events-compact .compact-article{border-bottom-color:#d1d5db}.current-events-compact .compact-article .compact-article-link:hover{background-color:#1d4ed81a;color:#1d4ed8}.current-events-compact .compact-article .compact-title{color:#374151}.current-events-compact .compact-article .compact-meta{color:#6b7280}.current-events-compact .compact-article .compact-meta .compact-source{color:#4b5563}.current-events-compact .compact-article .compact-meta .compact-date{color:#9ca3af}.current-events-compact.loading,.current-events-compact.error,.current-events-compact.no-news{color:#6b7280}}@media (max-width: 768px){.current-events-compact{font-size:10px}.current-events-compact .compact-header h4{font-size:11px}.current-events-compact .compact-title{font-size:10px}.current-events-compact .compact-meta{font-size:8px}.current-events-compact .compact-meta .compact-source{max-width:100px}.current-events-compact .compact-meta .compact-date{font-size:7px}}@media (max-width: 480px){.current-events-compact .compact-meta{flex-direction:column;align-items:flex-start;gap:2px}.current-events-compact .compact-meta .compact-source{max-width:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chat-overlay-container{position:fixed;top:100px;left:100px;min-height:400px;min-width:320px;max-width:50vw;max-height:80vh;z-index:1001;color:#fff;background:#000000d9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:3px double #000080;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:-5px 5px 15px #0000004d;display:flex;flex-direction:column;padding:12px;resize:both;overflow:auto}.mute-btn{padding:2px 6px;border-radius:4px;cursor:pointer}.chat-header{cursor:move;background-color:navy;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);font-weight:600;padding:6px 10px;margin:-12px -12px 8px;-webkit-user-select:none;user-select:none}.chat-90s-wallpaper{background-size:cover;background-repeat:repeat;background-blend-mode:overlay}.chat-overlay-container input,.chat-overlay-container button{font-family:inherit;border:2px solid #000080;background-color:#fff8dc;padding:6px;border-radius:0;outline:none;font-size:.9rem;color:#000}.chat-overlay-container input[type=text]{background-color:#fffffff2;color:#000;border:2px solid rgba(255,255,255,.3);border-radius:4px;padding:8px 12px;font-size:1rem}.chat-overlay-container input[type=text]:focus{outline:2px solid #007acc;outline-offset:2px;border-color:#007acc;background-color:#fff}.chat-overlay-container button{background-color:#28a745e6;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:6px 12px;font-weight:500;cursor:pointer;text-shadow:1px 1px 2px rgba(0,0,0,.5);transition:background-color .2s ease}.chat-overlay-container .message-bubble{padding:10px 20px;margin:4px 0;border-radius:4px;background-color:#dcdcff;border:1px solid;max-width:90%;word-wrap:break-word;display:flex;flex-direction:column;font-size:.85rem}.chat-overlay-container .user-message{align-self:flex-end;background-color:#a0c4ff;border-color:#2df9fdbc;text-align:right;text-shadow:1px 1px 1px #000000a7,0 1px 1px #ffffff,0 1px 1px #ffffff;border-radius:30px 20px 2px 30px}.chat-overlay-container .assistant-message{align-self:flex-start;background-color:#fceaff;border-color:#f87849f8;letter-spacing:.1rem;text-align:left;color:#000;border-radius:20px 30px 30px 5px;text-shadow:1px 1px 1px #fff,0 0 3px #ffffff,0 0 5px #fcfcfc}.message-meta{font-size:.8rem;color:#fffc;margin-bottom:4px;font-weight:500}.chat-log{flex-grow:1;min-height:200px;overflow-y:auto;padding:8px;background-color:#fff8dc;border:1px solid #aaa;margin-bottom:8px;display:flex;flex-direction:column}.chat-overlay-container label{font-size:.85rem;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);cursor:pointer;display:flex;align-items:center;margin-bottom:8px}.chat-overlay-container .flex{display:flex;align-items:center;gap:8px}.chat-overlay-container .flex input{flex:1}.voice-selection{background:#0000801a;border:1px solid rgba(0,0,128,.3);border-radius:4px;padding:8px;margin-bottom:8px}.voice-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voice-controls select{font-family:inherit;padding:4px 6px;border-radius:4px;outline:none;font-size:.9rem;min-width:150px;background-color:#fffffff2;color:#000;border:2px solid rgba(255,255,255,.3)}.voice-controls select:focus{border-color:#0080ff;box-shadow:0 0 4px #0080ff4d;outline:2px solid #007acc;outline-offset:2px}.voice-controls button{padding:4px 8px;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:700;transition:background-color .2s ease;background-color:#28a745e6;color:#fff;border:1px solid rgba(255,255,255,.2)}.voice-controls button:hover:not(:disabled){background-color:#218838}.voice-controls button:disabled{background-color:#c00;cursor:not-allowed;opacity:.8}.tts-button{background:transparent!important;border:none!important;color:navy!important;cursor:pointer;padding:2px 4px!important;margin-left:8px;font-size:.9rem;border-radius:3px;transition:background-color .2s ease}.tts-button:hover:not(:disabled){background-color:#0000801a!important}.chat-overlay-container input[type=checkbox]{min-width:16px;min-height:16px;margin-right:8px}.chat-overlay-container select{background-color:#fffffff2;color:#000;border:2px solid rgba(255,255,255,.3);border-radius:4px;padding:6px 8px;font-size:.9rem}.chat-overlay-container select:focus{outline:2px solid #007acc;outline-offset:2px;border-color:#007acc}.chat-overlay-container button:hover{background-color:#28a745}.chat-overlay-container button:focus{outline:2px solid #007acc;outline-offset:2px}.chat-overlay-container button:disabled{background-color:#6c757d99;cursor:not-allowed;opacity:.6}.message-bubble{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;margin:8px 0;padding:12px}.user-message{background-color:#007acc33;border-color:#007acc4d}.assistant-message{background-color:#28a74533;border-color:#28a7454d}@media (max-width: 768px){.voice-controls{flex-direction:column;align-items:stretch}.voice-controls select{min-width:auto;width:100%;margin-bottom:4px}.voice-controls button{width:100%}}:root{--ticker-bg: #0a0a0a;--ticker-bg-gradient: linear-gradient( 135deg, #0a0a0a 0%, #1a1a1a 50%, #0f0f0f 100% );--ticker-text: #ffffff;--ticker-text-secondary: #cccccc;--ticker-accent: #f9c74f;--ticker-accent-hover: #ffeb3b;--ticker-accent-glow: rgba(249, 199, 79, .3);--ticker-border: rgba(255, 255, 255, .1);--ticker-shadow: 0 -8px 32px rgba(0, 0, 0, .6);--ticker-shadow-hover: 0 -12px 40px rgba(0, 0, 0, .8);--ticker-transition: all .3s cubic-bezier(.4, 0, .2, 1);--ticker-font-size: clamp(14px, 2.5vw, 16px);--ticker-padding: clamp(8px, 2vw, 12px)}.ticker-container{position:fixed;bottom:0;left:0;width:100vw;background:var(--ticker-bg);color:var(--ticker-text);overflow:hidden;white-space:nowrap;padding:var(--ticker-padding);font-size:var(--ticker-font-size);font-weight:700;box-shadow:var(--ticker-shadow);z-index:9999;cursor:grab;transition:opacity .3s ease-in-out}.ticker-container.hidden{opacity:0}.ticker-container.visible{opacity:1}.ticker-wrapper{display:flex;overflow:hidden;width:100vw;-webkit-user-select:none;user-select:none;scrollbar-width:none;contain:layout style paint;will-change:transform}.ticker-wrapper::-webkit-scrollbar{display:none}.ticker-content{display:flex;gap:clamp(30px,5vw,60px);animation:tickerScroll 60s linear infinite;min-width:200%;align-items:center;padding:0 2rem;transition:animation-play-state .1s ease}.ticker-content.paused{animation-play-state:paused}@keyframes tickerScroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.ticker-item{display:inline-flex;align-items:center;padding:clamp(6px,1.5vw,10px) clamp(12px,3vw,20px);font-size:var(--ticker-font-size);color:var(--ticker-text-secondary);border-radius:20px;transition:var(--ticker-transition);cursor:pointer;position:relative;overflow:visible;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;font-weight:500;letter-spacing:.025em;min-width:max-content;max-width:min(80vw,600px);text-overflow:clip;transform:translateZ(0)}.ticker-item:hover{transform:translateY(-2px) scale(1.05) translateZ(0);color:var(--ticker-accent);background:#f9c74f1a;font-weight:600;z-index:10}.ticker-item:active{transform:translateY(-1px) scale(1.02)}.ticker-item.wrapped{white-space:normal;word-wrap:break-word;max-width:min(40vw,300px);line-height:1.4}.ticker-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .3s ease;pointer-events:none}.ticker-item:hover:before{left:100%}.ticker-container:hover .ticker-content{animation-play-state:paused}.ticker-item strong{color:var(--ticker-accent);font-weight:700;margin-right:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.ticker-item:hover strong{color:var(--ticker-accent-hover)}.ticker-wrapper:has(.ticker-content #loading-id){background:var(--ticker-bg-gradient)}#loading-id{background:linear-gradient(90deg,var(--ticker-accent) 25%,var(--ticker-accent-hover) 50%,var(--ticker-accent) 75%);background-size:200% 100%;animation:shimmer 2s infinite,pulse 1.5s ease-in-out infinite alternate;color:var(--ticker-bg);font-weight:700;padding:clamp(8px,2vw,12px) clamp(16px,4vw,24px);border-radius:25px;border:none;box-shadow:0 4px 20px var(--ticker-accent-glow)}@keyframes pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.05);opacity:1}}@media (hover: hover) and (pointer: fine){.ticker-item:hover{transform:translateY(-2px) scale(1.05) translateZ(0);color:var(--ticker-accent);background:#f9c74f1a;font-weight:600;z-index:10}}@media (hover: none){.ticker-item:active{transform:translateY(-1px) scale(1.02) translateZ(0);color:var(--ticker-accent);background:#f9c74f1a;border-color:var(--ticker-accent)}}@media (max-width: 768px){.ticker-item{font-size:14px;padding:6px 12px}.ticker-item:hover{font-size:15px}}@media (max-width: 480px){.ticker-item{font-size:12px;padding:4px 10px}.ticker-item:hover{font-size:14px}}@media (prefers-contrast: high){:root{--ticker-accent: #ffff00;--ticker-accent-hover: #ffffff;--ticker-border: rgba(255, 255, 255, .3)}.ticker-item{border-width:2px}}@media (prefers-reduced-transparency: reduce){.ticker-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1a1a1a}.ticker-item{-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff1a}}@media (max-resolution: 150dpi){.ticker-container:before{display:none}.ticker-item:before{display:none}}.ticker-no-results{position:fixed;bottom:0;left:0;right:0;width:100vw;background:var(--ticker-bg-gradient);color:var(--ticker-text-secondary);text-align:center;padding:var(--ticker-padding);font-size:var(--ticker-font-size);font-weight:500;font-style:italic;box-shadow:var(--ticker-shadow);z-index:9999;border-top:1px solid var(--ticker-border);opacity:.7}@media (max-width: 768px){:root{--ticker-font-size: clamp(12px, 3vw, 14px);--ticker-padding: clamp(6px, 1.5vw, 10px)}.ticker-content{gap:clamp(20px,4vw,40px);padding:0 1rem}.ticker-item{padding:clamp(4px,1vw,8px) clamp(8px,2vw,16px);border-radius:16px}.ticker-item:hover{transform:translateY(-1px) scale(1.03)}}@media (max-width: 480px){:root{--ticker-font-size: clamp(10px, 3.5vw, 12px);--ticker-padding: clamp(4px, 1vw, 8px)}.ticker-content{gap:clamp(15px,3vw,30px);padding:0 .5rem}.ticker-item{padding:clamp(3px,.8vw,6px) clamp(6px,1.5vw,12px);border-radius:12px;font-size:clamp(9px,3vw,11px)}.ticker-item strong{margin-right:.25rem}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.ticker-item{border-width:.5px}}@media (prefers-color-scheme: dark){:root{--ticker-bg: #000000;--ticker-bg-gradient: linear-gradient( 135deg, #000000 0%, #111111 50%, #080808 100% );--ticker-shadow: 0 -8px 32px rgba(0, 0, 0, .8)}}@media (prefers-reduced-motion: reduce){.ticker-content{animation:none}.ticker-item,.ticker-item:hover,#loading-id{animation:none;transition:none;transform:none}.ticker-container.hidden,.ticker-container.visible{transform:none}}.ticker-item:focus-visible{outline:2px solid var(--ticker-accent);outline-offset:2px;border-color:var(--ticker-accent);box-shadow:0 4px 20px var(--ticker-accent-glow),0 0 0 1px #f9c74f66}@media print{.ticker-container,.ticker-no-results{display:none}}:root{--bill-card-bg: #1a1a1a;--bill-card-bg-secondary: #2a2a2a;--bill-card-bg-tertiary: #333333;--bill-card-text: #ffffff;--bill-card-text-secondary: #cccccc;--bill-card-text-muted: #999999;--bill-card-accent: #f9c74f;--bill-card-accent-hover: #ffb703;--bill-card-accent-secondary: #efb221;--bill-card-border: rgba(255, 255, 255, .1);--bill-card-border-light: rgba(255, 255, 255, .05);--bill-card-shadow: 0 10px 30px rgba(0, 0, 0, .3);--bill-card-shadow-hover: 0 20px 40px rgba(0, 0, 0, .4);--bill-card-radius: 16px;--bill-card-radius-small: 8px;--bill-card-spacing: 1rem;--bill-card-spacing-small: .5rem;--bill-card-transition: all .3s cubic-bezier(.4, 0, .2, 1)}.bill-card{background:linear-gradient(135deg,var(--bill-card-bg) 0%,var(--bill-card-bg-secondary) 100%);color:var(--bill-card-text);width:min(380px,90vw);max-height:min(85vh,500px);border-radius:var(--bill-card-radius);box-shadow:var(--bill-card-shadow);padding:2rem 1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex;flex-direction:column;gap:var(--bill-card-spacing);overflow-y:auto;position:relative;transition:var(--bill-card-transition);border:1px solid var(--bill-card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none}.bill-card:hover{box-shadow:var(--bill-card-shadow-hover);transform:translateY(-2px)}.bill-card:focus-within{box-shadow:0 0 0 3px #007acc4d}.bill-card::-webkit-scrollbar{width:8px}.bill-card::-webkit-scrollbar-track{background:var(--bill-card-bg-tertiary);border-radius:4px}.bill-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--bill-card-accent) 0%,var(--bill-card-accent-hover) 100%);border-radius:4px;border:1px solid var(--bill-card-bg-tertiary)}.bill-card::-webkit-scrollbar-thumb:hover{background:var(--bill-card-accent-hover)}.bill-card,.bill-card *{white-space:normal;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.bill-card__header{display:flex;align-items:end;justify-content:space-between;border-bottom:2px solid var(--bill-card-border);position:relative}.bill-card__header:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--bill-card-accent) 0%,transparent 100%)}.bill-card__title{display:flex;flex-direction:column;justify-content:center;flex:1;font-size:1rem;font-weight:700;margin:0 0 .5rem;color:var(--bill-card-accent-secondary);letter-spacing:-.025em;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.3)}.bill-card__identifier{font-size:.875rem;color:var(--bill-card-text-muted);font-weight:500;margin:0;opacity:.8}.bill-card-actions{display:flex;justify-content:space-between;flex-direction:column;align-items:center;padding:8px 0;gap:.75rem;font-size:1.1rem;border-top:1px solid #444;border-bottom:1px solid #444;background:var(--bill-card-bg-secondary);border-radius:var(--bill-card-radius-small);border:1px solid var(--bill-card-border);margin-left:auto;flex-shrink:0;margin-bottom:var(--bill-card-spacing)}.bill-card-actions button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;transition:var(--bill-card-transition);color:var(--bill-card-text-secondary);display:flex;align-items:center;justify-content:center}.bill-card-actions button:hover{background:var(--bill-card-bg-tertiary);color:var(--bill-card-accent);transform:translateY(-2px) scale(1.1)}.bill-card__header-content{flex:1;display:flex;flex-direction:column;gap:.75rem}.bill-card__meta-indicators{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.bill-card__priority-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.bill-card__priority-badge--urgent{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;animation:pulse 2s infinite}.bill-card__priority-badge--high{background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff}.bill-card__priority-badge--medium{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.bill-card__priority-badge--low{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.bill-card__status-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.025em}.bill-card__momentum-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.bill-card__momentum-indicator--high{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.bill-card__momentum-indicator--medium{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.bill-card__momentum-indicator--low{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.bill-card__title-section{display:flex;flex-direction:column;gap:.5rem}.bill-card__identifier-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.bill-card__last-activity{font-size:.75rem;color:var(--bill-card-text-muted);padding:.25rem .5rem;background:#ffffff0d;border-radius:8px;border:1px solid var(--bill-card-border-light)}.bill-card__quick-insights{background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px solid var(--bill-card-border-light);border-radius:var(--bill-card-radius-small);padding:1rem;margin-bottom:var(--bill-card-spacing)}.bill-card__insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.bill-card__insight-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#ffffff08;border-radius:6px;border:1px solid var(--bill-card-border-light)}.bill-card__insight-icon{font-size:1.25rem;flex-shrink:0}.bill-card__insight-content{display:flex;flex-direction:column;min-width:0}.bill-card__insight-label{font-size:.75rem;color:var(--bill-card-text-muted);text-transform:uppercase;letter-spacing:.025em}.bill-card__insight-value{font-weight:600;color:var(--bill-card-text);display:flex;align-items:center;gap:.25rem}.bill-card__primary-indicator{color:var(--bill-card-accent);font-size:.875rem}.bill-card__latest-action{display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem;border-top:1px solid var(--bill-card-border-light)}.bill-card__action-label{font-size:.75rem;color:var(--bill-card-text-muted);text-transform:uppercase;letter-spacing:.025em;font-weight:600}.bill-card__action-text{font-size:.875rem;color:var(--bill-card-text-secondary);line-height:1.4}.bill-card__info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.bill-card__info-item{padding:.75rem;background:#ffffff05;border-radius:6px;border:1px solid var(--bill-card-border-light);font-size:.875rem}.bill-card__subjects{margin-top:1rem}.bill-card__timeline{background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px solid var(--bill-card-border-light);border-radius:var(--bill-card-radius-small);padding:1rem;margin-bottom:var(--bill-card-spacing)}.bill-card__timeline-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--bill-card-text);display:flex;align-items:center;gap:.5rem}.bill-card__timeline-grid{display:flex;flex-direction:column;gap:.5rem}.bill-card__timeline-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#ffffff08;border-radius:4px;border-left:3px solid var(--bill-card-accent)}.bill-card__timeline-label{font-weight:600;color:var(--bill-card-text);font-size:.875rem}.bill-card__timeline-date{color:var(--bill-card-text-secondary);font-size:.75rem;text-align:right}.bill-card__toggle-text{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;flex:1}.bill-card__toggle-icon{font-size:.875rem;color:var(--bill-card-text-muted);transition:transform .2s ease}.bill-card__toggle-btn[aria-expanded=true] .bill-card__toggle-icon{transform:rotate(0)}.bill-card__primary-star,.bill-card__action-summary,.bill-card__doc-summary,.bill-card__vote-summary{font-size:.75rem;color:var(--bill-card-text-muted);font-weight:400}.bill-card__recent-badge,.bill-card__new-indicator{background:var(--bill-card-accent);color:var(--bill-card-bg);padding:.125rem .375rem;border-radius:8px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.bill-card__sponsors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-top:1rem}.bill-card__sponsor-card{background:#ffffff08;border:1px solid var(--bill-card-border-light);border-radius:8px;padding:1rem;transition:var(--bill-card-transition)}.bill-card__sponsor-card--primary{border-color:var(--bill-card-accent);background:#f9c74f0d}.bill-card__sponsor-card:hover{background:#ffffff0d;transform:translateY(-2px)}.bill-card__sponsor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.bill-card__sponsor-name{color:var(--bill-card-text);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.bill-card__sponsor-badge{background:var(--bill-card-accent);color:var(--bill-card-bg);padding:.125rem .375rem;border-radius:8px;font-size:.625rem;font-weight:600;text-transform:uppercase}.bill-card__party-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.bill-card__party-badge--democratic,.bill-card__party-badge--democrat{background:#1e40af;color:#fff}.bill-card__party-badge--republican{background:#dc2626;color:#fff}.bill-card__party-badge--independent{background:#059669;color:#fff}.bill-card__party-badge--libertarian{background:#d97706;color:#fff}.bill-card__sponsor-role{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.bill-card__role-title{color:var(--bill-card-text-secondary);font-size:.875rem;font-weight:600}.bill-card__role-district,.bill-card__role-chamber{color:var(--bill-card-text-muted);font-size:.75rem}.bill-card__sponsor-org{color:var(--bill-card-text-muted);font-size:.75rem;padding:.25rem .5rem;background:#ffffff05;border-radius:4px;border:1px solid var(--bill-card-border-light)}.bill-card__actions-timeline{margin-top:1rem;max-height:400px;overflow-y:auto}.bill-card__action-item{background:#ffffff05;border:1px solid var(--bill-card-border-light);border-radius:8px;padding:1rem;margin-bottom:.75rem;transition:var(--bill-card-transition)}.bill-card__action-item--recent{border-color:var(--bill-card-accent);background:#f9c74f0d}.bill-card__action-item:hover{background:#ffffff0d}.bill-card__action-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.bill-card__action-date{color:var(--bill-card-text-secondary);font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.bill-card__action-types{display:flex;gap:.25rem;flex-wrap:wrap}.bill-card__action-type{background:#3b82f61a;color:#3b82f6;padding:.125rem .375rem;border-radius:8px;font-size:.625rem;font-weight:600;text-transform:uppercase;border:1px solid rgba(59,130,246,.3)}.bill-card__action-description{color:var(--bill-card-text);font-size:.875rem;line-height:1.5;margin:0}.bill-card__documents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem;margin-top:1rem}.bill-card__document-card{background:#ffffff08;border:1px solid var(--bill-card-border-light);border-radius:8px;padding:1rem;transition:var(--bill-card-transition)}.bill-card__document-card:hover{background:#ffffff0d;transform:translateY(-2px)}.bill-card__document-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.bill-card__document-title{color:var(--bill-card-text);font-size:.875rem;flex:1}.bill-card__document-date{color:var(--bill-card-text-muted);font-size:.75rem}.bill-card__document-links{display:flex;gap:.5rem;flex-wrap:wrap}.bill-card__document-link{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--bill-card-accent);color:var(--bill-card-bg);text-decoration:none;border-radius:6px;font-size:.75rem;font-weight:600;transition:var(--bill-card-transition)}.bill-card__document-link:hover{background:var(--bill-card-accent-hover);transform:translateY(-1px)}.bill-card__votes-container{margin-top:1rem;max-height:500px;overflow-y:auto}.bill-card__vote-record{background:#ffffff05;border:1px solid var(--bill-card-border-light);border-radius:8px;padding:1rem;margin-bottom:1rem}.bill-card__vote-header{margin-bottom:.75rem}.bill-card__vote-basic-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.bill-card__vote-result{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.bill-card__vote-result--passed,.bill-card__vote-result--pass{background:#10b981;color:#fff}.bill-card__vote-result--failed,.bill-card__vote-result--fail{background:#ef4444;color:#fff}.bill-card__vote-result--unknown{background:#6b7280;color:#fff}.bill-card__vote-date{color:var(--bill-card-text-muted);font-size:.75rem}.bill-card__vote-org{color:var(--bill-card-text-muted);font-size:.75rem;padding:.25rem .5rem;background:#ffffff05;border-radius:4px;border:1px solid var(--bill-card-border-light)}.bill-card__vote-motion{color:var(--bill-card-text);font-size:.875rem;margin-bottom:.75rem;padding:.5rem;background:#ffffff05;border-radius:4px;border-left:3px solid var(--bill-card-accent)}.bill-card__vote-counts{margin-bottom:1rem}.bill-card__vote-tally{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.bill-card__vote-count{padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.bill-card__vote-count--yes{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.4)}.bill-card__vote-count--no{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.4)}.bill-card__vote-count--other{background:#6b728033;color:#6b7280;border:1px solid rgba(107,114,128,.4)}.bill-card__individual-votes{margin-top:.75rem}.bill-card__votes-toggle{color:var(--bill-card-accent);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem;background:#ffffff05;border-radius:4px;border:1px solid var(--bill-card-border-light);transition:var(--bill-card-transition)}.bill-card__votes-toggle:hover{background:#ffffff0d}.bill-card__votes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin-top:.75rem;max-height:200px;overflow-y:auto}.bill-card__individual-vote{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-radius:4px;font-size:.75rem}.bill-card__vote--yes{background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.bill-card__vote--no{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.bill-card__vote--other{background:#6b72801a;border:1px solid rgba(107,114,128,.3)}.bill-card__voter-name{color:var(--bill-card-text);font-weight:500}.bill-card__vote-option{color:var(--bill-card-text-secondary);font-weight:600;text-transform:uppercase}.bill-card__related-bills{background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px solid var(--bill-card-border-light);border-radius:var(--bill-card-radius-small);padding:1rem;margin-bottom:var(--bill-card-spacing)}.bill-card__section-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--bill-card-text);display:flex;align-items:center;gap:.5rem}.bill-card__related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.bill-card__related-item{background:#ffffff08;border:1px solid var(--bill-card-border-light);border-radius:8px;padding:.75rem;transition:var(--bill-card-transition)}.bill-card__related-item:hover{background:#ffffff0d;transform:translateY(-2px)}.bill-card__related-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.bill-card__related-id{color:var(--bill-card-text);font-weight:600;font-size:.875rem}.bill-card__relation-type{padding:.125rem .375rem;border-radius:8px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.bill-card__relation-type--companion{background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.4)}.bill-card__relation-type--other{background:#6b728033;color:#6b7280;border:1px solid rgba(107,114,128,.4)}.bill-card__related-session{color:var(--bill-card-text-muted);font-size:.75rem}.bill-card__abstract{background:#ffffff08;border:1px solid var(--bill-card-border-light);border-radius:8px;padding:1rem;margin-bottom:.75rem}.bill-card__abstract-content p{color:var(--bill-card-text);font-size:.875rem;line-height:1.6;margin:0 0 .5rem}.bill-card__abstract-note{color:var(--bill-card-text-muted);font-size:.75rem;padding:.5rem;background:#ffffff05;border-radius:4px;border-left:3px solid var(--bill-card-accent)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.bill-card__header-content{gap:.5rem}.bill-card__meta-indicators{flex-direction:column;align-items:flex-start}.bill-card__insight-grid,.bill-card__info-grid,.bill-card__sponsors-grid,.bill-card__documents-grid,.bill-card__related-grid,.bill-card__votes-grid{grid-template-columns:1fr}}.bill-card__toggle-btn:focus-visible{outline:2px solid var(--bill-card-accent);outline-offset:2px;background-color:#007acc1a}.bill-card__toggle-btn[aria-expanded=true]{background-color:#ffffff26}.bill-card h2,.bill-card h3,.bill-card h4{margin:0 0 .75rem;line-height:1.4;font-weight:600}.bill-card h4{color:var(--bill-card-accent);font-size:1rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.bill-card h4:before{content:"";width:4px;height:1rem;background:linear-gradient(180deg,var(--bill-card-accent) 0%,var(--bill-card-accent-hover) 100%);border-radius:2px}.bill-card p,.bill-card li{margin:0 0 .5rem;line-height:1.5;font-size:.875rem}.bill-card strong{color:var(--bill-card-accent);font-weight:600}.bill-card__info,.bill-card__dates,.bill-card__abstracts{background:var(--bill-card-bg-secondary);padding:var(--bill-card-spacing);border-radius:var(--bill-card-radius-small);border:1px solid var(--bill-card-border);margin-bottom:var(--bill-card-spacing);font-size:.875rem}.bill-card__subject-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.bill-card__subject-bubble{display:inline-block;padding:4px 8px;margin:2px;border-radius:16px;font-size:12px;font-weight:500;border:1px solid transparent;color:#000!important;text-shadow:none}@media (prefers-contrast: high){.bill-card{border:2px solid currentColor}.bill-card__toggle-btn{border-width:2px}.bill-card__subject-bubble{border:2px solid currentColor}}.bill-card__abstract{background:linear-gradient(135deg,var(--bill-card-bg-tertiary) 0%,var(--bill-card-bg-secondary) 100%);padding:var(--bill-card-spacing);margin:var(--bill-card-spacing-small) 0;border-radius:var(--bill-card-radius-small);border-left:4px solid var(--bill-card-accent);position:relative}.bill-card__abstract:before{content:'"';position:absolute;top:-.5rem;left:.75rem;font-size:2rem;color:var(--bill-card-accent);opacity:.3;font-family:Georgia,serif}.bill-card__abstract p{margin:0 0 .5rem;font-style:italic;line-height:1.6}.bill-card__abstract small{color:var(--bill-card-text-muted);font-size:.75rem}.bill-card__toggle-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.bill-card__toggle-btn:hover:before{left:100%}.bill-card__toggle-btn:hover{background:var(--bill-card-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #f9c74f4d}.bill-card__toggle-btn:active{transform:translateY(0)}.bill-card__toggle-btn:after{content:"▼";font-size:.75rem;transition:transform .3s ease}.bill-card__toggle-btn[aria-expanded=true]:after{transform:rotate(180deg)}.bill-card__list{padding:var(--bill-card-spacing);margin:0;list-style:none;background:var(--bill-card-bg)}.bill-card__list li{margin-bottom:.75rem;padding:.75rem;background:var(--bill-card-bg-secondary);border-radius:var(--bill-card-radius-small);border-left:3px solid var(--bill-card-accent);transition:var(--bill-card-transition)}.bill-card__list li:hover{background:var(--bill-card-bg-tertiary);transform:translate(4px)}.bill-card__list li:last-child{margin-bottom:0}.bill-card a{color:var(--bill-card-accent);text-decoration:none;font-weight:500;transition:var(--bill-card-transition);position:relative}.bill-card a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--bill-card-accent);transition:width .3s ease}.bill-card a:hover:after{width:100%}.bill-card a:hover{color:var(--bill-card-accent-hover)}.bill-card__sources{margin-top:var(--bill-card-spacing);padding-top:var(--bill-card-spacing);border-top:2px solid var(--bill-card-border);position:relative}.bill-card__sources:before{content:"";position:absolute;top:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--bill-card-accent) 0%,transparent 100%)}.bill-card__sources ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.bill-card__sources ul li{background:var(--bill-card-bg-secondary);padding:.5rem .75rem;border-radius:var(--bill-card-radius-small);border:1px solid var(--bill-card-border);transition:var(--bill-card-transition)}.bill-card__sources ul li:hover{background:var(--bill-card-bg-tertiary);transform:translateY(-2px)}.typewriter{overflow:hidden;white-space:nowrap;border-right:.15em solid var(--bill-card-accent);animation:typing 3s steps(40,end),blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--bill-card-accent)}}@media (max-width: 768px){.bill-card{width:95vw;padding:1.5rem;margin:.5rem}.bill-card__title{font-size:1.1rem}.bill-card__info,.bill-card__dates,.bill-card__abstracts{padding:.75rem}.bill-card__toggle-btn{padding:.75rem;font-size:.8rem}}@media (max-width: 480px){.bill-card{padding:1rem}.bill-card__subject-bubble{font-size:.7rem;padding:.25rem .5rem}}@media (prefers-color-scheme: dark){:root{--bill-card-bg: #0f0f0f;--bill-card-bg-secondary: #1a1a1a;--bill-card-bg-tertiary: #2a2a2a}}@media (prefers-reduced-motion: reduce){.bill-card,.bill-card *,.typewriter{animation:none;transition:none}.bill-card:hover{transform:none}}.card-actions button:focus-visible{outline:2px solid var(--bill-card-accent);outline-offset:2px}.bill-card.loading{background:linear-gradient(90deg,var(--bill-card-bg) 25%,var(--bill-card-bg-secondary) 50%,var(--bill-card-bg) 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.bill-card__toggle-btn{background:linear-gradient(135deg,var(--bill-card-accent) 0%,var(--bill-card-accent-hover) 100%);color:var(--bill-card-bg);border:1px solid currentColor;border-radius:4px;padding:.875rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--bill-card-transition),background-color .2s ease;text-align:left;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;min-height:44px;width:100%}.hero-container{display:flex;margin-top:5vh;justify-content:center;align-items:center;justify-self:center;flex-wrap:wrap;gap:4px;font-weight:700;width:fit-content}.clipping-letter{background-size:cover;background-position:center;color:#111111be;padding:16px;line-height:1;box-shadow:2px 2px 4px #0003;clip-path:polygon(5% 0%,95% 0%,100% 25%,95% 100%,10% 95%,0% 50%);filter:grayscale(.3) contrast(1.1);transition:all .3s ease}.clipping-letter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/assets/grain-BqxPq_Ec.png);opacity:.15;mix-blend-mode:multiply;pointer-events:none}.filter-bar{display:flex;flex-wrap:wrap;width:100%;max-width:800px;align-items:center;font-family:var(--font-family, Arial, sans-serif);gap:.75rem;margin:1rem auto;padding:.75rem 1rem;background:#f9f9f90d;border-radius:8px;box-shadow:0 2px 4px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.filter-bar{justify-content:space-between;gap:.5rem;padding:.5rem .75rem}.filter-bar input[type=text]{flex:1 1 100%!important;order:-1;margin-bottom:.5rem;padding:.5rem .75rem!important;font-size:.9rem!important;min-width:unset!important;max-width:100%!important}.filter-bar select,.filter-bar .age-filter-label{flex:0 1 48%;padding:.5rem .75rem!important;font-size:.9rem!important;min-width:unset!important}.filter-bar .age-filter-label{padding:.5rem!important;font-size:.9rem!important}.filter-bar .age-filter-label input[type=checkbox]{width:16px!important;height:16px!important}}@media (max-width: 480px){.filter-bar{flex-direction:column;align-items:stretch;width:90%;gap:.4rem;padding:.5rem}.filter-bar input[type=text],.filter-bar select,.filter-bar .age-filter-label{flex:1 1 100%!important;width:100%!important;margin-bottom:.4rem;padding:.5rem!important;font-size:.85rem!important;min-width:unset!important;max-width:100%!important}.filter-bar .age-filter-label{padding:.4rem!important;font-size:.85rem!important;margin-bottom:0}.filter-bar .age-filter-label input[type=checkbox]{width:14px!important;height:14px!important}}@media (max-width: 360px){.filter-bar{gap:.3rem;padding:.4rem;margin:.5rem auto}.filter-bar input[type=text],.filter-bar select,.filter-bar .age-filter-label{padding:.4rem!important;font-size:.8rem!important;margin-bottom:.3rem;min-width:unset!important;max-width:100%!important}.filter-bar .age-filter-label{padding:.3rem!important;gap:.3rem}.filter-bar .age-filter-label input[type=checkbox]{width:12px!important;height:12px!important}}.filter-bar input[type=text]{flex:1 1 200px;min-width:160px;padding:.75rem;font-size:1rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff1a;color:#fff;box-shadow:inset 0 1px 2px #0000001a;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;width:auto}@media (max-width: 768px){.filter-bar input[type=text]{min-width:120px}}@media (max-width: 480px){.filter-bar input[type=text]{min-width:unset;width:100%}}.filter-bar input[type=text]::placeholder{color:#ffffffb3;opacity:1}.filter-bar input[type=text]:focus{outline:none;border-color:#f9c74f;box-shadow:0 0 0 3px #f9c74f40}.filter-bar select{flex:0 1 150px;min-width:120px;padding:.75rem;font-size:1rem;color:#fff;background:#ffffff1a url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D'12'%20height%3D'8'%20viewBox%3D'0%200%2012%208'%20xmlns%3D'http%3A//www.w3.org/2000/svg'%3E%3Cpath%20d%3D'M1%201l5%205%205-5'%20stroke%3D'%23ffffff'%20stroke-width%3D'2'%20fill%3D'none'%20fill-rule%3D'evenodd'/%3E%3C/svg%3E") no-repeat right .75rem center;border:1px solid rgba(255,255,255,.2);border-radius:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-size:12px 8px;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;width:auto}@media (max-width: 768px){.filter-bar select{min-width:100px;background-position:right .5rem center;background-size:10px 6px}}@media (max-width: 480px){.filter-bar select{min-width:unset;width:100%;background-position:right .4rem center;background-size:8px 5px}}.filter-bar select:focus{outline:none;border-color:#f9c74f;box-shadow:0 0 0 3px #f9c74f40}.filter-bar select option{background:#1a1a1af2;color:#fff}.filter-bar .age-filter-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;font-size:1rem;white-space:nowrap;border-radius:6px;transition:background-color .2s;color:#fff}.filter-bar .age-filter-label:hover{background-color:#ffffff1a}.filter-bar .age-filter-label input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#f9c74f;cursor:pointer}.filter-bar .age-filter-label span{-webkit-user-select:none;user-select:none}@media (prefers-contrast: high){.filter-bar{background:#000000e6;border:2px solid #ffffff}.filter-bar input[type=text],.filter-bar select{background:#000c;border:2px solid #ffffff;color:#fff}}@media (prefers-reduced-motion: reduce){.filter-bar,.filter-bar input,.filter-bar select,.filter-bar .age-filter-label{transition:none}}.home-officials-page{margin-top:1vh;transition:all 1.5s ease-in-out;margin:5vh 2.5vw 0vh;display:flex;flex-direction:column;justify-content:center;overflow-y:scroll}.loading-page{background-color:transparent;position:fixed;top:6rem;left:0;z-index:9999;margin:0;width:100vw;height:100%}.loading-container{display:none;opacity:.5}.link-to-text{display:flex;align-items:center;gap:0px;font-size:18px;font-weight:700;flex-direction:row;text-decoration:underline;align-items:baseline;justify-content:baseline;padding:0;margin:0;margin-top:2vh;width:fit-content}.list-item{font-family:Raleway;margin-top:1vh}.location-request-container,.location-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:2rem}.location-request-container h1,.location-error-container h1{margin-bottom:1rem;color:#333}.location-request-container p,.location-error-container p{margin-bottom:2rem;color:#666;max-width:400px}.location-request-container .location-request-btn,.location-request-container .location-retry-btn,.location-error-container .location-request-btn,.location-error-container .location-retry-btn{padding:.75rem 1.5rem;background-color:#007aff;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.location-request-container .location-request-btn:hover,.location-request-container .location-retry-btn:hover,.location-error-container .location-request-btn:hover,.location-error-container .location-retry-btn:hover{background-color:#0056b3}.location-request-container .location-request-btn:disabled,.location-request-container .location-retry-btn:disabled,.location-error-container .location-request-btn:disabled,.location-error-container .location-retry-btn:disabled{background-color:#ccc;cursor:not-allowed}@media screen and (max-width: 480px){.home-officials-page{width:90vw}.officials-header{flex-direction:column;align-items:center;margin:3vh 0}.loading-container{display:flex;justify-content:center;align-items:center;height:100%}.link-to-text{font-size:14px;color:#007bff}.link-to-text:hover{text-decoration:underline}}body{color:#e2e8f0;margin:0;padding:0}form h2,.result-block h2{font-size:1.5rem;margin-bottom:.25rem;color:var(--text, #374151)}.survey-btn{display:inline-flex;align-items:center;justify-content:center;margin:0 auto;padding:.65rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:#2563eb;border:none;border-radius:.5rem;cursor:pointer;transition:background .2s ease}.survey-btn:hover:not(.disabled){background:#1e40af}.survey-btn.disabled{opacity:.5;cursor:not-allowed}.mt-4{margin-top:1rem}input[type=radio]:focus-visible,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}form{max-width:800px;margin:2rem auto;padding:2rem;background:#ffffff0f;border-radius:16px;box-shadow:0 8px 30px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease}form:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0006}form h2{font-size:2rem;font-weight:700;color:#f8a238;text-align:center;margin-bottom:1.5rem;letter-spacing:1px}.question{position:relative;overflow:visible;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.5rem 1.25rem;background:#ffffff0d;box-shadow:0 4px 20px #0003;transition:background .3s ease,box-shadow .3s ease;margin-top:4rem}.question:hover{background:#ffffff1a;box-shadow:0 8px 30px #0000004d}.question legend{font-weight:600;font-size:1.25rem;color:#e2e8f0;text-align:center}.options{display:flex;justify-content:space-evenly;flex-wrap:nowrap;gap:.5rem;overflow:visible}.scale-button{flex:1;max-width:150px;padding:.35rem .5rem;font-size:.7rem;font-weight:200;color:#030b15;background:linear-gradient(135deg,#cec8be8f,#bfb7b0ac);border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 4px 10px #0003}.scale-button:hover{background:linear-gradient(135deg,#554b33,#695c47);border-color:#f8b538;color:#fff;transform:translateY(-2px);box-shadow:0 6px 15px #f8bb384d}.scale-button.selected{background:linear-gradient(135deg,#ebb325,#af7f1e);color:#020101;border-color:#1d4ed8;transform:scale(1.05);box-shadow:0 2px 10px #ffffff80}.scale-button:focus{outline:2px solid #38bdf8;outline-offset:2px}form button{display:block;width:100%;max-width:200px;margin:2rem auto 0;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:8px;cursor:pointer;transition:background .3s ease,transform .2s ease;box-shadow:0 6px 15px #2563eb66}form button:hover:not(.disabled){background:linear-gradient(135deg,#1e40af,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 20px #1d4ed880}form button:active{transform:translateY(0)}form button.disabled{opacity:.5;cursor:not-allowed}.progress-bar-container{width:100%;height:8px;background:#e5e7eb;border-radius:4px;margin-bottom:1.5rem;overflow:hidden}.progress-bar{height:100%;background:#eb9f25;transition:width .3s ease}.pagination-controls{display:flex;justify-content:space-between;margin-top:1.5rem}.pagination-controls .btn{padding:.5rem 1rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer}.pagination-controls .btn.primary{background:#2563eb;color:#fff;border:none}.pagination-controls .btn.secondary{background:#e5e7eb;color:#1f2937;border:none}.pagination-controls .btn:disabled{opacity:.5;cursor:not-allowed}.auto-fill-controls{margin-top:2rem;padding:1rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 15px #0003;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.auto-fill-controls:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a;border-color:#94a3b8}.auto-fill-controls p{margin:0 0 16px;font-size:14px;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.5px;font-family:Montserrat,sans-serif;display:flex;align-items:center;gap:8px}.auto-fill-controls p:before{content:"⚡";font-size:16px;animation:pulse 2s infinite}.auto-fill-controls>div{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.auto-fill-controls .btn{font-size:.85rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,#1e293b,#334155);color:#e2e8f0;cursor:pointer;transition:all .3s ease}.auto-fill-controls .btn:hover{background:linear-gradient(135deg,#334155,#475569);color:#38bdf8;transform:translateY(-2px);box-shadow:0 4px 10px #38bdf84d}.auto-fill-controls .btn:active{transform:translateY(0)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.tts-button{background:transparent!important;border:none!important;color:navy!important;cursor:pointer;padding:2px 4px!important;margin-left:8px;font-size:.8rem;border-radius:3px;transition:background-color .2s ease}.tts-button:hover{background-color:#0000801a!important}.tts-button:disabled{opacity:.5;cursor:not-allowed}.message-meta{font-size:.7rem;color:#444;margin-bottom:2px;display:flex;justify-content:space-between;align-items:center}.tts-indicator{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:#28a745;margin-left:8px}.tts-indicator.speaking{color:#dc3545;animation:pulse 1s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.chat-overlay-container label input[type=checkbox]{margin-right:8px;accent-color:#000080}@media (max-width: 768px){form{padding:1.5rem}form h2{font-size:1.75rem}.scale-button{padding:.5rem .75rem;font-size:.85rem;max-width:120px}.options{gap:.4rem}form button{max-width:100%}}@media (max-width: 480px){form{padding:1rem}form h2{font-size:1.5rem}.scale-button{padding:.5rem;font-size:.8rem;max-width:100px}.options{gap:.3rem}}@media (prefers-color-scheme: dark){.auto-fill-controls{border-color:#374151}.auto-fill-controls p{color:#f9fafb}.auto-fill-controls:hover{border-color:#4b5563}}.auto-fill-controls.development{animation:glow 3s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 2px 8px #0000000f}to{box-shadow:0 4px 16px #3b82f626}}.tooltip-container{position:relative;display:inline}.tooltip-trigger{border-bottom:1px dotted currentColor;cursor:help;color:inherit;transition:background-color .2s ease}.tooltip-trigger:hover,.tooltip-trigger:focus{background-color:#ffffff1a;outline:none}.tooltip-popup{position:absolute;background:#111827f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f9fafb;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:0;box-shadow:0 10px 25px #00000040;z-index:999999;animation:tooltipFadeIn .2s ease-out;font-size:14px;line-height:1.4;word-wrap:break-word;pointer-events:none}.tooltip-popup.tooltip-with-news{max-width:350px;min-width:300px}.tooltip-content{padding:12px 16px}.tooltip-term{font-weight:600;color:#60a5fa;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:4px;margin-bottom:8px;font-size:14px}.tooltip-definition{color:#e5e7eb;margin-bottom:8px;font-size:13px;line-height:1.5}.tooltip-context{color:#9ca3af;font-size:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px;margin-top:8px}.tooltip-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(17,24,39,.95)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.tooltip-popup{max-width:calc(100vw - 32px)!important;min-width:240px!important}.tooltip-popup.tooltip-with-news{max-width:300px!important;min-width:280px!important}.tooltip-content{padding:10px 12px}.tooltip-term{font-size:13px}.tooltip-definition{font-size:12px}.tooltip-context{font-size:11px}}@media (max-width: 480px){.tooltip-popup{max-width:calc(100vw - 16px)!important;min-width:200px!important}.tooltip-popup.tooltip-with-news{max-width:calc(100vw - 16px)!important;min-width:240px!important}.tooltip-content{padding:8px 10px}.tooltip-term{font-size:12px}.tooltip-definition{font-size:11px}.tooltip-context{font-size:10px}}@media (prefers-contrast: high){.tooltip-trigger{text-decoration-color:#00f;color:#00f}.tooltip-trigger:hover,.tooltip-trigger:focus{background-color:#ff0;color:#000}.tooltip-popup{background:#000;color:#fff;border:2px solid #ffffff}}@media (prefers-reduced-motion: reduce){.tooltip-popup{animation:none}.tooltip-trigger{transition:none}}@media (prefers-color-scheme: light){.tooltip-popup{background:#fffffff2;color:#1f2937;border:1px solid rgba(0,0,0,.1);box-shadow:0 10px 25px #00000026}.tooltip-term{color:#1d4ed8;border-bottom-color:#0000001a}.tooltip-definition{color:#374151}.tooltip-context{color:#6b7280;border-top-color:#0000001a}.tooltip-arrow{border-top-color:#fffffff2}}.cards-grid{margin-top:2rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.party-card{background:#ffffff1a;border:2px solid currentColor;border-radius:12px;padding:1.5rem;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-shadow:none;color:var(--text);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.party-card h3{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:inherit;text-shadow:0 2px 4px rgba(0,0,0,.3)}.party-card p{font-size:.9rem;line-height:1.5;margin-bottom:.75rem;color:#fff}.party-card .personality{margin-top:.5rem;font-size:.85rem;font-style:italic;color:#fff;padding:.5rem;border-radius:25px;background-color:#ffffff1a}.party-card .personality strong{color:var(--text)}.party-card:hover,.party-card:focus-visible{transform:translateY(-4px);box-shadow:0 8px 20px #0003;outline:none}.party-card .learn-more{font-weight:500;display:inline-block;margin-top:.5rem;color:var(--text);text-decoration:underline;font-size:.85rem;transition:color .2s ease}.party-card .learn-more:hover{color:var(--accent)}.party-modal{width:min(480px,90%);background:#ffffff1a;border:none;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #00000040;outline:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.party-modal::backdrop{background:#00000080}.close-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text);transition:color .2s ease,transform .2s ease}.close-btn:hover{color:var(--accent);transform:scale(1.1)}.party-modal h2{margin-top:.5rem;font-size:1.5rem;margin-bottom:1rem;color:var(--accent);text-align:center}.party-modal p{font-size:1rem;line-height:1.6;margin-bottom:1rem;color:#fff}.party-modal .snapshot{margin-bottom:1.5rem}.party-modal-details{display:flex;flex-direction:row;justify-content:space-between;gap:1rem;margin-top:1.5rem}.party-modal-details .pmd{flex:1;background:#ffffff1a;padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,.2)}.party-modal-details .pmd h3{font-size:1.1rem;margin-bottom:.75rem;color:var(--accent)}.party-modal-details .pmd ul{margin:0;padding:0;list-style:none}.party-modal-details .pmd ul li{font-size:.9rem;margin-bottom:.5rem;color:#fff}.party-modal-details .pmd ul li:hover{color:var(--accent)}.party-icon-container{display:flex;justify-content:center;margin-bottom:1rem}.party-icon{width:150px;height:150px;object-fit:contain;border-radius:50%;border:2px solid var(--text-secondary);background-color:#ffffff1a;padding:.5rem}@media (max-width: 768px){.party-card{padding:1rem}.party-card h3{font-size:1.1rem}.party-card p{font-size:.85rem}.party-modal{padding:1.5rem}.party-modal h2{font-size:1.25rem}.party-modal-details{flex-direction:column}.party-modal-details .pmd{padding:.75rem}.party-modal-details .pmd h3{font-size:1rem}.party-modal-details .pmd ul li{font-size:.85rem}.party-icon{width:120px;height:120px}}@media (max-width: 480px){.party-card{padding:.75rem}.party-card h3{font-size:1rem}.party-card p{font-size:.8rem}.party-modal{padding:1rem}.party-modal h2{font-size:1.1rem}.party-modal-details .pmd{padding:.5rem}.party-modal-details .pmd h3{font-size:.9rem}.party-modal-details .pmd ul li{font-size:.8rem}.party-icon{width:100px;height:100px}}:root{--primary-color: #e78533;--primary-dark: #d67428;--primary-light: #f7b77c;--accent-color: #3b82f6;--accent-hover: #2563eb;--accent-light: #93c5fd;--delete-color: #f87171;--delete-hover: #ef4444;--surface-light: #ffffff;--surface-medium: #f9fafb;--surface-dark: #f3f4f6;--border-color: #e5e7eb;--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .05), 0 4px 6px rgba(0, 0, 0, .05);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease}.result-block{max-width:900px;margin:2rem auto;padding:2.5rem;background:var(--surface, #fff);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary)}.pai-result-chart-container{max-width:800px;margin:0 auto;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.result-block h2{font-size:2.25rem;font-weight:700;color:var(--primary-dark);margin-bottom:1.5rem;text-align:center;letter-spacing:-.025em;line-height:1.2;position:relative}.result-block h2:after{content:"";display:block;width:60px;height:4px;background-color:var(--primary-color);margin:1rem auto 0}.result-header{text-align:center;margin-bottom:30px}.result-header h2{color:#333;margin-bottom:20px}.lead{font-size:1.2rem;line-height:1.6;color:var(--surface-light);margin-bottom:2rem;text-align:center}.chart-container{border-radius:var(--radius-md);padding:2rem;margin:2.5rem 0;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);position:relative}.chart-container{position:relative;margin:30px 0}.chart-container svg{max-width:100%;height:auto;display:block;margin:0 auto}.chart-container svg rect{transition:all var(--transition-normal);cursor:pointer}.chart-container svg rect:hover{opacity:.8;transform:scaleY(1.05)}.chart-container svg text{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;fill:var(--text-tertiary)}.chart-container svg .domain,.chart-container svg .tick line{stroke:var(--border-color)}.chart-container svg rect[role=button]{cursor:pointer;transition:all .2s ease}.chart-container svg rect[role=button]:hover{opacity:.8;filter:brightness(1.1)}.chart-container svg rect[role=button]:focus{outline:2px solid #007acc;outline-offset:2px}.chart-container svg text.party-label[role=button]{cursor:pointer;transition:all .2s ease}.chart-container svg text.party-label[role=button]:hover{opacity:.7;text-decoration:underline}.chart-container svg text.party-label[role=button]:focus{outline:2px solid #007acc;outline-offset:2px}.survey-actions{display:flex;justify-content:center;gap:1.5rem;margin:2rem 0}.survey-btn{padding:.85rem 2rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:120px}.survey-btn:disabled{opacity:.6;cursor:not-allowed}.retake-btn,.delete-btn{width:75px;height:75px;border-radius:50%;font-size:1.25rem;padding:25px;min-width:unset;box-shadow:var(--shadow-sm)}.retake-btn{background-color:var(--accent-color);color:#fff}.retake-btn:hover:not(:disabled){background-color:var(--accent-hover);transform:rotate(15deg);box-shadow:var(--shadow-md)}.delete-btn{background-color:var(--delete-color);color:#fff}.delete-btn:hover:not(:disabled){background-color:var(--delete-hover);transform:scale(1.1);box-shadow:var(--shadow-md)}button.survey-btn:not(.retake-btn):not(.delete-btn){background:linear-gradient(to right,var(--primary-color),var(--primary-dark));color:#fff;padding:.85rem 2rem;border-radius:var(--radius-md)}button.survey-btn:not(.retake-btn):not(.delete-btn):hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #e7853340}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:3rem}.result-block:has(h2:first-child:not(:last-child)+p.lead){text-align:center;padding:4rem 2rem}.result-block:has(h2:first-child:not(:last-child)+p.lead) h2{font-size:2rem;margin-bottom:1rem}.result-block:has(h2:first-child:not(:last-child)+p.lead) p.lead{max-width:600px;margin:0 auto 2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chart-container{animation:fadeIn .5s ease-out}.lead strong{font-weight:700;position:relative;padding:0 .2rem}.lead strong:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:3px;border-radius:1.5px;background-color:currentColor;opacity:.3}.top-affiliation{background:#f8f9fa;padding:20px;border-radius:8px;margin:20px 0}.top-affiliation h3{margin:0 0 10px;font-size:1.2em}.top-affiliation .score{font-weight:400;color:#666}.top-affiliation .description{color:#666;margin:0;font-style:italic}.score-breakdown{margin-top:30px}.score-breakdown h4{margin-bottom:15px;color:#333}.score-list{display:flex;flex-direction:column;gap:10px}.score-item{display:flex;align-items:center;padding:10px;background:#f8f9fa;border-radius:6px}.party-indicator{width:12px;height:12px;border-radius:50%;margin-right:12px}.party-name{flex:1;font-weight:500}.party-score{font-weight:700;color:#333}.retake-section{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.retake-btn{background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;margin-bottom:10px}.retake-btn:hover{background:#0056b3}.error-message{text-align:center;padding:40px 20px}.error-message h3{color:#dc3545;margin-bottom:10px}.error-message p{color:#666;margin-bottom:20px}.party-link-button{background:none!important;border:none!important;color:inherit!important;cursor:pointer!important;text-decoration:underline!important;font-weight:700!important;font-size:inherit!important;font-family:inherit!important;padding:0!important;margin:0!important;transition:all .2s ease!important;border-radius:2px!important}.party-link-button:hover{text-decoration:none!important;background-color:#ffffff1a!important;padding:2px 4px!important;border-radius:4px!important;transform:translateY(-1px)!important;box-shadow:0 2px 4px #0003!important}.party-link-button:focus{outline:2px solid currentColor!important;outline-offset:2px!important;background-color:#ffffff26!important;padding:2px 4px!important;border-radius:4px!important}.party-link-button:active{transform:translateY(0)!important;box-shadow:0 1px 2px #0003!important}@media (prefers-contrast: high){.party-link-button{border:1px solid currentColor!important;padding:2px 4px!important;border-radius:4px!important}.party-link-button:hover,.party-link-button:focus{background-color:currentColor!important;color:#fff!important}}@media (prefers-reduced-motion: reduce){.party-link-button{transition:none!important}.party-link-button:hover{transform:none!important}}@media (max-width: 768px){.result-block{padding:1.5rem;margin:1rem}.result-block h2{font-size:1.75rem}.lead{font-size:1.1rem}.chart-container{padding:1.5rem 1rem}.cards-grid{grid-template-columns:1fr}}@media (max-width: 480px){.result-block{padding:1.25rem;margin:.5rem}.result-block h2{font-size:1.5rem}.lead{font-size:1rem}.chart-container{padding:1rem .5rem}.survey-actions{flex-direction:column;align-items:center;gap:1rem}.survey-btn{width:100%}.retake-btn,.delete-btn{width:50px}}.chart-instructions{font-size:.9rem;color:#ffffffb3;text-align:center;margin-bottom:10px;font-style:italic}.favorites-container{max-width:1200px;margin:0 auto;padding:20px}.favorites-loading,.favorites-error{text-align:center;padding:40px 20px;color:var(--text-muted, #6b7280);font-size:16px}.favorites-error{color:var(--error, #dc2626);background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:8px;margin:20px 0}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted, #6b7280)}.empty-state p{margin:8px 0;font-size:16px}.empty-hint{font-size:14px;opacity:.8;font-style:italic}.section-title{color:var(--text, #1f2937);font-family:Montserrat,Raleway,sans-serif;font-size:1.5rem;font-weight:600;margin:30px 0 20px;padding-bottom:12px;border-bottom:3px solid var(--primary, #3b82f6);display:flex;align-items:center;gap:12px}.section-title:before{content:"★";color:var(--primary, #3b82f6);font-size:1.2em}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;margin-bottom:40px}.favorite-section{margin-bottom:40px}.favorite-card{background:var(--card-bg, #ffffff);border:2px solid var(--border, #e5e7eb);border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:0 2px 8px #00000014;position:relative;overflow:hidden}.favorite-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary, #3b82f6),var(--secondary, #8b5cf6));opacity:0;transition:opacity .3s ease}.favorite-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026;border-color:var(--primary, #3b82f6)}.favorite-card:hover:before{opacity:1}.favorite-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.official-info{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.official-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--border, #e5e7eb);transition:border-color .3s ease}.favorite-card:hover .official-avatar{border-color:var(--primary, #3b82f6)}.favorite-title{color:var(--text, #1f2937);font-weight:700;font-size:1.125rem;text-decoration:none;line-height:1.4;display:block;margin-bottom:8px;transition:color .3s ease}.favorite-title:hover{color:var(--primary, #3b82f6)}.remove-favorite-btn{background:var(--error, #ef4444);color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:20px;line-height:1;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.remove-favorite-btn:hover{background:var(--error-dark, #dc2626);transform:scale(1.1) rotate(90deg)}.favorite-meta{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.session-badge,.classification-badge,.party-badge,.chamber-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.party-badge{font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.party-democratic{background:linear-gradient(135deg,#dbeafe,#93c5fd);color:#1e40af;border:1px solid #60a5fa}.party-republican{background:linear-gradient(135deg,#fee2e2,#fca5a5);color:#dc2626;border:1px solid #f87171}.party-independent,.party-green,.party-libertarian{background:linear-gradient(135deg,#f3f4f6,#d1d5db);color:#374151;border:1px solid #9ca3af}.latest-action,.sponsors,.subjects,.current-role,.contact-info{margin-bottom:12px;font-size:14px;line-height:1.5;color:var(--text-muted, #4b5563)}.latest-action strong,.sponsors strong,.subjects strong,.current-role strong,.contact-info strong{color:var(--text, #374151);font-weight:600}.action-date{color:var(--text-muted, #6b7280);font-style:italic;font-size:13px}.email-link{color:var(--primary, #3b82f6);text-decoration:none;margin-left:8px;font-weight:500;transition:color .3s ease}.email-link:hover{color:var(--primary-dark, #2563eb);text-decoration:underline}.favorite-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--border, #e5e7eb);text-align:right}.favorited-date{color:var(--text-muted, #6b7280);font-size:12px;font-style:italic;font-weight:500}.favorite-error{color:var(--error, #ef4444);padding:16px;background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:12px;font-style:italic;text-align:center}.bill-card{border-left:4px solid var(--info, #06b6d4)}.bill-card:hover{border-left-color:var(--info-dark, #0891b2)}.official-card{border-left:4px solid var(--success, #10b981)}.official-card:hover{border-left-color:var(--success-dark, #059669)}@media (max-width: 768px){.favorites-container{padding:16px}.favorites-grid{grid-template-columns:1fr;gap:16px}.favorite-card{padding:20px}.section-title{font-size:1.25rem}.official-info{flex-direction:column;align-items:flex-start;gap:12px}.official-avatar{width:48px;height:48px}.favorite-header{flex-direction:column;gap:12px}.remove-favorite-btn{align-self:flex-end}}@media (max-width: 480px){.favorite-meta{flex-direction:column;gap:8px}.session-badge,.classification-badge,.party-badge,.chamber-badge{font-size:11px;padding:4px 8px}}.vote-history-container{max-width:1200px;margin:0 auto;padding:16px;font-family:Raleway,sans-serif}.votes-loading,.votes-error{text-align:center;padding:24px 16px;color:var(--text, #6b7280);font-size:14px;opacity:.8}.votes-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:16px 0;opacity:1}.empty-state{text-align:center;padding:32px 16px;color:var(--text, #6b7280);opacity:.7}.empty-state p{margin:4px 0;font-size:14px}.vote-filters{display:flex;gap:16px;align-items:center;margin-bottom:20px;padding:12px 16px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;box-shadow:0 2px 6px #00000014;font-family:Raleway,sans-serif}.filter-group{display:flex;align-items:center;gap:6px}.filter-group label{font-weight:600;color:#1f2937;font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-family:Montserrat,sans-serif;text-shadow:0 1px 2px rgba(255,255,255,.8)}.filter-select{padding:4px 8px;border:1px solid #1f2937;border-radius:4px;font-size:11px;background:#fffffff2;color:#1f2937;cursor:pointer;transition:all .2s ease;font-weight:500;font-family:Raleway,sans-serif}.filter-select:focus,.filter-select:hover{outline:none;border-color:#1e3a8a;background:#fff}.vote-stats{display:flex;gap:8px;margin-left:auto;align-items:center}.stat{font-size:10px;font-weight:600;padding:4px 10px;border-radius:12px;background:#fffffff2;border:1px solid #1f2937;transition:all .2s ease;font-family:Montserrat,sans-serif;color:#1f2937}.upvotes{color:#059669;border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.downvotes{color:#dc2626;border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.votes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.vote-card{background:var(--bg, #ffffff);color:var(--text, #1f2937);border-radius:8px;padding:12px;transition:all .2s ease;box-shadow:0 1px 3px #0000000f;border-left:2px solid;position:relative;overflow:hidden;font-family:Raleway,sans-serif}.vote-card:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.vote-card.upvoted{border-left-color:#059669;background:linear-gradient(135deg,#fff,#fdfffe)}.vote-card.downvoted{border-left-color:#dc2626;background:linear-gradient(135deg,#fff,#fffefe)}.vote-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vote-indicator{display:flex;align-items:center;gap:6px}.vote-arrow{font-size:12px;font-weight:700;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.vote-arrow.up{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #10b981}.vote-arrow.down{color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #ef4444}.vote-text{font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.3px;font-family:Montserrat,sans-serif}.vote-card.upvoted .vote-text{color:#059669}.vote-card.downvoted .vote-text{color:#dc2626}.remove-vote-btn{background:#6b7280;color:#fff;border:none;border-radius:50%;width:18px;height:18px;cursor:pointer;font-size:12px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;opacity:.7}.remove-vote-btn:hover{background:#374151;transform:scale(1.1);opacity:1}.vote-content{margin-bottom:8px}.vote-title{color:var(--text, #1f2937);font-weight:600;font-size:13px;text-decoration:none;line-height:1.3;display:block;margin-bottom:6px;transition:color .2s ease;font-family:Montserrat,sans-serif}.vote-title:hover{color:#3b82f6}.official-info{display:flex;align-items:center;gap:8px;margin-bottom:6px}.official-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid #e5e7eb;transition:border-color .2s ease}.vote-meta{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.session-badge,.classification-badge,.party-badge,.chamber-badge{padding:2px 6px;border-radius:8px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.2px;font-family:Montserrat,sans-serif}.session-badge{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.classification-badge{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid #86efac}.party-badge{font-weight:600;font-style:oblique}.party-r,.party-republican{color:#de2e0b;background:linear-gradient(135deg,#fee2e2,#fca5a5);border:1px solid #f87171}.party-d,.party-democratic{color:#007bda;background:linear-gradient(135deg,#dbeafe,#93c5fd);border:1px solid #60a5fa}.party-i,.party-independent{color:#000;background:linear-gradient(135deg,#f3f4f6,#d1d5db);border:1px solid #9ca3af}.party-g,.party-green{color:green;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac}.party-l,.party-libertarian{color:purple;background:linear-gradient(135deg,#f3e8ff,#ddd6fe);border:1px solid #c4b5fd}.chamber-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b}.latest-action,.sponsors,.subjects,.current-role{margin-bottom:4px;font-size:10px;line-height:1.3;color:var(--text, #4b5563);opacity:.9}.latest-action strong,.sponsors strong,.subjects strong,.current-role strong{color:var(--text, #1f2937);font-weight:600;font-family:Montserrat,sans-serif}.vote-footer{padding-top:6px;border-top:1px solid #e5e7eb;text-align:right}.vote-date{color:var(--text, #6b7280);opacity:.8;font-size:9px;font-style:italic;font-weight:500}@media (max-width: 768px){.vote-history-container{padding:12px}.vote-filters{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.vote-stats{margin-left:0;width:100%}.votes-grid{grid-template-columns:1fr;gap:8px}.vote-card{padding:10px}.official-avatar{width:28px;height:28px}}@media (max-width: 480px){.filter-group{width:100%;justify-content:space-between}.vote-meta{gap:2px}.session-badge,.classification-badge,.party-badge,.chamber-badge{font-size:7px;padding:1px 4px}.vote-title{font-size:12px}.latest-action,.sponsors,.subjects,.current-role{font-size:9px}}@media (prefers-color-scheme: dark){.vote-card{background:linear-gradient(90deg,var(--primary, #3b83f689),var(--secondary, #8a5cf663))}.filter-group label{color:#f9fafb;text-shadow:0 1px 2px rgba(0,0,0,.5)}.filter-select,.stat{background:#111827f2;border-color:#6b7280;color:#f9fafb}.vote-card{background:var(--bg, #1f2937);color:var(--text, #f9fafb);box-shadow:0 1px 3px #0003}.vote-card:hover{box-shadow:0 4px 8px #0000004d}.vote-title{color:var(--text, #f9fafb)}.vote-title:hover{color:#60a5fa}.latest-action,.sponsors,.subjects,.current-role{color:var(--text, #d1d5db)}.latest-action strong,.sponsors strong,.subjects strong,.current-role strong{color:var(--text, #f9fafb)}.vote-date{color:var(--text, #9ca3af)}.vote-footer{border-top-color:#374151}.vote-card.upvoted,.vote-card.downvoted{background:linear-gradient(90deg,var(--primary, #3b83f689),var(--secondary, #8a5cf663))}.vote-card:hover{background:linear-gradient(90deg,var(--primary, #3b82f6),var(--secondary, #8b5cf6))}.party-r,.party-republican{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fca5a5}.party-d,.party-democratic{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);color:#93c5fd}.empty-state,.votes-loading{color:var(--text, #9ca3af)}}.tech-compass-card.enhanced-card{background:linear-gradient(145deg,#1f2937f2,#111827e6,#05070bd9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:0;border-radius:24px;box-shadow:0 8px 32px #0006,0 2px 8px #0000004d,inset 0 1px #ffffff1a;max-width:750px;margin:2rem auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:all .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden;border:1px solid rgba(255,255,255,.1);position:relative}.tech-compass-card.enhanced-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.tech-compass-card.enhanced-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #00000080,0 8px 24px #0000004d,inset 0 1px #fff3}.card-header{background:linear-gradient(135deg,#1f2937e6,#111827cc);padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.card-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.card-title{margin:0;font-size:2rem;font-weight:800;background:linear-gradient(135deg,#e78533,#f59e0b,#fbbf24);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:#ffffffe6;letter-spacing:-.025em;animation:gradient-shift 3s ease-in-out infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.company-selector{padding:2rem 2.5rem;background:linear-gradient(135deg,#1f2937cc,#111827b3);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.card-label{font-weight:700;display:block;margin-bottom:1rem;color:#fffc;letter-spacing:-.015em;text-transform:uppercase;font-size:.875rem;opacity:.9}.card-select{width:100%;padding:1rem 1.25rem;border:2px solid rgba(255,255,255,.2);border-radius:16px;font-size:1.1rem;font-weight:600;color:#ffffffe6;background:#1f2937cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.25,.46,.45,.94);cursor:pointer;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a;outline:none}.card-select:focus,.card-select:hover{border-color:#e78533;box-shadow:0 0 0 4px #e7853333,0 4px 16px #0006,inset 0 1px #ffffff26;transform:translateY(-1px)}.company-profile{padding:2.5rem;background:linear-gradient(135deg,#1f2937e6,#111827cc);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.company-header{display:flex;align-items:center;gap:2rem;margin-bottom:2.5rem;padding:2rem;background:linear-gradient(135deg,#1f2937cc,#111827b3);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s ease}.company-header:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0006,inset 0 1px #ffffff26}.company-logo{width:88px;height:88px;object-fit:contain;border-radius:20px;box-shadow:0 8px 24px #0006,inset 0 1px #fff3;background:linear-gradient(135deg,#fffffff2,#f8fafce6);padding:12px;transition:all .3s ease}.company-logo:hover{transform:scale(1.05);box-shadow:0 12px 32px #00000080,inset 0 1px #ffffff4d}.company-basic-info{flex:1}.company-name{font-size:1.75rem;font-weight:800;margin:0 0 1.25rem;color:#fffffff2;letter-spacing:-.025em;background:linear-gradient(135deg,#e78533,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.company-metrics{display:flex;gap:2.5rem;flex-wrap:wrap}.metric{display:flex;flex-direction:column;gap:.5rem;min-width:120px}.metric-label{font-size:.75rem;color:#fff9;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.metric-value{font-size:1.25rem;font-weight:800;color:#fffffff2;letter-spacing:-.02em}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;margin-bottom:2.5rem}.info-card{padding:1.75rem;background:linear-gradient(135deg,#1f2937cc,#111827b3);border-radius:18px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.info-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0006,inset 0 1px #ffffff26}.info-card h4{margin:0 0 1.25rem;font-size:1.125rem;font-weight:700;color:#fffffff2;letter-spacing:-.015em}.info-card p{margin:.75rem 0;color:#fffc;line-height:1.6;font-weight:500}.impact-tags{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:1rem}.impact-tags .impact-tag{background:linear-gradient(135deg,#e78533,#f59e0b,#eab308);color:#fffffff2;padding:.75rem 1.25rem;border-radius:20px;font-size:.875rem;font-weight:700;text-align:center;box-shadow:0 3px 12px #e7853366,inset 0 1px #ffffff40;border:1px solid rgba(255,255,255,.15);transition:all .35s cubic-bezier(.25,.46,.45,.94);cursor:pointer;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:-.01em;display:inline-block}.impact-tags .impact-tag:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.impact-tags .impact-tag:hover{transform:translateY(-3px) scale(1.05);background:linear-gradient(135deg,#d97706,#e78533,#f59e0b);box-shadow:0 8px 24px #e7853399,inset 0 1px #ffffff59;border-color:#ffffff40}.impact-tags .impact-tag:hover:before{left:100%}.impact-tags .impact-tag:active{transform:translateY(-1px) scale(1.02);transition:all .1s ease}.expandable-sections{margin-bottom:2.5rem}.section{margin-bottom:1.25rem;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#1f2937cc,#111827b3);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a;transition:all .3s ease}.section:hover{box-shadow:0 4px 16px #0006,inset 0 1px #ffffff26}.section-header{width:100%;padding:1.25rem 1.75rem;background:linear-gradient(135deg,#1f2937e6,#111827cc);border:none;text-align:left;font-weight:700;font-size:1.05rem;color:#fffffff2;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:-.015em}.section-header:hover{background:linear-gradient(135deg,#111827e6,#05070bcc);color:#fffffff2;transform:translateY(-1px)}.toggle-icon{font-size:1.3rem;font-weight:800;color:#e78533;transition:all .3s ease;transform-origin:center}.section-header:hover .toggle-icon{transform:scale(1.1)}.section-content{padding:1.75rem;background:linear-gradient(135deg,#1f2937d9,#111827cc);border-top:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.controversy-list{list-style:none;padding:0;margin:0}.controversy-item{padding:1rem 1.25rem;margin-bottom:1rem;background:linear-gradient(135deg,#ef444433,#dc262626);border-left:4px solid #ef4444;border-radius:12px;color:#ffffffe6;font-weight:600;box-shadow:0 2px 8px #ef44444d,inset 0 1px #ffffff1a;transition:all .3s ease;cursor:pointer}.controversy-item:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ef444440,#dc262633);box-shadow:0 4px 16px #ef444466,inset 0 1px #ffffff26}.controversy-item:last-child{margin-bottom:0}.action-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.action-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:1px solid rgba(255,255,255,.1);padding:1rem 1.25rem;border-radius:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-align:left;font-size:.95rem;box-shadow:0 2px 8px #10b9814d,inset 0 1px #fff3}.action-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 20px #10b98166,inset 0 1px #ffffff4d}.action-note{background:linear-gradient(135deg,#10b98133,#05966926);padding:1.25rem;border-radius:14px;color:#ffffffe6;font-size:.9rem;font-weight:600;margin:0;border-left:4px solid #10b981;box-shadow:0 2px 8px #10b9814d,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quick-links{display:flex;gap:1.25rem}.company-link{flex:1;text-align:center;padding:1rem 1.25rem;border-radius:16px;text-decoration:none;font-weight:700;transition:all .3s cubic-bezier(.25,.46,.45,.94);cursor:pointer;font-size:.95rem;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.primary-link{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 2px 8px #6366f14d,inset 0 1px #fff3}.primary-link:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:translateY(-2px);box-shadow:0 6px 20px #6366f166,inset 0 1px #ffffff4d}.secondary-link{background:linear-gradient(135deg,#1f2937cc,#111827b3);color:#ffffffe6;font-weight:700;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a}.secondary-link:hover{background:linear-gradient(135deg,#111827e6,#05070bcc);color:#fffffff2;transform:translateY(-2px);box-shadow:0 6px 20px #0006,inset 0 1px #ffffff26}.enhanced-btn{background:linear-gradient(135deg,#e78533,#f59e0b);color:#fff;border:1px solid rgba(255,255,255,.1);padding:.75rem 1.5rem;border-radius:100px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 8px #e785334d,inset 0 1px #fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:-.01em}.enhanced-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #e7853366,inset 0 1px #ffffff4d}.loading-container{text-align:center;padding:4rem 2.5rem}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #e78533;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-text{color:#fffc;font-style:italic;font-weight:600;margin:0;font-size:1.05rem;letter-spacing:-.01em}.tech-compass-guide{max-height:60vh;overflow-y:auto;padding:1rem}.guide-section{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:12px;border-left:4px solid #4c51bf;box-shadow:0 2px 8px #0000000d}.guide-section h4{margin:0 0 1rem;color:#1a202c;font-size:1.1rem;font-weight:700}.guide-section p{margin:0 0 1rem;line-height:1.6;color:#2d3748;font-weight:500}.action-examples{list-style:none;padding:0;margin:1rem 0 0}.action-examples li{padding:.5rem 0;color:#1a202c;font-weight:500}.action-examples strong{color:#4c51bf;font-weight:700}.guide-tip{background:linear-gradient(135deg,#f0fff4,#e6fffa);padding:1rem;border-radius:8px;border-left:4px solid #48bb78;margin-top:1rem;color:#1a202c;font-weight:500;box-shadow:0 2px 8px #0000000d}@media (max-width: 768px){.tech-compass-card.enhanced-card{margin:1rem;border-radius:20px}.card-header{flex-direction:column;gap:1.5rem;text-align:center;padding:1.75rem 2rem}.card-title{font-size:1.75rem}.company-selector{padding:1.75rem 2rem}.company-profile{padding:2rem}.company-header{flex-direction:column;text-align:center;gap:1.5rem;padding:1.75rem}.company-logo{width:76px;height:76px}.company-metrics{justify-content:center;gap:2rem}.info-grid{grid-template-columns:1fr;gap:1.5rem}.quick-links{flex-direction:column;gap:1rem}.impact-tags{justify-content:center;gap:.75rem}.impact-tags .impact-tag{font-size:.8rem;padding:.65rem 1rem;border-radius:16px}.section-header{padding:1rem 1.5rem;font-size:1rem}.section-content{padding:1.5rem}}.btn.loading{opacity:.7;cursor:not-allowed}.btn.loading:after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.profile-page{padding:2rem;color:var(--text)}.profile-page .profile-header{margin-bottom:1.5rem}.profile-page .profile-header .greeting{font-size:1.75rem;color:#dfdcdc}.profile-page .profile-header .greeting .accent{color:#e78533;font-weight:600}.profile-page .zip-input{display:flex;align-items:center;margin-bottom:1.5rem}.profile-page .zip-input input{flex:1;padding:.5rem 1rem;font-size:1rem;border:1px solid #e0e0e0;border-radius:.25rem;transition:border-color .3s ease}.profile-page .zip-input input:focus{border-color:#e78533;outline:none;box-shadow:0 0 0 2px #e7853333}.profile-page .zip-input button{margin-left:1rem;padding:.5rem 1rem;font-size:1rem;color:#fff;background-color:#e78533;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .3s ease}.profile-page .zip-input button:hover{background-color:#e4771c}.profile-page .zip-input button:focus{outline:none;box-shadow:0 0 0 2px #e7853333}.profile-page .dashboard{max-width:900px;margin:0 auto}.profile-page .dashboard .tabs{display:flex;justify-content:flex-start;border-bottom:2px solid #e0e0e0;margin-bottom:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-page .dashboard .tabs .tab{flex:1 1 auto;text-align:center;padding:1rem 1.5rem;font-size:1rem;color:#c6c4c4;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:color .3s ease,border-color .3s ease}.profile-page .dashboard .tabs .tab:hover{color:#cf6b18}.profile-page .dashboard .tabs .tab.active{color:var(--primary-600, #e78533);border-bottom-color:var(--primary-600, #e78533);font-weight:600}.profile-page .dashboard .tabs .tab:focus{outline:none;border-bottom-color:#b86016}.profile-page .dashboard .tab-content .widget{padding:1.5rem;margin-bottom:1.5rem;border-radius:.5rem;box-shadow:0 2px 8px #0000000d}.profile-page .dashboard .tab-content .widget h2{margin-top:0;color:#e78533!important}.profile-page .dashboard .tab-content .callout{background-color:#f4f8fb;border-left:4px solid #007bff;padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:.25rem}.profile-page .dashboard .tab-content .callout p{margin:0 0 .5rem;color:#333}.profile-page .dashboard .tab-content .callout .btn{background-color:#007bff;color:#fff;padding:.5rem 1rem;border:none;border-radius:.25rem;font-size:.9rem;cursor:pointer;transition:background-color .3s ease}.profile-page .dashboard .tab-content .callout .btn:hover{background-color:#006fe6}.profile-page .dashboard .tab-content .favorites-card{border:1px solid #e1e1e1;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.profile-page .dashboard .tab-content .favorites-card h3{margin-top:0;font-size:1.1rem;color:#e78533}.profile-page .dashboard .tab-content .elections-list,.profile-page .dashboard .tab-content .resources-list{display:grid;gap:1rem;padding:0;list-style:none}.profile-page .dashboard .tab-content .election-card,.profile-page .dashboard .tab-content .resource-card{background:var(--surface-1);border:1px solid var(--border);border-radius:.5rem;padding:1rem;box-shadow:var(--shadow-sm)}@media (max-width: 600px){.profile-page .dashboard .tab-content .tabs .tab{padding:.75rem 1rem;font-size:.9rem}}.elections{max-width:1200px;margin:0 auto;padding:0 20px;color:var(--text)}.elections-header{margin-bottom:32px;text-align:center}.elections-header h2{color:var(--text);font-family:Montserrat,Raleway,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:12px;letter-spacing:-.025em}.elections-header p{color:var(--text);opacity:.7;font-size:1.1rem;margin:8px 0;font-weight:400;font-family:Raleway,sans-serif}.user-location{color:#007bda!important;font-weight:600;background:#007bda1a;padding:8px 16px;border-radius:20px;display:inline-block;margin-top:8px;font-family:Raleway,sans-serif}.elections-loading,.elections-error,.no-elections{text-align:center;padding:60px 20px;border-radius:12px;margin:20px 0;font-family:Raleway,sans-serif}.elections-loading{background:var(--surface);color:var(--text);opacity:.8;border:2px dashed currentColor}.elections-error{background:#de2e0b1a;color:#de2e0b;border:2px solid rgb(222,46,11)}.no-elections{background:#ffc1071a;color:#744210;border:2px solid #f6ad55}.elections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:24px}.election-card{background:var(--bg);border:2px solid;border-color:var(--text);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer;font-family:Raleway,sans-serif}.election-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--surface);transition:all .3s ease}.election-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px);border-color:var(--text);opacity:.4}.election-card.next-election{border-color:green;background:var(--bg);position:relative}.election-card.next-election:before{background:linear-gradient(90deg,green,#48bb78)}.election-card.next-election:hover{border-color:green;box-shadow:0 20px 25px -5px #0080004d,0 10px 10px -5px #0080001a}.election-card.upcoming-soon{border-color:#ed8936;background:var(--bg)}.election-card.upcoming-soon:before{background:linear-gradient(90deg,#ed8936,#f6ad55)}.election-card.upcoming-soon:hover{border-color:#dd6b20;box-shadow:0 20px 25px -5px #ed89364d,0 10px 10px -5px #ed89361a}.election-card.user-state{border-color:#007bda;background:var(--bg)}.election-card.user-state:before{background:linear-gradient(90deg,#007bda,#4299e1)}.election-card.user-state:hover{border-color:#0064b4;box-shadow:0 20px 25px -5px #007bda4d,0 10px 10px -5px #007bda1a}.next-badge{position:absolute;top:-2px;right:24px;background:linear-gradient(135deg,green,#2f855a);color:#fff;padding:6px 14px;border-radius:0 0 12px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 6px -1px #0080004d;font-family:Raleway,sans-serif}.election-date-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:12px}.election-date{font-size:13px;font-weight:600;color:var(--text);background:var(--surface);padding:8px 14px;border-radius:24px;border:1px solid;border-color:var(--text);opacity:.3;white-space:nowrap;letter-spacing:.025em;font-family:Raleway,sans-serif}.days-until{font-size:11px;font-weight:700;padding:6px 12px;border-radius:16px;background:var(--surface);color:var(--text);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-family:Raleway,sans-serif}.days-until.urgent{background:linear-gradient(135deg,#de2e0b,#e53e3e);color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.election-details{flex:1}.election-name{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:16px;line-height:1.3;letter-spacing:-.025em;font-family:Montserrat,Raleway,sans-serif}.election-meta{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.election-scope{font-size:10px;font-weight:700;padding:6px 12px;border-radius:16px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;font-family:Raleway,sans-serif}.election-scope.national{background:linear-gradient(135deg,#de2e0b,#c53030);color:#fff;box-shadow:0 2px 4px #de2e0b4d}.election-scope.state{background:linear-gradient(135deg,#007bda,#2c5282);color:#fff;box-shadow:0 2px 4px #007bda4d}.election-scope.local{background:linear-gradient(135deg,#718096,#4a5568);color:#fff;box-shadow:0 2px 4px #7180964d}.election-division{font-size:14px;color:var(--text);opacity:.7;font-weight:500;flex:1;min-width:0;font-family:Raleway,sans-serif}.user-state-indicator{margin-top:12px}.user-state-indicator span{font-size:12px;color:#007bda;font-weight:600;background:#007bda26;padding:4px 12px;border-radius:16px;border:1px solid rgba(0,123,218,.2);display:inline-flex;align-items:center;gap:4px;font-family:Raleway,sans-serif}@media (prefers-color-scheme: dark){.election-card{box-shadow:0 4px 6px -1px #ffffff0d,0 2px 4px -1px #ffffff08}.election-card:hover{box-shadow:0 20px 25px -5px #ffffff0d,0 10px 10px -5px #ffffff05}.elections-loading{border-color:#ffffff4d}.party-D{color:#007bda;text-shadow:0 0 2px rgba(255,255,255,.295)}}@media (max-width: 1024px){.elections-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}}@media (max-width: 768px){.elections{padding:0 16px}.elections-header h2{font-size:2rem}.elections-grid{grid-template-columns:1fr;gap:16px}.election-card{padding:20px}.election-date-section{flex-direction:column;gap:8px;align-items:stretch}.election-date,.days-until{text-align:center}.election-meta{flex-direction:column;gap:8px;align-items:flex-start}.next-badge{right:16px;font-size:10px;padding:4px 10px}}@media (max-width: 480px){.elections-header h2{font-size:1.75rem}.election-card{padding:16px}.election-name{font-size:1.1rem}}@media (prefers-reduced-motion: reduce){.election-card,.days-until.urgent{transition:none;animation:none}.election-card:hover{transform:none}}.election-card:focus{outline:2px solid rgb(0,123,218);outline-offset:2px}.election-card:focus:not(:focus-visible){outline:none}@media (prefers-contrast: high){.election-card{border-width:3px}.election-scope,.next-badge{border:2px solid currentColor}}.local-resources{max-width:800px;margin:0 auto;padding:20px;color:var(--text, #1a202c);font-family:Raleway,sans-serif}.address-section{margin-bottom:24px;padding:20px;background:var(--surface, #f8f9fa);border-radius:12px;border:2px solid var(--text, #e2e8f0);transition:all .3s ease}.address-section:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.address-section label{display:block;margin-bottom:12px;font-weight:600;color:var(--text, #2d3748);font-size:16px}.address-section input{width:calc(40% - 24px);margin-left:12px;padding:12px 16px;border:2px solid var(--text, #e2e8f0);border-radius:8px;font-size:14px;font-family:Raleway,sans-serif;background:var(--bg, white);color:var(--text, #2d3748);transition:all .3s ease}.address-section input:focus{outline:none;border-color:#007bda;box-shadow:0 0 0 3px #007bda1a}.address-section input::placeholder{color:var(--text, #a0aec0)}.location-info{margin-top:12px;padding:12px 16px;background:#007cda00;border-radius:8px;border-left:4px solid rgb(0,123,218);font-size:14px;color:#2d3748}.location-info strong{color:#e98c02;font-weight:600}.warning{color:#744210;background:linear-gradient(135deg,#fef5e7,#fbd38d);padding:16px;border-radius:8px;border:2px solid #f6ad55;margin:16px 0;font-weight:500}.election-info{margin:20px 0;padding:16px;background:linear-gradient(135deg,#f0fff4,#c6f6d5);border-radius:12px;border:2px solid #38a169;border-left:6px solid #38a169}.election-info h3{margin-top:0;margin-bottom:8px;color:#2f855a;font-family:Montserrat,Raleway,sans-serif}.state-resources{background:var(--bg, white);border:2px solid var(--text, #e2e8f0);border-radius:16px;padding:24px;margin:24px 0;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s ease}.state-resources:hover{transform:translateY(-2px);box-shadow:0 8px 16px -4px #00000026}.state-resources h3{color:var(--text, #1a202c);font-family:Montserrat,Raleway,sans-serif;font-size:1.5rem;font-weight:700;margin-top:0;margin-bottom:20px;padding-bottom:12px;border-bottom:3px solid rgb(218,145,0);letter-spacing:-.025em}.election-admin>*+*{margin-top:16px}.election-admin h4{color:#da9100;font-family:Montserrat,Raleway,sans-serif;font-size:1.25rem;font-weight:600;margin-bottom:20px;margin-top:0}.election-admin p{margin:12px 0;line-height:1.6;color:var(--text, #4a5568)}.election-admin strong{color:var(--text, #2d3748);font-weight:600}.election-admin a{color:#da9100;font-weight:500;transition:all .2s ease;border-bottom:1px solid transparent}.election-admin a:hover{text-decoration:none;border-bottom-color:#007bda;color:#0064b4}.contact-info{margin-top:20px;padding:16px;background:var(--surface, #f7fafc);border-radius:12px;border:1px solid var(--text, #e2e8f0)}.contact-info h5{margin-top:0;margin-bottom:12px;color:var(--text, #2d3748);font-family:Montserrat,Raleway,sans-serif;font-weight:600;font-size:1rem}.contact-info .address{color:var(--text, #4a5568);line-height:1.5;font-size:14px}.normalized-address-info{margin-top:16px;padding:12px;background:var(--surface, #f7fafc);border-radius:8px;border:1px solid var(--text, #e2e8f0)}.normalized-address-info small{color:var(--text, #718096);font-size:12px}.normalized-address-info strong{color:var(--text, #4a5568)}.resource-note{color:var(--text, white);background:linear-gradient(135deg,#4a5568,#2d3748);padding:16px 20px;border-radius:12px;margin-top:24px;border-left:4px solid rgb(218,124,0)}.resource-note p{margin:8px 0;line-height:1.5}.resource-note strong{color:#f4ab17}.no-elections,.wrong-state-election{background:linear-gradient(135deg,#fef5e7,#fbd38d);border:2px solid #f6ad55;padding:20px;border-radius:12px;margin:20px 0;color:#744210;text-align:center}.no-elections h3,.wrong-state-election h3{margin-top:0;color:#744210;font-family:Montserrat,Raleway,sans-serif}.elections-loading{text-align:center;padding:40px 20px;color:var(--text, #4a5568);font-style:italic}.test-section{margin:24px 0;padding:20px;background:var(--surface, #f8f9fa);border:1px solid var(--text, #e2e8f0);border-radius:12px}.test-section h3{margin-top:0;color:var(--text, #2d3748);font-family:Montserrat,Raleway,sans-serif}.test-section ul{list-style:none;padding:0;display:flex;gap:12px;flex-wrap:wrap}.test-section button{padding:8px 16px;background:linear-gradient(135deg,#007bda,#0064b4);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-family:Raleway,sans-serif;font-weight:500;transition:all .2s ease}.test-section button:hover{background:linear-gradient(135deg,#0064b4,#005096);transform:translateY(-1px);box-shadow:0 4px 8px #007bda4d}@media (prefers-color-scheme: dark){.contact-info,.normalized-address-info,.test-section{border-color:#ffffff1a}.warning{background:linear-gradient(135deg,#744210,#8b5a2b);color:#fbd38d;border-color:#8b5a2b}.election-info{background:linear-gradient(135deg,#1a202c,#2d3748);border-color:#38a169;color:#c6f6d5}.address-section input{background:var(--surface, #2d3748);color:var(--text, #e2e8f0)}}@media (max-width: 768px){.local-resources,.address-section,.state-resources{padding:16px}.address-section input{width:calc(100% - 16px);margin-left:8px}.state-resources h3{font-size:1.25rem}.election-admin h4{font-size:1.1rem}}@media (max-width: 480px){.local-resources{padding:12px}.address-section input{margin-left:0;margin-top:8px;width:100%}.contact-info,.normalized-address-info{padding:12px}.resource-note{padding:12px 16px}}@media (prefers-reduced-motion: reduce){.address-section,.state-resources,.election-admin a,.test-section button{transition:none}.address-section:hover,.state-resources:hover,.test-section button:hover{transform:none}}.address-section:focus-within{outline:2px solid rgb(0,123,218);outline-offset:2px}.election-admin a:focus{outline:2px solid rgb(0,123,218);outline-offset:2px;border-radius:4px}@media (prefers-contrast: high){.address-section,.state-resources,.contact-info{border-width:3px}.election-admin a{text-decoration:underline}}.breathe-container{width:100vw;height:85vh;background-color:#231f2000;transition:all 1s ease-in-out}.breathe-text{color:#2e2e2e;position:fixed;right:1rem;bottom:1rem;text-decoration:none;letter-spacing:5px;transition:all 1s ease-in-out;font-weight:lighter}.canvas-container{display:block;background-color:transparent;max-width:400px;width:100vw;margin:0 auto;height:100%}.nucleus-container{width:85vw;height:100%;transition:transform 1s ease;fill:#f44d10dc}.crest-container{position:fixed;top:1rem;left:100%;display:flex;justify-content:center;align-items:center;height:100%;fill:orange}.us-map-container{width:100%;max-width:1200px;margin:0 auto;padding:20px;background-color:#f8fafc15;border-radius:8px}.map-header{text-align:center;margin-bottom:24px}.map-header h2{color:#1e293b;margin-bottom:8px}.map-header p{color:#64748b;margin:0}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.refresh-button{padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;white-space:nowrap;min-width:fit-content}.refresh-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.refresh-button:active{transform:translateY(0)}.refresh-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.map-wrapper{background:#fff0;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.us-map-svg{width:100%!important;height:auto!important;min-height:400px!important;display:block!important;background-color:#fff0;border-radius:4px}.us-map-svg path{cursor:pointer;transition:all .2s ease}.us-map-svg path:hover{filter:brightness(.9)}.map-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.legend-color{width:16px;height:16px;border-radius:3px;border:1px solid #e2e8f0}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-spinner p{color:#64748b;margin:0}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.error-message p{color:#dc2626;font-size:16px;margin:0}.pinned-content{max-height:70vh;overflow-y:auto}.content-section{margin-bottom:24px}.content-section:last-child{margin-bottom:0}.content-section h3{color:#f47906;margin-bottom:16px;font-size:18px;font-weight:600;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.content-grid{display:grid;gap:12px}.content-item{background:#f8fafc4c;border:1px solid #e2e8f0;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s ease}.content-item:hover{background:#343435a1;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.content-item h4{color:#fff;margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.4}.content-item p{color:#e8edf5;margin:0;font-size:14px;line-height:1.4}.no-content{text-align:center;padding:40px 20px;color:#64748b}.no-content p{margin:0;font-size:16px}@media (max-width: 768px){.us-map-container,.map-wrapper{padding:16px}.map-header h2{font-size:20px}.map-header p{font-size:14px}.map-legend{gap:16px}.legend-item{font-size:13px}.content-item{padding:12px}.content-item h4{font-size:15px}.content-item p{font-size:13px}.header-content{flex-direction:column;align-items:center;text-align:center}.refresh-button{margin-top:.5rem}}@media (max-width: 480px){.us-map-container,.map-wrapper{padding:12px}.map-legend{flex-direction:column;align-items:center;gap:12px}.us-map-svg{min-height:300px!important}}.breathe-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70vh;width:100%}.icon-text-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3rem;font-weight:700;color:#333}.analyzing-text{margin-top:2rem;font-size:1.8rem;color:var(--text-primary);text-align:center;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.reveal-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:70vh;text-align:center;animation:fadeIn 1s ease-out}.reveal-heading{font-size:2.5rem;margin-bottom:3rem;color:var(--text-primary);position:relative;animation:slideDown 1.2s ease-out}.reveal-heading:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#2563eb,#10b981);border-radius:2px}.party-icons-container{display:flex;justify-content:center;gap:4rem;margin:2rem 0 4rem;flex-wrap:wrap}.party-reveal{display:flex;flex-direction:column;align-items:center;max-width:220px;animation:scaleIn .8s ease-out forwards}.party-reveal.primary{animation-delay:.2s;transform:scale(0)}.party-reveal.secondary{animation-delay:1.2s;transform:scale(0)}.icon-circle{width:150px;height:150px;border-radius:50%;border:5px solid;display:flex;align-items:center;justify-content:center;background-color:#fff;box-shadow:0 8px 24px #0000001a;overflow:hidden;padding:1rem}.party-icon-revealed{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.primary-icon{animation:pulse 2s infinite,spin 20s linear infinite}.secondary-icon{animation:pulse 2s infinite,rockBack 6s ease-in-out infinite}.party-name{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.6rem;font-weight:700;text-align:center;opacity:0;animation:fadeIn 1s ease-out forwards}.primary-name{animation-delay:.8s}.secondary-name{animation-delay:1.8s}.personality-type{font-size:1.1rem;font-style:italic;color:var(--text-secondary);opacity:0;animation:fadeIn 1s ease-out forwards;animation-delay:2.2s;margin-top:.5rem}.reveal-description{margin-top:2rem;font-size:1.2rem;line-height:1.6;color:var(--text-secondary);opacity:0;animation:fadeIn 1s ease-out forwards;animation-delay:3s}.countdown{display:block;margin-top:2rem;font-size:1rem;color:var(--text-tertiary);animation:pulse 2s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rockBack{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@media (max-width: 768px){.party-icons-container{gap:2rem}.icon-circle{width:120px;height:120px}.party-name{font-size:1.4rem}.reveal-heading{font-size:2rem}}@media (max-width: 480px){.party-icons-container{flex-direction:column;align-items:center}.icon-circle{width:100px;height:100px}}.legal-page{min-height:100vh;padding:60px 20px;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.legal-container{max-width:900px;margin:0 auto;background:#fff;padding:50px;border-radius:12px;box-shadow:0 10px 30px #00000014;position:relative;overflow:hidden}.legal-container:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:linear-gradient(to bottom,#3490dc,#6574cd)}.legal-container h1{color:#1a202c;font-size:2.75rem;font-weight:700;margin-bottom:1.5rem;letter-spacing:-.5px;border-bottom:1px solid #edf2f7;padding-bottom:1rem}.legal-content{position:relative}.legal-content h2{color:#2d3748;font-size:1.75rem;font-weight:600;margin-top:2.5rem;margin-bottom:1.25rem;letter-spacing:-.3px;display:flex;align-items:center}.legal-content h2:before{content:"";display:inline-block;width:8px;height:8px;background-color:#4299e1;border-radius:50%;margin-right:12px}.legal-content p{margin-bottom:1.25rem;line-height:1.8;color:#4a5568;font-size:1.05rem}.legal-content p:first-of-type{font-style:italic;color:#718096;background-color:#f7fafc;padding:1rem;border-radius:6px;border-left:3px solid #cbd5e0}.legal-content strong{color:#2c5282;font-weight:600}.legal-content h2:hover{color:#3182ce;transition:color .3s ease}@media (max-width: 768px){.legal-container{padding:30px}.legal-container h1{font-size:2.25rem}.legal-content h2{font-size:1.5rem}}.legal-content p:first-of-type strong{display:inline-block;position:relative}.legal-content p:first-of-type strong:after{content:"";position:absolute;width:100%;height:2px;bottom:-2px;left:0;background:linear-gradient(to right,#3182ce,#63b3ed);transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease-out}.legal-content p:first-of-type:hover strong:after{transform:scaleX(1);transform-origin:bottom left}.legal-content h2:last-of-type+p{background-color:#ebf8ff;border-left:3px solid #4299e1;padding:15px;border-radius:6px;margin-top:10px}:root{--primary-start: #667eea;--primary-end: #764ba2;--register-start: #6b8dd6;--register-end: #8e37d7;--accent: #e78533;--accent-hover: #ff9f4a;--accent-active: #d4731f;--card-bg: rgba(255, 255, 255, .95);--card-border: rgba(255, 255, 255, .3);--text-dark: #1a1a1a;--text-primary: #2d2d2d;--text-secondary: #666666;--text-tertiary: #888888;--input-bg: rgba(255, 255, 255, .9);--input-bg-focus: rgba(255, 255, 255, 1);--input-border: rgba(0, 0, 0, .1);--input-border-focus: var(--accent);--error-color: #dc3545;--error-bg: rgba(220, 53, 69, .1);--success-color: #28a745;--success-bg: rgba(40, 167, 69, .1);--shadow-sm: 0 4px 6px rgba(0, 0, 0, .07);--shadow-md: 0 10px 25px rgba(0, 0, 0, .1);--shadow-lg: 0 25px 50px rgba(0, 0, 0, .15);--shadow-xl: 0 35px 70px rgba(0, 0, 0, .2);--border-radius: 20px;--border-radius-sm: 12px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-register: linear-gradient(135deg, #6b8dd6 0%, #8e37d7 100%);--gradient-accent: linear-gradient(135deg, #e78533 0%, #ff9f4a 100%)}.auth-container{display:flex;box-sizing:border-box;margin:auto;font-family:Raleway,sans-serif;align-items:center;justify-content:center;min-height:90vh;padding:20px;width:100%;background:var(--gradient-primary);transition:background var(--transition-smooth);overflow:hidden;position:relative}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(231,133,51,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,159,74,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.auth-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);pointer-events:none;z-index:0}.auth-container.register{background:var(--gradient-register)}.auth-card{background:var(--card-bg);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid var(--card-border);padding:40px 36px 32px;border-radius:var(--border-radius);box-shadow:var(--shadow-xl);width:100%;height:fit-content;max-width:480px;color:var(--text-dark);text-align:center;box-sizing:border-box;position:relative;z-index:2;transition:all var(--transition-smooth);isolation:isolate;contain:layout style paint}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(145deg,#ffffff1a,#ffffff0d,#ffffff1a);border-radius:var(--border-radius);opacity:0;transition:opacity var(--transition-smooth);pointer-events:none;z-index:-1}.auth-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),0 0 0 1px #e785331a;border-color:#e7853333}.auth-card:hover:before{opacity:1}.auth-title{font-family:Montserrat,sans-serif;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;color:var(--text-dark);text-shadow:none;position:relative;background:linear-gradient(135deg,var(--text-dark) 0%,var(--text-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-title:after{content:"";display:block;width:50px;height:3px;background:var(--gradient-accent);margin:16px auto 28px;border-radius:2px;box-shadow:0 2px 8px #e785334d}.auth-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;gap:16px;width:100%;flex-wrap:nowrap;position:relative}.form-row .auth-input{flex:1 1 0px;min-width:0}.auth-input{flex:1;padding:16px 18px;border:2px solid var(--input-border);border-radius:var(--border-radius-sm);background:var(--input-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:var(--text-primary);font-size:16px;font-weight:400;font-family:Raleway,sans-serif;transition:all var(--transition-fast);min-height:52px;box-sizing:border-box;box-shadow:var(--shadow-sm);position:relative}.auth-input::placeholder{color:var(--text-tertiary);font-weight:300}.auth-input:focus{outline:none;border-color:var(--input-border-focus);background:var(--input-bg-focus);box-shadow:0 0 0 4px #e7853326,var(--shadow-md);transform:translateY(-2px)}.auth-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 6px #e7853333,var(--shadow-md)}.auth-input:hover:not(:focus){border-color:#0003;background:#fffffff2;box-shadow:var(--shadow-md)}.auth-input[aria-invalid=true]{border-color:var(--error-color);background:#fffffff2;box-shadow:0 0 0 4px var(--error-bg)}.auth-input:valid:not(:placeholder-shown){border-color:var(--success-color);box-shadow:0 0 0 2px var(--success-bg)}.auth-button{padding:16px 24px;background:var(--gradient-accent);border:none;border-radius:var(--border-radius-sm);font-size:16px;font-weight:600;letter-spacing:.02em;font-family:Raleway,sans-serif;text-transform:uppercase;color:#fff;cursor:pointer;transition:all var(--transition-fast);min-height:56px;box-shadow:var(--shadow-md),0 4px 12px #e785334d;position:relative;overflow:hidden;margin-top:8px}.auth-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left var(--transition-smooth)}.auth-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),0 8px 25px #e7853366;background:linear-gradient(135deg,var(--accent-hover) 0%,var(--accent) 100%)}.auth-button:hover:before{left:100%}.auth-button:active{transform:translateY(-1px);box-shadow:var(--shadow-md),0 4px 12px #e785334d}.auth-button:focus-visible{outline:2px solid #ffffff;outline-offset:3px;box-shadow:0 0 0 6px #e785334d,var(--shadow-lg)}.auth-button:disabled,.auth-button.disabled{background:linear-gradient(135deg,#ccc,#bbb);color:#888;cursor:not-allowed;opacity:.6;transform:none;box-shadow:var(--shadow-sm)}.auth-button:disabled:hover,.auth-button.disabled:hover{background:linear-gradient(135deg,#ccc,#bbb);transform:none;box-shadow:var(--shadow-sm)}.terms-row{margin:8px 0 4px}.terms-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;line-height:1.5;text-align:left;min-height:44px;padding:8px 0;color:var(--text-secondary);transition:color var(--transition-fast)}.terms-checkbox-label:hover{color:var(--text-primary)}.terms-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:relative;width:22px;height:22px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:6px;flex-shrink:0;margin-top:2px;transition:all var(--transition-fast);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.terms-checkbox:checked~.checkmark{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 3px #e785331a;transform:scale(1.05)}.checkmark:after{content:"";position:absolute;display:none;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg);filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.terms-checkbox:checked~.checkmark:after{display:block;animation:checkmark var(--transition-fast) ease-out}@keyframes checkmark{0%{opacity:0;transform:rotate(45deg) scale(.8)}to{opacity:1;transform:rotate(45deg) scale(1)}}.terms-checkbox:focus~.checkmark{border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 3px #e7853326;outline:none}.terms-checkbox-label:hover .checkmark{border-color:var(--accent);background:#e785330d;transform:scale(1.02)}.terms-text{color:var(--text-secondary);transition:color var(--transition-fast)}.terms-checkbox-label:hover .terms-text{color:var(--text-primary)}.terms-link{color:var(--accent);text-decoration:none;font-weight:500;transition:all var(--transition-fast);border-radius:4px;padding:2px 4px;margin:0 -4px}.terms-link:hover{color:var(--accent-hover);background:#e785331a;text-decoration:underline}.terms-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;text-decoration:underline}.auth-redirect-container{margin-top:2rem;font-size:.95rem;color:var(--text-secondary)}.redirect-text{margin-right:8px;color:var(--text-secondary)}.authform-redirect-link{color:var(--accent);text-decoration:none;font-weight:600;transition:all var(--transition-fast);padding:4px 8px;border-radius:6px;position:relative;background:linear-gradient(135deg,transparent,rgba(231,133,51,.05))}.authform-redirect-link:hover{color:var(--accent-hover);background:linear-gradient(135deg,#e785331a,#e7853326);text-decoration:underline;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.authform-redirect-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media screen and (max-width: 768px){.auth-container{padding:16px;background:linear-gradient(135deg,#1f2937f2,#111827fa,#1f2937f2)}.auth-card{padding:24px 20px;margin:20px 0;border-radius:16px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.auth-title{font-size:24px;margin-bottom:16px}.auth-form{gap:16px}.auth-input{padding:14px 16px;font-size:16px}.auth-button{padding:14px 20px;font-size:16px;min-height:48px}.terms-checkbox-label{font-size:14px;gap:10px}.checkmark{width:20px;height:20px}.form-row{margin:12px 0}}@media screen and (max-width: 480px){.auth-container{padding:12px}.auth-card{padding:20px 16px;margin:12px 0;border-radius:12px}.auth-title{font-size:22px;margin-bottom:12px}.auth-form{gap:14px}.auth-input{padding:12px 14px}.auth-button{padding:12px 16px;font-size:15px}.form-row{margin:10px 0}.redirect-text{font-size:14px}.authform-redirect-link{font-size:14px;padding:3px 6px}}@media (prefers-contrast: high){.auth-card{border:2px solid var(--text-primary);backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg-primary)}.auth-input{border:2px solid var(--text-primary)}.auth-button{border:2px solid var(--primary-color)}.checkmark{border:2px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.auth-card,.auth-button:hover,.checkmark:hover{transform:none!important}.terms-checkbox:checked~.checkmark{transform:none!important}.authform-redirect-link:hover{transform:none!important}}.error-message{color:#ff6b6b;background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px;border:1px solid rgba(255,107,107,.2);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a;position:relative;animation:slideInError var(--transition-fast) ease-out}.error-message:before{content:"⚠️";margin-right:8px;font-size:16px}@keyframes slideInError{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.auth-input,.auth-button,.checkmark{border-width:3px}.auth-input[aria-invalid=true]{border-color:#dc3545;border-width:3px}.auth-card{border:2px solid rgba(255,255,255,.5);background:#000c}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.auth-card:hover,.auth-button:hover{transform:none}.auth-input:focus{transform:none}}.auth-button[aria-busy=true]{position:relative;color:transparent}.auth-button[aria-busy=true]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}.success-message{color:var(--success-color);background:#4ecdc426;padding:.75rem 1rem;border-radius:var(--border-radius-sm);font-size:.9rem;margin-bottom:1rem;border:1px solid rgba(78,205,196,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root{font-family:Raleway;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:0;margin:0;--bg: #05070b;--text: rgba(255, 255, 255, .87);--surface: #1f2937}body{margin:0;padding:0;background-color:var(--bg);color:var(--text)}.disable{pointer-events:none;cursor:not-allowed;opacity:.4;text-decoration:none;text-shadow:none;background-color:var(--surface);text-decoration:line-through}.debug-info{background:#f0f0f0;padding:8px;margin:8px 0;border-radius:4px;font-size:.9em;color:#666}.debug-info summary{cursor:pointer;font-weight:700}.location-info{margin-bottom:16px;padding:8px;background:#e8f4fd;border-radius:4px}[class*=party-]{font-weight:500;font-style:oblique;text-shadow:0 0 4px rgba(0,0,0,.2)}.party-R{color:#de2e0b}.party-D{color:#007bda;text-shadow:0 0 2px rgba(255,255,255,.295)}.party-I{color:#000}.party-G{color:green;font-weight:700}.party-L{color:purple;font-weight:700}.party-N{color:#f0f;font-weight:700}.skip-link{position:absolute;top:-40px;left:6px;background:#000000e6;color:#fff;padding:8px 16px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:600;z-index:10000;transition:top .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.skip-link:focus{top:10px;outline:3px solid #e78533;outline-offset:2px}.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}*:focus-visible{outline:3px solid #e78533;outline-offset:2px;border-radius:4px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e78533;outline-offset:2px;box-shadow:0 0 0 6px #e7853333}.glassmorphism:focus-visible,.bill-card:focus-within,.modal:focus-within{outline:3px solid #ffd700;outline-offset:2px;box-shadow:0 0 0 6px #ffd7004d}@media (prefers-contrast: high){.skip-link{background:#000;border:2px solid #fff}*:focus-visible{outline:4px solid #ffff00;outline-offset:2px}.glassmorphism,.bill-card,.modal{background:#000000e6!important;color:#fff!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.form-field{position:relative}.form-field input:invalid,.form-field textarea:invalid,.form-field select:invalid{border-color:#dc3545;box-shadow:0 0 0 3px #dc354540}.form-field input:valid,.form-field textarea:valid,.form-field select:valid{border-color:#28a745;box-shadow:0 0 0 3px #28a74540}.error-message{color:#dc3545;font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠";font-weight:700;font-size:16px}.success-message{color:#28a745;font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.success-message:before{content:"✓";font-weight:700;font-size:16px}.loading[aria-busy=true]{position:relative}.loading[aria-busy=true]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top:2px solid #e78533;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}.btn{position:relative;transition:all .2s ease}.btn:disabled:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;border-radius:inherit;pointer-events:none}[data-tooltip]{position:relative}[data-tooltip]:focus:after,[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:8px;font-size:14px;white-space:nowrap;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.text-contrast{text-shadow:1px 1px 2px rgba(0,0,0,.8)}@media (prefers-color-scheme: dark){:root{--text-high-contrast: #ffffff;--bg-high-contrast: #000000;--focus-ring: #ffd700}}
