/* JS不要の言語切り替えメニュー(<details>) */
.language { position: relative; display: inline-flex; align-items: center; gap: .5em; }
.language-menu { position: relative; }
.language-menu > summary {
  list-style: none; cursor: pointer; user-select: none;
  padding: .45em 1.9em .45em .9em; border: 1px solid currentColor; border-radius: 999px;
  font: inherit; line-height: 1.2; white-space: nowrap; position: relative;
}
.language-menu > summary::-webkit-details-marker { display: none; }
.language-menu > summary::after {
  content: ""; position: absolute; right: .8em; top: 50%; width: .45em; height: .45em;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
}
.language-menu[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.language-menu > ul {
  position: absolute; right: 0; top: calc(100% + .4em); z-index: 1000;
  margin: 0; padding: .35em; list-style: none; min-width: 10em;
  background: #282b26; color: #fff; border: 1px solid rgba(255,255,255,.25);
  border-radius: .6em; box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.language-menu > ul a {
  display: block; padding: .6em .9em; color: inherit; text-decoration: none; border-radius: .4em;
}
.language-menu > ul a:hover, .language-menu > ul a:focus-visible { background: rgba(255,255,255,.14); }
.language-menu > ul a[aria-current="true"] { font-weight: 700; background: rgba(255,255,255,.1); }
