html,body { width:100%; height:100%; margin:0; padding:0; overflow:hidden; background:#081525; }
body,canvas,div { display:block; outline:none; touch-action:none; overscroll-behavior:none; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }
#GameDiv,#Cocos3dGameContainer,#GameCanvas { width:100%; height:100%; }
#GameDiv { position:fixed; inset:0; }
canvas { background:transparent; }
:root { --safe-top:env(safe-area-inset-top); --safe-right:env(safe-area-inset-right); --safe-bottom:env(safe-area-inset-bottom); --safe-left:env(safe-area-inset-left); }

#flight-loader{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 38%,#193747 0,#071421 55%,#030910 100%);color:#dceef6;font:15px Arial,sans-serif;transition:opacity .2s}
#flight-loader.loaded{opacity:0;pointer-events:none}.loader-card{text-align:center;width:min(360px,80vw)}
.loader-ship{width:144px;height:auto;margin:0 auto 24px;animation:loader-hover 2s ease-in-out infinite}
.loader-card h1{font-size:20px;letter-spacing:3px;font-weight:500;margin:0 0 18px}.loader-card p{color:#92afbe;margin:0 0 22px}
.loader-track{height:5px;border-radius:4px;background:#203847;overflow:hidden}#loader-fill{height:100%;width:12%;background:#7bdae5;border-radius:4px;animation:loader-scan 1.3s ease-in-out infinite}
.has-progress #loader-fill{animation:none;transition:width .18s}.load-error #loader-fill{animation:none;background:#d99673}
#loader-retry{margin:24px auto 0;padding:12px 20px;color:#dceef6;background:#162e3c;border:1px solid #4c7488;border-radius:8px;font:inherit;cursor:pointer}#loader-retry[hidden]{display:none}
@keyframes loader-hover{50%{transform:translateY(-7px)}}@keyframes loader-scan{50%{transform:translateX(700%)}}
@media(prefers-reduced-motion:reduce){.loader-ship,#loader-fill{animation:none!important}}

/* Authored brand splash, visible from first paint through real scene preload. */
#flight-loader{background:radial-gradient(ellipse at 50% 42%,#213c4b 0,#10212e 65%,#0b1822 100%)}
.loader-card{width:min(390px,82vw)}.loader-logo{width:100%;height:auto;margin:0 auto 26px}
.loader-spinner{width:26px;height:26px;border:2px solid #7895a544;border-top-color:#b7e4ee;border-radius:50%;margin:0 auto 20px;animation:loading-spin 1s linear infinite}
.loader-track{height:4px}.load-error .loader-spinner{display:none}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loader-spinner{animation:none}}
