/* Atlas Language Gate — all styles namespaced to avoid theme conflicts. */
.alg-root {
  --alg-accent: #8e97ff;
  --alg-bg: #101426;
  --alg-surface: #1b2137;
  --alg-text: #fff;
  --alg-popup-width: 650px;
  --alg-radius: 28px;
  --alg-flag-size: 48px;
  --alg-label-size: 19px;
  --alg-card-gap: 14px;
  --alg-name-align: right;
  --alg-float-x: 24px;
  --alg-float-y: 24px;
  --alg-float-width: 165px;
  --alg-float-height: 52px;
  box-sizing: border-box;
  color: var(--alg-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
  line-height: 1.5;
}
.alg-root *, .alg-root *::before, .alg-root *::after { box-sizing: border-box; }
.alg-root [hidden] { display: none !important; }
body.alg-body-locked { overflow: hidden !important; }
html.alg-initial-gate #alg-root { visibility: visible !important; }
.alg-overlay { position: fixed; inset: 0; display: flex; justify-content: center; align-items: center; z-index: 2147483646; overflow-y: auto; padding: 24px; isolation: isolate; }
.alg-backdrop { position: fixed; inset: 0; background: rgba(4, 7, 19, .85); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); opacity: 0; transition: opacity .35s ease; }
.alg-is-open .alg-backdrop { opacity: 1; }
.alg-position-top .alg-overlay { align-items: flex-start; }
.alg-position-bottom .alg-overlay { align-items: flex-end; }
.alg-dialog {
  direction: rtl;
  position: relative;
  width: min(100%, var(--alg-popup-width));
  flex: 0 0 auto;
  margin: auto;
  padding: clamp(24px, 4.5vw, 42px);
  overflow: hidden;
  color: var(--alg-text);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--alg-radius);
  background: var(--alg-bg);
  box-shadow: 0 35px 100px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.05) inset;
  text-align: center;
  opacity: 0;
  transform: scale(.91) translateY(30px);
  transition: opacity .35s ease, transform .55s cubic-bezier(.2,1.3,.32,1);
  outline: 0;
}
.alg-position-top .alg-dialog, .alg-position-bottom .alg-dialog { margin: 0 auto; }
.alg-animate-fade .alg-dialog { transform: none; transition: opacity .32s ease; }
.alg-animate-slide .alg-dialog { transform: translateY(56px); transition: transform .42s cubic-bezier(.2,.8,.2,1), opacity .38s ease; }
.alg-is-open .alg-dialog { opacity: 1; transform: none; }
.alg-glow { pointer-events: none; position: absolute; width: 480px; height: 330px; top: -290px; left: 50%; transform: translateX(-50%); border-radius: 50%; background: var(--alg-accent); filter: blur(110px); opacity: .22; }
.alg-dialog-head { position: relative; display: flex; justify-content: space-between; align-items: center; }
.alg-brand-mark { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.25); border-radius: 13px; font-size: 22px; color: var(--alg-accent); }
.alg-close { appearance: none !important; border: 1px solid rgba(255,255,255,.14) !important; background: rgba(255,255,255,.07) !important; box-shadow: none !important; color: var(--alg-text) !important; border-radius: 50% !important; width: 35px; height: 35px; display: grid; place-items: center; cursor: pointer; font-family: inherit !important; font-size: 25px !important; font-weight: 300; line-height: 1 !important; padding: 0 !important; transition: background .2s; }
.alg-close:hover, .alg-close:focus-visible { background: rgba(255,255,255,.15) !important; }
.alg-welcome { display: flex; justify-content: center; align-items: center; gap: 13px; margin-top: 5px; color: var(--alg-accent); font-size: 10px; font-weight: 700; letter-spacing: 2.3px; }
.alg-welcome-rule { height: 1px; width: 23px; background: currentColor; opacity: .6; }
.alg-hero-greeting { display: grid; align-items: center; justify-items: center; min-height: 92px; margin-top: 5px; font-size: clamp(50px, 9vw, 76px); line-height: 1.25; font-weight: 300; letter-spacing: -3px; text-shadow: 0 8px 40px color-mix(in srgb, var(--alg-accent) 35%, transparent); white-space: nowrap; }
.alg-dialog h2 { color: var(--alg-text) !important; font-family: inherit !important; font-size: clamp(21px, 3.5vw, 27px) !important; font-weight: 700 !important; line-height: 1.55 !important; margin: 0 0 3px !important; padding: 0 !important; }
.alg-dialog p { color: var(--alg-text) !important; opacity: .62; font-size: 13px !important; margin: 0 0 26px !important; padding: 0 !important; }
.alg-language-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.alg-language-card {
  display: flex !important;
  flex-direction: column;
  gap: 11px;
  min-width: 0;
  padding: 17px !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 17px !important;
  text-decoration: none !important;
  background: var(--alg-surface) !important;
  color: var(--alg-text) !important;
  text-transform: none !important;
  text-align: right;
  box-shadow: none !important;
  transition: transform .23s ease, border-color .23s ease, background .23s ease, box-shadow .23s ease;
}
.alg-language-card:hover, .alg-language-card:focus-visible { transform: translateY(-3px); border-color: var(--alg-accent) !important; background: color-mix(in srgb, var(--alg-surface) 82%, var(--alg-accent)) !important; box-shadow: 0 12px 24px rgba(0,0,0,.16) !important; outline: none; }
.alg-language-main { display: flex; flex-direction: row; align-items: center; min-height: var(--alg-flag-size); gap: var(--alg-card-gap); }
.alg-name-first .alg-language-main { flex-direction: row; }
.alg-vertical .alg-language-main { flex-direction: column; justify-content: center; }
.alg-vertical.alg-name-first .alg-language-main { flex-direction: column; }
.alg-flag { width: var(--alg-flag-size); height: var(--alg-flag-size); display: grid; place-items: center; flex: 0 0 var(--alg-flag-size); overflow: hidden; border-radius: max(5px, calc(var(--alg-flag-size) * .19)); background: rgba(255,255,255,.065); font-size: calc(var(--alg-flag-size) * .7); line-height: 1; }
.alg-flag img { display: block; width: 100% !important; height: 100% !important; object-fit: contain; border: none !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
.alg-lang-name { display: block; flex: 1; font-family: inherit; color: var(--alg-text); font-size: var(--alg-label-size); font-weight: 650; line-height: 1.5; text-align: var(--alg-name-align); overflow-wrap: anywhere; }
.alg-vertical .alg-lang-name { flex: 0 1 auto; width: 100%; }
.alg-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 6px; color: var(--alg-text); opacity: .5; font-size: 12px; }
.alg-card-arrow { display: grid; place-items: center; font-size: 15px; transition: transform .22s; }
.alg-language-card:hover .alg-card-arrow { transform: translate(-3px,-3px); }
.alg-modal-foot { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 25px; color: var(--alg-text); font-size: 10px; letter-spacing: .2px; opacity: .45; }
.alg-secure-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--alg-accent); }
.alg-bottom-decoration { margin-right: 5px; color: var(--alg-accent); }
.alg-floating { position: fixed; z-index: 2147483600; }
.alg-floating-bottom-right { bottom: var(--alg-float-y); right: var(--alg-float-x); }
.alg-floating-bottom-left { bottom: var(--alg-float-y); left: var(--alg-float-x); }
.alg-floating-top-right { top: var(--alg-float-y); right: var(--alg-float-x); }
.alg-floating-top-left { top: var(--alg-float-y); left: var(--alg-float-x); }
.alg-open-button {
  appearance: none !important;
  display: inline-flex !important;
  direction: ltr !important;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: var(--alg-float-width);
  height: var(--alg-float-height);
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--alg-accent) 50%, white) !important;
  background: var(--alg-bg) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.25), 0 0 25px color-mix(in srgb, var(--alg-accent) 12%, transparent) !important;
  padding: 5px 15px !important;
  color: var(--alg-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease;
}
.alg-open-button:hover { transform: translateY(-3px); border-color: var(--alg-accent) !important; }
.alg-open-button:focus-visible { outline: 3px solid var(--alg-accent) !important; outline-offset: 3px !important; }
.alg-btn-icon { flex: 0 0 auto; display: grid; place-items: center; color: var(--alg-accent); font-size: 22px; }
.alg-btn-copy { display: flex; flex: 1; flex-direction: column; align-items: center; min-width: 0; }
.alg-btn-greeting { display: block; font-size: 16px; font-weight: 650; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.alg-btn-label { display: block; opacity: .7; font-size: 9px; white-space: nowrap; }
.alg-btn-chevron { opacity: .7; font-size: 16px; flex: 0 0 auto; }
.alg-greeting-leave { animation: alg-out .21s ease forwards; }
.alg-greeting-enter { animation: alg-in .32s cubic-bezier(.18,.9,.26,1) both; }
@keyframes alg-out { to { opacity: 0; transform: translateY(-11px) scale(.96); filter: blur(4px); } }
@keyframes alg-in { from { opacity: 0; transform: translateY(12px) scale(.96); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@media (max-width: 600px) {
  .alg-overlay { padding: 12px; }
  .alg-dialog { padding: 21px 17px 22px; border-radius: min(var(--alg-radius), 24px); }
  .alg-language-grid { gap: 9px; }
  .alg-language-card { padding: 12px !important; border-radius: 12px !important; }
  .alg-flag { width: min(var(--alg-flag-size), 45px); height: min(var(--alg-flag-size), 45px); flex-basis: min(var(--alg-flag-size), 45px); }
  .alg-lang-name { font-size: min(var(--alg-label-size), 17px); }
  .alg-language-main { gap: min(var(--alg-card-gap), 10px); }
  .alg-hero-greeting { min-height: 82px; font-size: clamp(47px, 12vw, 68px); }
  .alg-dialog p { margin-bottom: 19px !important; }
  .alg-card-bottom { font-size: 10px; }
  .alg-floating { --alg-float-x: min(20px, var(--alg-float-x)); --alg-float-y: min(20px, var(--alg-float-y)); }
}
@media (max-width: 360px) {
  .alg-language-grid { grid-template-columns: 1fr; }
  .alg-dialog { margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .alg-root *, .alg-root *::before, .alg-root *::after { animation: none !important; transition-duration: .01ms !important; }
}
