/* Search page and typeahead. Tokens come from style.css; colours work in light and dark. */
.search-page{padding:0 var(--m);margin-top:clamp(32px,5vw,64px)}
.search-page h1{font-size:var(--step-lead);margin:0 0 16px}
.search-box{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;max-width:760px}
.search-box input[type=search]{min-height:52px;padding:0 16px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);color:var(--ink);font:400 var(--fs-tool,16px) var(--sans);min-width:0;width:100%}
.search-box input[type=search]:focus{outline:2px solid var(--accent);outline-offset:0}
.search-suggest{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:min(70vh,520px);overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;box-shadow:0 12px 32px rgb(0 0 0 / .18);font:400 var(--step-small) var(--sans);text-align:left}
.search-suggest[hidden]{display:none}
.search-suggest [role=option]{display:flex;gap:10px;align-items:baseline;min-height:44px;padding:10px 14px;cursor:pointer;color:var(--ink);line-height:1.4}
.search-suggest .kind{flex:0 0 7.5em;font-size:.8125rem;color:var(--muted)}
.search-suggest .label{min-width:0;overflow-wrap:anywhere}
.search-suggest [role=option].is-active,.search-suggest [role=option]:hover{background:var(--s2)}
.search-suggest [role=option].is-active{outline:2px solid var(--accent);outline-offset:-2px}
.search-suggest .search-all{border-top:1px solid var(--line);color:var(--accent);font-weight:500}
.search-page section{margin-top:0}
.search-types{display:flex;flex-wrap:wrap;gap:4px 18px;margin:24px 0 8px;font:500 var(--step-small) var(--sans)}
.search-types a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}
.search-types a[aria-current]{color:var(--ink);border-bottom-color:var(--accent)}
.search-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 20px}
.search-filters select{min-height:44px;padding:0 12px;border:0;border-radius:4px;background:var(--s3);color:var(--ink);font:400 var(--step-small) var(--sans);max-width:100%}
.search-entities ul{list-style:none;margin:16px 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.entity-card{display:flex;flex-direction:column;gap:2px;min-height:64px;padding:12px 16px;background:var(--surface);border-left:3px solid var(--accent);text-decoration:none}
.entity-card .kind{font:400 .8125rem var(--sans);color:var(--muted)}
.entity-card strong{font:600 var(--step-lead,1.25rem)/1.2 var(--serif);overflow-wrap:anywhere}
.entity-card:hover{background:var(--s2)}
.search-stories{list-style:none;margin:16px 0 0;padding:0;max-width:760px}
.search-stories>li{padding:20px 0;border-top:1px solid var(--line)}
.search-stories .news-summary mark{background:color-mix(in srgb,var(--accent) 22%,transparent);color:inherit;padding:0 1px;border-radius:2px}
.search-stories .meta{display:flex;flex-wrap:wrap;gap:4px 14px}
.search-empty{margin:32px 0;font-size:var(--step-lead)}
.search-page .feed-pagination{margin:24px 0}
@media (max-width:600px){.search-box{grid-template-columns:1fr}.search-box .btn{width:100%}.search-suggest .kind{flex-basis:6.5em}}
