/* Shared clear-glass material. Spotlight position is supplied by glass-hover.js. */
:root{--glass-shine:radial-gradient(ellipse at var(--glass-x,35%) var(--glass-y,20%),#fffffffa 0%,#ffffffb8 18%,#c8e5ff40 48%,#ffffff08 75%),linear-gradient(125deg,#ffffffcc,#e3f1ff40 38%,#ffffff99 52%,#bcdcff30)}
:where(.panel,.municipality,.race-card,.coverage-stats>div,.election-countdown,.about-grid>div){background-image:linear-gradient(135deg,#ffffff50,#d5e9ff0d);transition:box-shadow .2s ease,background-color .2s ease,transform .2s ease}
:where(button:not(.tile),.site-nav a,.section-nav a){transition:box-shadow .18s ease,background-color .18s ease,transform .18s ease}
/* No hover media gate: touch, pen and keyboard receive the same clear feedback. */
:is(.panel,.municipality,.race-card,.coverage-stats>div,.election-countdown,.about-grid>div).glass-lit{
 background-image:var(--glass-shine)!important;
 box-shadow:inset 0 2px 0 #fff,inset 0 -1px 0 #ffffffd9,inset 1px 0 0 #fff,0 0 0 1px #a5caed,0 16px 36px #284f8b26!important;
 -webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);
}
:is(.municipality,.race-card,.coverage-stats>div,.election-countdown).glass-lit{transform:translateY(-3px)}
:is(button:not(.tile):not(:disabled),.site-nav a,.section-nav a).glass-lit{
 background-image:var(--glass-shine)!important;
 box-shadow:inset 0 2px 0 #fff,inset 0 -1px 0 #ffffffc4,0 0 0 1px #a5c8f1,0 8px 20px #244a8b2e!important;
 -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
/* Translucency is noticeable even against the dashboard's pale backgrounds. */
:is(.panel,.race-card,.election-countdown,.about-grid>div).glass-lit{background-color:#f0f8ffb3}
:is(button.primary,button[aria-pressed=true]):not(.tile).glass-lit{background-image:radial-gradient(ellipse at var(--glass-x,35%) var(--glass-y,20%),#ffffff66,#ffffff08 70%),linear-gradient(125deg,#ffffff24,#ffffff00 45%,#ffffff35)!important;color:#fff}
.mayor-save.glass-lit{color:#986505!important;background-image:linear-gradient(125deg,#fff8d9cc,#ffffff77)!important}
:is(button:not(.tile),.site-nav a,.section-nav a):focus-visible{outline:3px solid #537bd9;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.glass-lit{transform:none!important}:where(.panel,.municipality,.race-card,.coverage-stats>div,.election-countdown,.about-grid>div,button,.site-nav a,.section-nav a){transition:none!important}}
@media(forced-colors:active){.glass-lit{background-image:none!important;box-shadow:none!important;transform:none!important;backdrop-filter:none!important}}
