body {
  margin: 0;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
}

#loading-bg {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--initial-loader-bg, #fff);
  block-size: 100%;
  inline-size: 100%;
}

.loading-brand {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: var(--splash-brand-size, 240px);
  inline-size: var(--splash-brand-size, 240px);
}

.loading-logo {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading-logo img {
  display: block;
  height: var(--splash-logo-h, 80px);
  width: auto;
  max-width: var(--splash-logo-w, 112px);
  object-fit: contain;
}

.loading-orbit {
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
}

.loading-orbit--outer {
  block-size: var(--splash-orbit-outer, 220px);
  inline-size: var(--splash-orbit-outer, 220px);
  border: 3px solid transparent;
  border-block-start-color: var(--initial-loader-color, #3FA456);
  border-inline-end-color: var(--initial-loader-color, #3FA456);
  animation: spin-cw 1.35s linear infinite;
}

.loading-orbit--inner {
  block-size: var(--splash-orbit-inner, 180px);
  inline-size: var(--splash-orbit-inner, 180px);
  border: 3px solid transparent;
  border-block-end-color: var(--initial-loader-accent, #7DCEA0);
  border-inline-start-color: var(--initial-loader-accent, #7DCEA0);
  animation: spin-ccw 1.1s linear infinite;
}

@keyframes spin-cw {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes spin-ccw {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
