.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-picker{display:inline-flex;align-items:center;flex-shrink:0}
.language-select{font:inherit;font-size:12px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 26px 7px 10px;max-width:160px;cursor:pointer;line-height:1.3}
.language-select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.language-suggestion{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100% - 32px);padding:14px 18px;background:var(--ink);color:#fff;border-radius:12px;box-shadow:0 8px 30px #0002;font-size:13px}
.language-suggestion a{color:#fff;text-decoration:underline;white-space:nowrap}
.language-suggestion button{border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}
:lang(ja),:lang(ko),:lang(zh-Hant){line-break:strict}
:lang(ja) h1,:lang(ko) h1,:lang(zh-Hant) h1,:lang(ja) h2,:lang(ko) h2,:lang(zh-Hant) h2{letter-spacing:normal;word-break:normal;overflow-wrap:anywhere}
:lang(de) h1,:lang(de) h2,:lang(fr) h1,:lang(fr) h2{overflow-wrap:anywhere}
:lang(ko) p,:lang(ko) li{word-break:keep-all;overflow-wrap:anywhere}
.document-contents ol{column-gap:36px}.document-contents li{overflow-wrap:anywhere}
@media(min-width:601px) and (max-width:1100px){
 .header{height:76px;margin-bottom:44px;gap:16px}
 .header nav{display:flex;position:absolute;top:76px;left:0;right:0;height:44px;gap:20px;padding:0 12px;overflow-x:auto;white-space:nowrap;background:var(--bg);border-bottom:1px solid var(--line)}
 html{scroll-padding-top:140px}.document h2{scroll-margin-top:140px}
}
@media(max-width:600px){.language-select{font-size:12px;max-width:145px}.header nav{gap:16px}.language-suggestion{align-items:flex-start;gap:10px}.language-suggestion span{max-width:160px}.header .button.small{padding-inline:12px;gap:12px;font-size:10px}.brand{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the language selector visible instead of placing it in the scrolling nav. */
.header>.language-picker{margin-left:auto}
.header>.button.small{flex-shrink:0}
@media(min-width:1101px){.header>nav{margin-left:auto}.header>.language-picker{margin-left:0}}
@media(max-width:600px){.header>.button.small{display:none}.header>.language-picker{margin-left:auto}.header nav{gap:14px}.language-select{min-width:130px;max-width:150px}}
.language-fallback{display:flex;flex-wrap:wrap;gap:12px 20px;max-width:1120px;width:calc(100% - 40px);margin:18px auto;font-size:13px}.language-fallback a{text-decoration:underline;text-underline-offset:3px}

/* A fixed header keeps native picker focus outside document scrolling. */
body{padding-top:var(--header-height)}
.header{position:fixed;top:0;left:0;right:0;margin-bottom:0}
@media(min-width:601px) and (max-width:1100px){body{padding-top:120px}}
@media(max-width:600px){body{padding-top:112px}}
