:root{font-family:"Arial Rounded MT Bold",Nunito,system-ui,sans-serif;color:#26395d;background:#5fd8df;overscroll-behavior:none}
*{box-sizing:border-box}
html,body{width:100%;height:100%;min-width:100%;min-height:100%;margin:0;-webkit-text-size-adjust:100%}
body{overflow:hidden;background:radial-gradient(circle at 15% 12%,#fff6a7 0 5%,transparent 18%),radial-gradient(circle at 83% 18%,#f4a6e8 0 6%,transparent 22%),linear-gradient(145deg,#52d9d8,#765be4 72%,#b65ee7)}
body.ios-immersive{position:fixed;inset:0;width:100vw;height:100dvh;background:#4bd0d8}
#game-shell{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}
#unity-canvas{position:absolute;inset:0;display:block;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;background:#4bd0d8;outline:none;touch-action:none;image-rendering:auto}
#loading{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,rgba(55,213,213,.94),rgba(108,73,216,.96));transition:opacity .45s ease,visibility .45s ease;z-index:5}
#loading.finished{opacity:0;visibility:hidden;pointer-events:none}
.loader-card{position:relative;width:min(520px,92vw);padding:24px 34px 28px;text-align:center;background:#fff8e8;border:5px solid #fff;border-radius:42% 58% 45% 55%/48% 38% 62% 52%;box-shadow:0 18px 0 rgba(46,39,106,.22),0 28px 70px rgba(35,31,94,.3)}
.brand-logo{display:block;width:min(320px,74vw);height:150px;object-fit:contain;margin:-8px auto -14px}
h1{margin:0;color:#6f42c9;font-size:clamp(25px,5vw,44px);line-height:1;text-shadow:0 3px 0 #fff,0 5px 0 #ffc928}
p{margin:18px 0 13px;font-size:clamp(15px,2.8vw,20px);font-weight:800}
p span{display:inline-block;margin-top:5px;color:#7048d7;font-size:.88em}
.progress-track{height:27px;padding:4px;background:#dfe8ff;border:3px solid #fff;border-radius:999px;box-shadow:inset 0 3px 8px rgba(57,51,117,.2)}
#progress{width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#ffbb27,#ff6f61 48%,#b84be3);box-shadow:0 0 12px #ffdb61;transition:width .15s linear}
#progress-label{display:block;margin-top:8px;color:#6f42c9;font-weight:900}
small{display:block;margin-top:10px;color:#617091;font-weight:700}
.sparkles{position:absolute;inset:8% 0 auto;text-align:center;color:#ffed74;font-size:clamp(28px,7vw,64px);filter:drop-shadow(0 5px 0 rgba(69,48,138,.28));animation:float 2.8s ease-in-out infinite}
#fullscreen{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:4;width:52px;height:52px;border:4px solid #fff;border-radius:50%;background:#7048d7;color:#fff;font-size:25px;box-shadow:0 7px 0 #4a2e9d;cursor:pointer}
#warning{position:absolute;inset:auto 12px 12px;z-index:10;display:grid;gap:6px;pointer-events:none}
#warning div{max-width:760px;margin:auto;padding:12px 18px;border:3px solid #fff;border-radius:18px;background:#fff3b9;color:#523714;font-weight:900;box-shadow:0 8px 24px rgba(26,25,71,.3)}
#warning .error{background:#fff;color:#9d2341;border:3px solid #ff6688}
@keyframes float{50%{transform:translateY(12px) rotate(-2deg)}}
@media (max-width:820px){.loader-card{padding:15px 18px 20px;border-radius:34px}.brand-logo{height:94px}h1{font-size:clamp(22px,6vw,32px)}p{margin:9px 0;font-size:clamp(13px,3.4vw,16px)}small{font-size:11px}.sparkles{top:2%;font-size:28px}}
@media (max-width:540px) and (orientation:portrait){#warning{bottom:max(8px,env(safe-area-inset-bottom));font-size:14px}#fullscreen{width:48px;height:48px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
