/* 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; }
/* a small label above contextual guide links inside a bank page section */
.content h3.sub-h { margin: 22px 0 2px; font-size: 13.5px; font-weight: 600; color: var(--muted); }
/* guides: hub links on the home page and in the footer of every page */
.guides { margin-block: 8px 56px; }
.guides h2 { margin-block: 0 4px; font-size: clamp(20px, 2.4vw, 26px); }
.guides .sub { color: var(--muted); margin: 0 0 16px; max-width: 68ch; }
.guides ul.links { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 0 32px; }
.guides ul.links li { margin: 0; }
.guides ul.links a { display: block; padding: 9px 0; border-block-end: 1px solid var(--rule); color: var(--ink-2); text-decoration: none; overflow-wrap: anywhere; }
.guides ul.links a:hover { color: var(--ink); text-decoration: underline; }
.foot .guides-foot { display: grid; gap: 4px; margin-block-start: 10px; padding-block-start: 14px; border-block-start: 1px solid var(--rule); }
.foot .guides-foot .fg-title { font-weight: 600; color: var(--ink-2); }
.foot .guides-foot ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 2px 28px; }
.foot .guides-foot li { margin: 0; }
.foot .guides-foot a { color: var(--ink-2); text-decoration-thickness: 1px; }
