/* Existing controls retain their behavior with comfortable touch targets. */
.pf-global-search>button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.search-button-icon{flex-shrink:0}
@media(max-width:850px){
 .site-header .brand{min-height:44px}
 .site-header .locale{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
 .site-header nav{flex-wrap:wrap;gap:4px}
 .site-header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 7px;line-height:1.35;border-radius:8px}
 .site-header nav a:hover,.site-header nav a:focus-visible{background:var(--soft)}
 .archive-selects select{min-height:48px;font-size:16px}
 input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px;min-height:48px}
 label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px;padding-top:8px;padding-bottom:8px;cursor:pointer}
 .pagination a,.article-end a,.article-tags a,.secondary-link,.text-link{min-height:44px;display:inline-flex;align-items:center}
 .article-tags a{padding:8px 12px}
 .article-toc summary{min-height:44px;align-content:center}
 .pf-chat-close,.pf-chat-expand,.pf-chat-new{min-width:44px;min-height:44px}
 .site-footer{padding-bottom:max(96px,calc(env(safe-area-inset-bottom) + 80px))}
}
@media(max-width:540px){
 .site-header .header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .site-header .brand{font-size:1rem;gap:8px;white-space:nowrap}
 .site-header .brand-mark{width:32px;height:32px}
 .site-header .header-tools{margin:0}
 .site-header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}
 .site-header nav{grid-column:1/-1}
 .site-header nav a{font-size:.85rem}
 .header-tools{gap:4px}
 .pf-global-search>button{width:44px;min-width:44px;padding:8px;gap:0}
 .search-button-label{display:none}
 .pf-global-search dialog{max-height:calc(100dvh - 24px)}
}
@media(max-width:360px){.site-header .brand{font-size:.9rem}.site-header .brand-mark{width:28px;height:28px}.header-tools{gap:2px}}

.archive-filter-options summary{display:none}.archive-filter-options .archive-selects{margin-top:12px}@media(max-width:850px){.archive-filter-options{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:4px 12px;background:var(--surface)}.archive-filter-options summary{display:list-item;list-style-position:inside;min-height:44px;align-content:center;font-size:.95rem;font-weight:600;cursor:pointer}.archive-filter-options[open]{padding-bottom:16px}.archive-filter-options summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}}
