/* Text-only locale control: no flag, arrow, circle or plaque. */
.ms-language-control{position:relative;z-index:30;color:var(--accent-soft);font-size:16px;line-height:1;flex:none}
.ms-language-control summary{display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px 2px;list-style:none;cursor:pointer;font:inherit;font-weight:500;letter-spacing:.04em;color:inherit;transition:filter .2s,opacity .2s}
.ms-language-control summary::-webkit-details-marker{display:none}
.ms-language-control summary:after{content:none!important}
.ms-language-control summary:hover{filter:brightness(1.18)}
.ms-language-control summary:focus-visible,.ms-language-control a:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.ms-language-control nav{position:absolute;top:calc(100% + 8px);right:-12px;display:flex;flex-direction:column;min-width:72px;padding:6px;background:color-mix(in srgb,var(--ms-chrome,#151317) 94%,transparent);border:1px solid rgba(var(--accent-rgb),.23);border-radius:7px;box-shadow:0 10px 28px #0003;backdrop-filter:blur(16px);transform-origin:top right}
.ms-language-control nav a{display:block;padding:11px 12px;text-align:center;color:var(--accent-soft);text-decoration:none!important;font-size:14px;letter-spacing:.05em;transition:background .18s,color .18s,transform .18s}
.ms-language-control nav a:hover,.ms-language-control nav a:focus-visible{background:rgba(var(--accent-rgb),.12);transform:translateX(2px)}
.ms-language-control nav a[aria-current=true]{background:rgba(var(--accent-rgb),.08);font-weight:600}
.ms-section .ms-appearance-controls{column-gap:24px}
:root[data-tone=light] .ms-language-control{color:var(--accent)}
:root[data-tone=light] .ms-language-control nav a{color:var(--accent)}
.ms-portal-language{position:absolute;top:28px;right:160px;z-index:8}

@media(max-width:560px){.ms-section .ms-appearance-controls{column-gap:18px}.ms-portal-language{top:20px;right:144px}.ms-language-control{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ms-language-control nav{animation:none}.ms-language-control summary,.ms-language-control nav a{transition:none}}

.ms-language-control summary:before{display:none!important;content:none!important}

/* Dark accent ink keeps small language labels legible on pastel chrome. */
:root[data-tone=light] .ms-language-control,:root[data-tone=light] .ms-language-control nav a{color:color-mix(in srgb,var(--accent-soft) 90%,#000)}
:root[data-tone=light] .ms-language-control summary:hover{filter:brightness(.88)}

/* Match Color exactly; open-state selector restarts CSS motion on every reveal. */
.ms-language-control[open] nav{animation:ms-menu-open .25s ease both}
.ms-language-control[open] nav a{animation:ms-menu-item .3s ease both}
.ms-language-control nav a:nth-child(2){animation-delay:.035s}
.ms-language-control nav a:nth-child(3){animation-delay:.07s}
@media(prefers-reduced-motion:reduce){.ms-language-control[open] nav,.ms-language-control[open] nav a{animation:none}}

/* Drop straight below the language label; scale around the same centre. */
.ms-language-control nav{left:50%;right:auto;translate:-50% 0;transform-origin:top center}
