html[data-network-mode="true"] [data-role="create-panel"] { display:none!important; }
.loading-screen {
  position:fixed; inset:0; z-index:20000; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:20px; padding:24px;
  background:#302d25; color:#f2dfb4; text-align:center;
}
.loading-screen strong { font-size:28px; letter-spacing:6px; color:#f2dfb4; }
.loading-screen p { color:#e8dfcc; font-size:16px; }
.loading-screen button { background:#493b27; border:1px solid #b19760; color:#fff0d0; padding:10px 24px; border-radius:5px; }
.loading-screen__ring { width:38px; height:38px; border:2px solid #64563e; border-top-color:#dfbf7b; border-radius:50%; animation:loading-turn 1.1s linear infinite; }
@keyframes loading-turn { to {transform:rotate(360deg);} }
@media(prefers-reduced-motion:reduce) { .loading-screen__ring {animation:none;} }

/* One cached texture; moving the cloud bank uses composited transforms. */
#game-root .battle-cloud-overlay {
  position:absolute; inset:0; z-index:8; overflow:hidden;
  pointer-events:auto; isolation:isolate;
}
#game-root .battle-cloud-sheet {
  position:absolute; top:-20%; bottom:-20%; left:-55%; right:-55%;
  background:
    radial-gradient(ellipse at 45% 22%, #faf7ef 0, #e9e8e0 25%, transparent 58%),
    radial-gradient(ellipse at 65% 72%, #f3f1e9 0, #d5dcd5 28%, transparent 60%),
    radial-gradient(ellipse at 50% 50%, #e8e9e1 58%, #d5dbd4 68%, transparent 75%);
  transform:translateX(-105%);
  transition:transform 280ms ease-out, opacity 280ms ease-out;
  will-change:transform,opacity;
}
#game-root .battle-cloud-sheet::after {
  content:""; position:absolute; inset:0;
  background:
    url('../assets/images/battle/transition-cloud.webp') center / cover no-repeat;
  -webkit-mask-image:radial-gradient(ellipse, #000 40%, transparent 74%);
  mask-image:radial-gradient(ellipse, #000 40%, transparent 74%);
  animation:battle-cloud-drift 3s ease-in-out infinite alternate;
}
#game-root .battle-cloud-overlay[data-phase="start"] .battle-cloud-sheet { transition:none; transform:translateX(-105%); }
#game-root .battle-cloud-overlay[data-phase="cover"] .battle-cloud-sheet { transform:translateX(0); opacity:1; }
#game-root .battle-cloud-overlay[data-phase="reveal"] .battle-cloud-sheet { transform:translateX(105%); opacity:0; transition-duration:320ms; transition-timing-function:ease-in; }
@keyframes battle-cloud-drift { from{transform:translateX(-3%)} to{transform:translateX(3%)} }
@media(prefers-reduced-motion:reduce) {
  #game-root .battle-cloud-sheet::after {animation:none;}
  #game-root .battle-cloud-overlay .battle-cloud-sheet {transform:none!important;transition:opacity 80ms linear;}
  #game-root .battle-cloud-overlay[data-phase="start"] .battle-cloud-sheet {opacity:0;}
}
