#site-loader { display: none; }
html { scrollbar-gutter: stable; }
html.is-loading { overflow: hidden; scroll-behavior: auto; }
html.is-loading body { overflow: hidden; }
@supports not (scrollbar-gutter: stable) {
  html, html.is-loading { overflow-y: scroll; }
}
html.is-loading :is(.site-header, .chrome-stage, .hero-tagline, .continuum, .music-flow, .invitation, .progress) {
  visibility: hidden;
  opacity: 0;
  transition: opacity .7s ease;
}
html.is-loading.loading-exiting :is(.site-header, .chrome-stage, .hero-tagline, .continuum, .music-flow, .invitation, .progress) {
  visibility: visible;
  opacity: 1;
}
html.is-loading #site-loader { display: flex; }
#site-loader { position: fixed; inset: 0; z-index: 200; align-items: center; justify-content: center; padding: 24px; color: var(--night-text, #f4dfc3); background: rgba(16,9,26,.12); transition: opacity .7s ease; }
html.loading-exiting #site-loader { opacity: 0; }
.loading-content { display: flex; flex-direction: column; align-items: center; width: min(100%, 520px); text-align: center; }
.loading-mark { position: relative; width: 170px; height: 190px; flex: none; opacity: 0; transition: opacity .3s ease; }
.loading-mark[data-presentation-ready="true"] { opacity: 1; }
.loading-mark canvas { display: block; width: 100%; height: 100%; }
.loading-message, .loading-status { opacity: 0; transition: opacity .2s ease; }
html.loading-fonts-ready :is(.loading-message, .loading-status) { opacity: 1; }
.loading-message { margin: 14px 0 26px; font-size: 1rem; line-height: 1.5; letter-spacing: 0; text-transform: uppercase; }
.loading-progress { display: block; appearance: none; width: 160px; height: 2px; border: 0; border-radius: 0; overflow: hidden; background: rgba(244,223,195,.24); color: var(--night-text, #f4dfc3); }
.loading-progress::-webkit-progress-bar { background: rgba(244,223,195,.24); }
.loading-progress::-webkit-progress-value { background: #f4dfc3; transition: width .25s ease; }
.loading-progress::-moz-progress-bar { background: #f4dfc3; }
.loading-status { margin: 12px 0 0; font-size: .875rem; line-height: 1.5; text-transform: uppercase; }
@media (max-width: 600px), (max-height: 500px) {
  .loading-mark { width: 136px; height: 152px; }
  .loading-message { margin-top: 10px; margin-bottom: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  #site-loader, .loading-mark, .loading-message, .loading-status,
  html.is-loading :is(.site-header, .chrome-stage, .hero-tagline, .continuum, .music-flow, .invitation, .progress),
  .loading-progress::-webkit-progress-value { transition: none; }
}
@media print { #site-loader { display: none !important; } html.is-loading main * { visibility: visible; opacity: 1; } }
