/* The globe: the site in English, German or Vietnamese (Duc, 2026-09-19). One
   native <details>, so it opens without script; website-lang.js closes it on an
   outside click or Escape and carries the open panel into the other language. */
.lang-switch{position:relative;flex:none;font:600 13px/1 var(--site,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);z-index:50}
.page-controls{display:inline-flex;align-items:center;gap:8px;flex:none;margin-left:auto}
html:not([data-theme]) [data-theme-toggle]{display:none}
.lang-switch summary{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid currentColor;border-radius:999px;color:inherit;cursor:pointer;list-style:none;opacity:.88;user-select:none}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary:hover,.lang-switch[open] summary{opacity:1}
.lang-switch summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.lang-globe{display:block;width:17px;height:17px;flex:none}
.lang-code{letter-spacing:.06em}
.lang-switch ul{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;margin:0;padding:6px;list-style:none;border:1px solid #ffffff38;border-radius:14px;background:#111a2cf5;color:#eef3fb;box-shadow:0 18px 40px -16px #000c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.lang-switch li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:9px;color:inherit;font-weight:500;text-decoration:none;white-space:nowrap}
.lang-switch li a:hover,.lang-switch li a:focus-visible{background:#ffffff1f;outline:none}
.lang-switch li a[aria-current]{font-weight:700}
.lang-switch li a[aria-current]:after{content:"✓";font-weight:700}
html[data-theme=light] .lang-switch ul{border-color:#1d2c4026;background:#fffffff5;color:#1d2c40}
html[data-theme=light] .lang-switch li a:hover,html[data-theme=light] .lang-switch li a:focus-visible{background:#1d2c4014}
@media(prefers-reduced-motion:no-preference){.lang-switch[open] ul{animation:lang-in .14s ease-out}}
@keyframes lang-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
