/* 言葉の切りかえと、読み上げ・検索向けの見えない文（2026-10-13。spread.css は別の係の物なので、ここに分けて置く） */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
#nav { flex-wrap: wrap; max-width: calc(100vw - 44px); }
.langsw { position: relative; font: 12px/1 var(--jpf); }
.langsw > summary { list-style: none; cursor: pointer; color: var(--dim); padding: 8px 12px; border: 1px solid var(--line); border-radius: 6px;
  background: rgba(255,255,255,.85); backdrop-filter: blur(6px); display: inline-flex; gap: 6px; align-items: center; white-space: nowrap; }
.langsw > summary::-webkit-details-marker { display: none; }
.langsw > summary:hover, .langsw[open] > summary { color: var(--ink); border-color: var(--dim); }
.langsw .globe { font-size: 11px; opacity: .75; }
.langsw .langlist { position: absolute; top: calc(100% + 4px); left: 0; z-index: 40; min-width: 140px; display: grid; padding: 4px;
  background: var(--bg); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
#nav .langsw .langlist a { border: 0; background: none; backdrop-filter: none; padding: 8px 10px; border-radius: 5px; white-space: nowrap; }
#nav .langsw .langlist a:hover { background: var(--soft); }
#nav .langsw .langlist a[aria-current] { color: var(--a); font-weight: 700; }
@media (max-width: 860px) {
  #nav { max-width: calc(100vw - 20px); }
  .langsw > summary { padding: 7px 9px; font-size: 11.5px; }
}
