html.yvr-loading { overflow: hidden; }
.yvr-logo-loader[hidden] { display: none !important; }
.yvr-logo-loader { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; isolation: isolate; overflow: hidden; color: #eee6d8; background: #030b15; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); }
.yvr-logo-loader::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 48% 43%,#14243a 0,transparent 55%),linear-gradient(115deg,transparent 40%,rgba(192,159,102,.04) 50%,transparent 60%); }
.yvr-logo-loader__aurora { position: absolute; z-index: -1; inset: -50%; background: conic-gradient(from 205deg at 50% 50%,transparent 0deg,rgba(88,127,178,.16) 42deg,transparent 65deg,transparent 198deg,rgba(226,195,135,.12) 220deg,transparent 240deg); filter: blur(30px); opacity: .6; }
.yvr-logo-loader__orbit { position: absolute; z-index: -1; width: min(76vw,1050px); aspect-ratio: 1; border: 1px solid rgba(207,181,134,.11); border-radius: 50%; pointer-events: none; }
.yvr-logo-loader__orbit--one { transform: rotate(-24deg) scaleY(.56); }
.yvr-logo-loader__orbit--two { width: min(63vw,850px); transform: rotate(28deg) scaleY(.63); border-color: rgba(142,173,210,.1); }
.yvr-logo-loader__identity { width: min(660px,80vw); text-align: center; padding-bottom: 24px; perspective: 1000px; }
.yvr-logo-loader__stage { position: relative; width: 100%; height: clamp(110px,22vw,220px); }
.yvr-logo-loader__logo,.yvr-logo-loader__facet { display: block; width: 100%; height: 100%; object-fit: contain; }
.yvr-logo-loader__logo { position: relative; z-index: 1; filter: drop-shadow(0 0 22px rgba(187,211,241,.12)); }
.yvr-logo-loader__facets { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.yvr-logo-loader__facet { position: absolute; inset: 0; }
.yvr-logo-loader__shine { position: absolute; z-index: 3; inset: -8% -18%; background: linear-gradient(115deg,transparent 40%,rgba(234,244,255,.12) 48%,rgba(255,247,220,.5) 50%,transparent 54%); opacity: 0; pointer-events: none; mix-blend-mode: screen; }
.yvr-logo-loader__spark { position: absolute; z-index: 4; width: 38px; height: 38px; opacity: 0; pointer-events: none; }
.yvr-logo-loader__spark::before,.yvr-logo-loader__spark::after { content: ''; position: absolute; background: linear-gradient(90deg,transparent,#fff4d9,transparent); box-shadow: 0 0 10px rgba(245,228,188,.25); }
.yvr-logo-loader__spark::before { width: 100%; height: 1px; top: 50%; }
.yvr-logo-loader__spark::after { height: 100%; width: 1px; left: 50%; background: linear-gradient(transparent,#fff4d9,transparent); }
.yvr-logo-loader__spark--one { left: 13%; top: 11%; }
.yvr-logo-loader__spark--two { right: 12%; bottom: 30%; width: 24px; height: 24px; }
.yvr-logo-loader__line { display: block; width: 52px; height: 1px; margin: 30px auto 20px; background: #bda578; }
.yvr-logo-loader__caption { margin: 0; color: #cfbf9e; font: 10px/1.8 Arial,sans-serif; letter-spacing: .34em; text-transform: uppercase; }
.yvr-logo-loader__base { position: absolute; bottom: 32px; left: clamp(22px,4vw,64px); display: flex; align-items: center; gap: 22px; font: 9px/1.6 Arial,sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.yvr-logo-loader__track { width: 110px; height: 1px; background: rgba(235,219,190,.2); }
.yvr-logo-loader__track i { display: block; width: 100%; height: 100%; background: #e4c89b; transform: scaleX(.02); transform-origin: left; }
.yvr-logo-loader__skip { position: absolute; right: clamp(22px,4vw,64px); bottom: 22px; min-height: 44px; padding: 8px 0; background: transparent; color: #e3d4b6; border: 0; border-bottom: 1px solid #8f7a55; font: 11px/1.5 Arial,sans-serif; cursor: pointer; }
.yvr-logo-loader__skip span { margin-left: 20px; }
.yvr-logo-loader__skip:focus-visible { outline: 2px solid #e3d4b6; outline-offset: 6px; }
@media(max-width:767px) {
    .yvr-logo-loader__identity { width: 84vw; padding-bottom: 12px; }
    .yvr-logo-loader__orbit { width: 125vw; }
    .yvr-logo-loader__orbit--two { width: 105vw; }
    .yvr-logo-loader__caption { font-size: 8px; letter-spacing: .25em; }
    .yvr-logo-loader__base > span:first-child { display: none; }
}
@media(prefers-reduced-motion:reduce) { .yvr-logo-loader { display: none !important; } }
