html, body { margin: 0; padding: 0; height: 100%; width: 100%; background-color: #ffffff; overflow: hidden; } /* Once the splash is removed, removeSplashFromWeb() makes
transparent so Flutter's own (theme-aware) canvas shows through — but keeps this background-color permanently, and it peeks through in any area Flutter's canvas doesn't cover edge-to-edge (e.g. the bottom system gesture-bar strip on Android Chrome). Follow the OS dark preference here so that strip isn't a jarring white patch when the rest of the app is dark. main.dart's setWebThemeColor() then refines this further for a manual in-app theme override. */ @media (prefers-color-scheme: dark) { html, body { background-color: #100E18; } } .splash-container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; width: 100%; background: #ffffff; gap: 28px; opacity: 1; transition: opacity 260ms ease-out; } .splash-container.splash-fade-out { opacity: 0; } .splash-img-wrap { position: relative; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 12px; opacity: 0; animation: splashFadeIn 0.7s ease-out 0.1s forwards; } .splash-img { max-width: min(92vw, 620px); max-height: 78vh; width: auto; height: auto; object-fit: contain; display: block; animation: breath 3.5s ease-in-out 0.8s infinite; } .splash-shimmer { position: absolute; top: -20%; left: -80%; width: 55%; height: 140%; background: linear-gradient( 105deg, transparent 0%, rgba(255,255,255,0.50) 45%, rgba(255,255,255,0.65) 50%, rgba(255,255,255,0.50) 55%, transparent 100% ); animation: shimmerSlide 3s ease-in-out 1.4s infinite; pointer-events: none; } .splash-dots { display: flex; gap: 10px; align-items: center; } .splash-dot { width: 9px; height: 9px; border-radius: 50%; background: #6C4CEF; opacity: 0.25; animation: dotBounce 1.2s ease-in-out infinite; } .splash-dot:nth-child(2) { animation-delay: 0.2s; } .splash-dot:nth-child(3) { animation-delay: 0.4s; } @keyframes splashFadeIn { to { opacity: 1; } } @keyframes breath { 0%, 100% { transform: scale(1.000); } 50% { transform: scale(1.025); } } @keyframes shimmerSlide { 0% { left: -80%; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { left: 160%; opacity: 0; } } @keyframes dotBounce { 0%, 100% { opacity: 0.25; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.3); background: #9B79F5; } } /* ===================================================== GOOGLE ADSENSE — REAL ADS (Flutter canvas ke BAHAR) ===================================================== */ /* Sticky Bottom Banner — Flutter ke upar float karta hai */ #rc-ad-bottom { position: fixed; bottom: 0; left: 0; right: 0; z-index: 99999; background: #fff; box-shadow: 0 -3px 16px rgba(0,0,0,0.18); display: none; /* JS se show hoga flutter load ke baad */ align-items: center; justify-content: center; padding: 4px 36px 4px 4px; min-height: 60px; pointer-events: auto; } #rc-ad-bottom.visible { display: flex; } /* Close button */ #rc-ad-bottom-close { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.09); border: none; border-radius: 50%; width: 26px; height: 26px; cursor: pointer; font-size: 13px; color: #555; display: flex; align-items: center; justify-content: center; line-height: 1; pointer-events: auto; transition: background 0.2s; } #rc-ad-bottom-close:hover { background: rgba(0,0,0,0.18); } /* Desktop Right Side Rectangle Ad (300x250) */ #rc-ad-right { position: fixed; right: 16px; bottom: 80px; z-index: 99998; background: #fff; border-radius: 14px; box-shadow: 0 4px 20px rgba(0,0,0,0.14); display: none; flex-direction: column; overflow: hidden; pointer-events: auto; } #rc-ad-right.visible { display: flex; } #rc-ad-right-close { position: absolute; right: 6px; top: 6px; background: rgba(0,0,0,0.09); border: none; border-radius: 50%; width: 24px; height: 24px; cursor: pointer; font-size: 12px; color: #555; display: flex; align-items: center; justify-content: center; z-index: 1; pointer-events: auto; } #rc-ad-right-close:hover { background: rgba(0,0,0,0.18); } /* Desktop par hi right-side ad dikhao */ @media (max-width: 768px) { #rc-ad-right { display: none !important; } }