.header-tools { display:flex; align-items:center; gap:0.65rem; }
.search-toggle { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; padding:0; border:0; border-radius:6px; color:var(--cream); background:transparent; cursor:pointer; }
.search-toggle svg { width:23px; height:23px; }
.search-toggle:hover { background:rgba(255,241,221,0.1); }
.search-toggle:focus-visible { outline:2px solid var(--cream); outline-offset:2px; }
.search-dialog { box-sizing:border-box; width:min(760px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 48px); margin:auto; padding:0; overflow:hidden; border:1px solid rgba(57,36,27,0.12); border-radius:12px; background:var(--paper); color:var(--paper-ink); box-shadow:0 18px 70px rgba(0,0,0,0.22); font-family:var(--text-font); }
.search-dialog[open] { display:flex; flex-direction:column; }
.search-dialog::backdrop { background:rgba(20,12,7,0.46); }
body:has(.search-dialog[open]) { overflow:hidden; }
.search-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.search-form { display:flex; align-items:center; flex-shrink:0; gap:12px; margin:18px 20px 0; padding:4px 4px 4px 12px; border:1px solid var(--editorial-rule); border-radius:8px; background:#fff8ed; }
.search-form:focus-within { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.search-form > svg { flex-shrink:0; width:22px; height:22px; }
.search-input { width:100%; min-width:0; padding:10px 0; border:0; border-radius:0; outline:0; background:transparent; color:var(--paper-ink); font:400 1.125rem/1.4 var(--text-font); }
.search-input::-webkit-search-cancel-button { display:none; }
.search-close { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:5px; background:transparent; color:var(--quiet-ink); cursor:pointer; }
.search-close svg { width:20px; height:20px; }
.search-close:hover { background:rgba(57,36,27,0.08); }
.search-tabs { display:flex; flex-shrink:0; gap:1.5rem; margin:10px 20px 0; border-bottom:1px solid var(--editorial-rule); }
.search-tabs button { min-height:44px; padding:8px 2px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--paper-ink); font:400 1rem/1.3 var(--display-font); cursor:pointer; }
.search-tabs button[aria-pressed="true"] { color:var(--accent); border-bottom-color:var(--accent); font-weight:700; }
.search-result-area { min-height:0; padding:16px 20px 8px; overflow-y:auto; overscroll-behavior:contain; }
.search-result-info { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:32px; margin:0 0 8px; color:var(--quiet-ink); font-size:0.8rem; }
.search-clear { min-height:36px; border:0; padding:4px; background:transparent; color:var(--accent); text-decoration:underline; text-underline-offset:3px; cursor:pointer; font:inherit; }
.search-results { list-style:none; padding:0; margin:0; }
.search-results li + li { border-top:1px solid rgba(189,165,142,0.5); }
.search-result { display:grid; grid-template-columns:24px minmax(0,1fr) 20px; align-items:start; gap:14px; padding:16px 12px; margin-inline:-4px; border-radius:6px; color:inherit; text-decoration:none; }
.search-result:hover,.search-result:focus-visible { background:rgba(118,46,38,0.065); }
.search-result:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.search-result > svg { width:22px; height:22px; margin-top:3px; color:var(--accent); }
.search-result-title { display:block; margin:0 0 5px; font:400 clamp(1.15rem,2.4vw,1.5rem)/1.2 var(--display-font); overflow-wrap:anywhere; }
.search-result-meta,.search-result-author { display:block; color:var(--quiet-ink); font-size:0.8rem; line-height:1.6; }
.search-result-excerpt { display:block; margin-top:7px; font-size:0.86rem; line-height:1.5; overflow-wrap:anywhere; }
.search-result-arrow { align-self:center; font-size:1.2rem; color:var(--accent); }
.search-empty { margin:20px 8px 24px; color:var(--quiet-ink); font-size:0.95rem; line-height:1.6; }
.search-more { display:block; min-height:44px; margin:10px auto; padding:8px 16px; border:1px solid var(--editorial-rule); border-radius:4px; background:transparent; color:var(--accent); cursor:pointer; font:inherit; }
.search-footer { flex-shrink:0; margin:0; padding:12px 20px; border-top:1px solid var(--editorial-rule); color:var(--quiet-ink); text-align:center; font-size:0.75rem; line-height:1.5; }
.search-dialog [hidden] { display:none !important; }
@media(max-width:520px) {
 .header-tools { grid-column:2; grid-row:1; gap:4px; }
 .header-tools .language-picker { grid-column:auto; grid-row:auto; }
 .header-tools .search-toggle { width:36px; min-height:44px; }
 .search-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 24px); border-radius:10px; }
 .search-form { margin:12px 12px 0; gap:8px; padding-left:10px; }
 .search-tabs { margin-inline:12px; gap:1.25rem; }
 .search-result-area { padding:12px 12px 6px; }
 .search-result { gap:10px; grid-template-columns:20px minmax(0,1fr) 16px; padding-inline:8px; }
 .search-result > svg { width:19px; height:19px; }
 .search-input { font-size:16px; }
 .search-footer { padding:10px 12px; }
}
