/* PropLynq installed-PWA splash. Isolated from light/dark app theme. */
@font-face {
  font-family: "PLLaunchPersian";
  src: url("/fonts/IRANYekanX-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
#pl-launch { display: none; }
html.pl-launch-active #pl-launch {
  position: fixed;
  z-index: 2147483646;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  pointer-events: auto;
  color: #f3fffa;
  background: #010604;
  min-height: 100vh;
  min-height: 100dvh;
  opacity: 1;
  transition: opacity 240ms ease;
  -webkit-font-smoothing: antialiased;
}
html.pl-launch-active #pl-launch.pl-launch-exit { opacity: 0; pointer-events: none; }
#pl-launch *, #pl-launch *::before, #pl-launch *::after { box-sizing: border-box; }
#pl-launch .pl-launch-vignette,
#pl-launch .pl-launch-glow,
#pl-launch .pl-launch-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
#pl-launch .pl-launch-vignette {
  background:
    radial-gradient(ellipse 77% 63% at 50% 46%, rgba(7, 74, 47, .94) 0%, rgba(4, 48, 30, .87) 29%, rgba(2, 24, 15, .86) 55%, rgba(0, 5, 3, .98) 91%, #000 115%),
    #010604;
}
#pl-launch .pl-launch-glow {
  background:
    radial-gradient(ellipse 37% 26% at 50% 45%, rgba(14, 184, 114, .18), transparent 82%),
    radial-gradient(ellipse 29% 25% at 60% 61%, rgba(6, 182, 212, .07), transparent 85%);
  filter: blur(16px);
  animation: pl-launch-breathe 9s ease-in-out infinite alternate;
}
#pl-launch .pl-launch-particles { opacity: .88; }
#pl-launch .pl-launch-particles i {
  position: absolute;
  display: block;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  height: var(--s);
  border-radius: 50%;
  background: #86ffcb;
  box-shadow: 0 0 7px 2px rgba(40, 226, 145, .24);
  will-change: transform, opacity;
  opacity: 0;
  animation: pl-launch-drift var(--duration) linear var(--delay) infinite;
}
#pl-launch .pl-launch-particles i:nth-child(4n) {
  background: #69e5e0;
  box-shadow: 0 0 8px rgba(6, 182, 212, .28);
}
#pl-launch .pl-launch-particles i:nth-child(6n) { opacity: .35; }
#pl-launch .pl-launch-center {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(100% - 36px, 680px);
  padding-bottom: 4vh;
  text-align: center;
}
/* Use the branded Aurora-gradient italic wordmark as one image asset.
   No font loading flash, two-color hand-typed text, or app icon in the splash. */
#pl-launch .pl-launch-wordmark {
  display: block;
  width: min(76vw, 440px);
  height: auto;
  max-height: 130px;
  object-fit: contain;
  filter: drop-shadow(0 4px 30px rgba(1, 19, 12, .45));
}
#pl-launch .pl-launch-tagline {
  margin: clamp(13px, 3.4vh, 23px) 0 0;
  color: rgba(227, 255, 241, .79);
  font-family: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
  font-size: clamp(14px, 3.9vw, 18px);
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: .06em;
}
#pl-launch .pl-launch-tagline > span { display: none; }
html[data-pl-launch-lang="en"] #pl-launch .pl-launch-en,
html[data-pl-launch-lang="fa"] #pl-launch .pl-launch-fa,
html[data-pl-launch-lang="ar"] #pl-launch .pl-launch-ar,
html[data-pl-launch-lang="es"] #pl-launch .pl-launch-es { display: inline; }
html:is([data-pl-launch-lang="fa"],[data-pl-launch-lang="ar"]) #pl-launch .pl-launch-tagline {
  font-family: "PLLaunchPersian", "IBM Plex Sans Arabic", Tahoma, sans-serif;
  font-size: clamp(16px, 4.7vw, 22px);
  font-weight: 700;
  letter-spacing: 0;
}
#pl-launch .pl-launch-loading {
  position: absolute;
  z-index: 1;
  bottom: max(42px, calc(env(safe-area-inset-bottom, 0px) + 37px));
  left: 50%;
  width: min(180px, calc(100% - 94px));
  transform: translateX(-50%);
}
#pl-launch .pl-launch-track {
  position: relative;
  width: 100%;
  height: 3px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(150, 235, 190, .16);
}
#pl-launch .pl-launch-progress {
  position: absolute;
  inset-block: 0;
  left: 0;
  width: 45%;
  border-radius: inherit;
  background: linear-gradient(90deg, #06b6d4, #14b8a6, #10b981);
  box-shadow: 0 0 12px rgba(32, 213, 158, .65);
  animation: pl-launch-progress 1.4s ease-in-out infinite;
}
@keyframes pl-launch-progress {
  from { transform: translateX(-110%); }
  to { transform: translateX(325%); }
}
@keyframes pl-launch-drift {
  0% { transform: translate3d(0, 21px, 0) scale(.75); opacity: 0; }
  13% { opacity: .72; }
  78% { opacity: .45; }
  100% { transform: translate3d(var(--dx), var(--dy), 0) scale(1.2); opacity: 0; }
}
@keyframes pl-launch-breathe {
  from { opacity: .58; transform: scale(1); }
  to { opacity: 1; transform: scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  #pl-launch .pl-launch-glow, #pl-launch .pl-launch-particles i,
  #pl-launch .pl-launch-progress { animation: none !important; }
  #pl-launch .pl-launch-particles i { opacity: .37; }
  #pl-launch .pl-launch-progress { width: 52%; transform: none; }
  html.pl-launch-active #pl-launch { transition: none; }
}
