/* generated by tools/build.mjs: language menu */
.langmenu { position: relative; font-size: 13.5px; }
.langmenu summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--rule-2); border-radius: 999px; padding: 5px 12px; color: var(--ink-2); background: var(--sheet); user-select: none; min-height: 34px; }
.langmenu summary::-webkit-details-marker { display: none; }
.langmenu summary::after { content: ''; inline-size: 6px; block-size: 6px; border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.langmenu[open] summary { border-color: var(--ink-2); }
.langmenu .lm-code { font-weight: 600; letter-spacing: .04em; color: var(--ink); }
.langmenu ul { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); z-index: 20; margin: 0; padding: 6px; list-style: none; background: var(--sheet); border: 1px solid var(--rule-2); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.14); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; inline-size: min(320px, calc(100vw - 32px)); }
.langmenu li { margin: 0; }
.langmenu li a { display: block; padding: 8px 12px; border-radius: 8px; text-decoration: none; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.langmenu li a:hover { background: var(--accent-soft); color: var(--ink); }
.langmenu li a[aria-current] { background: var(--ink); color: var(--paper); }
@media (max-width: 720px) { .langmenu .lm-name { display: none; } }
.top .wrap { flex-wrap: wrap; }
/* long unbroken strings (source URLs on bank pages) must wrap instead of widening the page */
.content p, .content li, .content summary { overflow-wrap: anywhere; }
.content ul.links { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 6px 18px; }
.content ul.links li::before { content: none; }
.content ul.links a { display: block; padding: 4px 0; }
