/* A single measured election card; the source footer is normal flowing text. */
html body #app #discovery-tray:has(.election-menu){width:min(420px,calc(100% - 24px))!important;max-height:calc(100% - 170px)!important;padding:12px!important;overflow-x:hidden!important;overflow-y:auto!important}
html body #app #discovery-tray:has(.election-menu)::before{display:none!important}
html body #app #discovery-tray .election-menu{--election-line:color-mix(in srgb,var(--menu-ink) 23%,transparent);--election-fill:color-mix(in srgb,#6d91aa 15%,transparent);display:flex;flex-direction:column;gap:8px;min-width:0;font:16px/1.4 Manrope,system-ui,sans-serif;color:var(--menu-ink)}
html body #app #discovery-tray .election-menu .compact-menu-head{margin:0;flex:none}
html body #app #discovery-tray .election-menu :is(p,h3){margin:0!important;min-width:0;color:var(--menu-ink)!important;white-space:normal!important;overflow-wrap:anywhere;max-height:none!important;overflow:visible!important;-webkit-line-clamp:unset!important}
html body #app #discovery-tray .election-date{font:500 14px/1.4 Manrope,system-ui,sans-serif!important}
html body #app #discovery-tray .election-copy{font:400 16px/1.4 Manrope,system-ui,sans-serif!important}
html body #app #discovery-tray .election-races button{flex-direction:column;align-items:flex-start;gap:2px;min-height:58px}
html body #app #discovery-tray .election-races small{font-size:13px;font-weight:400}
html body #app #discovery-tray .election-candidates{display:grid;gap:6px}
html body #app #discovery-tray .election-candidates button{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;padding:6px 9px;min-height:52px;border:1px solid var(--election-line);border-radius:10px;background:var(--election-fill);color:var(--menu-ink);text-align:left;font:600 16px/1.3 Manrope,system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
html body #app #discovery-tray .election-profile{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;min-width:0}
html body #app #discovery-tray .election-photo{width:96px;height:112px;flex:none;box-sizing:border-box;overflow:hidden;border-radius:12px;background:var(--election-fill);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--menu-ink)}
html body #app #discovery-tray .election-photo img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover;border:0;margin:0}
html body #app #discovery-tray .election-photo small{font:400 12px/1.3 Manrope,system-ui,sans-serif;text-align:center}
html body #app #discovery-tray .election-initials{font:600 25px/1.2 Manrope,system-ui,sans-serif}
html body #app #discovery-tray .election-thumb{width:40px;height:44px;border-radius:7px}
html body #app #discovery-tray .election-thumb .election-initials{font-size:16px}
html body #app #discovery-tray .election-identity{min-width:0;display:grid;gap:6px}
html body #app #discovery-tray .election-identity h3{font:650 20px/1.2 Manrope,system-ui,sans-serif!important;letter-spacing:-.02em}
html body #app #discovery-tray .election-identity p{font:400 14px/1.4 Manrope,system-ui,sans-serif!important}
html body #app #discovery-tray .election-record-name{font:650 18px/1.3 Manrope,system-ui,sans-serif!important}
html body #app #discovery-tray .election-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html body #app #discovery-tray .election-record-links{display:grid;gap:6px}
html body #app #discovery-tray .election-menu :is(.election-actions button,.election-link,.election-pager button){display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:44px;padding:8px;border:1px solid var(--election-line);border-radius:10px;color:var(--menu-ink)!important;background:var(--election-fill);font:600 14px/1.3 Manrope,system-ui,sans-serif!important;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
html body #app #discovery-tray .election-menu :is(button,a):focus-visible{outline:2px solid var(--menu-ink);outline-offset:2px}
html body #app #discovery-tray .election-pager{display:flex;align-items:center;gap:8px}
html body #app #discovery-tray .election-pager span{flex:1;text-align:center;font:400 14px/1.3 Manrope,system-ui,sans-serif}
html body #app #discovery-tray .election-pager button{min-width:44px;font-size:20px!important}
html body #app #discovery-tray .election-menu button:disabled{opacity:.35;cursor:default}
html body #app #discovery-tray .election-source{position:static!important;display:grid;gap:2px;flex:none;box-sizing:border-box;width:100%;min-width:0;height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere;border-top:1px solid var(--election-line);padding:7px 0 0;margin:0;font:400 13px/1.35 Manrope,system-ui,sans-serif;color:var(--menu-ink)}
html body #app #discovery-tray .election-source span{display:block;white-space:normal!important;overflow:visible!important}
@media(max-height:650px){html body #app #discovery-tray .election-menu{gap:6px}html body #app #discovery-tray .election-profile{grid-template-columns:80px minmax(0,1fr);gap:10px}html body #app #discovery-tray .election-profile .election-photo{width:80px;height:96px}html body #app #discovery-tray .election-identity h3{font-size:18px!important}}
