.spa-game-host{position:fixed;z-index:5000;inset:0;width:100%;height:100%;height:100dvh;background:#020807;overflow:hidden;isolation:isolate}
.spa-game-host[hidden]{display:none!important}
.spa-game-frame{position:absolute;z-index:1;inset:0;width:100%;height:100%;border:0;opacity:0;background:#020807;transition:opacity .18s ease}
.spa-game-frame.is-ready{opacity:1}
.spa-route-loader{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;gap:9px;color:#fff5d9;background:radial-gradient(circle at 50% 15%,rgba(56,135,103,.28),transparent 42%),linear-gradient(150deg,#010806,#062119 62%,#010705);text-align:center}
.spa-route-loader[hidden]{display:none!important}
.spa-route-loader img{width:120px;max-width:34vw;filter:drop-shadow(0 12px 18px rgba(0,0,0,.38))}
.spa-route-loader strong{font-size:18px}
.spa-route-loader span{color:#bfd0c9;font-size:12px}
.spa-route-loader i{width:150px;height:4px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}
.spa-route-loader i::after{content:"";display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b77a22,#ffe6a0);animation:spa-route-progress 1.05s ease-in-out infinite alternate}
body.spa-game-active{overflow:hidden!important}
body.spa-game-active>.startup-loader{z-index:6000}
@keyframes spa-route-progress{from{transform:translateX(85%)}to{transform:translateX(-140%)}}
@media(prefers-reduced-motion:reduce){.spa-game-frame{transition:none}.spa-route-loader i::after{animation-duration:1.8s}}

@media(min-width:600px){.spa-game-host{background-color:#07100e;background-image:linear-gradient(rgba(1,8,7,.32),rgba(1,8,7,.32)),var(--app-tile-image,url('./ui-backgrounds/desktop-tile.webp'));background-repeat:repeat,repeat;background-position:center top,center top;background-size:auto,var(--app-tile-size,160px) var(--app-tile-size,160px)}.spa-route-loader{background:linear-gradient(rgba(1,8,7,.64),rgba(1,8,7,.64)),var(--app-tile-image,url('./ui-backgrounds/desktop-tile.webp')) center top/var(--app-tile-size,160px) var(--app-tile-size,160px) repeat}}
