.sm-loading {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 64px 24px 100px;
  overflow: hidden;
  background: #101112;
  color: #f4f5ef;
  font: 400 14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: center;
}
.sm-loading::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(ellipse at 50% 43%, #d3f9790c, transparent 48%),
    linear-gradient(#ffffff03 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
  mask-image: radial-gradient(ellipse at center, #000 12%, transparent 72%);
  content: "";
}
.sm-loading__content { width: min(100%, 340px); }
.sm-loading__emblem {
  position: relative;
  display: grid;
  place-items: center;
  width: 156px;
  height: 156px;
  margin: 0 auto 32px;
}
.sm-loading__emblem::before, .sm-loading__emblem::after {
  position: absolute;
  inset: 0;
  border: 1px solid #d3f97912;
  border-radius: 50%;
  content: "";
}
.sm-loading__emblem::after {
  inset: 9px;
  border-color: #d3f97908;
  border-top-color: #d3f97999;
  border-right-color: #d3f97928;
  animation: sm-orbit 3s linear infinite;
}
.sm-loading__symbol {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 90px;
  height: 90px;
  border: 1px solid #d3f97929;
  border-radius: 25px;
  background: linear-gradient(145deg, #2a3221, #191e18);
  box-shadow: 0 0 48px #d3f9790b, inset 0 1px #ffffff08;
}
.sm-loading__symbol i {
  display: block;
  width: 10px;
  height: 30px;
  border-radius: 1px;
  background: #d3f979;
  transform: skew(-20deg);
  animation: sm-glow 2.4s ease-in-out infinite;
}
.sm-loading__symbol i:nth-child(2) { height: 42px; animation-delay: .16s; }
.sm-loading__symbol i:nth-child(3) { height: 24px; animation-delay: .32s; }
.sm-loading .sm-loading__brand {
  margin: 0;
  color: #f4f5ef;
  font-size: clamp(32px, 7vw, 40px);
  font-weight: 750;
  letter-spacing: -.065em;
  line-height: 1.15;
}
.sm-loading__brand span { color: #d3f979; }
.sm-loading .sm-loading__tagline {
  margin: 12px 0 34px;
  color: #8d9784;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.sm-loading__track { width: 160px; height: 3px; margin: auto; overflow: hidden; border-radius: 4px; background: #d3f97912; }
.sm-loading__track::after {
  display: block;
  width: 48%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #d3f97900, #d3f979);
  animation: sm-progress 1.8s ease-in-out infinite;
  content: "";
}
.sm-loading .sm-loading__status { margin: 18px 0 0; color: #a1a79b; font-size: 12px; letter-spacing: .015em; }
.sm-loading__footer { position: absolute; right: 24px; bottom: 30px; left: 24px; color: #62685e; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.sm-loading__footer span { padding: 0 10px; color: #a0b478; }
@keyframes sm-orbit { to { transform: rotate(360deg); } }
@keyframes sm-glow { 0%, 100% { opacity: .6; } 50% { opacity: 1; } }
@keyframes sm-progress { from { transform: translateX(-105%); } to { transform: translateX(215%); } }
@media (max-height: 480px) {
  .sm-loading { padding: 30px 20px 64px; }
  .sm-loading__emblem { width: 112px; height: 112px; margin-bottom: 16px; }
  .sm-loading__symbol { width: 72px; height: 72px; border-radius: 20px; }
  .sm-loading .sm-loading__tagline { margin-bottom: 20px; }
  .sm-loading__footer { bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .sm-loading__emblem::after, .sm-loading__symbol i, .sm-loading__track::after { animation: none; }
  .sm-loading__track::after { width: 100%; background: #d3f97980; }
}
