.platform-language {
  --language-surface: var(--context-surface, var(--public-page-surface, #fff));
  --language-border: var(--context-border, var(--public-page-border, #d8e2ef));
  --language-depth: var(--context-depth, var(--public-page-border-strong, #bac7d7));
  --language-text: var(--context-text, var(--public-page-text, #10213a));
  --language-accent: var(--context-blue, #2f6bff);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  max-inline-size: 100%;
  margin-block: 8px;
  color: var(--language-text);
  font: inherit;
}
.platform-language__label {
  position: relative;
  display: block;
  inline-size: 224px;
  max-inline-size: 100%;
  min-inline-size: 0;
  margin: 0;
  text-align: start;
}
.platform-language select, .platform-language .platform-language__trigger {
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  min-block-size: 62px;
  margin: 0;
  padding: 25px 38px 9px 44px;
  border: 1px solid var(--language-border);
  border-block-end: 3px solid var(--language-depth);
  border-radius: 16px;
  background: var(--language-surface);
  color: var(--language-text);
  font: 800 16px/1.25 Nunito, system-ui, sans-serif;
  text-overflow: ellipsis;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.platform-language__caption {
  position: absolute;
  inset-block-start: 9px;
  inset-inline-start: 44px;
  inset-inline-end: 38px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: 700 12px/1.2 Nunito, system-ui, sans-serif;
  color: color-mix(in srgb, var(--language-text) 72%, var(--language-surface));
  pointer-events: none;
}
.platform-language__globe, .platform-language__chevron {
  position: absolute;
  inset-block-start: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: color-mix(in srgb, var(--language-text) 72%, var(--language-surface));
}
.platform-language__globe { inset-inline-start: 14px; }
.platform-language__chevron { inset-inline-end: 14px; }
.platform-language select:focus-visible, .platform-language .platform-language__trigger:focus-visible { outline: 3px solid var(--language-accent) !important; outline-offset: 3px; border-color: var(--language-accent); }
.platform-language select:disabled, .platform-language .platform-language__trigger:disabled { opacity: .65; cursor: wait; }
@media (hover: hover) {
  .platform-language select:hover:not(:disabled), .platform-language .platform-language__trigger:hover:not(:disabled) { border-color: var(--language-depth); background: color-mix(in srgb, var(--language-text) 4%, var(--language-surface)); }
}
.platform-language__status {
  box-sizing: border-box;
  position: fixed;
  z-index: 2147483000;
  inset: auto;
  margin: 0;
  padding: 10px 12px;
  max-inline-size: calc(100vw - 24px);
  overflow: auto;
  overflow-wrap: anywhere;
  border: 1px solid var(--language-border);
  border-radius: 12px;
  background: var(--language-surface);
  color: var(--language-text);
  box-shadow: 0 6px 20px rgb(0 0 0 / .15);
  font: 600 13px/1.45 Nunito, system-ui, sans-serif;
}
.platform-language__status:empty { display: none; }
.platform-language[data-menu-open="true"] .platform-language__status { visibility: hidden; }
.platform-language[data-state="pending"] .platform-language__status {
  inline-size: 1px !important;
  block-size: 1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.platform-language[data-state="pending"] .platform-language__trigger .platform-language__chevron { visibility: hidden; }
.platform-language[data-state="pending"] .platform-language__trigger::after {
  content: "";
  position: absolute;
  inset-inline-end: 12px;
  inset-block-start: calc(50% - 7px);
  width: 14px;
  height: 14px;
  box-sizing: border-box;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  animation: language-saving-spin .8s linear infinite;
}
@keyframes language-saving-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .platform-language[data-state="pending"] .platform-language__trigger::after { animation: none; }
}
@media (prefers-color-scheme: dark) {
  .platform-language {
    --language-surface: var(--context-surface, var(--public-page-surface, #111c2d));
    --language-border: var(--context-border, var(--public-page-border, #2c3c53));
    --language-depth: var(--context-depth, var(--public-page-border-strong, #34445a));
    --language-text: var(--context-text, var(--public-page-text, #f4f7fc));
    color-scheme: dark;
  }
}
.navbar .platform-language{flex:0 1 auto;min-inline-size:0;max-inline-size:200px;margin-inline-start:auto;margin-inline-end:.8rem}
.universe-picker__language{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-block:.5rem}
.universe-picker__language select{min-block-size:44px;max-inline-size:100%;font:inherit;color:inherit;background:var(--surface-color,Canvas);border:1px solid currentColor;border-radius:.6rem;padding:.4rem}
.universe-picker .platform-language {
  --language-surface: var(--lp-modal-surface);
  --language-border: var(--lp-modal-border);
  --language-depth: var(--lp-modal-depth);
  --language-text: var(--lp-modal-text);
  --language-accent: var(--exam-track-primary, #2f6bff);
}
.universe-community .platform-language {
  --language-surface: var(--uc-surface);
  --language-border: var(--uc-border);
  --language-depth: var(--uc-border);
  --language-text: var(--uc-text);
  --language-accent: var(--uc-primary);
}
html:lang(zh) body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans CJK SC","Noto Sans CJK TC","Microsoft YaHei","PingFang SC","PingFang TC",sans-serif;line-break:strict}
html:lang(zh) button,html:lang(zh) input,html:lang(zh) select,html:lang(zh) textarea{font-family:inherit}
.platform-language .platform-language__trigger {
  position: relative;
  inline-size: 224px;
  text-align: start;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  transform: none;
}
.platform-language__value { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.platform-language__trigger[aria-expanded="true"] { border-color: var(--language-accent); }
.platform-language__trigger[aria-expanded="true"] .platform-language__chevron { transform: translateY(-50%) rotate(180deg); }
.platform-language__label[hidden], .platform-language__menu[hidden] { display: none !important; }
.platform-language__menu {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  position: fixed;
  inset: auto;
  z-index: 2147483000;
  margin: 0;
  padding: 6px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding: 6px;
  scrollbar-width: thin;
  scrollbar-color: var(--language-depth) var(--language-surface);
  border: 1px solid var(--language-border);
  border-radius: 14px;
  background: var(--language-surface);
  color: var(--language-text);
  box-shadow: 0 12px 32px rgb(0 0 0 / .18);
}
.platform-language__menu .platform-language__option {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--language-text);
  font: 700 14px/1.35 Nunito, system-ui, sans-serif;
  text-align: start;
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
  box-shadow: none;
  transform: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.platform-language__check { flex: 0 0 14px; visibility: hidden; text-align: center; }
.platform-language__option[aria-selected="true"] .platform-language__check { visibility: visible; }
.platform-language__menu .platform-language__option[aria-selected="true"] {
  background: color-mix(in srgb, var(--language-accent) 13%, var(--language-surface));
}
.platform-language__menu .platform-language__option:focus-visible {
  border-color: var(--language-accent);
  background: color-mix(in srgb, var(--language-accent) 18%, var(--language-surface));
}
@media (hover: hover) {
  .platform-language__menu .platform-language__option:hover { background: color-mix(in srgb, var(--language-accent) 13%, var(--language-surface)); }
}
/* Public language selection is a utility, not a field in the sign-in form. */
.platform-language--compact { margin-block: 0; }
.platform-language--compact .platform-language__label,
.platform-language--compact .platform-language__trigger { inline-size: 200px; max-inline-size: 100%; }
.platform-language--compact .platform-language__trigger { inline-size: max-content; }
.platform-language--compact select,
.platform-language--compact .platform-language__trigger {
  min-block-size: 44px;
  padding: 10px 28px 10px 34px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.platform-language--compact .platform-language__caption { display: none; }
.platform-language--compact .platform-language__globe { inset-inline-start: 8px; width: 18px; height: 18px; }
.platform-language--compact .platform-language__chevron { inset-inline-end: 6px; width: 14px; height: 14px; }
.platform-language .platform-language__trigger:hover,
.platform-language__menu .platform-language__option:hover { box-shadow: none !important; filter: none !important; }
.navbar .platform-language + .nav-buttons { margin-inline-start: 0 !important; }
.legal-navigation .platform-language { margin-inline-start: auto; }
html body.auth-language-page {
  flex-direction: column;
  gap: 16px;
  padding-block-start: max(16px, env(safe-area-inset-top, 0px)) !important;
}
html body.auth-language-page > .auth-language-toolbar {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  flex: 0 0 auto;
  align-self: stretch;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.auth-language-page > .login-container { flex-shrink: 0; margin-block: auto; }
@media (max-width: 600px) {
  .navbar .platform-language { margin-inline: auto 4px; }
  .navbar .platform-language--compact select,
  .navbar .platform-language--compact .platform-language__trigger { padding-inline: 26px 20px; }
  .navbar .platform-language--compact .platform-language__globe { inset-inline-start: 4px; width: 16px; }
  .navbar .platform-language--compact .platform-language__chevron { inset-inline-end: 2px; }
  html body.external-page .navbar:has(.platform-language) .container { padding-inline: 12px !important; gap: 4px; }
}
