.language-control { position: relative; }
.language-menu { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; width: 138px; padding: 6px; display: grid; gap: 3px; border: 1px solid var(--line); border-radius: 8px; background: rgba(12, 9, 28, .96); box-shadow: 0 18px 45px rgba(0,0,0,.25); z-index: 50; }
.language-menu[hidden] { display: none; }
.language-menu button { min-height: 35px; padding: 0 10px; border: 0; border-radius: 5px; color: var(--muted); background: transparent; text-align: start; font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.language-menu button:hover, .language-menu button.active { color: #fff; background: rgba(141,53,255,.38); }
html[data-theme="light"] .language-menu { border-color: rgba(43,39,83,.16); background: rgba(255,255,255,.98); box-shadow: 0 18px 40px rgba(43,39,83,.14); }
html[data-theme="light"] .language-menu button:hover, html[data-theme="light"] .language-menu button.active { color: #302d4b; background: rgba(141,53,255,.14); }
.theme-toggle { position: relative; overflow: hidden; }
.theme-toggle::after { content: ""; position: absolute; inset: 8px; border: 1.5px solid currentColor; border-radius: 50%; opacity: .22; }
