:root {
  --app-splash-primary: #0f7e8d;
  --app-splash-secondary: #28b6c7;
  --app-splash-bg-1: #eaf8fd;
  --app-splash-bg-2: #f8fdff;
  --app-splash-text: #083f48;
  --app-splash-muted: #4e6c76;
}
body.app-splash-lock { overflow: hidden !important; }
.app-splash-screen {
  position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center;
  padding: 24px; opacity: 1; pointer-events: auto; transition: opacity .35s ease, visibility .35s ease;
  background: radial-gradient(circle at top right, rgba(255,255,255,0.22), transparent 32%), linear-gradient(160deg, var(--app-splash-primary) 0%, var(--app-splash-secondary) 55%, #53c9d7 100%);
}
.app-splash-screen.is-hiding { opacity: 0; visibility: hidden; pointer-events: none; }
.app-splash-card {
  position: relative; width: min(92vw, 420px); border-radius: 30px; padding: 28px 24px 26px; text-align: center;
  background: radial-gradient(circle at top right, rgba(69, 191, 213, 0.16), transparent 34%), linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(240,250,255,0.98) 100%);
  border: 1px solid rgba(163, 220, 232, 0.95); box-shadow: 0 28px 70px rgba(7, 69, 83, 0.22); overflow: hidden;
}
.app-splash-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,0.45), transparent 38%, transparent 62%, rgba(255,255,255,0.18)); pointer-events: none; }
.app-splash-logo-wrap {
  width: 116px; height: 116px; margin: 0 auto 16px; border-radius: 28px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(232,248,252,0.98)); box-shadow: 0 16px 32px rgba(9, 103, 121, 0.12); border: 1px solid rgba(170, 225, 235, 0.95);
}
.app-splash-logo { width: 82px; height: 82px; object-fit: contain; border-radius: 18px; }
.app-splash-title { margin: 0; font-size: clamp(28px, 4vw, 34px); line-height: 1.08; font-weight: 800; letter-spacing: .2px; color: var(--app-splash-text); }
.app-splash-subtitle { margin: 8px 0 0; font-size: 15px; line-height: 1.45; font-weight: 700; color: var(--app-splash-primary); }
.app-splash-desc { margin: 14px auto 0; max-width: 290px; font-size: 14px; line-height: 1.55; color: var(--app-splash-muted); }
.app-splash-loader { display: inline-flex; gap: 8px; margin-top: 22px; align-items: center; justify-content: center; }
.app-splash-loader span {
  width: 10px; height: 10px; border-radius: 999px; background: linear-gradient(180deg, var(--app-splash-secondary), var(--app-splash-primary));
  box-shadow: 0 6px 12px rgba(19, 150, 171, 0.18); animation: appSplashBounce 1s infinite ease-in-out;
}
.app-splash-loader span:nth-child(2) { animation-delay: .15s; }
.app-splash-loader span:nth-child(3) { animation-delay: .3s; }
.app-splash-badge {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 18px; padding: 10px 16px; border-radius: 999px;
  background: rgba(24, 154, 176, 0.10); color: var(--app-splash-primary); font-size: 13px; font-weight: 700;
}
.app-splash-badge::before { content: "✦"; font-size: 13px; }
@keyframes appSplashBounce { 0%, 80%, 100% { transform: translateY(0) scale(1); opacity: .55; } 40% { transform: translateY(-7px) scale(1.07); opacity: 1; } }
