.site-language-slot {
  --language-bg: #f7f8f6;
  --language-text: #171a1e;
  --language-muted: #666d72;
  --language-border: rgba(18, 20, 23, .18);
  --language-hover: rgba(18, 20, 23, .055);
  --language-shadow: 0 18px 42px rgba(18, 20, 23, .14);
  position: relative;
  z-index: 80;
  flex: 0 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.site-language-slot[data-language-theme="dark"] {
  --language-bg: #1d2126;
  --language-text: #eef0f1;
  --language-muted: #aeb4b8;
  --language-border: rgba(238, 240, 241, .18);
  --language-hover: rgba(238, 240, 241, .07);
  --language-shadow: 0 20px 48px rgba(0, 0, 0, .38);
}

.site-language-slot[data-language-theme="paper"] {
  --language-bg: #f6f1e6;
  --language-text: #26221a;
  --language-muted: #6e6658;
  --language-border: rgba(38, 34, 26, .24);
  --language-hover: rgba(178, 58, 31, .065);
  --language-shadow: 0 18px 44px rgba(77, 60, 35, .18);
}

.site-language-slot[data-language-theme="flow"] {
  --language-bg: #111312;
  --language-text: #f2f1ec;
  --language-muted: #aaa9a2;
  --language-border: rgba(235, 190, 111, .25);
  --language-hover: rgba(235, 190, 111, .08);
  --language-shadow: 0 22px 52px rgba(0, 0, 0, .5);
}

.site-language-picker {
  position: relative;
}

body:has(.site-language-picker[open]) .topbar {
  z-index: 100 !important;
}

.site-language-picker summary {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  gap: 7px;
  padding: 0 9px;
  border: 1px solid var(--language-border);
  border-radius: 4px;
  color: var(--language-muted);
  background: color-mix(in srgb, var(--language-bg) 88%, transparent);
  list-style: none;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.site-language-picker summary::-webkit-details-marker { display: none; }
.site-language-picker summary::after {
  content: "";
  width: 5px;
  height: 5px;
  margin-top: -2px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease;
}
.site-language-picker[open] summary::after { margin-top: 2px; transform: rotate(225deg); }
.site-language-picker summary:hover { color: var(--language-text); border-color: color-mix(in srgb, var(--language-text) 58%, transparent); }
.site-language-picker summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.site-language-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  width: min(292px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid var(--language-border);
  border-radius: 8px;
  background: var(--language-bg);
  box-shadow: var(--language-shadow);
}

[dir="rtl"] .site-language-menu {
  right: auto;
  left: 0;
}

.site-language-option {
  display: grid;
  width: 100%;
  min-height: 39px;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--language-border) 65%, transparent);
  color: var(--language-muted);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.site-language-option:last-child { border-bottom: 0; }
.site-language-option:hover { color: var(--language-text); background: var(--language-hover); }
.site-language-option[aria-pressed="true"] { color: var(--language-text); font-weight: 700; }
.site-language-option .site-language-check { color: transparent; font-size: 10px; }
.site-language-option[aria-pressed="true"] .site-language-check { color: currentColor; }
.site-language-option .site-language-name { font-size: 11px; line-height: 1.25; }

@media (min-width: 540px) {
  .site-language-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-language-option:nth-last-child(-n + 2) { border-bottom: 0; }
  .site-language-option:nth-child(odd) { border-right: 1px solid color-mix(in srgb, var(--language-border) 65%, transparent); }
  [dir="rtl"] .site-language-option:nth-child(odd) { border-right: 0; border-left: 1px solid color-mix(in srgb, var(--language-border) 65%, transparent); }
}

@media (max-width: 539px) {
  .site-language-picker summary { min-height: 28px; padding-inline: 8px; }
  .site-language-menu { max-height: min(70vh, 476px); overflow-y: auto; }
}
