/* R121 global localization layer: language picker, suggestion bar, script-aware typography, legal notice. */
.lang{position:relative}
.lang .lang-picker{position:relative;display:inline-block}
.lang .lang-picker>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;min-height:38px;max-width:190px;padding:7px 30px 7px 10px;border:1px solid var(--line,#2a2f3d);border-radius:9px;background:#0d0f15 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23aab3c2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--text,#e8eef8);font-size:12px;line-height:1.2;cursor:pointer;white-space:nowrap;user-select:none}
.lang .lang-picker>summary::-webkit-details-marker{display:none}
.lang .lang-picker>summary span{overflow:hidden;text-overflow:ellipsis}
.lang .lang-picker>summary svg{flex:0 0 auto;opacity:.8}
.lang .lang-picker>summary:focus-visible{outline:3px solid var(--teal,#2dd4bf);outline-offset:2px}
html[dir=rtl] .lang .lang-picker>summary{padding:7px 10px 7px 30px;background-position:left 10px center}
.lang .lang-menu{position:absolute;z-index:1000;top:calc(100% + 6px);inset-inline-end:0;min-width:210px;max-height:min(70vh,440px);overflow:auto;margin:0;padding:6px;list-style:none;border:1px solid var(--line,#2a2f3d);border-radius:10px;background:#0d0f15;box-shadow:0 14px 32px rgba(0,0,0,.6);display:grid;grid-template-columns:1fr 1fr;gap:2px}
.lang .lang-menu li{margin:0;padding:0}
.lang .lang-menu a{display:block;min-width:0;min-height:36px;padding:9px 10px;border:0;border-radius:7px;color:var(--text,#e8eef8);font-size:13px;line-height:1.25;text-align:start;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lang .lang-menu a:hover,.lang .lang-menu a:focus-visible{background:#171b26;outline:none}
.lang .lang-menu a[aria-current=true]{background:#1a2233;color:#fff;font-weight:700;border:0}
@media(max-width:640px){.lang .lang-picker>summary{max-width:132px;font-size:11px;padding-inline:8px 26px}.lang .lang-menu{position:fixed;top:64px;inset-inline:12px;min-width:0;grid-template-columns:1fr 1fr}}
.lang-suggest{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;padding:10px 16px;background:#141826;border-bottom:1px solid var(--line,#2a2f3d);color:var(--text,#e8eef8);font-size:14px;line-height:1.4;text-align:center}
.lang-suggest .btn{min-height:36px;padding:7px 14px;font-size:13px}
.i18n-legal-note{margin-top:24px;margin-bottom:8px;padding:14px 16px;border:1px solid var(--line,#2a2f3d);border-inline-start:4px solid var(--pink,#ff4fa3);border-radius:10px;background:#11131b;color:var(--text,#e8eef8);font-size:14px;line-height:1.6}
.i18n-legal-note p{margin:0}
.i18n-legal-note .i18n-legal-links{margin-top:8px;font-weight:700}
/* Script-aware typography (system fonts only: CSP font-src 'self', no web-font download). */
:lang(zh-CN){font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC",sans-serif}
:lang(zh-TW){font-family:"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC","Noto Sans TC","Source Han Sans TC",sans-serif}
:lang(ja){font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",sans-serif}
:lang(ko){font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR","Noto Sans KR",sans-serif;word-break:keep-all}
:lang(hi){font-family:"Nirmala UI","Kohinoor Devanagari","Noto Sans Devanagari","Mangal",sans-serif}
:lang(ru),:lang(uk){font-family:"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif}
:lang(zh-CN) :is(h1,h2,h3,.eyebrow),:lang(zh-TW) :is(h1,h2,h3,.eyebrow),:lang(ja) :is(h1,h2,h3,.eyebrow),:lang(ko) :is(h1,h2,h3,.eyebrow){letter-spacing:0;line-height:1.3}
:lang(zh-CN),:lang(zh-TW),:lang(ja){line-break:strict;word-break:normal;overflow-wrap:anywhere}
:lang(hi) :is(h1,h2,h3){letter-spacing:0;line-height:1.4}
:lang(hi) p,:lang(hi) li{line-height:1.75}
:lang(de) :is(h1,h2,h3),:lang(ru) :is(h1,h2,h3),:lang(uk) :is(h1,h2,h3),:lang(pl) :is(h1,h2,h3),:lang(nl) :is(h1,h2,h3),:lang(tr) :is(h1,h2,h3),:lang(fr) :is(h1,h2,h3),:lang(it) :is(h1,h2,h3),:lang(es) :is(h1,h2,h3),:lang(pt) :is(h1,h2,h3),:lang(id) :is(h1,h2,h3),:lang(ms) :is(h1,h2,h3){overflow-wrap:break-word;hyphens:auto}
.btn{overflow-wrap:anywhere}
