.ui-boot-screen{position:fixed;inset:0;min-height:100svh;display:grid;place-items:center;margin:0;background:#f4f7fc;color:#14243c}
[data-theme=dark] .ui-boot-screen{background:#111c2c;color:#edf5ff}
[data-theme=blue] .ui-boot-screen{background:#0c2141;color:#edf5ff}
.ui-brand-loading{display:flex;flex-direction:column;align-items:center;gap:24px;padding:32px;font-family:Inter,Arial,sans-serif;animation:mypet-arrive .35s ease-out both}
.ui-brand-loading-crest{position:relative;display:grid;place-items:center;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#258aff20,transparent 70%)}
.ui-brand-loading-crest:before{content:"";position:absolute;inset:0;border:1px solid #2789ed22;border-top-color:#399aff;border-right-color:#399aff66;border-radius:50%;animation:mypet-orbit 2.4s linear infinite}
.ui-brand-loading-crest:after{content:"";position:absolute;width:98px;height:110px;background:linear-gradient(110deg,transparent 25%,#fff9 48%,transparent 65%) -180px 0/280px 100% no-repeat;mask:url('/brand/mypet-mark.svg') center/contain no-repeat;animation:mypet-sheen 2.8s ease-in-out infinite}
.ui-brand-loading-crest img{width:98px;height:110px;filter:drop-shadow(0 12px 16px #07459030);animation:mypet-breathe 2.8s ease-in-out infinite}
.ui-brand-loading-name{font-size:32px;font-weight:650;letter-spacing:-1.4px;line-height:1;color:inherit}
.ui-brand-loading-name span{color:#237cf5}
.ui-brand-loading-track{width:112px;height:3px;overflow:hidden;border-radius:8px;background:#2389f522}
.ui-brand-loading-track:after{content:"";display:block;height:100%;width:45%;border-radius:inherit;background:linear-gradient(90deg,#57c9ff,#1765eb);animation:mypet-travel 1.5s ease-in-out infinite}
@keyframes mypet-orbit{to{transform:rotate(360deg)}}
@keyframes mypet-sheen{0%,18%{background-position:-180px 0}75%,100%{background-position:180px 0}}
@keyframes mypet-breathe{50%{transform:translateY(-3px)}}
@keyframes mypet-travel{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@keyframes mypet-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ui-brand-loading,.ui-brand-loading-crest img,.ui-brand-loading-crest:before,.ui-brand-loading-crest:after,.ui-brand-loading-track:after{animation:none}.ui-brand-loading-crest:after{display:none}.ui-brand-loading-track:after{width:100%;opacity:.7}}
