/* Loading screen (loading.js): collage art, brand, indeterminate bar. Visible from the first paint. */
.loading-screen{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:hidden;background:#e7c6e4;opacity:1;transition:opacity .35s ease,visibility 0s linear 0s;pointer-events:auto;user-select:none}
.loading-screen.done{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}
.loading-screen::before{content:'';position:absolute;inset:-40px;background:url('assets/final/loading-collage.webp') center/cover;filter:blur(26px) saturate(1.1);opacity:.75}
.loading-art{position:relative;height:100%;width:100%;max-width:calc(100dvh * .5625);overflow:hidden;box-shadow:0 0 80px #4a20502e}
.loading-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;animation:loading-drift 9s ease-in-out infinite alternate}
.loading-brand{position:absolute;left:0;right:0;top:max(5%,calc(env(safe-area-inset-top) + 18px));text-align:center;font:900 clamp(26px,9vw,46px)/1 'Unbounded','Nunito Sans',system-ui,sans-serif;letter-spacing:.02em;color:#fff;text-shadow:0 2px 0 #b5579a,0 6px 22px #7b2f7a88}
.loading-brand span{color:#ffd6ef;margin:0 .12em}
.loading-brand i{display:block;margin-top:.55em;font:800 clamp(10px,3vw,14px)/1 'Nunito Sans',system-ui,sans-serif;letter-spacing:.38em;color:#fff;text-shadow:0 1px 6px #7b2f7a99;font-style:normal}
.loading-bar{position:absolute;left:22%;right:22%;bottom:max(6%,calc(env(safe-area-inset-bottom) + 28px));height:10px;border-radius:10px;background:#ffffff40;border:1.5px solid #ffffffcc;box-shadow:0 2px 12px #5a1f6a55;overflow:hidden}
.loading-bar span{position:absolute;top:0;bottom:0;width:38%;border-radius:10px;background:linear-gradient(90deg,#ffb6e1,#fff,#c9a2ff);animation:loading-run 1.15s ease-in-out infinite}
@keyframes loading-run{from{left:-40%}to{left:102%}}
@keyframes loading-drift{from{transform:scale(1.02)}to{transform:scale(1.06) translateY(-1%)}}
@media (prefers-reduced-motion:reduce){.loading-art img{animation:none}.loading-bar span{animation-duration:2.4s}}
