/* 延續登入的森林、微光與玻璃卡片。 */
#sceneLoading {
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: linear-gradient(180deg, #071d2955, #071b29ba), url('../assets/login/forest-desktop.webp') center / cover;
  color: #eff4e8;
  opacity: 1;
  transition: opacity 180ms ease;
  backdrop-filter: none;
}
#sceneLoading.hidden { display: none; }
#sceneLoading.leaving { opacity: 0; }
#sceneLoading:not(.hidden):not(.leaving) { animation: scene-loading-reveal 140ms ease both; }
.loading-card {
  width: min(430px, 100%);
  box-sizing: border-box;
  padding: 24px 38px 32px;
  text-align: center;
  border: 1px solid #c6dba855;
  border-radius: 28px;
  background: linear-gradient(150deg, #173a3ee8, #0c232be8);
  box-shadow: 0 24px 80px #030d1c80, inset 0 1px 0 #f5f8d930;
}
.loading-logo { display: block; width: 90%; height: auto; margin: -12px auto -12px; }
.loading-star { color: #f4d899; font-size: 36px; text-shadow: 0 0 24px #f4d89988; animation: loading-glow 2s ease-in-out infinite alternate; }
.loading-caption { margin: 14px 0; color: #c5d9c4; font-size: 12px; letter-spacing: 2px; }
#loadingTitle { margin: 14px 0 6px; font-size: 26px; letter-spacing: 6px; }
#loadingDestination { margin: 0 0 24px; color: #e3ce9f; }
.loading-meter { display: flex; align-items: center; gap: 14px; }
#loadingProgress { appearance: none; width: 100%; height: 8px; border: 0; border-radius: 8px; overflow: hidden; background: #091a24; accent-color: #c8d893; }
#loadingProgress::-webkit-progress-bar { background: #091a24; }
#loadingProgress::-webkit-progress-value { background: linear-gradient(90deg, #6fa899, #dfdda3); border-radius: 8px; transition: width 160ms; }
#loadingProgress::-moz-progress-bar { background: linear-gradient(90deg, #6fa899, #dfdda3); }
#loadingCount { min-width: 36px; color: #dce7be; font-size: 12px; font-variant-numeric: tabular-nums; }
.loading-tip { margin: 22px 0 0; color: #abc4bd; font-size: 12px; line-height: 1.8; }
@keyframes loading-glow { to { opacity: .6; transform: scale(.92); } }
@keyframes scene-loading-reveal { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 760px) { #sceneLoading { background-image: linear-gradient(180deg, #071d2955, #071b29ba), url('../assets/login/forest-mobile.webp'); } }
@media (prefers-reduced-motion: reduce) { #sceneLoading, #loadingProgress::-webkit-progress-value { transition: none; } #sceneLoading:not(.hidden):not(.leaving), .loading-star { animation: none; } }
