/* Lusty Looters unified reason popup system v718 */
:root {
  --ll-popup-blue: 95, 161, 255;
}

html.ll-popup-open,
body.ll-popup-open {
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

body .ll-popup-unified-overlay.ll-popup-unified-overlay {
  --ll-popup-rgb: var(--ll-popup-blue);
  --ll-popup-bright: #9fc6ff;
  --ll-popup-soft: #d9e9ff;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483640 !important;
  width: 100vw !important;
  height: 100dvh !important;
  display: none !important;
  place-items: center !important;
  padding: 22px !important;
  overflow: auto !important;
  box-sizing: border-box !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(var(--ll-popup-rgb), .34), rgba(var(--ll-popup-rgb), .09) 38%, rgba(0, 0, 0, .96) 78%),
    linear-gradient(180deg, rgba(2, 8, 18, .62), rgba(0, 0, 0, .90)) !important;
  backdrop-filter: blur(17px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(17px) saturate(1.14) !important;
  animation: none !important;
}

body .ll-popup-unified-overlay.ll-popup-unified-overlay.open,
body .ll-popup-unified-overlay.ll-popup-unified-overlay[data-ll-popup-visible="true"] {
  display: grid !important;
  animation: llPopupOverlayIn .22s ease-out both !important;
}

body .ll-popup-unified-overlay.ll-popup-unified-overlay[data-ll-popup-theme="success"] {
  --ll-popup-rgb: 64, 221, 139;
  --ll-popup-bright: #69efa8;
  --ll-popup-soft: #d5ffea;
}

body .ll-popup-unified-overlay.ll-popup-unified-overlay[data-ll-popup-theme="warning"] {
  --ll-popup-rgb: 244, 186, 74;
  --ll-popup-bright: #ffd77c;
  --ll-popup-soft: #fff1c7;
}

body .ll-popup-unified-overlay.ll-popup-unified-overlay[data-ll-popup-theme="error"] {
  --ll-popup-rgb: 255, 67, 97;
  --ll-popup-bright: #ff91a3;
  --ll-popup-soft: #ffd5dc;
}

body .ll-popup-unified-overlay.ll-popup-unified-overlay[data-ll-popup-theme="gift"] {
  --ll-popup-rgb: 188, 104, 255;
  --ll-popup-bright: #d7a2ff;
  --ll-popup-soft: #f1ddff;
}

body .ll-popup-unified-overlay .ll-popup-unified-card {
  position: relative !important;
  isolation: isolate !important;
  width: min(560px, calc(100vw - 34px)) !important;
  max-width: 560px !important;
  max-height: calc(100dvh - 44px) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: clamp(24px, 4vw, 36px) !important;
  border: 1px solid rgba(var(--ll-popup-rgb), .58) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 50% -4%, rgba(var(--ll-popup-rgb), .17), transparent 46%),
    linear-gradient(160deg, rgba(8, 18, 34, .99), rgba(2, 7, 15, .995)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .04),
    0 30px 90px rgba(0, 0, 0, .68),
    0 0 56px rgba(var(--ll-popup-rgb), .25) !important;
  color: #edf5ff !important;
  text-align: center !important;
  box-sizing: border-box !important;
  animation: none !important;
}

body .ll-popup-unified-overlay.open .ll-popup-unified-card,
body .ll-popup-unified-overlay[data-ll-popup-visible="true"] .ll-popup-unified-card {
  animation: llPopupCardIn .34s cubic-bezier(.16, .88, .28, 1.18) both !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background: linear-gradient(115deg, transparent 24%, rgba(var(--ll-popup-rgb), .08) 48%, transparent 72%) !important;
  background-size: 220% 100% !important;
  animation: llPopupCardSheen 5.5s ease-in-out infinite !important;
}

body .ll-popup-unified-overlay .ll-popup-brand-icon,
.ll-link-confirm-icon.ll-popup-brand-icon {
  position: relative !important;
  display: block !important;
  width: 110px !important;
  height: 110px !important;
  margin: 0 auto 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ll-link-confirm-icon.ll-popup-brand-icon {
  --ll-popup-rgb: var(--ll-popup-blue);
  --ll-popup-bright: #9fc6ff;
}

body .ll-popup-unified-overlay .ll-popup-brand-icon::before,
body .ll-popup-unified-overlay .ll-popup-brand-icon::after,
.ll-link-confirm-icon.ll-popup-brand-icon::before,
.ll-link-confirm-icon.ll-popup-brand-icon::after {
  content: none !important;
  display: none !important;
}

body .ll-popup-unified-overlay .ll-popup-brand-icon .ll-popup-logo-ring,
.ll-link-confirm-icon.ll-popup-brand-icon .ll-popup-logo-ring {
  position: absolute !important;
  inset: -12px !important;
  z-index: 1 !important;
  display: block !important;
  border: 1px solid rgba(var(--ll-popup-rgb), .35) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  animation: llPopupMainMenuRingSpin 14s linear infinite !important;
}

body .ll-popup-unified-overlay .ll-popup-brand-icon .ll-popup-logo-ring::before,
.ll-link-confirm-icon.ll-popup-brand-icon .ll-popup-logo-ring::before {
  content: "" !important;
  position: absolute !important;
  top: -2px !important;
  left: 50% !important;
  width: 6px !important;
  height: 6px !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;
  background: var(--ll-popup-bright) !important;
  box-shadow: 0 0 10px var(--ll-popup-bright) !important;
}

body .ll-popup-unified-overlay .ll-popup-brand-icon .ll-popup-logo-image,
.ll-link-confirm-icon.ll-popup-brand-icon .ll-popup-logo-image {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 110px !important;
  height: 110px !important;
  padding: 0 !important;
  border: 2px solid rgba(var(--ll-popup-rgb), .50) !important;
  border-radius: 50% !important;
  background: transparent !important;
  object-fit: cover !important;
  box-shadow: 0 0 40px rgba(var(--ll-popup-rgb), .45), 0 0 80px rgba(var(--ll-popup-rgb), .20) !important;
  animation: llPopupMainMenuLogoFloat 5s ease-in-out infinite !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-kicker {
  margin: 0 0 8px !important;
  color: var(--ll-popup-bright) !important;
  font: 900 10px/1.2 'JetBrains Mono', monospace !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-title {
  margin: 0 0 13px !important;
  color: #fff !important;
  font: 900 clamp(27px, 4vw, 36px)/1.02 'ARK', 'Cinzel', Georgia, serif !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 28px rgba(var(--ll-popup-rgb), .38), 0 2px 0 rgba(0, 0, 0, .72) !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-message {
  max-width: 455px !important;
  margin: 0 auto 18px !important;
  color: var(--ll-popup-soft) !important;
  font: 650 14px/1.55 'Crimson Pro', Georgia, serif !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-details {
  border-color: rgba(var(--ll-popup-rgb), .24) !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-details :is(.purchase-result-line, .wrong-server-line, .ll-subs-result-line) {
  border-color: rgba(var(--ll-popup-rgb), .24) !important;
  background: rgba(var(--ll-popup-rgb), .055) !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-details :is(.purchase-result-line, .wrong-server-line, .ll-subs-result-line) span {
  color: var(--ll-popup-bright) !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 11px !important;
  margin-top: 22px !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-actions :is(button, .button, .btn, a) {
  min-width: 156px !important;
  min-height: 46px !important;
  border: 1px solid rgba(var(--ll-popup-rgb), .54) !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, rgba(var(--ll-popup-rgb), .17), rgba(3, 12, 28, .96)) !important;
  color: #f5f9ff !important;
  box-shadow: 0 0 22px rgba(var(--ll-popup-rgb), .16), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
  transition: transform .17s ease, border-color .17s ease, box-shadow .17s ease, background .17s ease !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-actions :is(button, .button, .btn, a):hover,
body .ll-popup-unified-overlay .ll-popup-unified-actions :is(button, .button, .btn, a):focus-visible {
  transform: translateY(-2px) !important;
  border-color: rgba(var(--ll-popup-rgb), .92) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .34), 0 0 28px rgba(var(--ll-popup-rgb), .28) !important;
  outline: none !important;
}

body .ll-popup-unified-overlay .ll-popup-unified-actions :is(.primary, .btn-primary, [data-ll-popup-primary]) {
  background: linear-gradient(135deg, rgba(var(--ll-popup-rgb), .96), rgba(var(--ll-popup-rgb), .63)) !important;
  color: #03101d !important;
  font-weight: 950 !important;
}

@keyframes llPopupOverlayIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes llPopupCardIn {
  from { opacity: 0; transform: translateY(18px) scale(.94); filter: blur(5px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes llPopupCardSheen {
  0%, 34% { background-position: 135% 0; opacity: .25; }
  58% { background-position: -35% 0; opacity: .9; }
  100% { background-position: -35% 0; opacity: .25; }
}

@keyframes llPopupMainMenuRingSpin {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

@keyframes llPopupMainMenuLogoFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -8px; }
}

@media (max-width: 600px) {
  body .ll-popup-unified-overlay.ll-popup-unified-overlay { padding: 14px !important; }
  body .ll-popup-unified-overlay .ll-popup-unified-card { width: min(100%, calc(100vw - 24px)) !important; padding: 24px 18px !important; }
  body .ll-popup-unified-overlay .ll-popup-unified-actions { display: grid !important; grid-template-columns: 1fr !important; }
  body .ll-popup-unified-overlay .ll-popup-unified-actions :is(button, .button, .btn, a) { width: 100% !important; min-width: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  body .ll-popup-unified-overlay.ll-popup-unified-overlay,
  body .ll-popup-unified-overlay .ll-popup-unified-card,
  body .ll-popup-unified-overlay .ll-popup-unified-card::before {
    animation: none !important;
  }
}

/* Old store CSS forces every wrong-server child to transform:none and leaves
   parts of the former status-icon box behind. Individual rotate/translate
   animation properties bypass that legacy transform lock; this reset removes
   the obsolete square without touching the animated logo or ring. */
html body.store-page #wrong-server-overlay .wrong-server-card .wrong-server-icon.ll-popup-brand-icon,
html body.product-page #wrong-server-overlay .wrong-server-card .wrong-server-icon.ll-popup-brand-icon {
  width: 110px !important;
  height: 110px !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  clip-path: none !important;
}

html body.store-page #wrong-server-overlay .wrong-server-card .wrong-server-icon.ll-popup-brand-icon::before,
html body.store-page #wrong-server-overlay .wrong-server-card .wrong-server-icon.ll-popup-brand-icon::after,
html body.product-page #wrong-server-overlay .wrong-server-card .wrong-server-icon.ll-popup-brand-icon::before,
html body.product-page #wrong-server-overlay .wrong-server-card .wrong-server-icon.ll-popup-brand-icon::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

html body.store-page #wrong-server-overlay .wrong-server-card .ll-popup-logo-ring,
html body.product-page #wrong-server-overlay .wrong-server-card .ll-popup-logo-ring {
  rotate: 0deg;
  animation: llPopupMainMenuRingSpin 14s linear infinite !important;
}

html body.store-page #wrong-server-overlay .wrong-server-card .ll-popup-logo-image,
html body.product-page #wrong-server-overlay .wrong-server-card .ll-popup-logo-image {
  translate: 0 0;
  animation: llPopupMainMenuLogoFloat 5s ease-in-out infinite !important;
}

/* Every legacy popup icon used to draw its own badge behind the symbol. Reset
   that badge for all unified popups so only the logo, ring, dot and glow remain. */
html body .ll-popup-unified-overlay .ll-popup-unified-card .ll-popup-brand-icon {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  height: 110px !important;
  min-height: 110px !important;
  max-height: 110px !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  clip-path: none !important;
  overflow: visible !important;
}

html body .ll-popup-unified-overlay .ll-popup-unified-card .ll-popup-brand-icon::before,
html body .ll-popup-unified-overlay .ll-popup-unified-card .ll-popup-brand-icon::after {
  content: none !important;
  display: none !important;
  position: static !important;
  inset: auto !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

html body .ll-link-confirm-icon.ll-popup-brand-icon {
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body .ll-link-confirm-icon.ll-popup-brand-icon::before,
html body .ll-link-confirm-icon.ll-popup-brand-icon::after {
  content: none !important;
  display: none !important;
}

/* v718: one authoritative icon-shell reset. Legacy store styles use four-class
   warning/success selectors with !important, so a normal shared class could
   lose the cascade and reveal their square badge. The runtime adds this data
   marker to every popup icon and also applies the same reset inline. */
html body .ll-popup-unified-overlay.ll-popup-unified-overlay .ll-popup-unified-card.ll-popup-unified-card [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon,
html body .ll-link-confirm-overlay.ll-link-confirm-overlay .ll-link-confirm-card.ll-link-confirm-card [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  height: 110px !important;
  min-height: 110px !important;
  max-height: 110px !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  clip-path: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  animation: none !important;
  transition: none !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  isolation: isolate !important;
}

html body .ll-popup-unified-overlay.ll-popup-unified-overlay .ll-popup-unified-card.ll-popup-unified-card [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon::before,
html body .ll-popup-unified-overlay.ll-popup-unified-overlay .ll-popup-unified-card.ll-popup-unified-card [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon::after,
html body .ll-link-confirm-overlay.ll-link-confirm-overlay .ll-link-confirm-card.ll-link-confirm-card [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon::before,
html body .ll-link-confirm-overlay.ll-link-confirm-overlay .ll-link-confirm-card.ll-link-confirm-card [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon::after {
  content: none !important;
  display: none !important;
  position: static !important;
  inset: auto !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

html body [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon > .ll-popup-logo-ring {
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
  filter: none !important;
  clip-path: none !important;
}

html body [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon > .ll-popup-logo-ring::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

html body [data-ll-popup-icon-shell="clean"].ll-popup-brand-icon > .ll-popup-logo-image {
  margin: 0 !important;
  padding: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  filter: none !important;
  clip-path: none !important;
}

/* Renewal popup injects its own late inline styles. These higher-specificity
   rules keep it on the same shared visual system. */
body #ll-renewal-reward-prompt.ll-popup-unified-overlay {
  width: 100vw !important;
  height: 100dvh !important;
  padding: 22px !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(var(--ll-popup-rgb), .34), rgba(var(--ll-popup-rgb), .09) 38%, rgba(0, 0, 0, .96) 78%),
    linear-gradient(180deg, rgba(2, 8, 18, .62), rgba(0, 0, 0, .90)) !important;
  backdrop-filter: blur(17px) saturate(1.14) !important;
}

body #ll-renewal-reward-prompt .ll-popup-unified-card {
  width: min(560px, calc(100vw - 34px)) !important;
  max-width: 560px !important;
  padding: clamp(24px, 4vw, 36px) !important;
  border-color: rgba(var(--ll-popup-rgb), .58) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 50% -4%, rgba(var(--ll-popup-rgb), .17), transparent 46%),
    linear-gradient(160deg, rgba(8, 18, 34, .99), rgba(2, 7, 15, .995)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04), 0 30px 90px rgba(0, 0, 0, .68), 0 0 56px rgba(var(--ll-popup-rgb), .25) !important;
  animation: none !important;
}

body #ll-renewal-reward-prompt.ll-popup-unified-overlay[data-ll-popup-visible="true"] .ll-popup-unified-card {
  animation: llPopupCardIn .34s cubic-bezier(.16, .88, .28, 1.18) both !important;
}

body #ll-renewal-reward-prompt .ll-popup-unified-kicker { margin: 0 0 8px !important; color: var(--ll-popup-bright) !important; }
body #ll-renewal-reward-prompt .ll-popup-unified-title { margin: 0 0 13px !important; font-size: clamp(27px, 4vw, 36px) !important; text-shadow: 0 0 28px rgba(var(--ll-popup-rgb), .38), 0 2px 0 rgba(0, 0, 0, .72) !important; }
body #ll-renewal-reward-prompt .ll-popup-unified-message { max-width: 455px !important; margin: 0 auto 18px !important; color: var(--ll-popup-soft) !important; font-size: 14px !important; line-height: 1.55 !important; }
body #ll-renewal-reward-prompt .ll-popup-unified-actions { display: flex !important; gap: 11px !important; margin-top: 22px !important; }
body #ll-renewal-reward-prompt .ll-popup-unified-actions .ll-renewal-popup-btn { min-width: 156px !important; min-height: 46px !important; border-color: rgba(var(--ll-popup-rgb), .54) !important; border-radius: 13px !important; background: linear-gradient(180deg, rgba(var(--ll-popup-rgb), .17), rgba(3, 12, 28, .96)) !important; }
body #ll-renewal-reward-prompt .ll-popup-unified-actions .ll-renewal-popup-btn.primary { background: linear-gradient(135deg, rgba(var(--ll-popup-rgb), .96), rgba(var(--ll-popup-rgb), .63)) !important; color: #03101d !important; }
