/* 全ページ共通ヘッダー：ブランド名＋右寄せハンバーガーメニュー */
.topbar{justify-content:flex-start;overflow:visible}
/* site-header.js が共通ヘッダーへ差し替えるまで、旧フォールバックnavのちらつきを抑止 */
.topbar:not(.siteHeaderReady)>*{visibility:hidden}
.siteHeaderBrand,.topbar>.brand{min-width:0;color:var(--text);font-size:var(--font-md);font-weight:800;letter-spacing:.01em;text-decoration:none;white-space:nowrap}
.siteHeaderMap{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:38px;margin-left:10px;padding:0 10px;border:1px solid transparent;border-radius:10px;
  color:var(--muted);font-size:var(--font-sm);font-weight:700;text-decoration:none;white-space:nowrap;transition:.12s}
.siteHeaderMap:hover{border-color:var(--line);color:var(--text);background:var(--panel2)}
.siteHeaderMap[aria-current="page"]{border-color:var(--line);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}
.siteHeaderMap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.siteMenu{position:relative;margin-left:auto;display:flex;align-items:center}
.siteMenuButton{all:unset;box-sizing:border-box;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);transition:.12s}
.siteMenuButton:hover,.siteMenuButton[aria-expanded="true"]{border-color:var(--accent);background:var(--panel2)}
.siteMenuButton:active{transform:scale(.96)}
.siteMenuButton:focus-visible,.siteMenuItem:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.siteMenuIcon{width:19px;height:19px;display:block}
.siteMenuPanel{position:absolute;top:calc(100% + 8px);right:0;width:min(220px,calc(100vw - 20px));padding:7px;z-index:80;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 42px rgba(15,23,42,.22)}
.siteMenuPanel[hidden]{display:none}
.siteMenuNav{display:flex;flex-direction:column;gap:2px}
.siteMenuItem{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;min-height:40px;padding:9px 12px;border-radius:9px;
  color:var(--text);font-family:inherit;font-size:var(--font-sm);font-weight:700;line-height:1.35;text-decoration:none;cursor:pointer;transition:.12s}
.siteMenuItem:hover{background:var(--panel2);color:var(--accent)}
.siteMenuItem[aria-current="page"]{background:color-mix(in srgb,var(--accent) 11%,var(--panel));color:var(--accent)}
.siteMenuDivider{height:1px;margin:6px 4px;background:var(--line)}
.siteHeaderToast{position:fixed;left:50%;bottom:76px;z-index:120;transform:translate(-50%,8px);max-width:calc(100vw - 28px);padding:10px 14px;
  border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 12px 32px rgba(15,23,42,.22);font-size:var(--font-sm);font-weight:700;
  opacity:0;pointer-events:none;transition:opacity .16s,transform .16s}
.siteHeaderToast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1024px){.siteMenuPanel{width:min(200px,calc(100vw - 20px))}}
@media(max-width:560px){.topbar{padding-inline:10px!important}.siteHeaderBrand,.topbar>.brand{display:block!important;font-size:var(--font-sm)}.siteHeaderMap{height:36px;padding-inline:8px;font-size:var(--font-xs)}.siteMenuPanel{right:-2px;width:min(160px,calc(100vw - 20px))}}
