/* Masthead search button + search overlay (search.js). Uses theme tokens so all six themes work. */
.mast-actions .site-search-btn{display:inline-flex;align-items:center;gap:7px;color:var(--ink);cursor:pointer}
.site-search-btn svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.mast-actions .site-search-btn:hover{color:var(--acid)}
.tv-mode .mast-actions .site-search-btn svg{width:calc(var(--tv-small,12px) * 1.15);height:calc(var(--tv-small,12px) * 1.15)}
@media(max-width:740px){.mast-actions .site-search-btn span{display:none}.mast-actions .site-search-btn{padding:6px 8px}}

.site-search{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding:min(12vh,110px) 16px 16px;background:color-mix(in srgb,var(--shadow,#000) 62%,transparent);backdrop-filter:blur(3px)}
.site-search[hidden]{display:none}
.site-search-box{width:min(640px,100%);max-height:min(76vh,680px);display:flex;flex-direction:column;background:var(--panel,var(--bg));color:var(--ink);border:1px solid color-mix(in srgb,var(--acid) 45%,var(--bg));border-radius:6px;box-shadow:0 24px 70px color-mix(in srgb,var(--shadow,#000) 70%,transparent);overflow:hidden}
.site-search-head{display:flex;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}
.site-search-head input{flex:1;min-width:0;font:600 18px/1.3 var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:11px 12px}
.site-search-head input:focus{outline:2px solid var(--acid);outline-offset:0;border-color:transparent}
.site-search-close{font:11px var(--mono);letter-spacing:.06em;color:var(--muted);background:none;border:1px solid var(--line);border-radius:3px;padding:8px 10px;cursor:pointer}
.site-search-close:hover{color:var(--ink);border-color:var(--acid)}
.site-search-results{overflow:auto;padding:6px 12px 10px;min-height:60px}
.site-search-group{margin:10px 2px 4px;font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acid)}
.site-search-row{display:flex;gap:6px;align-items:stretch;margin:3px 0}
.site-search-hit{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--ink);background:color-mix(in srgb,var(--tint,var(--acid)) 4%,var(--bg));border:1px solid color-mix(in srgb,var(--tint,var(--acid)) 16%,var(--bg));border-radius:4px;padding:8px 11px;cursor:pointer;font:inherit}
.site-search-hit>span{min-width:0;display:grid;gap:2px}
.site-search-hit strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-search-hit small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-search-hit:hover,.site-search-hit.is-active{border-color:var(--acid);background:color-mix(in srgb,var(--acid) 11%,var(--bg))}
.site-search-pct{font:700 15px var(--mono);flex:none}
.site-search-pct.dem{color:var(--dem)}.site-search-pct.rep{color:var(--rep)}.site-search-pct.other{color:var(--other)}.site-search-pct.none{color:var(--muted)}
.site-search-tag{font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:3px 6px;flex:none}
.site-search-note{margin:12px 2px;color:var(--muted);font-size:13px;line-height:1.45}
.site-search-foot{margin:0;padding:8px 14px;border-top:1px solid var(--line);font:10px var(--mono);letter-spacing:.04em;color:var(--muted)}
@media(max-width:600px){.site-search{padding:10px}.site-search-box{max-height:calc(100vh - 20px)}.site-search-foot{display:none}}
@media(pointer:coarse){.site-search-foot{display:none}}
