@import url("fonts.css?v=20261016-noto-1");
/* Shared navigation is deliberately independent of each page's theme. */
:root { --site-header-height: 72px; }
.site-header { position:relative; z-index:100; width:100%; margin:0; background:#141827; color:#e9edf6; border-bottom:1px solid #30374b; font:14px/1.5 var(--font-ui); letter-spacing:0; text-align:left; cursor:auto; }
.site-header *, .site-header *::before, .site-header *::after { box-sizing:border-box; }
.site-header__inner { position:relative; display:flex; align-items:center; gap:32px; max-width:1120px; min-height:72px; padding:12px 24px; margin:0 auto; }
.site-header a { color:#c6cddd; text-decoration:none; background:none; box-shadow:none; border-radius:4px; transition:color .15s,background .15s; cursor:pointer; }
.site-header a:hover { color:#fff; background:#242b3d; }
.site-header a[aria-current="page"] { color:#ffd27a; }
.site-header .site-header__brand { display:flex; align-items:center; gap:10px; flex:none; color:#ffd27a; font-size:17px; font-weight:750; white-space:nowrap; padding:8px 0; }
.site-header__brand::before { content:""; display:block; width:28px; height:28px; background:url('../assets/dot/house.png') center/contain no-repeat; image-rendering:pixelated; }
.site-header__primary { display:flex; align-items:center; gap:6px; margin-left:auto; }
.site-header__primary a { padding:10px 12px; white-space:nowrap; font-weight:600; }
.site-header__menu { margin:0; padding:0; border:0; }
.site-header__menu summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin:0; padding:8px 12px; border:1px solid #41495f; border-radius:5px; color:#e9edf6; font:inherit; font-weight:600; white-space:nowrap; cursor:pointer; list-style:none; }
.site-header__menu summary::-webkit-details-marker { display:none; }
.site-header__menu summary::after { content:"＋"; font-size:16px; }
.site-header__menu[open] summary::after { content:"−"; }
.site-header__menu summary:hover, .site-header__menu[open] summary { background:#242b3d; }
.site-header__panel { position:absolute; top:calc(100% - 1px); right:24px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; width:min(800px,calc(100vw - 32px)); max-height:calc(100dvh - var(--site-header-height) - 16px); overflow-y:auto; padding:24px; background:#191f30; border:1px solid #41495f; border-radius:0 0 8px 8px; box-shadow:0 12px 28px #0005; }
.site-header__group { display:flex; flex-direction:column; gap:2px; min-width:0; }
.site-header__group strong { margin:0 0 8px; padding:0 10px; color:#8d99af; font-size:12px; font-weight:600; }
.site-header__group a, .site-header__settings a { display:block; padding:10px; min-height:44px; }
.site-header__settings { grid-column:1/-1; padding-top:12px; border-top:1px solid #343c50; font-size:13px; }
.site-header :is(a,summary):focus-visible { outline:2px solid #ffd27a; outline-offset:3px; }
@media(max-width:920px) {
  :root { --site-header-height:112px; }
  .site-header__inner { flex-wrap:wrap; justify-content:space-between; gap:4px 12px; min-height:112px; padding:8px 16px; }
  .site-header .site-header__brand { font-size:16px; }
  .site-header__brand::before { width:24px; height:24px; }
  .site-header__primary { order:3; flex-wrap:wrap; justify-content:flex-start; width:100%; min-width:0; margin:0; gap:0 6px; }
  .site-header__primary a { padding:10px 6px; font-size:13px; }
  .site-header__menu summary { padding:8px 10px; font-size:13px; }
  .site-header__panel { right:16px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; padding:18px 12px; }
}
@media(prefers-reduced-motion:reduce) { .site-header a { transition:none; } }

.site-header { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.site-language { display:flex; gap:2px; align-items:center; flex:none; }
.site-language a { padding:7px 6px; font:12px/1.4 var(--font-ui); white-space:nowrap; }
.site-language a[aria-current] { color:#ffd27a; background:#303749; }
@media(max-width:1100px) { .site-header__inner { flex-wrap:wrap; gap:8px 12px; } .site-language { margin-left:auto; } .site-header__primary { order:3; flex-basis:100%; margin:0; } }

.site-new-badge{display:inline-block;vertical-align:middle;padding:2px 5px;margin-left:4px;border:1px solid #ffd27a;color:#ffd27a;background:#30271c;font:700 10px/1.3 var(--font-ui);letter-spacing:.04em;white-space:nowrap;border-radius:3px}
