/* Search, theme and navigation controls share the header's existing row. */
.ui-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.masthead{gap:24px;flex-wrap:wrap;padding-block:18px}
.masthead .brand{flex-shrink:0;min-width:0}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.header-control{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:10px;background:transparent;color:var(--ink);border:1px solid var(--control-border);border-radius:12px;font:600 14px/1.3 var(--sans);box-shadow:none}
.header-control:hover,.header-control[aria-expanded="true"]{background:var(--soft);color:var(--ink)}
.header-control:focus-visible,.header-search input:focus-visible,.header-search-submit:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.header-control .icon-close,.theme-toggle .icon-sun{display:none}
.menu-toggle[aria-expanded="true"] .icon-menu{display:none}
.menu-toggle[aria-expanded="true"] .icon-close{display:block}
[data-theme="dark"] .theme-toggle .icon-moon{display:none}
[data-theme="dark"] .theme-toggle .icon-sun{display:block}
.header-search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;max-width:620px;margin:0 0 0 auto}
.header-search input{flex:1;width:100%;min-width:0;min-height:46px;padding:10px 14px;border:1px solid var(--control-border);border-radius:10px;background:var(--surface);color:var(--ink);font:16px/1.5 var(--sans)}
.header-search input::placeholder{color:var(--muted);opacity:1}
.header-search-submit{min-height:46px;padding:10px 18px;border-radius:10px;border-color:var(--button-bg);background:var(--button-bg);color:var(--button-text);font:600 14px/1.5 var(--sans)}
.header-search-submit:hover{background:var(--button-bg);color:var(--button-text);text-decoration:underline}
.site-header[data-search-open] .search-toggle{display:none}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:20;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--control-border);border-radius:50%;background:var(--surface-raised);color:var(--ink);box-shadow:0 3px 14px #0002;text-decoration:none}
.back-to-top:hover{background:var(--soft);color:var(--ink)}
.back-to-top:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media(min-width:900px){.main-nav .wrap{flex-wrap:wrap}.main-nav a{flex:1;justify-content:center;text-align:center;line-height:1.4;padding:12px 5px;min-width:0}.header-search~.header-actions{flex-shrink:0}}
@media(max-width:899px){
  .masthead{gap:16px;padding-block:14px}
  .header-search{flex-basis:100%;max-width:none;margin:0}
  .site-header[data-search-open] .brand,.site-header[data-search-open] .header-actions{display:none}
  .main-nav .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;padding-block:14px}
  .main-nav a{min-height:48px;line-height:1.45;padding:12px;border-radius:9px;font-size:14px}
  .main-nav a:hover,.main-nav a[aria-current]{background:var(--soft);box-shadow:none}
}
@media(max-width:600px){
  .masthead{min-height:82px;flex-wrap:wrap;gap:10px}
  .masthead .brand{flex:1;min-width:0;font-size:22px;line-height:1.1}
  .brand>span:last-child{min-width:0}
  .brand small{display:none}
  .header-actions{gap:6px}
  .header-control{width:44px;padding:10px;flex-shrink:0}
  .header-control .control-label{display:none}
  .header-search{gap:8px}
  .header-search-submit{padding-inline:13px}
  .main-nav .wrap{grid-template-columns:1fr;gap:2px;padding-block:10px}
  .main-nav a{font-size:15px;border-bottom:0;padding:13px 12px}
  .back-to-top{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:46px;height:46px}
}
@media(forced-colors:active){.header-control,.header-search input,.header-search-submit,.back-to-top{border:1px solid ButtonText}.header-control:focus-visible,.header-search input:focus-visible,.back-to-top:focus-visible{outline-color:Highlight}}
@media print{.header-actions,.header-search,.back-to-top{display:none!important}}
