/* Suppress Flutter debug-mode loading bar (.flutter-loader injected by flutter_tools) */
.flutter-loader {
  display: none !important;
}

:root {
  --splash-bg: #f6fafa;
  --splash-bg-mid: #e0f4f3;
  --splash-ring: #00666d;
  --splash-logo-filter: brightness(0) saturate(100%) invert(26%) sepia(85%) saturate(500%) hue-rotate(155deg) brightness(90%);
}

@media (prefers-color-scheme: dark) {
  :root {
    --splash-bg: #091614;
    --splash-bg-mid: #00504c;
    --splash-ring: #00ded3;
    --splash-logo-filter: none;
  }
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
}

body {
  background-color: var(--splash-bg);
  background-image: linear-gradient(
    to bottom,
    var(--splash-bg) 0%,
    var(--splash-bg-mid) 55%,
    var(--splash-bg) 100%
  );
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

#splash {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.splash-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1.5px solid var(--splash-ring);
  width: 0;
  height: 0;
  opacity: 0;
  animation: splash-ripple 2.4s ease-out infinite;
}

.splash-ring:nth-child(2) { animation-delay: 0.8s; }
.splash-ring:nth-child(3) { animation-delay: 1.6s; }

@keyframes splash-ripple {
  0%   { width: 0;     height: 0;     opacity: 0.35; }
  100% { width: 280px; height: 280px; opacity: 0;    }
}

.splash-logo {
  position: relative;
  width: 83px;
  height: 85px;
  filter: var(--splash-logo-filter);
  animation: splash-logo-in 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s both;
}

@keyframes splash-logo-in {
  from { opacity: 0; transform: scale(0.65); }
  to   { opacity: 1; transform: scale(1); }
}

/* Legacy utility classes kept for removeSplashFromWeb() compat */
.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
