@charset "UTF-8";
/* ===== EFEITOS: preloader, neve, brilho do cursor, toast ===== */
.preloader {
  position: fixed; inset: 0;
  z-index: 1000;
  display: grid; place-items: center;
  background: #02050d;
}
.preloader-box { display: grid; justify-items: center; gap: 18px; }
.preloader .icon { width: 74px; height: 74px; color: var(--cyan); filter: drop-shadow(0 0 16px var(--blue)); }
.preloader-temp {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 700;
  font-size: 2.4rem;
  color: var(--cyan);
  text-shadow: 0 0 20px var(--blue);
  font-variant-numeric: tabular-nums;
}
.preloader-bar { width: 200px; height: 3px; background: rgba(56, 130, 255, 0.2); border-radius: 3px; overflow: hidden; }
.preloader-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), var(--cyan)); transform-origin: 0 50%; transform: scaleX(0); }

.snow {
  position: fixed; inset: 0;
  width: 100%; height: 100%;
  z-index: -1;
  pointer-events: none;
}

.cursor-glow {
  position: fixed;
  top: 0; left: 0;
  width: 360px; height: 360px;
  margin: -180px 0 0 -180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 130, 255, 0.2), transparent 65%);
  pointer-events: none;
  z-index: -1;
}
@media (hover: none) { .cursor-glow { display: none; } }

.toast {
  position: fixed;
  left: 50%;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  z-index: 500;
  max-width: calc(100% - 32px);
  padding: 14px 22px;
  border-radius: 14px;
  background: rgba(8, 26, 76, 0.95);
  border: 1.5px solid var(--cyan);
  box-shadow: 0 0 30px rgba(56, 182, 255, 0.5);
  font-weight: 600;
  transform: translate(-50%, 140%);
}
