html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000;
}

#karavan-splash,
#mayava-splash {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0A0A0A;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

#karavan-splash.karavan-splash-hide,
#mayava-splash.mayava-splash-hide,
#karavan-splash.mayava-splash-hide,
#mayava-splash.karavan-splash-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.karavan-splash-inner,
.mayava-splash-inner {
  text-align: center;
  padding: 24px;
}

.karavan-splash-logo,
.mayava-splash-logo {
  width: 96px;
  height: 96px;
  object-fit: contain;
  margin-bottom: 24px;
}

.karavan-splash-shimmer,
.mayava-splash-shimmer {
  width: 120px;
  height: 4px;
  margin: 0 auto;
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    #2A2A2A 0%,
    #E31E24 50%,
    #2A2A2A 100%
  );
  background-size: 200% 100%;
  animation: karavan-shimmer 1.2s ease-in-out infinite;
}

@keyframes karavan-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@keyframes mayava-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/*
 * GIS (Google Sign-In) and Shaka both use flt-platform-view.
 * NEVER stretch all platform views — that pushes GIS off-screen.
 */

/* Default: GIS / other platform views stay in their Flutter layout slot */
flt-platform-view-slot:not(:has(.mayava-shaka-host)):not(:has(.karavan-shaka-host)),
flt-platform-view:not(:has(.mayava-shaka-host)):not(:has(.karavan-shaka-host)) {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}

flt-platform-view:not(:has(.mayava-shaka-host)):not(:has(.karavan-shaka-host)) iframe {
  display: block !important;
  margin: 0 auto !important;
  pointer-events: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* Shaka player only */
flt-platform-view-slot:has(.mayava-shaka-host),
flt-platform-view:has(.mayava-shaka-host),
flt-platform-view-slot:has(.karavan-shaka-host),
flt-platform-view:has(.karavan-shaka-host) {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  direction: ltr !important;
  overflow: hidden !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

body:has(.mayava-shaka-host) flt-glass-pane,
body:has(.karavan-shaka-host) flt-glass-pane {
  z-index: 1 !important;
}

.mayava-shaka-host,
.mayava-shaka-host video,
.karavan-shaka-host,
.karavan-shaka-host video {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  pointer-events: none !important;
}
