#wm-loading {
  position: fixed; inset: 0; z-index: 2147483647;
  display: grid; place-items: center; overflow: hidden;
  background: #f7f8fb; color: #606060;
  font-family: Arial, sans-serif;
  transition: opacity 220ms ease;
}
#wm-loading.is-ready { opacity: 0; pointer-events: none; }
.wm-loading-content { width: min(400px, 76vw, 65vh); text-align: center; }
.wt-logo { display: grid; justify-items: center; gap: 9px; animation: wt-logo-breathe 2200ms ease-in-out infinite; }
.wt-logo-mark { display: flex; align-items: center; justify-content: center; gap: 3px; height: 76px; font-size: 64px; line-height: 1; font-weight: 900; letter-spacing: -12px; }
.wt-logo-mark span:first-child { color: #111827; transform: skew(-12deg); }
.wt-logo-mark span:last-child { color: #0b4f8a; transform: skew(-12deg); }
.wt-logo-wordmark { font-size: 33px; line-height: 1; font-weight: 800; letter-spacing: -1.5px; color: #111827; }
.wt-logo-wordmark strong { color: #0b4f8a; }
.wt-logo-korean { margin-top: -2px; color: #0b4f8a; font-size: 14px; font-weight: 700; letter-spacing: 2px; }
@keyframes wt-logo-breathe { 0%, 100% { transform: scale(.98); opacity: .9; } 50% { transform: scale(1); opacity: 1; } }
.wm-loading-name { margin: 30px 0 14px; font-size: 15px; font-weight: 700; letter-spacing: .16em; color: #111827; }
.wm-authorship { position: absolute; bottom: 0; left: 0; right: 0; padding: 6px 12px; padding-bottom: max(6px, env(safe-area-inset-bottom)); text-align: center; font: 11px/1.3 Arial, sans-serif; color: #606874; }
.wm-loading-track { margin: auto; width: 140px; height: 2px; background: #dce4ea; overflow: hidden; }
.wm-loading-track::after { content: ''; display: block; width: 45%; height: 100%; background: #0b4f8a; animation: wm-loading-progress 1400ms ease-in-out infinite; }
@keyframes wm-loading-progress { from { transform: translateX(-110%); } to { transform: translateX(330%); } }
#wm-loading-status { min-height: 32px; margin: 14px 0 0; font-size: 12px; line-height: 1.5; }
#wm-loading-retry { margin-top: 10px; padding: 8px 18px; border: 1px solid #b9c7d4; border-radius: 4px; background: white; color: #0b4f8a; cursor: pointer; }
#wm-loading.is-error .wm-loading-track::after { animation: none; width: 100%; background: #b42318; }
@media (prefers-reduced-motion: reduce) {
  #wm-loading { transition: none; }
  .wt-logo, .wm-loading-track::after { animation: none; }
}
