@font-face{font-family:MimiLoading;src:url('loading/Nunito-Black.ttf') format('truetype');font-weight:900;font-display:swap}
#loading{position:absolute;inset:0;z-index:30;padding:0;display:block;overflow:hidden;background:#bdaedf;color:#55272e;opacity:1;transition:opacity .24s ease;isolation:isolate}
#loading.is-leaving{opacity:0;pointer-events:none}
.loading-art{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.loading-art img,.loading-art video{position:absolute;width:min(100%,56.25svh);height:auto;aspect-ratio:9/16;object-fit:contain;object-position:50% 50%;transform:translateZ(0);backface-visibility:hidden}
.loading-art video{opacity:0}.loading-art video.is-playing{opacity:1}
.loading-title{position:absolute;top:max(10%,calc(env(safe-area-inset-top) + 28px));left:24px;right:24px;margin:0;display:flex;justify-content:center;line-height:0;pointer-events:none}
.loading-logo{display:block;width:min(68%,270px,37svh);height:auto;aspect-ratio:554/284}
.loading-status{position:absolute;bottom:max(8%,calc(env(safe-area-inset-bottom) + 24px));left:50%;transform:translateX(-50%);width:min(76%,350px);text-align:center;padding:15px 20px 13px;background:#fff3e9ed;border:1px solid #fff8ee;border-radius:24px;box-shadow:0 5px 16px #60334712}
.loading-status p{font:900 16px/1.35 MimiLoading,sans-serif;margin:0 0 12px;overflow-wrap:anywhere}
.loading-status small{display:block;font-size:12px;line-height:1.4;color:#8e677b;margin-top:9px}
#load-progress{display:block;width:100%;height:12px;border:0;border-radius:20px;background:#e6ced7;appearance:none;-webkit-appearance:none;overflow:hidden;color:#ee377d;accent-color:#ee377d}
#load-progress::-webkit-progress-bar{background:#e6ced7;border-radius:20px}
#load-progress::-webkit-progress-value{background:linear-gradient(#ff619e,#e9226e);border-radius:20px;transition:width .15s linear}
#load-progress::-moz-progress-bar{background:#ee377d;border-radius:20px}
#loading.is-error .loading-status{width:min(90%,430px)}
#loading.is-error .loading-status small{display:none}
@media(min-aspect-ratio:4/5){.loading-art img,.loading-art video{object-fit:contain}.loading-title{top:4%}.loading-status{bottom:4%;padding:10px 20px}.loading-status small{display:none}}
@media(prefers-reduced-motion:reduce){#loading,#load-progress::-webkit-progress-value{transition:none}.loading-art video{display:none}}
@media(prefers-reduced-motion:reduce){#loading.motion-enabled .loading-art video{display:block}}

#loading-animation{opacity:0}#loading-animation.is-playing{opacity:1}

/* Preserve full machine framing; soften the empty outer edges into the shell. */
.loading-art img,.loading-art video{mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.loading-art video{will-change:transform}

.loading-art::after{content:"";position:absolute;width:min(100%,56.25svh);aspect-ratio:9/16;pointer-events:none;background:linear-gradient(to bottom,#bdaedf,transparent 20%,transparent 82%,#bdaedf);transform:translateZ(0)}

/* Additional download context stays inside the existing cream progress plaque. */
#loading.has-download-note .loading-status{width:min(calc(100% - 32px),390px);padding:17px 22px 16px}
#loading.has-download-note .loading-status small{display:block;font-size:13px;line-height:1.45;color:#775369;margin:10px auto 0;max-width:32ch;text-wrap:pretty}
#loading.has-download-note .loading-status p{margin-bottom:11px}
@media(max-height:600px){#loading.has-download-note .loading-status{bottom:max(4%,calc(env(safe-area-inset-bottom) + 12px));padding:13px 18px 12px}}
@media(min-aspect-ratio:4/5){#loading.has-download-note .loading-status{width:min(calc(100% - 32px),430px);padding:11px 20px}#loading.has-download-note .loading-status small{max-width:44ch;margin-top:7px}}
@media(max-height:380px){#loading.has-download-note .loading-status{bottom:max(10px,env(safe-area-inset-bottom));padding:10px 18px}#loading.has-download-note .loading-status p{margin-bottom:7px}#loading.has-download-note .loading-status small{font-size:12px;line-height:1.35;margin-top:6px}}
