@font-face {
  font-family: 'DDTank Loading'; src: url('assets/fonts/barlow-condensed-black.ttf') format('truetype');
  font-weight: 900; font-display: optional;
}
.global-loader {
  position: fixed; inset: 0; z-index: 2147483000;
  display: grid; place-items: center; padding: 24px;
  box-sizing: border-box; visibility: hidden; opacity: 0; pointer-events: none;
  background: #f7e2b4 url('assets/global-loading-v2/parchment.webp') center top / cover no-repeat;
  color: #58300e; text-align: center; font-family: Arial, sans-serif;
}
html.ddtank-is-loading { overflow: hidden; }
html.ddtank-is-loading body > :not(.global-loader):not(script):not(style) { visibility: hidden !important; }
html.ddtank-is-loading .global-loader { visibility: visible; opacity: 1; pointer-events: auto; }
.global-loader.is-leaving { visibility: visible; transition: opacity .18s ease; }
.global-loader__content { position: relative; width: min(460px, 100%); }
.global-loader__brand { position: relative; width: 100%; aspect-ratio: 1821 / 380; margin: 0 auto 22px; }
.global-loader__brand img {
  position: absolute; width: 108.89621%; max-width: none; height: auto;
  left: -4.17353%; top: -52.36842%; filter: drop-shadow(0 4px 3px #6b391522);
}
.global-loader__weapon { position: relative; width: 44%; aspect-ratio: 1; margin: 0 auto; }
.global-loader__weapon::after {
  content: ''; position: absolute; left: 18%; right: 18%; bottom: 9%; height: 5%;
  border-radius: 50%; background: #693b2326; filter: blur(4px); z-index: 0;
}
.global-loader__weapon img {
  position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain;
  transform-origin: 50% 65%; animation: ddtank-loader-rock 2.4s ease-in-out infinite;
  animation-play-state: paused;
}
.global-loader__status { margin: 3px 0 0; font: 900 30px/1.2 'DDTank Loading', Arial, sans-serif; color: #58300e; }
.global-loader__dots { display: inline-flex; gap: 1px; }
.global-loader__dots span { animation: ddtank-loader-dot 1.5s ease-in-out infinite; animation-play-state: paused; }
.global-loader__dots span:nth-child(2) { animation-delay: .2s; }
.global-loader__dots span:nth-child(3) { animation-delay: .4s; }
html.ddtank-is-loading .global-loader__weapon img,
html.ddtank-is-loading .global-loader__dots span { animation-play-state: running; }
.global-loader__sr,.ddt-loader-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Mantém os spinners já usados nos botões de autenticação e de entrada no servidor. */
.ddt-button-spinner { display: block; box-sizing: border-box; width: 1.12em; height: 1.12em; border: .14em solid #ffe6a3; border-right-color: transparent; border-radius: 50%; filter: drop-shadow(0 1px 1px #5d260d); animation: ddt-button-spin .7s linear infinite; }
@keyframes ddtank-loader-rock {
  0%, 100% { transform: translateY(0) rotate(-1.5deg); }
  50% { transform: translateY(-4px) rotate(1.5deg); }
}
@keyframes ddtank-loader-dot { 0%, 100% { opacity: .25; } 45%, 65% { opacity: 1; } }
@keyframes ddt-button-spin { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
  .global-loader { padding: 26px; }
  .global-loader__content { width: min(320px, 100%); }
  .global-loader__brand { margin-bottom: 18px; }
  .global-loader__status { font-size: 26px; }
}
@media (max-height: 400px) and (min-width: 601px) {
  .global-loader__content { width: 300px; }
  .global-loader__brand { margin-bottom: 10px; }
  .global-loader__status { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .global-loader.is-leaving { transition: none; }
  .global-loader__weapon img, .global-loader__dots span, .ddt-button-spinner { animation: none; }
}
