.lang-modal{
  position:fixed;inset:0;z-index:99999;
  display:flex;flex-direction:column;
  background:#050a14;
  isolation:isolate;
}
.lang-modal[aria-hidden="true"]{display:none}
.lang-modal-bg{
  position:absolute;inset:-120px;pointer-events:none;z-index:0;
  background-image:radial-gradient(1px 1px at 8% 15%, rgba(255,255,255,.6) 55%, transparent 58%),
    radial-gradient(1px 1px at 22% 72%, rgba(255,255,255,.5) 55%, transparent 58%),
    radial-gradient(1px 1px at 45% 35%, rgba(255,255,255,.55) 55%, transparent 58%),
    radial-gradient(1px 1px at 68% 88%, rgba(255,255,255,.45) 55%, transparent 58%),
    radial-gradient(1px 1px at 85% 22%, rgba(255,255,255,.6) 55%, transparent 58%),
    radial-gradient(circle at 25% 30%, rgba(130,90,255,.18) 0%, transparent 50%),
    radial-gradient(circle at 72% 40%, rgba(70,200,255,.12) 0%, transparent 50%),
    radial-gradient(circle at 50% 80%, rgba(255,120,200,.08) 0%, transparent 45%);
  filter:blur(20px) saturate(1.2);opacity:.9;
  mix-blend-mode:screen;
}
.lang-modal-stars{
  position:absolute;inset:-40%;pointer-events:none;z-index:0;
  mix-blend-mode:screen;
  opacity:.95;
}
.lang-modal-stars-a{animation:langStarsTwinkleA 7s ease-in-out infinite;}
.lang-modal-stars-b{animation:langStarsTwinkleB 11s ease-in-out infinite;}
@keyframes langStarsTwinkleA{
  0%,100%{opacity:.5;}
  20%{opacity:1;}
  50%{opacity:.65;}
  75%{opacity:1;}
}
@keyframes langStarsTwinkleB{
  0%,100%{opacity:.45;}
  30%{opacity:1;}
  60%{opacity:.6;}
  85%{opacity:1;}
}
.lang-modal-vignette{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 50% 45%, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 65%, rgba(0,0,0,.6) 100%);
  opacity:.9;
}
.lang-modal-header{
  position:relative;z-index:1;flex-shrink:0;
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  padding:12px 16px 4px;
  background:transparent;
  border-bottom:none;
}
.lang-modal-title{
  display:none;
}
.lang-modal-close{
  border:1px solid rgba(167,139,250,.35);
  border-radius:999px;
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(88,28,135,.25);
  color:#c4b5fd;cursor:pointer;
  transition:background .15s,transform .15s,box-shadow .15s;
  padding:0;
  line-height:0;
}
.lang-modal-close:hover{
  background:rgba(124,58,237,.4);
  box-shadow:0 0 0 1px rgba(167,139,250,.35);
  transform:translateY(-0.5px);
}
.lang-modal-body{
  position:relative;z-index:1;flex:1;min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:24px;
  overflow:auto;
}
.lang-modal-term-label{
  position:absolute;
  left:50%;
  top:clamp(14px, 8vh, 78px);
  transform:translateX(-50%);
  margin:0;
  display:flex;
  align-items:center;
  gap:6px;
  font-family:"Courier New", "Lucida Console", "Liberation Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:clamp(20px,2.8vw,30px);
  font-weight:800;
  color:#facc15;
  text-shadow:0 0 10px rgba(250,204,21,.55), 0 0 22px rgba(250,204,21,.25);
  letter-spacing:.02em;
  text-transform:none;
  white-space:nowrap;
  z-index:5;
  pointer-events:none;
}
.lang-modal-term-caret{
  display:inline-block;
  width:0.7em;
  text-align:left;
  animation:langTerminalCaret 1s steps(2,start) infinite;
}
@keyframes langTerminalCaret{
  0%,40%{opacity:1;}
  50%,100%{opacity:0;}
}
.lang-modal-planet-wrap{
  position:relative;
  width:min(85vw, calc(100vh - 100px), 560px);
  height:min(85vw, calc(100vh - 100px), 560px);
  flex-shrink:0;
}
/* Глоу как в globeRenderer.ts: ATMO [80,150,240], по краю сферы */
.lmEarthGlowBase{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.lang-modal-planet-atmosphere,
.lang-modal-planet-body{
  z-index:1;
}
.lang-modal-planet-atmosphere{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(ellipse 140% 90% at 50% 105%,
    rgba(139,92,246,.4) 0%, rgba(124,58,237,.2) 40%, transparent 65%);
  pointer-events:none;
}
.lang-modal-planet-body{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(ellipse 120% 65% at 50% 98%,
    rgba(88,28,135,.9) 0%, rgba(109,40,217,.75) 25%,
    rgba(124,58,237,.55) 45%, rgba(139,92,246,.3) 58%, transparent 62%);
  pointer-events:none;
  box-shadow:0 0 60px 20px rgba(124,58,237,.25), inset -10px -20px 40px rgba(0,0,0,.3);
}
@media (max-width: 640px){
  .lang-modal-planet-wrap{width:min(85vw, calc(100vh - 100px));height:min(85vw, calc(100vh - 100px))}
}
