.loading-screen{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;text-align:center;color:#fff}.loading-panel{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}.loading-core{position:absolute;border-radius:50%;background:radial-gradient(circle,#fff,#a6bdf2,transparent 75%);box-shadow:0 0 35px #9babef}.loading-back{background:transparent;border:0;padding:12px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
/* The ready screen is one accessible tap target; pending/error screens retain Back. */
.loading-screen .report-ready-tap{position:absolute;inset:0;z-index:3;cursor:pointer;border:0;background:transparent}
.loading-screen .report-ready-tap:focus-visible{outline:2px solid #ead8ae;outline-offset:-8px;border-radius:8px}
.loading-screen .loading-back[hidden]{display:none}

/* Seonga's observatory — shared visual, assets owned by each product. */
.loading-screen{overflow:auto;background:#030914}
.loading-panel{position:relative;isolation:isolate;min-height:100dvh;height:auto;padding:100px 26px 48px;justify-content:flex-start;background:#071225 url('../assets/loading-self-v1.png?release=17004f1a7017ecd8c5b51033cf166579df9659f7') center bottom/cover no-repeat}
.loading-panel:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,9,24,.48),rgba(3,9,24,.73) 46%,rgba(3,9,24,.62) 68%,rgba(3,9,24,.28))}
.loading-panel h2{margin:32px 0 0;font-size:27px;line-height:1.65;color:#fff7e9;text-wrap:balance;text-shadow:0 2px 8px #030914,0 0 24px #030914}
.loading-panel p{max-width:330px;margin-top:20px;color:#eeeaf1;font-size:15px;line-height:1.95;text-shadow:0 2px 6px #030914,0 0 16px #030914}
.loading-back{margin-top:28px;color:#f2eada;text-shadow:0 2px 6px #030914}
.loading-constellation{position:relative;flex:none;width:240px;height:240px;margin:0 auto;filter:drop-shadow(0 0 12px #b3c9ff25)}
.loading-constellation:before{content:'';position:absolute;inset:40px;border:1px solid #efd9a657;border-radius:50%;box-shadow:0 0 40px #adc6ff12,inset 0 0 30px #adc6ff10}
.loading-constellation .loading-core{inset:70px;opacity:.25}
.seonga-position{position:absolute;left:80px;top:80px;width:80px;height:80px;opacity:0;animation:seonga-pose 4s steps(1,end) infinite;animation-delay:var(--delay)}
.seonga-sprite{display:block;width:100%;height:100%;background-image:url('../assets/loading-seonga-poses.png?release=17004f1a7017ecd8c5b51033cf166579df9659f7');background-size:200% 200%;background-position:var(--pose);filter:drop-shadow(0 3px 6px #040919)}
@keyframes seonga-pose{0%,24.999%{opacity:1}25%,100%{opacity:0}}
.loading-screen:has(.report-ready-tap) .seonga-position{animation-play-state:paused}
@media(max-height:740px){.loading-panel{padding-top:48px}.loading-constellation{transform:scale(.85);margin:-16px auto}.loading-panel h2{margin-top:20px}.loading-back{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.seonga-position{animation:none;opacity:0}.seonga-position:first-of-type{opacity:1}}

/* One pose at a time, anchored to the four compass points. */
.seonga-position:nth-of-type(1){transform:translate(0,-80px)}
.seonga-position:nth-of-type(2){transform:translate(80px,0)}
.seonga-position:nth-of-type(3){transform:translate(0,80px)}
.seonga-position:nth-of-type(4){transform:translate(-80px,0)}
