@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:var(--opacity-disabled);text-decoration:line-through}@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:var(--font-family-primary);letter-spacing:4px;font-weight:var(--font-weight-normal);margin:0;top:0;width:100%;background:linear-gradient(135deg,#000c,#141414d9,#000c);backdrop-filter:var(--backdrop-blur-xl);-webkit-backdrop-filter:var(--backdrop-blur-xl);color:var(--color-gray-300);min-height:65px;padding:var(--spacing-2) var(--spacing-2);box-shadow:var(--shadow-xl),0 2px 8px #0003,inset 0 1px #ffffff1a;backface-visibility:hidden;transition:var(--transition-base);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}.error-text{font-size:12px;color:#b91c1c;margin-top:6px;padding-left:4px}.input-error{border-color:#b91c1c99!important;box-shadow:0 0 0 4px #b91c1c14!important}.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)}.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-color:#f5f5f5 #f5f5f5;scroll-behavior:smooth;scrollbar-width:thin;flex-direction:row;align-items:center;justify-content:center;width:auto;margin:0vh 0vw;overflow-y:scroll;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}.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;flex-wrap:wrap;align-items:baseline;text-shadow:1px 3px 10px rgb(206,175,148)}.officials-container{flex-direction:row;align-items:center;width:98%;padding:0 5px 0 0;margin:0vh 0vw;overflow-y:scroll;height:50vh;flex-wrap:wrap;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;color:#333;align-items:center;text-shadow:1px 3px 10px rgb(154,147,141)}.officials-container{align-items:center;width:98%;padding:0 5px 0 0;height:50vh}}.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:var(--modal-backdrop-color);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-12);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.modal-title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-4);text-align:center;padding-right:60px;font-weight:var(--font-weight-semibold);color:inherit}.modal-close-btn{margin-top:var(--spacing-6);padding:var(--spacing-2) var(--spacing-4);cursor:pointer;background:var(--color-gray-600);color:#fff;border:none;border-radius:var(--radius-sm);align-self:center;position:absolute;top:var(--spacing-3);right:var(--spacing-3);min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);transition:var(--transition-base)}.modal-close-btn:hover{background:var(--color-gray-500)}.modal-close-btn:focus-visible{outline:3px solid var(--color-accent-orange);outline-offset:2px;z-index:var(--z-modal-close);box-shadow:var(--shadow-focus-accent)}.modal-body{max-height:80vh;overflow-y:auto;padding:var(--spacing-5);scrollbar-width:thin;scrollbar-color:rgba(155,155,155,.5) transparent}.modal-body::-webkit-scrollbar{width:var(--spacing-2)}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background-color:#9b9b9b80;border-radius:var(--radius-full)}@media(prefers-contrast:high){.modal-overlay{background-color:var(--color-overlay-heavy)}.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:var(--color-secondary);width:25%;color:inherit;font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.button:hover:not(:disabled){background-color:var(--color-secondary-hover)}.contact-button,.chat-button{width:90%;padding:var(--spacing-3);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base);margin-top:var(--spacing-3);min-height:var(--touch-target-min)}.contact-button{background-color:var(--color-primary);color:#fff}.contact-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.chat-button{background-color:var(--color-success);color:#fff;margin-bottom:2vh}.chat-button:hover:not(:disabled){background-color:var(--color-success-hover)}.contact-button:disabled,.chat-button:disabled{background-color:var(--color-gray-500);cursor:not-allowed;opacity:var(--opacity-disabled)}.button:focus-visible,.contact-button:focus-visible,.chat-button:focus-visible{outline:3px solid var(--color-accent-orange);outline-offset:2px;box-shadow:var(--shadow-focus-accent)}@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:var(--opacity-disabled);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__hint{margin:0 0 8px;color:#ffffffb3;font-size:.9rem}.state-district-modal__toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.state-district-modal__search{flex:1;min-width:200px;padding:10px 12px;border-radius:8px;border:1px solid rgba(74,144,226,.3);background:#ffffffe6;color:#0d1a26;font-size:.95rem}.state-district-modal__search:focus{outline:none;box-shadow:0 0 0 3px #4a90e24d}.state-district-modal__retry{padding:10px 14px;border-radius:8px;border:1px solid rgba(220,38,38,.4);background:#dc26261a;color:#ffffffe6;cursor:pointer;transition:all .2s ease}.state-district-modal__retry:hover{background:#dc262633;transform:translateY(-1px)}.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.is-hovered{fill:#4a90e240!important}.state-district-modal__district.is-selected{fill:#4a90e266!important;stroke:#fff!important;stroke-width:.02!important;filter:drop-shadow(0 2px 6px rgba(74,144,226,.4))}.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.is-selected{background:#4a90e240;border-color:#4a90e2b3;box-shadow:0 4px 16px #4a90e240}.state-district-modal__district-item .district-number{color:#ffffffe6;font-weight:600;font-size:.9rem}.state-district-modal__district-item .state-district-modal__actions{margin-top:8px;display:flex;gap:8px;justify-content:center}.state-district-modal__district-item .state-district-modal__actions .state-district-modal__action-btn{padding:6px 10px;font-size:.8rem;border-radius:6px;border:1px solid rgba(74,144,226,.4);background:#4a90e226;color:#ffffffe6;cursor:pointer;transition:all .2s ease}.state-district-modal__district-item .state-district-modal__actions .state-district-modal__action-btn:hover{background:#4a90e240;transform:translateY(-1px)}.state-district-modal__footer-actions{margin-top:12px;display:flex;justify-content:flex-end}.state-district-modal__reset-btn{padding:8px 12px;border-radius:8px;border:1px solid rgba(74,144,226,.4);background:#4a90e226;color:#ffffffe6;cursor:pointer;transition:all .2s ease}.state-district-modal__reset-btn:hover{background:#4a90e240;transform:translateY(-1px)}@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}}.official-card{--oc-bg: rgba(15, 18, 25, .85);--oc-bg-section: rgba(30, 35, 45, .6);--oc-bg-hover: rgba(40, 45, 55, .7);--oc-border: rgba(255, 255, 255, .08);--oc-border-accent: rgba(255, 255, 255, .12);--oc-text-primary: rgba(255, 255, 255, .95);--oc-text-secondary: rgba(255, 255, 255, .7);--oc-text-muted: rgba(255, 255, 255, .5);--oc-accent: var(--color-accent-gold, #ffbf00);--oc-accent-soft: rgba(255, 191, 0, .15);--oc-shadow: 0 8px 32px rgba(0, 0, 0, .4);--oc-shadow-hover: 0 16px 48px rgba(0, 0, 0, .5);--oc-radius: var(--radius-xl, 12px);--oc-radius-sm: var(--radius-md, 6px);--oc-transition: var(--transition-speed-base, .2s) var(--transition-ease-in-out, ease)}.official-card{width:460px;max-width:95vw;max-height:85vh;background:var(--oc-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--oc-text-primary);border-radius:var(--oc-radius);border:1px solid var(--oc-border);box-shadow:var(--oc-shadow);overflow-y:auto;overflow-x:hidden;margin:auto;padding:0;display:flex;flex-direction:column;transition:box-shadow var(--oc-transition)}.official-card:hover{box-shadow:var(--oc-shadow-hover)}.official-card::-webkit-scrollbar{width:6px}.official-card::-webkit-scrollbar-track{background:transparent}.official-card::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.official-card::-webkit-scrollbar-thumb:hover{background:#ffffff40}.official-card__header{position:relative;display:flex;gap:var(--spacing-4, 16px);padding:var(--spacing-6, 24px);background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 50%,rgba(255,255,255,.02) 100%);border-bottom:1px solid var(--oc-border)}.official-card__photo{width:110px;height:140px;border-radius:var(--oc-radius-sm);object-fit:cover;flex-shrink:0;background:linear-gradient(135deg,#2a2d35,#1a1d25);border:2px solid var(--oc-border-accent);box-shadow:0 4px 16px #0000004d;transition:transform var(--oc-transition),box-shadow var(--oc-transition)}.official-card__photo:hover{transform:scale(1.02);box-shadow:0 6px 24px #0006}.official-card__photo--placeholder{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl, 1.875rem);font-weight:var(--font-weight-bold, 700);color:var(--oc-text-muted);background:linear-gradient(135deg,#282d37cc,#1e232de6)}.official-card__role{color:var(--oc-text-secondary);font-weight:var(--font-weight-normal, 400)}.official-card__title{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0}.official-card__name{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-bold, 700);font-family:var(--font-family-heading, inherit);margin:0 0 var(--spacing-2, 8px) 0;letter-spacing:-.01em;line-height:1.2;color:var(--oc-text-primary)}.official-card__party{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-2, 8px);font-size:var(--font-size-sm, .875rem);color:var(--oc-text-secondary);margin:0}.party-badge{display:inline-flex;align-items:center;padding:var(--spacing-1, 4px) var(--spacing-3, 12px);border-radius:var(--radius-full, 9999px);color:#fff;font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);letter-spacing:.02em;text-transform:uppercase;box-shadow:0 2px 8px #0003}.official-card__badges{display:flex;flex-wrap:wrap;gap:var(--spacing-2, 8px);margin-top:var(--spacing-3, 12px)}.status-badge,.service-badge,.contact-badge{display:inline-flex;align-items:center;gap:var(--spacing-1, 4px);padding:var(--spacing-1, 4px) var(--spacing-2, 8px);border-radius:var(--radius-sm, 4px);font-size:.7rem;font-weight:var(--font-weight-medium, 500);color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);text-transform:uppercase;letter-spacing:.03em}.status-badge{background:linear-gradient(135deg,#6366f1cc,#8b5cf6cc)}.service-badge{background:linear-gradient(135deg,#10b981b3,#059669b3)}.service-veteran{background:linear-gradient(135deg,#059669cc,#047857cc)}.service-experienced{background:linear-gradient(135deg,#3b82f6cc,#2563ebcc)}.service-moderate{background:linear-gradient(135deg,#f59e0bcc,#d97706cc)}.service-new{background:linear-gradient(135deg,#a855f7cc,#8b5cf6cc)}.contact-badge{background:#ffffff14}.contact-excellent{color:#34d399;border-color:#34d3994d}.contact-good{color:#60a5fa;border-color:#60a5fa4d}.contact-limited{color:#fbbf24;border-color:#fbbf244d}.contact-poor{color:#f87171;border-color:#f871714d}.card-actions{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--spacing-2, 8px);padding:var(--spacing-2, 8px);background:var(--oc-bg-section);border-radius:var(--oc-radius-sm);border:1px solid var(--oc-border);flex-shrink:0}.card-actions button{background:transparent;border:none;cursor:pointer;padding:var(--spacing-2, 8px);border-radius:var(--radius-md, 6px);transition:all var(--oc-transition);color:var(--oc-text-secondary);display:flex;align-items:center;justify-content:center}.card-actions button:hover{background:#ffffff1a;color:var(--oc-accent);transform:scale(1.1)}.card-actions button:active{transform:scale(.95)}.official-card__footer{padding:0 var(--spacing-6, 24px);margin:var(--spacing-4, 16px) 0}.official-card__buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3, 12px)}.official-card__button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2, 8px);padding:var(--spacing-3, 12px) var(--spacing-4, 16px);font-family:var(--font-family-primary, inherit);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);letter-spacing:.01em;border:none;border-radius:var(--oc-radius-sm);cursor:pointer;transition:all var(--oc-transition);position:relative;overflow:hidden}.official-card__button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);opacity:0;transition:opacity var(--oc-transition)}.official-card__button:hover:before{opacity:1}.primary-action{background:linear-gradient(135deg,var(--oc-accent),#e6ac00);color:#1a1a1a;box-shadow:0 2px 12px #ffbf0040}.primary-action:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffbf0059}.primary-action:active{transform:translateY(0)}.secondary-action,.review-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 2px 12px #6366f140}.secondary-action:hover,.review-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f159}.official-card__body{flex:1;display:flex;flex-direction:column;gap:var(--spacing-3, 12px);padding:0 var(--spacing-6, 24px)}.official-card__section{background:var(--oc-bg-section);border-radius:var(--oc-radius-sm);padding:var(--spacing-4, 16px);border:1px solid var(--oc-border);transition:background var(--oc-transition),border-color var(--oc-transition)}.official-card__section:hover{background:var(--oc-bg-hover);border-color:var(--oc-border-accent)}.section-title{display:flex;align-items:center;gap:var(--spacing-2, 8px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--oc-accent);margin:0 0 var(--spacing-3, 12px) 0;padding-bottom:var(--spacing-2, 8px);border-bottom:1px solid var(--oc-border);text-transform:uppercase;letter-spacing:.04em}.contact-grid{display:flex;flex-direction:column;gap:var(--spacing-3, 12px)}.contact-item{display:flex;flex-direction:column;gap:2px}.contact-label{font-size:var(--font-size-xs, .75rem);color:var(--oc-text-muted);font-weight:var(--font-weight-medium, 500);text-transform:uppercase;letter-spacing:.04em}.contact-value{display:flex;justify-content:space-between;align-items:center;color:var(--oc-text-primary);font-size:var(--font-size-sm, .875rem)}.contact-action{display:inline-flex;align-items:center;gap:var(--spacing-1, 4px);color:var(--oc-accent);text-decoration:none;font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);padding:var(--spacing-1, 4px) var(--spacing-2, 8px);border-radius:var(--radius-sm, 4px);background:var(--oc-accent-soft);transition:all var(--oc-transition)}.contact-action:hover{background:#ffbf0040;color:#ffd54f}.address-value{flex-direction:column;align-items:flex-start;gap:2px;font-size:var(--font-size-sm, .875rem);line-height:1.5}.official-card__insights{margin:var(--spacing-4, 16px) var(--spacing-6, 24px);padding:var(--spacing-4, 16px);background:linear-gradient(135deg,var(--oc-bg-section) 0%,rgba(255,191,0,.03) 100%);border-radius:var(--oc-radius-sm);border:1px solid var(--oc-border)}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-4, 16px)}.insight-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-2, 8px);border-radius:var(--radius-sm, 4px);background:#ffffff08;transition:background var(--oc-transition)}.insight-item:hover{background:#ffffff0f}.insight-label{font-size:.65rem;color:var(--oc-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--spacing-1, 4px);font-weight:var(--font-weight-medium, 500)}.insight-value{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-bold, 700);color:var(--oc-accent)}.offices-list{display:flex;flex-direction:column;gap:var(--spacing-2, 8px)}.office-item{background:#ffffff08;padding:var(--spacing-3, 12px);border-radius:var(--radius-sm, 4px);border-left:3px solid var(--oc-accent);transition:background var(--oc-transition)}.office-item:hover{background:#ffffff0f}.office-name{font-weight:var(--font-weight-semibold, 600);color:var(--oc-text-primary);margin-bottom:var(--spacing-1, 4px);font-size:var(--font-size-sm, .875rem)}.office-details{display:flex;gap:var(--spacing-3, 12px);flex-wrap:wrap;font-size:var(--font-size-xs, .75rem);color:var(--oc-text-secondary)}.office-type{color:var(--oc-accent);font-style:italic}.identifiers-list{display:flex;flex-direction:column;gap:var(--spacing-2, 8px)}.identifier-item{display:flex;gap:var(--spacing-3, 12px);align-items:center;padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background:#ffffff08;border-radius:var(--radius-sm, 4px);transition:background var(--oc-transition)}.identifier-item:hover{background:#ffffff0f}.identifier-scheme{font-weight:var(--font-weight-semibold, 600);color:var(--oc-accent);font-size:var(--font-size-xs, .75rem);text-transform:uppercase;letter-spacing:.03em;min-width:80px}.identifier-value{color:var(--oc-text-secondary);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, .75rem);word-break:break-all}.official-card__reviews-section{margin:var(--spacing-4, 16px) var(--spacing-6, 24px) var(--spacing-6, 24px);background:var(--oc-bg-section);border-radius:var(--oc-radius-sm);border:1px solid var(--oc-border);overflow:hidden}.reviews-toggle-btn{width:100%;background:transparent;border:none;color:var(--oc-text-primary);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);padding:var(--spacing-4, 16px);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all var(--oc-transition)}.reviews-toggle-btn:hover{background:var(--oc-bg-hover);color:var(--oc-accent)}.reviews-toggle-btn:focus{outline:none;box-shadow:inset 0 0 0 2px var(--oc-accent)}.toggle-icon{font-size:.75rem;transition:transform .3s ease;color:var(--oc-text-muted)}.toggle-icon.expanded{transform:rotate(180deg);color:var(--oc-accent)}#reviews-content{padding:0 var(--spacing-4, 16px) var(--spacing-4, 16px);border-top:1px solid var(--oc-border)}.ack-modal{background:var(--oc-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--oc-text-primary);max-width:380px;margin:0 auto;padding:var(--spacing-8, 32px) var(--spacing-6, 24px);border-radius:var(--oc-radius);border:1px solid var(--oc-border);box-shadow:var(--oc-shadow);text-align:center}.ack-modal h2{margin-bottom:var(--spacing-4, 16px);font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-bold, 700);letter-spacing:-.01em}.ack-modal p{margin-bottom:var(--spacing-6, 24px);font-size:var(--font-size-sm, .875rem);line-height:1.6;color:var(--oc-text-secondary)}.ack-modal__option{margin-bottom:var(--spacing-6, 24px)}.ack-modal__option label{display:inline-flex;align-items:center;gap:var(--spacing-2, 8px);font-size:var(--font-size-sm, .875rem);cursor:pointer;color:var(--oc-text-primary);padding:var(--spacing-2, 8px) var(--spacing-4, 16px);border-radius:var(--radius-md, 6px);border:1px solid var(--oc-border);transition:all var(--oc-transition)}.ack-modal__option label:hover{background:var(--oc-bg-hover);border-color:var(--oc-border-accent)}.ack-modal__option input[type=radio]{accent-color:var(--oc-accent);width:18px;height:18px;cursor:pointer}.ack-modal button{background:linear-gradient(135deg,var(--oc-accent),#e6ac00);color:#1a1a1a;padding:var(--spacing-3, 12px) var(--spacing-8, 32px);border:none;border-radius:var(--oc-radius-sm);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all var(--oc-transition);box-shadow:0 2px 12px #ffbf0040}.ack-modal button:disabled{background:var(--oc-bg-section);color:var(--oc-text-muted);cursor:not-allowed;box-shadow:none}.ack-modal button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffbf0059}@media(max-width:768px){.official-card{width:100%;max-width:100%;border-radius:var(--radius-lg, 8px)}.official-card__header{padding:var(--spacing-5, 20px)}.official-card__photo{width:90px;height:120px}.official-card__name{font-size:var(--font-size-lg, 1.125rem)}.official-card__badges{gap:var(--spacing-1, 4px)}.official-card__buttons{grid-template-columns:1fr}.insight-grid{grid-template-columns:repeat(2,1fr)}.official-card__body,.official-card__footer,.official-card__insights,.official-card__reviews-section{padding-left:var(--spacing-5, 20px);padding-right:var(--spacing-5, 20px)}}@media(max-width:480px){.official-card__header{flex-direction:column;text-align:center;padding:var(--spacing-4, 16px)}.official-card__photo{width:100px;height:130px;margin-bottom:var(--spacing-3, 12px)}.official-card__title{align-items:center}.official-card__badges{justify-content:center}.card-actions{flex-direction:row;width:100%;justify-content:center;margin-top:var(--spacing-3, 12px)}.insight-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-2, 8px)}.contact-value{flex-direction:column;align-items:flex-start;gap:var(--spacing-1, 4px)}.contact-action{margin-top:var(--spacing-1, 4px)}}@media(prefers-reduced-motion:reduce){.official-card,.official-card__photo,.official-card__button,.contact-action,.reviews-toggle-btn,.toggle-icon,.card-actions button{transition:none}}.official-card__button:focus-visible,.reviews-toggle-btn:focus-visible,.contact-action:focus-visible,.card-actions button:focus-visible{outline:2px solid var(--oc-accent);outline-offset:2px}.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}.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)}.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}}.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}.tts-button:disabled{opacity:.5;cursor:not-allowed}.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 shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@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}}.bc{--bc-bg: rgba(20, 20, 25, .95);--bc-surface: rgba(255, 255, 255, .03);--bc-surface-hover: rgba(255, 255, 255, .06);--bc-border: rgba(255, 255, 255, .08);--bc-border-active: rgba(255, 255, 255, .15);--bc-text: rgba(255, 255, 255, .92);--bc-text-secondary: rgba(255, 255, 255, .6);--bc-text-muted: rgba(255, 255, 255, .4);--bc-accent: #f0b429;--bc-accent-soft: rgba(240, 180, 41, .15);--bc-radius: 14px;--bc-radius-sm: 6px;--bc-radius-xs: 4px;--bc-transition: .2s cubic-bezier(.4, 0, .2, 1);position:relative;width:min(380px,92vw);max-height:min(80vh,560px);background:var(--bc-bg);border:1px solid var(--bc-border);border-radius:var(--bc-radius);overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-family-primary, system-ui, -apple-system, sans-serif);color:var(--bc-text);box-shadow:0 4px 24px #0006,0 0 0 1px #ffffff0d inset;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform var(--bc-transition),box-shadow var(--bc-transition)}.bc:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff14 inset}.bc__status-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.bc__status-bar--enacted{background:linear-gradient(135deg,#059669,#047857)}.bc__status-bar--passed{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.bc__status-bar--committee{background:linear-gradient(135deg,#d97706,#b45309)}.bc__status-bar--introduced{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.bc__status-bar--failed{background:linear-gradient(135deg,#4b5563,#374151)}.bc__status-bar--active{background:linear-gradient(135deg,#0891b2,#0e7490)}.bc__status-label{color:#fff}.bc__activity-dot{width:6px;height:6px;background:#fbbf24;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.bc__header{display:flex;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--bc-border)}.bc__header-main{flex:1;min-width:0;overflow:hidden}.bc__meta{display:flex;align-items:center;gap:10px;margin-bottom:6px}.bc__identifier{font-size:12px;font-weight:600;color:var(--bc-accent);background:var(--bc-accent-soft);padding:2px 8px;border-radius:100px;flex-shrink:0}.bc__updated{font-size:11px;color:var(--bc-text-muted);flex-shrink:0}.bc__title{margin:0;font-size:14px;font-weight:600;line-height:1.35;color:var(--bc-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.bc__actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.bc__stats{display:flex;gap:1px;padding:0 16px;margin:12px 0}.bc__stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 6px;background:var(--bc-surface);border-radius:var(--bc-radius-sm);transition:background var(--bc-transition)}.bc__stat:first-child{border-radius:var(--bc-radius-sm) 0 0 var(--bc-radius-sm)}.bc__stat:last-child{border-radius:0 var(--bc-radius-sm) var(--bc-radius-sm) 0}.bc__stat:only-child{border-radius:var(--bc-radius-sm)}.bc__stat:hover{background:var(--bc-surface-hover)}.bc__stat-value{font-size:16px;font-weight:700;color:var(--bc-text);line-height:1}.bc__stat-label{font-size:9px;font-weight:500;color:var(--bc-text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}.bc__latest-action{display:flex;gap:10px;margin:0 16px 12px;padding:10px 12px;background:var(--bc-surface);border-radius:var(--bc-radius-sm);border-left:3px solid var(--bc-accent)}.bc__la-label{font-size:9px;font-weight:600;color:var(--bc-accent);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.bc__la-text{margin:0;font-size:12px;color:var(--bc-text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.bc__info{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;margin:0 16px 12px;background:var(--bc-border);border-radius:var(--bc-radius-sm);overflow:hidden}.bc__info-item{display:flex;flex-direction:column;gap:1px;padding:8px 10px;background:var(--bc-bg)}.bc__info-label{font-size:9px;font-weight:500;color:var(--bc-text-muted);text-transform:uppercase;letter-spacing:.4px}.bc__info-value{font-size:12px;font-weight:500;color:var(--bc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc__subjects{display:flex;flex-wrap:wrap;gap:4px;padding:0 16px;margin-bottom:12px}.bc__subject{font-size:10px;font-weight:500;color:var(--bc-text-secondary);background:var(--bc-surface);border:1px solid var(--bc-border);padding:3px 8px;border-radius:100px;transition:all var(--bc-transition)}.bc__subject:hover{background:var(--bc-surface-hover);border-color:var(--bc-border-active)}.bc__subject--more{color:var(--bc-text-muted);font-style:italic}.bc__abstract{margin:0 16px 12px;padding:10px 12px;background:var(--bc-surface);border-radius:var(--bc-radius-sm);border:1px solid var(--bc-border)}.bc__abstract p{margin:0;font-size:12px;line-height:1.5;color:var(--bc-text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bc__timeline{display:flex;gap:6px;padding:0 16px;margin-bottom:12px;overflow-x:auto}.bc__timeline-item{flex:1;min-width:80px;display:flex;flex-direction:column;gap:2px;padding:6px 10px;background:var(--bc-surface);border-radius:var(--bc-radius-sm);border:1px solid var(--bc-border)}.bc__timeline-item--highlight{border-color:var(--bc-accent);background:var(--bc-accent-soft)}.bc__timeline-label{font-size:9px;font-weight:600;color:var(--bc-text-muted);text-transform:uppercase;letter-spacing:.3px}.bc__timeline-item--highlight .bc__timeline-label{color:var(--bc-accent)}.bc__timeline-date{font-size:11px;font-weight:500;color:var(--bc-text)}.bc__sections{flex:1;overflow-y:auto;padding:0 16px 16px;display:flex;flex-direction:column;gap:6px}.bc__sections::-webkit-scrollbar{width:6px}.bc__sections::-webkit-scrollbar-track{background:transparent}.bc__sections::-webkit-scrollbar-thumb{background:var(--bc-border);border-radius:3px}.bc__sections::-webkit-scrollbar-thumb:hover{background:var(--bc-border-active)}.bc-section{border:1px solid var(--bc-border);border-radius:var(--bc-radius-sm);overflow:hidden;transition:border-color var(--bc-transition)}.bc-section:has(.bc-section__content--open){border-color:var(--bc-border-active)}.bc-section__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--bc-surface);border:none;cursor:pointer;color:var(--bc-text);font-family:inherit;text-align:left;transition:background var(--bc-transition)}.bc-section__trigger:hover{background:var(--bc-surface-hover)}.bc-section__title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.bc-section__count{font-size:10px;font-weight:500;color:var(--bc-text-muted);background:#ffffff14;padding:1px 6px;border-radius:100px}.bc-section__badge{font-size:9px;font-weight:600;color:var(--bc-accent);background:var(--bc-accent-soft);padding:1px 6px;border-radius:100px;text-transform:uppercase;letter-spacing:.3px}.bc-section__chevron{color:var(--bc-text-muted);transition:transform var(--bc-transition);flex-shrink:0}.bc-section__chevron--open{transform:rotate(180deg)}.bc-section__content{display:none;background:var(--bc-bg)}.bc-section__content--open{display:block}.bc-sponsors{display:flex;flex-direction:column;gap:1px;background:var(--bc-border)}.bc-sponsor{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bc-bg);transition:background var(--bc-transition)}.bc-sponsor:hover{background:var(--bc-surface)}.bc-sponsor--primary{background:var(--bc-accent-soft)}.bc-sponsor__info{display:flex;align-items:center;gap:8px}.bc-sponsor__name{font-size:12px;font-weight:600;color:var(--bc-text)}.bc-sponsor__primary-tag{font-size:9px;font-weight:700;color:var(--bc-accent);background:#0000004d;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.bc-sponsor__party{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;margin-left:auto}.bc-sponsor__party--republican{background:#dc262633;color:#f87171}.bc-sponsor__party--democrat,.bc-sponsor__party--democratic{background:#2563eb33;color:#60a5fa}.bc-sponsor__party--independent{background:#6b728033;color:#9ca3af}.bc-sponsor__role{font-size:11px;color:var(--bc-text-secondary)}.bc-actions{display:flex;flex-direction:column;padding:6px 0}.bc-action{display:flex;gap:10px;padding:10px 12px;position:relative}.bc-action:before{content:"";position:absolute;left:16px;top:22px;bottom:-10px;width:2px;background:var(--bc-border)}.bc-action:last-child:before{display:none}.bc-action__marker{width:8px;height:8px;background:var(--bc-surface);border:2px solid var(--bc-border);border-radius:50%;flex-shrink:0;margin-top:4px;z-index:1}.bc-action--recent .bc-action__marker{background:var(--bc-accent);border-color:var(--bc-accent)}.bc-action__content{flex:1;min-width:0}.bc-action__header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.bc-action__date{font-size:10px;font-weight:500;color:var(--bc-text-muted)}.bc-action__new{font-size:8px;font-weight:700;color:#000;background:var(--bc-accent);padding:1px 4px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.bc-action__text{margin:0;font-size:12px;line-height:1.4;color:var(--bc-text-secondary)}.bc-action__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.bc-action__tag{font-size:9px;font-weight:500;color:var(--bc-text-muted);background:var(--bc-surface);padding:2px 6px;border-radius:4px}.bc-docs{display:flex;flex-direction:column;gap:1px;background:var(--bc-border)}.bc-doc-link{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bc-bg);color:var(--bc-text);text-decoration:none;transition:background var(--bc-transition)}.bc-doc-link:hover{background:var(--bc-surface)}.bc-doc-link__icon{font-size:9px;font-weight:700;color:var(--bc-text-muted);background:var(--bc-surface);padding:3px 6px;border-radius:3px;letter-spacing:.3px}.bc-doc-link__text{flex:1;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-doc-link svg{color:var(--bc-text-muted);flex-shrink:0}.bc-votes{display:flex;flex-direction:column;gap:1px;background:var(--bc-border)}.bc-vote{padding:10px 12px;background:var(--bc-bg)}.bc-vote__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.bc-vote__result{font-size:10px;font-weight:700;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.bc-vote__result--pass{background:#22c55e33;color:#4ade80}.bc-vote__result--fail{background:#ef444433;color:#f87171}.bc-vote__result--other{background:var(--bc-surface);color:var(--bc-text-muted)}.bc-vote__date{font-size:10px;color:var(--bc-text-muted)}.bc-vote__org{font-size:11px;color:var(--bc-text-secondary);margin-bottom:6px}.bc-vote__motion{margin:0 0 8px;font-size:12px;line-height:1.4;color:var(--bc-text-secondary)}.bc-vote__tally{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.bc-vote__count{font-size:10px;font-weight:600;padding:3px 8px;border-radius:3px}.bc-vote__count--yes,.bc-vote__count--yea{background:#22c55e26;color:#4ade80}.bc-vote__count--no,.bc-vote__count--nay{background:#ef444426;color:#f87171}.bc-vote__count--other,.bc-vote__count--abstain,.bc-vote__count--absent{background:var(--bc-surface);color:var(--bc-text-muted)}.bc-vote__details-toggle{font-size:11px;font-weight:500;color:var(--bc-accent);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.bc-vote__details-toggle:hover{text-decoration:underline}.bc-vote__individuals{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:3px;margin-top:8px;padding-top:8px;border-top:1px solid var(--bc-border)}.bc-vote__individual{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;background:var(--bc-surface);border-radius:3px;font-size:10px}.bc-vote__voter{font-weight:500;color:var(--bc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-vote__option{font-weight:600;flex-shrink:0}.bc-vote__individual--yes .bc-vote__option,.bc-vote__individual--yea .bc-vote__option{color:#4ade80}.bc-vote__individual--no .bc-vote__option,.bc-vote__individual--nay .bc-vote__option{color:#f87171}.bc-vote__individual--other .bc-vote__option{color:var(--bc-text-muted)}.bc-related{display:flex;flex-direction:column;gap:1px;background:var(--bc-border)}.bc-related__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--bc-bg)}.bc-related__id{font-size:13px;font-weight:600;color:var(--bc-accent)}.bc-related__type{font-size:10px;font-weight:500;color:var(--bc-text-muted);background:var(--bc-surface);padding:2px 8px;border-radius:4px}.bc-related__session{font-size:11px;color:var(--bc-text-muted);margin-left:auto}@media(max-width:420px){.bc{width:100%;max-height:100vh;border-radius:0}.bc__header{flex-direction:column}.bc__actions{flex-direction:row;justify-content:flex-end}.bc__stats{flex-wrap:wrap}.bc__stat{min-width:calc(50% - 1px)}.bc__stat:first-child{border-radius:var(--bc-radius-sm) 0 0 0}.bc__stat:nth-child(2){border-radius:0 var(--bc-radius-sm) 0 0}.bc__stat:nth-child(3){border-radius:0 0 0 var(--bc-radius-sm)}.bc__stat:nth-child(4){border-radius:0 0 var(--bc-radius-sm) 0}}@media(prefers-reduced-motion:reduce){.bc,.bc *,.bc:before,.bc:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.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}}.pai-survey-container{--pai-bg: rgba(15, 23, 42, .95);--pai-surface: rgba(255, 255, 255, .05);--pai-surface-hover: rgba(255, 255, 255, .08);--pai-border: rgba(255, 255, 255, .1);--pai-border-hover: rgba(255, 255, 255, .2);--pai-text: rgba(255, 255, 255, .92);--pai-text-secondary: rgba(255, 255, 255, .7);--pai-text-muted: rgba(255, 255, 255, .5);--pai-accent: #f0b429;--pai-accent-hover: #d99d1f;--pai-accent-soft: rgba(240, 180, 41, .15);--pai-primary: #2563eb;--pai-primary-hover: #1d4ed8;--pai-success: #22c55e;--pai-radius: 12px;--pai-radius-sm: 8px;--pai-transition: .2s ease}.pai-survey-container{width:100%;max-width:800px;margin:0 auto;padding:1rem;color:var(--pai-text)}.pai-intro{background:var(--pai-surface);border:1px solid var(--pai-border);border-radius:var(--pai-radius);padding:2rem;margin-bottom:1.5rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pai-intro h2{font-size:1.5rem;font-weight:700;color:var(--pai-accent);margin:0 0 .5rem}.pai-intro .intro-sub{color:var(--pai-text-secondary);margin-bottom:1rem;font-size:1rem}.pai-intro .intro-note{font-size:.875rem;color:var(--pai-text-muted);margin-top:1rem;margin-bottom:0;line-height:1.5}.intro-choices{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1rem 0}.pai-intro-btn{padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;border:none;border-radius:var(--pai-radius-sm);cursor:pointer;transition:all var(--pai-transition)}.pai-intro-btn.primary{background:var(--pai-primary);color:#fff}.pai-intro-btn.primary:hover{background:var(--pai-primary-hover);transform:translateY(-1px)}.pai-intro-btn.secondary{background:var(--pai-surface);color:var(--pai-text);border:1px solid var(--pai-border)}.pai-intro-btn.secondary:hover{background:var(--pai-surface-hover);border-color:var(--pai-border-hover)}.pai-intro-btn:focus-visible{outline:2px solid var(--pai-primary);outline-offset:2px}.intro-tooltip{color:var(--pai-text-muted);font-size:1rem;cursor:help}.pai-form{background:var(--pai-surface);border:1px solid var(--pai-border);border-radius:var(--pai-radius);padding:2rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color var(--pai-transition)}.pai-form:focus-within{border-color:var(--pai-border-hover)}.pai-form__header{text-align:center;margin-bottom:1.5rem}.pai-form__header h2{font-size:1.5rem;font-weight:700;color:var(--pai-accent);margin:0 0 .5rem}.pai-form__subtitle{color:var(--pai-text-secondary);font-size:.95rem;margin:0}.tie-breaker-info{background:var(--pai-accent-soft);border:1px solid rgba(240,180,41,.3);border-radius:var(--pai-radius-sm);padding:1rem;margin-top:1rem}.tie-breaker-info p{margin:0;color:var(--pai-text);font-size:.95rem;line-height:1.5}.tie-breaker-info strong{color:var(--pai-accent)}.pai-form__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.survey-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--pai-primary);border:none;border-radius:var(--pai-radius-sm);cursor:pointer;transition:all var(--pai-transition)}.survey-btn:hover:not(.disabled):not(:disabled){background:var(--pai-primary-hover);transform:translateY(-1px)}.survey-btn:focus-visible{outline:2px solid var(--pai-primary);outline-offset:2px}.survey-btn.disabled,.survey-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.survey-btn.secondary{background:transparent;color:var(--pai-text-secondary);border:1px solid var(--pai-border)}.survey-btn.secondary:hover:not(.disabled):not(:disabled){background:var(--pai-surface-hover);color:var(--pai-text);border-color:var(--pai-border-hover)}.pai-complete{background:var(--pai-surface);border:1px solid var(--pai-border);border-radius:var(--pai-radius);padding:2.5rem 2rem;text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pai-complete h2{font-size:1.5rem;font-weight:700;color:var(--pai-success);margin:0 0 1rem}.pai-complete p{color:var(--pai-text-secondary);margin-bottom:1.5rem;line-height:1.5}.pai-complete .survey-btn{margin:.5rem}.progress-bar-container{width:100%;height:8px;background:#ffffff1a;border-radius:4px;margin-bottom:1.5rem;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--pai-accent),var(--pai-accent-hover));transition:width .3s ease;border-radius:4px}.question{position:relative;padding:1.5rem;margin-bottom:1.5rem;background:var(--pai-surface);border:1px solid var(--pai-border);border-radius:var(--pai-radius);transition:border-color var(--pai-transition),background var(--pai-transition)}.question:hover{background:var(--pai-surface-hover);border-color:var(--pai-border-hover)}.question legend{font-weight:600;font-size:1.1rem;color:var(--pai-text);margin-bottom:1rem}.options{display:flex;justify-content:space-evenly;flex-wrap:wrap;gap:.5rem}.scale-button{flex:1;min-width:80px;max-width:140px;padding:.75rem .5rem;font-size:.8rem;font-weight:500;color:var(--pai-text);background:var(--pai-surface);border:1px solid var(--pai-border);border-radius:var(--pai-radius-sm);cursor:pointer;transition:all var(--pai-transition);text-align:center}.scale-button:hover{background:var(--pai-surface-hover);border-color:var(--pai-accent);color:var(--pai-accent)}.scale-button.selected{background:var(--pai-accent);color:#000;border-color:var(--pai-accent);font-weight:600}.scale-button:focus-visible{outline:2px solid var(--pai-primary);outline-offset:2px}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--pai-border)}.pagination-controls .btn{padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;border-radius:var(--pai-radius-sm);cursor:pointer;transition:all var(--pai-transition)}.pagination-controls .btn.primary{background:var(--pai-primary);color:#fff;border:none}.pagination-controls .btn.primary:hover:not(:disabled){background:var(--pai-primary-hover)}.pagination-controls .btn.secondary{background:transparent;color:var(--pai-text-secondary);border:1px solid var(--pai-border)}.pagination-controls .btn.secondary:hover:not(:disabled){background:var(--pai-surface-hover);border-color:var(--pai-border-hover)}.pagination-controls .btn:disabled{opacity:.4;cursor:not-allowed}.auto-fill-controls{margin-top:2rem;padding:1rem;background:var(--pai-surface);border-radius:var(--pai-radius);border:1px solid var(--pai-border);display:flex;flex-direction:column;gap:.75rem;align-items:center}.auto-fill-controls p{margin:0;font-size:.85rem;font-weight:600;color:var(--pai-text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center}.auto-fill-controls>div{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.auto-fill-controls .btn{font-size:.85rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--pai-radius-sm);border:1px solid var(--pai-border);background:transparent;color:var(--pai-text-secondary);cursor:pointer;transition:all var(--pai-transition)}.auto-fill-controls .btn:hover{background:var(--pai-surface-hover);border-color:var(--pai-primary);color:var(--pai-primary)}.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}input[type=radio]:focus-visible,button:focus-visible{outline:2px solid var(--pai-primary);outline-offset:2px}@media(max-width:768px){.pai-survey-container{padding:.5rem}.pai-intro,.pai-form,.pai-complete{padding:1.5rem}.pai-intro h2,.pai-form__header h2,.pai-complete h2{font-size:1.25rem}.intro-choices{flex-direction:column}.pai-intro-btn{width:100%}.pai-form__actions{flex-direction:column}.survey-btn{width:100%}.scale-button{min-width:60px;padding:.6rem .4rem;font-size:.75rem}.options{gap:.35rem}}@media(max-width:480px){.pai-intro,.pai-form,.pai-complete{padding:1rem;border-radius:var(--pai-radius-sm)}.scale-button{min-width:50px;padding:.5rem .25rem;font-size:.7rem}}@media(prefers-reduced-motion:reduce){.pai-survey-container *,.pai-survey-container *:before,.pai-survey-container *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.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}}.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}}._container_191jf_1{margin-bottom:1.5rem;padding:1.25rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff08}._title_191jf_9{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#ffffffeb}._options_191jf_16{display:flex;flex-direction:column;gap:.75rem}._option_191jf_16{display:flex;flex-direction:column;cursor:pointer;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff08;transition:all .2s ease}._option_191jf_16:hover{border-color:#f0b42966;background:#ffffff0d}._option_191jf_16 input[type=radio]{margin-right:.75rem;margin-bottom:.5rem;align-self:flex-start;accent-color:#f0b429}._label_191jf_45{font-weight:500;color:#ffffffd9;margin-bottom:.25rem}._description_191jf_51{margin:0;font-size:.85rem;color:#ffffff80;margin-left:1.5rem}._option_191jf_16 input[type=radio]:checked+._label_191jf_45{color:#f0b429}._option_191jf_16 input[type=radio]:disabled{opacity:.5}._option_191jf_16:has(input[type=radio]:disabled){opacity:.5;cursor:not-allowed}._option_191jf_16:has(input[type=radio]:disabled):hover{border-color:#ffffff1a;background:#ffffff08}._container_wo91w_1{display:flex;flex-direction:column;gap:1.5rem}._empty_wo91w_7{text-align:center;padding:2rem;color:#ffffff80;font-style:italic}._question_wo91w_14{padding:1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0d;transition:border-color .2s ease,background .2s ease}._question_wo91w_14:hover{border-color:#ffffff26;background:#ffffff12}._questionText_wo91w_27{font-size:1.05rem;font-weight:500;color:#ffffffeb;margin-bottom:1.25rem;line-height:1.5}._questionNumber_wo91w_35{color:#f0b429;font-weight:600;margin-right:.5rem}._scaleContainer_wo91w_41{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}._scaleOption_wo91w_47{display:flex;flex-direction:column;align-items:center;padding:.875rem .5rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;background:#ffffff08}._scaleOption_wo91w_47:hover{border-color:#f0b42980;background:#ffffff0f}._scaleOption_wo91w_47._selected_wo91w_64{border-color:#f0b429;background:#f0b42926}._radioInput_wo91w_69{position:absolute;opacity:0;width:0;height:0}._scaleValue_wo91w_76{font-size:1.25rem;font-weight:600;color:#f0b429;margin-bottom:.375rem}._scaleLabel_wo91w_83{font-size:.75rem;color:#fff9;text-align:center;line-height:1.3}._scaleOption_wo91w_47 input:disabled~._scaleValue_wo91w_76,._scaleOption_wo91w_47 input:disabled~._scaleLabel_wo91w_83{opacity:.5}._scaleOption_wo91w_47:has(input:disabled){cursor:not-allowed;opacity:.5}._scaleOption_wo91w_47:has(input:disabled):hover{border-color:#ffffff1a;background:#ffffff08}._scaleOption_wo91w_47:focus-within{outline:2px solid #2563eb;outline-offset:2px}@media(max-width:768px){._scaleContainer_wo91w_41{grid-template-columns:1fr;gap:.5rem}._scaleOption_wo91w_47{flex-direction:row;justify-content:flex-start;padding:.75rem 1rem}._scaleValue_wo91w_76{font-size:1.1rem;margin-right:.75rem;margin-bottom:0}._scaleLabel_wo91w_83{text-align:left}}._container_yra9b_1{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);background:transparent}._info_yra9b_12{font-size:.85rem;color:#fff9;font-weight:500}._controls_yra9b_18{display:flex;align-items:center;gap:.75rem}._navButton_yra9b_24{padding:.6rem 1.25rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:#fffc;font-weight:500;cursor:pointer;transition:all .2s ease}._navButton_yra9b_24:hover:not(:disabled){background:#2563eb;border-color:#2563eb;color:#fff}._navButton_yra9b_24:disabled{opacity:.35;cursor:not-allowed}._pageNumbers_yra9b_46{display:flex;align-items:center;gap:.25rem}._pageButton_yra9b_52{min-width:36px;height:36px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff08;color:#ffffffb3;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}._pageButton_yra9b_52:hover:not(:disabled){border-color:#f0b42980;background:#ffffff0f}._pageButton_yra9b_52._active_yra9b_72{background:#f0b429;color:#000;border-color:#f0b429;font-weight:600}._pageButton_yra9b_52:disabled{opacity:.35;cursor:not-allowed}._ellipsis_yra9b_84{padding:0 .4rem;color:#fff6;font-weight:500}._navButton_yra9b_24:focus-visible,._pageButton_yra9b_52:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media(max-width:768px){._container_yra9b_1{padding:1rem}._controls_yra9b_18{flex-direction:column;gap:.75rem}._navButton_yra9b_24{width:100%;max-width:200px}._pageNumbers_yra9b_46{order:-1}._pageButton_yra9b_52{min-width:32px;height:32px;font-size:.9rem}}._container_1hc4i_1{margin-bottom:1.25rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff08;overflow:hidden}._toggleButton_1hc4i_9{width:100%;padding:.875rem 1.25rem;background:#ffffff0d;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500;color:#ffffffd9;transition:background .2s ease}._toggleButton_1hc4i_9:hover:not(:disabled){background:#ffffff14}._toggleButton_1hc4i_9:disabled{opacity:.5;cursor:not-allowed}._toggleButton_1hc4i_9._expanded_1hc4i_32{background:#2563eb26;border-bottom:1px solid rgba(255,255,255,.1)}._arrow_1hc4i_37{font-size:.8rem;color:#ffffff80;transition:transform .2s ease}._toggleButton_1hc4i_9._expanded_1hc4i_32 ._arrow_1hc4i_37{transform:rotate(0)}._options_1hc4i_47{padding:1.25rem;animation:_slideDown_1hc4i_1 .3s ease-out}@keyframes _slideDown_1hc4i_1{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}._description_1hc4i_64{margin:0 0 1.25rem;color:#fff9;font-size:.9rem;line-height:1.4}._buttonGrid_1hc4i_71{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:.75rem}._optionButton_1hc4i_78{padding:.875rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff08;cursor:pointer;text-align:left;transition:all .2s ease;display:flex;flex-direction:column;gap:.375rem}._optionButton_1hc4i_78:hover:not(:disabled){background:#ffffff0f;border-color:#fff3}._optionButton_1hc4i_78:disabled{opacity:.5;cursor:not-allowed}._progressive_1hc4i_101{border-color:#22c55e80;color:#22c55e}._progressive_1hc4i_101:hover:not(:disabled){background:#22c55e1a;border-color:#22c55e}._conservative_1hc4i_111{border-color:#ef444480;color:#ef4444}._conservative_1hc4i_111:hover:not(:disabled){background:#ef44441a;border-color:#ef4444}._libertarian_1hc4i_121{border-color:#f9731680;color:#f97316}._libertarian_1hc4i_121:hover:not(:disabled){background:#f973161a;border-color:#f97316}._random_1hc4i_131{border-color:#8b5cf680;color:#8b5cf6}._random_1hc4i_131:hover:not(:disabled){background:#8b5cf61a;border-color:#8b5cf6}._optionTitle_1hc4i_141{font-weight:600;font-size:.95rem}._optionDesc_1hc4i_146{font-size:.8rem;opacity:.7;line-height:1.3}._feedback_1hc4i_152{padding:.75rem;background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3);border-radius:6px;font-size:.9rem;text-align:center;animation:_fadeIn_1hc4i_1 .3s ease-out}@keyframes _fadeIn_1hc4i_1{0%{opacity:0}to{opacity:1}}@media(max-width:768px){._buttonGrid_1hc4i_71{grid-template-columns:1fr}}._container_17vox_1{padding:1.25rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;margin-bottom:1.5rem}._header_17vox_9{margin-bottom:.75rem}._info_17vox_13{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}._pageInfo_17vox_20{font-weight:500;font-size:.9rem;color:#ffffffb3}._completion_17vox_26{font-size:.85rem;color:#f0b429;font-weight:600}._progressBarContainer_17vox_32{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:1rem}._progressBar_17vox_32{height:100%;background:linear-gradient(90deg,#f0b429,#d99d1f);transition:width .3s ease;border-radius:3px}._steps_17vox_48{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap}._step_17vox_48{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:#ffffff0d;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:500;transition:all .2s ease;color:#ffffff80}._step_17vox_48._completed_17vox_70{background:#22c55e;border-color:#22c55e;color:#fff}._step_17vox_48._current_17vox_76{background:#2563eb;border-color:#2563eb;color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #2563eb66}._checkmark_17vox_84{font-size:.8rem;font-weight:700}._stepNumber_17vox_89{font-weight:600}@media(max-width:768px){._container_17vox_1{padding:1rem}._info_17vox_13{flex-direction:column;gap:.25rem;align-items:flex-start}._steps_17vox_48{gap:.25rem}._step_17vox_48{width:24px;height:24px;font-size:.7rem}}@media(max-width:480px){._steps_17vox_48{max-width:100%;overflow-x:auto;justify-content:flex-start;padding-bottom:.5rem}}.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-error{color:var(--error, #dc2626);background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:8px;margin:20px 0;text-align:center;padding:40px 20px;font-size:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted, #6b7280)}.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}.favorite-section{margin-bottom:40px}.favorites-grid{display:flex;flex-direction:column;gap:18px;margin-bottom:40px}.favorite-card{border-radius:18px;box-shadow:0 2px 12px #3b82f614,0 1.5px #ffffff80 inset;transition:transform .22s cubic-bezier(.4,.2,.2,1),box-shadow .22s,border-color .22s,max-height .35s cubic-bezier(.4,.2,.2,1);min-height:56px;max-height:72px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;border:1.5px solid #e5e7eb;position:relative}.favorite-card:focus-within{outline:3px solid var(--primary, #3b82f6);outline-offset:2px;box-shadow:0 0 0 8px #3b82f621,0 12px 24px #00000021;border-color:var(--primary, #3b82f6)}.favorite-card:hover{transform:translateY(-2px) scale(1.012);box-shadow:0 8px 32px #3b82f621,0 1.5px #ffffff80 inset;border-color:var(--accent, #38bdf8)}.favorite-card:active{transform:scale(.995)}.favorite-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px 8px}.favorite-title{color:var(--text, #1e293b);font-weight:700;font-size:1.18rem;line-height:1.4;margin-bottom:2px;letter-spacing:.01em;transition:color .22s}.favorite-card:hover .favorite-title,.favorite-card:focus-within .favorite-title{color:var(--accent, #38bdf8)}.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 cubic-bezier(.4,.2,.2,1);flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444414}.remove-favorite-btn:hover{background:var(--error-dark, #dc2626);transform:scale(1.1) rotate(90deg)}.remove-favorite-btn:focus-visible{outline:3px solid var(--error, #ef4444);outline-offset:2px;box-shadow:0 0 0 6px #ef44442e}.official-card{--accent: var(--success, #10b981)}.bill-card{--accent: var(--info, #06b6d4)}.official-card,.bill-card{box-shadow:inset 4px 0 0 0 var(--accent),0 2px 8px #00000014,0 1.5px #fff6 inset}.official-card:hover,.bill-card:hover,.official-card:focus-within,.bill-card:focus-within{box-shadow:inset 6px 0 0 0 var(--accent),0 12px 24px #00000029,0 1.5px #ffffff73 inset;border-color:var(--accent);max-height:600px}.favorite-card .favorite-meta,.favorite-card .latest-action,.favorite-card .sponsors,.favorite-card .subjects,.favorite-card .favorite-footer,.favorite-card .current-role,.favorite-card .contact-info{opacity:0;transition:opacity .3s cubic-bezier(.4,.2,.2,1)}.favorite-card:hover .favorite-meta,.favorite-card:focus-within .favorite-meta,.favorite-card:hover .latest-action,.favorite-card:focus-within .latest-action,.favorite-card:hover .sponsors,.favorite-card:focus-within .sponsors,.favorite-card:hover .subjects,.favorite-card:focus-within .subjects,.favorite-card:hover .favorite-footer,.favorite-card:focus-within .favorite-footer,.favorite-card:hover .current-role,.favorite-card:focus-within .current-role,.favorite-card:hover .contact-info,.favorite-card:focus-within .contact-info{opacity:1}.official-basic{display:flex;gap:12px;align-items:center;font-size:1rem;color:var(--text-muted, #64748b);margin-bottom:2px;padding-left:2px}.official-party{background:var(--accent, #10b981);color:#fff;border-radius:6px;padding:2px 8px;font-size:.95em;font-weight:500;letter-spacing:.01em}.official-role{font-weight:600;color:var(--accent, #10b981);font-size:1em;margin-left:8px}@media(max-width:768px){.favorites-container{padding:8px}.favorites-grid{gap:8px}.favorite-card{max-height:88px;min-height:56px;border-radius:14px;padding:0 4px;font-size:.98rem}.favorite-header{padding:14px 10px 6px 12px;gap:10px}.favorite-title{font-size:1.05rem;margin-bottom:0}.remove-favorite-btn{width:36px;height:36px;font-size:22px;margin-left:2px}.official-basic{gap:8px;font-size:.97rem;flex-wrap:wrap;margin-bottom:0;padding-left:0}.official-party{padding:2px 7px;font-size:.93em}.official-role{font-size:.98em;margin-left:4px}.favorite-card:hover,.favorite-card:focus-within{max-height:600px}}@media(max-width:480px){.favorite-card{border-radius:10px;max-height:96px;font-size:.95rem;padding:0 2px}.favorite-header{padding:10px 6px 4px 8px;gap:6px}.favorite-title{font-size:.98rem}.remove-favorite-btn{width:32px;height:32px;font-size:20px}.official-basic{gap:6px;font-size:.95rem}.official-party{padding:2px 6px;font-size:.91em}.official-role{font-size:.95em;margin-left:2px}.favorite-meta{flex-direction:column;gap:6px}}.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)}}.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:100vh;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:2.5rem 2rem 2rem;min-height:70vh;text-align:center;animation:fadeIn 1s ease-out;background:linear-gradient(135deg,#e6f5ffd9,#fffffff2);border-radius:24px;box-shadow:0 8px 32px #3c3c781f,0 1.5px 6px #3c3c7814;-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);border:1.5px solid #e5e7eb}.reveal-heading{font-size:2.7rem;margin-bottom:3rem;color:#2563eb;position:relative;animation:slideDown 1.2s ease-out;font-family:Montserrat,Raleway,sans-serif;font-weight:800;letter-spacing:.02em;text-shadow:0 2px 8px rgba(60,60,120,.08)}.reveal-heading:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:80px;height:5px;background:linear-gradient(90deg,#2563eb,#8b5cf6,#10b981);border-radius:3px;box-shadow:0 2px 8px #3c3c7814}.party-icons-container{display:flex;justify-content:center;gap:4rem;margin:2rem 0 4rem;flex-wrap:wrap;background:linear-gradient(90deg,#f3f4f6,#e0e7ff);border-radius:18px;box-shadow:0 1px 4px #3c3c780f;padding:1.5rem .5rem}.party-reveal{display:flex;flex-direction:column;align-items:center;max-width:220px;animation:scaleIn .8s ease-out forwards;background:#ffffffd9;border-radius:16px;box-shadow:0 2px 8px #3c3c7814;padding:1.2rem .5rem;transition:box-shadow .2s,background .2s}.party-reveal.primary{animation-delay:.2s;transform:scale(0);background:linear-gradient(90deg,#e0e7ff,#f3f4f6);box-shadow:0 4px 16px #3c3c7829;outline:2px solid #8b5cf6;outline-offset:2px}.party-reveal.secondary{animation-delay:1.2s;transform:scale(0)}.icon-circle{width:150px;height:150px;border-radius:50%;border:5px solid #8b5cf6;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff 60%,#e0e7ff);box-shadow:0 8px 24px #3c3c781a;overflow:hidden;padding:1rem;transition:border .2s,box-shadow .2s}.party-icon-revealed{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.primary-icon{animation:pulse 2s infinite,spin 20s linear infinite;transform-origin:50% 50%}.secondary-icon{animation:pulse 2s infinite,rockBack 6s ease-in-out infinite;transform-origin:50% 50%}.party-name{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.7rem;font-weight:800;text-align:center;opacity:0;animation:fadeIn 1s ease-out forwards;color:#8b5cf6;text-shadow:0 2px 8px rgba(60,60,120,.08);font-family:Montserrat,Raleway,sans-serif}.primary-name{animation-delay:.8s}.secondary-name{animation-delay:1.8s}.personality-type{font-size:1.15rem;font-style:italic;color:#2563eb;opacity:0;animation:fadeIn 1s ease-out forwards;animation-delay:2.2s;margin-top:.5rem;font-weight:600}.reveal-description{margin-top:2rem;font-size:1.22rem;line-height:1.7;color:#374151;opacity:0;animation:fadeIn 1s ease-out forwards;animation-delay:3s;background:#e6f5ff80;border-radius:12px;padding:1.2rem 1rem;box-shadow:0 1px 4px #3c3c780f}.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)}.input-wrapper{position:relative;flex:1 1 0px;min-width:0;display:flex;flex-direction:column}.input-icon{position:absolute;left:14px;top:17px;color:var(--text-tertiary);pointer-events:none;transition:color var(--transition-fast);z-index:1}.auth-input.has-icon{padding-left:44px}.auth-input.has-toggle{padding-right:48px}.input-wrapper:focus-within .input-icon{color:var(--accent)}.password-toggle{position:absolute;right:12px;top:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);padding:0}.password-toggle:hover{color:var(--accent);background:#e785331a}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field-error{display:block;color:var(--error-color);font-size:12px;margin-top:6px;padding-left:4px;animation:slideDown var(--transition-fast) ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-input.has-error{border-color:var(--error-color);box-shadow:0 0 0 3px var(--error-bg)}.auth-input.has-error:focus{border-color:var(--error-color);box-shadow:0 0 0 4px var(--error-bg)}.password-strength{display:flex;align-items:center;gap:10px;margin-top:8px;animation:slideDown var(--transition-fast) ease-out}.strength-bar{flex:1;height:4px;background:#0000001a;border-radius:2px;overflow:hidden}.strength-fill{height:100%;border-radius:2px;transition:width var(--transition-smooth),background-color var(--transition-smooth)}.strength-label{font-size:12px;font-weight:600;min-width:50px;text-align:right}.auth-button.loading{pointer-events:none;opacity:.85}.button-loading{display:flex;align-items:center;justify-content:center;gap:10px}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media screen and (max-width:480px){.input-icon{left:12px;top:15px}.auth-input.has-icon{padding-left:40px}.password-toggle{right:8px;top:12px;width:32px;height:32px}.field-error{font-size:11px}.password-strength{gap:8px}.strength-label{font-size:11px;min-width:45px}}:root{--color-bg-primary: #05070b;--color-bg-secondary: #1f2937;--color-bg-surface: #252525;--color-text-primary: rgba(255, 255, 255, .87);--color-text-secondary: rgba(255, 255, 255, .6);--color-text-disabled: rgba(255, 255, 255, .38);--color-primary: #007bff;--color-primary-hover: #0056b3;--color-primary-light: #4da3ff;--color-primary-dark: #004085;--color-secondary: #0675ec;--color-secondary-hover: #0558b8;--color-accent-gold: #ffbf00;--color-accent-orange: #e78533;--color-accent-yellow: #ffd700;--color-success: #28a745;--color-success-hover: #1e7e34;--color-success-light: #4caf50;--color-error: #dc3545;--color-error-hover: #c82333;--color-error-light: #f44336;--color-warning: #ffc107;--color-warning-hover: #e0a800;--color-warning-light: #ffeb3b;--color-info: #17a2b8;--color-info-hover: #117a8b;--color-info-light: #00bcd4;--color-party-republican: #de2e0b;--color-party-democrat: #007bda;--color-party-independent: #6b7280;--color-party-green: #22c55e;--color-party-libertarian: #a855f7;--color-party-nonpartisan: #ec4899;--color-gray-50: #f9f9f9;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-border-primary: rgba(255, 255, 255, .2);--color-border-secondary: rgba(255, 255, 255, .1);--color-border-focus: #007acc;--color-overlay: rgba(0, 0, 0, .5);--color-overlay-light: rgba(0, 0, 0, .3);--color-overlay-heavy: rgba(0, 0, 0, .8);--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--font-family-primary: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--shadow-card: 0 2px 24px rgba(0, 0, 0, .6);--shadow-focus: 0 0 0 3px rgba(0, 122, 204, .2);--shadow-focus-accent: 0 0 0 6px rgba(231, 133, 51, .2);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 999;--z-modal: 1000;--z-modal-close: 1001;--z-popover: 1500;--z-tooltip: 2000;--z-notification: 3000;--z-skip-link: 10000;--transition-speed-fast: .15s;--transition-speed-base: .2s;--transition-speed-slow: .3s;--transition-speed-slower: .5s;--transition-ease-in: cubic-bezier(.4, 0, 1, 1);--transition-ease-out: cubic-bezier(0, 0, .2, 1);--transition-ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-base: all var(--transition-speed-base) var(--transition-ease-in-out);--transition-colors: color var(--transition-speed-base) var(--transition-ease-in-out), background-color var(--transition-speed-base) var(--transition-ease-in-out), border-color var(--transition-speed-base) var(--transition-ease-in-out);--transition-shadow: box-shadow var(--transition-speed-base) var(--transition-ease-in-out);--transition-transform: transform var(--transition-speed-base) var(--transition-ease-in-out);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--touch-target-min: 44px;--prose-width: 65ch;--backdrop-blur-sm: blur(4px);--backdrop-blur-md: blur(8px);--backdrop-blur-lg: blur(10px);--backdrop-blur-xl: blur(16px);--opacity-disabled: .38;--opacity-hover: .8;--opacity-active: .6;--button-padding-x: var(--spacing-4);--button-padding-y: var(--spacing-2);--button-border-radius: var(--radius-md);--button-transition: var(--transition-base);--input-padding-x: var(--spacing-3);--input-padding-y: var(--spacing-2);--input-border-radius: var(--radius-sm);--input-border-color: var(--color-border-primary);--input-focus-border-color: var(--color-border-focus);--modal-backdrop-color: var(--color-overlay);--modal-border-radius: var(--radius-lg);--modal-padding: var(--spacing-6);--modal-shadow: var(--shadow-2xl);--card-padding: var(--spacing-4);--card-border-radius: var(--radius-lg);--card-shadow: var(--shadow-card);--card-bg: var(--color-bg-surface)}@media(prefers-reduced-motion:reduce){:root{--transition-speed-fast: .01ms;--transition-speed-base: .01ms;--transition-speed-slow: .01ms;--transition-speed-slower: .01ms}}.glassmorphism{background:#1f2937b3;backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg);border:1px solid var(--color-border-primary)}.glassmorphism-light{background:#ffffff1a;backdrop-filter:var(--backdrop-blur-md);-webkit-backdrop-filter:var(--backdrop-blur-md);border:1px solid var(--color-border-secondary)}.focus-ring{outline:3px solid var(--color-accent-orange);outline-offset:2px}.focus-ring-primary{outline:3px solid var(--color-border-focus);outline-offset:2px;box-shadow:var(--shadow-focus)}.focus-interactive:focus-visible{outline:3px solid var(--color-accent-orange);outline-offset:2px;box-shadow:var(--shadow-focus-accent)}.elevation-0{box-shadow:var(--shadow-none)}.elevation-1{box-shadow:var(--shadow-xs)}.elevation-2{box-shadow:var(--shadow-sm)}.elevation-3{box-shadow:var(--shadow-md)}.elevation-4{box-shadow:var(--shadow-lg)}.elevation-5{box-shadow:var(--shadow-xl)}.elevation-6{box-shadow:var(--shadow-2xl)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.my-6{margin-top:var(--spacing-6);margin-bottom:var(--spacing-6)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-disabled{color:var(--color-text-disabled)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-surface{background-color:var(--color-bg-surface)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.border{border:1px solid var(--color-border-primary)}.border-secondary{border:1px solid var(--color-border-secondary)}.transition-base{transition:var(--transition-base)}.transition-colors{transition:var(--transition-colors)}.transition-shadow{transition:var(--transition-shadow)}.transition-transform{transition:var(--transition-transform)}.hidden{display:none!important}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.hover-opacity:hover{opacity:var(--opacity-hover)}.card{background:var(--card-bg);border-radius:var(--card-border-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);border:1px solid var(--color-border-secondary);transition:var(--transition-shadow)}.card:hover{box-shadow:var(--shadow-xl)}.btn{padding:var(--button-padding-y) var(--button-padding-x);border-radius:var(--button-border-radius);transition:var(--button-transition);border:none;cursor:pointer;font-weight:var(--font-weight-medium);min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover)}.btn-error{background-color:var(--color-error);color:#fff}.btn-error:hover:not(:disabled){background-color:var(--color-error-hover)}.input{padding:var(--input-padding-y) var(--input-padding-x);border-radius:var(--input-border-radius);border:1px solid var(--input-border-color);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-base);transition:var(--transition-colors);min-height:var(--touch-target-min)}.input:focus{outline:none;border-color:var(--input-focus-border-color);box-shadow:var(--shadow-focus)}.input:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.skip-link{position:absolute;top:-40px;left:6px;background:#000000e6;color:#fff;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-lg);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);z-index:var(--z-skip-link);transition:top var(--transition-speed-slow) var(--transition-ease-out);-webkit-backdrop-filter:var(--backdrop-blur-lg);backdrop-filter:var(--backdrop-blur-lg);border:1px solid var(--color-border-primary)}.skip-link:focus{top:10px;outline:3px solid var(--color-accent-orange);outline-offset:2px}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile-only{display:none!important}}@media(prefers-contrast:high){.glassmorphism,.glassmorphism-light{background:#000000e6!important;border:2px solid currentColor!important}.btn,.card{border:2px solid currentColor}}:root{font-family:var(--font-family-primary);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color-scheme:dark;color:var(--color-text-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:0;margin:0;--bg: var(--color-bg-primary);--text: var(--color-text-primary);--surface: var(--color-bg-secondary)}body{margin:0;padding:0;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.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:var(--font-weight-medium);font-style:oblique;text-shadow:0 0 4px rgba(0,0,0,.2)}.party-R{color:var(--color-party-republican)}.party-D{color:var(--color-party-democrat);text-shadow:0 0 2px rgba(255,255,255,.295)}.party-I{color:var(--color-party-independent)}.party-G{color:var(--color-party-green);font-weight:var(--font-weight-bold)}.party-L{color:var(--color-party-libertarian);font-weight:var(--font-weight-bold)}.party-N{color:var(--color-party-nonpartisan);font-weight:var(--font-weight-bold)}.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}}
