html,body,#app { height:100%; min-height:100%; margin:0; }
#cat-loading { position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center; background:radial-gradient(ellipse at 50% 40%,#173e48 0%,#0a2231 40%,#061520 85%); color:#eefbf8; font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif; transition:opacity .24s ease; }
#cat-loading.is-leaving { opacity:0; pointer-events:none; }
.cat-loading-content { text-align:center; width:min(440px,92vw); }
.cat-loading-stage { position:relative; height:260px; width:100%; }
.cat-loading-stage::after { content:''; position:absolute; bottom:24px; left:28%; width:44%; height:12px; border-radius:50%; background:#04101875; filter:blur(8px); pointer-events:none; }
#cat-loading-player { position:absolute; inset:0; opacity:0; transition:opacity .15s; }
#cat-loading-player canvas { display:block; width:100%; height:100%; }
#cat-loading-player .spine-player { width:100%; height:100%; }
#cat-loading-player .spine-player-hidden { display:none; }
#cat-loading.is-animated #cat-loading-player { opacity:1; }
#cat-loading h1 { margin:12px 0 10px; font-size:19px; font-weight:600; letter-spacing:1px; }
#cat-loading p { color:#9ebdbf; font-size:13px; margin:0; line-height:1.8; }
.cat-loading-dots { display:flex; justify-content:center; gap:8px; margin-top:23px; }
.cat-loading-dots i { width:5px; height:5px; background:#88e0c3; border-radius:50%; animation:cat-dot 1.5s ease-in-out infinite; }
.cat-loading-dots i:nth-child(2) { animation-delay:.18s; }
.cat-loading-dots i:nth-child(3) { animation-delay:.36s; }
.cat-loading-retry { margin-top:24px; border:1px solid #6bc8b5; border-radius:10px; padding:9px 22px; color:#ddfff5; background:transparent; cursor:pointer; }
@keyframes cat-dot { 0%,70%,100% { opacity:.3; transform:translateY(0); } 35% { opacity:1; transform:translateY(-4px); } }
@media(prefers-reduced-motion:reduce) { #cat-loading,#cat-loading-player { transition:none; } .cat-loading-dots i { animation:none; } }
