/* A native disclosure keeps every edition reachable before scripts load. */
.language-menu {
  position: relative;
  flex: 0 1 auto;
  max-inline-size: 100%;
  font-size: .94rem;
}
.language-menu summary {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
  padding-inline: .58rem;
  cursor: pointer;
  list-style: none;
}
.language-menu summary::-webkit-details-marker { display: none; }
.language-menu summary::after {
  content: "";
  inline-size: .38rem;
  block-size: .38rem;
  border-inline-end: 1.5px solid currentColor;
  border-block-end: 1.5px solid currentColor;
  transform: translateY(-.12rem) rotate(45deg);
  margin-inline-start: .16rem;
}
.language-menu[open] summary::after { transform: translateY(.09rem) rotate(225deg); }
.language-menu summary svg { width: 1.05rem; height: 1.05rem; flex: none; }
.language-menu .language-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  position: absolute;
  z-index: 20;
  inset-block-start: calc(100% + .35rem);
  inset-inline-end: 0;
  width: min(23rem, 90vw);
  max-height: min(66vh, 29rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  gap: 0;
  align-items: stretch;
  padding: .4rem;
  border: 1px solid var(--rule);
  border-radius: .8rem;
  background: var(--paper);
  box-shadow: 0 12px 36px #0002;
}
.language-options a.lang {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
  padding: .5rem .65rem;
  border: 0;
  line-height: 1.3;
  text-decoration: none;
}
.language-options .lang[aria-current="true"] { background: var(--panel); font-weight: 650; }
.language-options .lang[aria-current="true"]::after { content: "✓"; margin-inline-start: auto; }
.language-options a:focus-visible { outline-offset: -3px; }
@media (max-width: 620px) {
  .mast-inner { position: relative; }
  .language-menu { position: static; }
  .language-menu .language-options { width: min(100%, 23rem); }
}
@media print { .language-menu { display: none; } }

.language-options a.lang{border-radius:.45rem;min-width:0;overflow-wrap:anywhere;font-weight:400}
.language-options .lang[aria-current="true"]{font-weight:600}
.language-options .lang[aria-current="true"]::after{flex:none;color:var(--accent)}
