.language-switch{display:none!important}

.floating-edge-control{
  position:fixed;
  z-index:130;
  right:7px;
  touch-action:none;
  user-select:none;
  transition:left .24s cubic-bezier(.2,.8,.2,1),right .24s cubic-bezier(.2,.8,.2,1),top .18s ease;
}
.floating-edge-control.dragging{transition:none}
.floating-edge-button{
  width:50px;
  height:50px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(232,178,57,.92);
  border-radius:50%;
  background:radial-gradient(circle at 34% 26%,#1d3b57,#08101b 68%);
  color:#f3be48;
  box-shadow:0 10px 28px rgba(0,0,0,.48),inset 0 0 15px rgba(245,195,91,.10),0 0 12px rgba(226,169,48,.12);
  transition:transform .18s ease,box-shadow .18s ease;
  cursor:grab;
}
.floating-edge-button:active{cursor:grabbing}
.floating-edge-button:hover{
  transform:scale(1.05);
  box-shadow:0 12px 32px rgba(0,0,0,.54),0 0 18px rgba(232,178,57,.22);
}
.floating-support-icon,
.floating-globe-icon{grid-area:1/1}
.floating-globe-icon{
  display:block;
  color:#20cfff;
  font-size:25px;
  line-height:1;
}
.floating-support-icon{display:none}
.floating-edge-control.support-mode .floating-globe-icon{display:none}
.floating-edge-control.support-mode .floating-support-icon{display:block}
.floating-support-icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.floating-language-menu{
  position:absolute;
  top:58px;
  width:172px;
  padding:8px;
  border:1px solid rgba(226,179,65,.72);
  border-radius:15px;
  background:rgba(6,9,12,.97);
  backdrop-filter:blur(18px);
  box-shadow:0 17px 42px rgba(0,0,0,.58);
  opacity:0;
  visibility:hidden;
  transform:translateY(-7px) scale(.96);
  transition:.18s ease;
}
.floating-edge-control.snap-right .floating-language-menu{right:0;transform-origin:top right}
.floating-edge-control.snap-left .floating-language-menu{left:0;transform-origin:top left}
.floating-edge-control.menu-up .floating-language-menu{top:auto;bottom:58px}
.floating-edge-control.open.language-mode .floating-language-menu{opacity:1;visibility:visible;transform:none}
.floating-language-menu button{
  width:100%;
  height:47px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#f4f0e8;
  font:500 14px Manrope,"Noto Sans SC",sans-serif;
}
.floating-language-menu button:hover{background:rgba(245,195,91,.08)}
.floating-language-menu button.active{color:#f0bd4c;background:#29261e;box-shadow:inset 4px 0 #efb93f}
.floating-language-menu small{color:#97948d;font-size:11px;font-weight:600}
.floating-language-menu button.active small{color:#aaa59a}

#authModal .uid-label,
#authModal .contact-method-field{position:relative!important}
.auth-language-control{
  position:absolute;
  z-index:12;
  right:0;
  user-select:none;
}
.auth-language-control.register-language{top:0}
.auth-language-control.login-language{top:16px}
#authModal .modal:not(.register) .auth-language-control.login-language{top:-18px}
#authModal .modal.register .login-language{display:none}
#authModal .modal:not(.register) .register-language{display:none}
.auth-language-button{
  width:51px;
  height:34px;
  padding:0 7px 0 5px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(231,180,71,.78);
  border-radius:17px;
  background:linear-gradient(145deg,#17263a,#0b1421);
  color:#e8edf5;
  box-shadow:0 7px 18px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06),0 0 10px rgba(231,180,71,.08);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.auth-language-button:hover,
.auth-language-control.open .auth-language-button{
  transform:translateY(-1px);
  border-color:#f2c45b;
  box-shadow:0 9px 22px rgba(0,0,0,.40),0 0 14px rgba(231,180,71,.16);
}
.auth-language-current{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#f5c85d,#d99a28);
  color:#15110a;
  font:500 10px Manrope,"Noto Sans SC",sans-serif;
}
.auth-language-caret{
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid #d9b45c;
  transition:transform .18s ease;
}
.auth-language-control.open .auth-language-caret{transform:rotate(180deg)}
.auth-language-menu{
  position:absolute;
  top:41px;
  right:0;
  width:148px;
  padding:6px;
  border:1px solid rgba(231,180,71,.66);
  border-radius:10px;
  background:linear-gradient(155deg,#182538,#0b1421 72%);
  box-shadow:0 18px 42px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.05),0 0 18px rgba(231,180,71,.09);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.97);
  transform-origin:top right;
  transition:.18s ease;
}
.auth-language-control.open .auth-language-menu{
  opacity:1;
  visibility:visible;
  transform:none;
}
.auth-language-menu button{
  width:100%;
  height:40px;
  padding:0 8px;
  display:grid;
  grid-template-columns:26px 1fr 18px;
  gap:7px;
  align-items:center;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#cbd3df;
  font:400 12px Manrope,"Noto Sans SC",sans-serif;
  text-align:left;
}
.auth-language-menu button:hover{background:rgba(231,180,71,.08)}
.auth-language-menu button.active{
  background:linear-gradient(90deg,rgba(231,180,71,.18),rgba(231,180,71,.05));
  color:#f4c861;
  box-shadow:none;
}
.auth-language-badge{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(102,145,229,.38);
  background:#162849;
  color:#91b5ff;
  font-size:9px;
  font-weight:500;
}
.auth-language-menu button[data-language-option="zh"] .auth-language-badge{
  border-color:rgba(231,180,71,.45);
  background:#3a2b16;
  color:#f2c45b;
}
.auth-language-label{white-space:nowrap}
.auth-language-check{
  color:#f1bc42;
  font-size:15px;
  font-weight:600;
  opacity:0;
  text-align:center;
}
.auth-language-menu button.active .auth-language-check{opacity:1}

@media(max-width:600px){
  .floating-edge-button{width:46px;height:46px}
  .floating-globe-icon{font-size:23px}
  .floating-support-icon svg{width:24px;height:24px}
  .floating-language-menu{top:53px;width:168px}
  .floating-edge-control.menu-up .floating-language-menu{bottom:53px}
  .auth-language-control.register-language{top:-2px}
  .auth-language-control.login-language{top:0}
  .auth-language-button{width:49px;height:32px;border-radius:16px}
  .auth-language-current{width:21px;height:21px}
  .auth-language-menu{top:38px;width:145px}
}

/* Language entry is available in Profile, Login and Register. */
.floating-edge-control{display:none!important}
.auth-language-control{display:block!important}
#authModal .modal.register .auth-language-control.login-language{display:none!important}
#authModal .modal:not(.register) .auth-language-control.register-language{display:none!important}
#profile{position:relative}
.profile-language-control{
  position:absolute;
  z-index:25;
  top:18px;
  right:22px;
  user-select:none;
}
.profile-language-control.open .auth-language-button{
  transform:translateY(-1px);
  border-color:#f2c45b;
  box-shadow:0 9px 22px rgba(0,0,0,.40),0 0 14px rgba(231,180,71,.16);
}
.profile-language-control.open .auth-language-caret{transform:rotate(180deg)}
.profile-language-control.open .auth-language-menu{
  opacity:1;
  visibility:visible;
  transform:none;
}
@media(max-width:600px){
  .profile-language-control{top:14px;right:16px}
}
