/* Mobile navigation from the approved refresh prototype. */
.mobile-menu-panel, .menu-backdrop { display: none; }
@media (max-width:800px) {
  html.mobile-menu-open, html.mobile-menu-open body { overflow: hidden; }
  html.mobile-menu-open .header { z-index:1003; }
  .mobile-menu-panel { --menu-bg:#f4f5f5; --menu-surface:#fff; --menu-ink:#262b2a; --menu-muted:#626b66; --menu-line:#e4e8e5; --android:#357c46; --ios:#8151b0; --psp:#aa601b; --ps:#3573ab; display:block; position:fixed; left:16px; right:16px; z-index:1002; box-sizing:border-box; padding:12px; border:1px solid var(--menu-line); border-radius:12px; background:var(--menu-surface); color:var(--menu-ink); box-shadow:0 16px 40px #0005; overflow-y:auto; overscroll-behavior:contain; }
  .menu-backdrop { display:block; position:fixed; inset:0; width:100%; height:100%; z-index:1001; background:rgba(0,0,0,.58); border:0; border-radius:0; touch-action:none; }
  .mobile-menu-panel[hidden], .menu-backdrop[hidden], .mobile-menu-panel [hidden] { display:none; }
  .mobile-menu-panel a { display:flex; align-items:center; box-sizing:border-box; min-height:44px; padding:10px 12px; border-radius:6px; font-size:17px; line-height:1.4; color:inherit; text-decoration:none; }
  .mobile-menu-panel a:hover { background:var(--menu-bg); }
  .mobile-main-links { padding-bottom:8px; }
  .menu-branch-row { display:flex; align-items:center; gap:4px; }
  .menu-branch-row > a { flex:1; min-width:0; }
  .menu-branch-toggle { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; padding:0; border:0; border-radius:6px; background:transparent; color:inherit; cursor:pointer; }
  .menu-branch-toggle:hover { background:var(--menu-bg); }
  .menu-branch-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  .menu-branch-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
  .menu-os { border-bottom:1px solid var(--menu-line); padding:2px 0; }
  .menu-os_android { color:var(--android); } .menu-os_ios { color:var(--ios); } .menu-os_psp { color:var(--psp); } .menu-os_ps, .menu-os_windows { color:var(--ps); }
  .menu-branch-content, .menu-subcategories { margin:0 0 4px 8px; padding-left:6px; border-left:1px solid var(--menu-line); }
  .menu-category > .menu-branch-row > a { font-size:16px; }
  .menu-subcategories a { min-height:40px; padding:6px 10px; font-size:15px; color:var(--menu-muted); overflow-wrap:anywhere; }
  .menu-subcategories a:hover { color:inherit; }
  .mobile-menu-panel a[aria-current] { background:var(--menu-bg); color:inherit; font-weight:600; box-shadow:inset 3px 0 currentColor; border-radius:0 6px 6px 0; }
  .mobile-menu-panel :is(a,button,summary):focus-visible { outline:2px solid currentColor; outline-offset:-2px; }
  .mobile-menu-settings { padding:12px 0 0; border-top:1px solid var(--menu-line); }
  .mobile-menu-settings__label { margin:0 0 8px; padding:0 4px; color:var(--menu-muted); font-size:14px; }
  .mobile-menu-settings .mobile-menu-theme { display:block; width:100%; box-sizing:border-box; margin:0 0 16px; padding:3px; background:var(--menu-bg); border:0; border-radius:6px; }
  .mobile-menu-theme::after { display:none; }
  .mobile-menu-theme fieldset { margin:0; padding:0; border:0; min-width:0; }
  .mobile-menu-theme .theme-toggle__holder { display:flex; width:100%; height:auto; }
  .mobile-menu-theme input { position:absolute; opacity:0; pointer-events:none; }
  .mobile-menu-theme .theme-toggle__button { display:flex; flex:1 1 0; align-items:center; justify-content:center; box-sizing:border-box; width:auto; height:auto; min-height:40px; padding:8px 4px; margin:0; border:0; border-radius:4px; color:var(--menu-muted); font-size:14px; line-height:1.2; cursor:pointer; background:transparent; }
  .mobile-menu-theme input:checked + .theme-toggle__button { background:var(--menu-surface); color:var(--android); }
  .mobile-menu-theme input:focus-visible + label { outline:2px solid var(--android); outline-offset:-2px; }
  .mobile-menu-panel .mobile-menu-language, .mobile-menu-panel .mobile-menu-language[open] { margin:0; padding:0; border:1px solid var(--menu-line); border-radius:6px; overflow:hidden; background:transparent; box-shadow:none; }
  .mobile-menu-panel .mobile-menu-language summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; margin:0; min-height:44px; box-sizing:border-box; font-size:16px; cursor:pointer; background:var(--menu-bg); border:0; color:var(--menu-ink); box-shadow:none; list-style:none; }
  .mobile-menu-language summary::-webkit-details-marker { display:none; }
  .mobile-menu-language summary::before, .mobile-menu-language summary::after { content:none; }
  .mobile-menu-language summary svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; }
  .mobile-menu-language[open] summary svg { transform:rotate(180deg); }
  .mobile-menu-language__options { max-height:220px; overflow-y:auto; padding:4px; }
  .mobile-menu-language__options a { justify-content:space-between; font-size:15px; }
  .mobile-menu-account { margin:0; padding:0; list-style:none; }
  .mobile-menu-account .mobile-navigation__icon { display:none; }
  .mobile-menu-panel .mobile-navigation__os, .mobile-menu-panel .mobile-navigation__sub-category { margin:0; background:transparent; color:var(--menu-ink); }
}
@media (min-width:360px) and (max-width:800px) { .menu-subcategories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 4px; } }
@media (color-index:48) {
  .mobile-menu-panel { --menu-bg:#1c1d1f; --menu-surface:#252628; --menu-ink:#eeeeef; --menu-muted:#afb0b5; --menu-line:#3b3c40; --android:#9bcca5; --ios:#bda4df; --psp:#e1af7b; --ps:#91bce2; }
}
