body:has(.boot-loading){margin:0;background:#e7e7e7}
.boot-loading{box-sizing:border-box;max-width:390px;min-height:min(844px,calc(100dvh - 48px));margin:24px auto;padding:28px 20px;background:#faf9f6;border-radius:26px;font:16px system-ui,sans-serif;color:#444}
.boot-loading .boot-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.boot-placeholder{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.boot-placeholder span{grid-column:1/-1;font-size:14px;color:#666}
.boot-placeholder i{display:block;background:#e6e3dc;border-radius:12px;height:150px}
.boot-placeholder i:first-of-type{grid-column:1/-1;height:190px}
.boot-placeholder i:last-of-type{grid-column:1/-1;height:18px;width:60%}
.boot-loading.boot-staff{width:100%;max-width:none;min-height:100dvh;margin:0;padding:32px;border-radius:0;background:#f7f8fa}
.boot-staff .boot-placeholder{display:block}
.boot-staff .boot-progress{height:3px;margin-top:20px;background:linear-gradient(90deg,#e5ebe8 0%,#779487 45%,#e5ebe8 80%);background-size:200% 100%;animation:boot-progress 1500ms ease-in-out infinite}
@keyframes boot-progress{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.boot-staff .boot-progress{animation:none}}
@media(max-width:600px){.boot-loading{margin:0;min-height:100dvh;border-radius:0}.boot-loading.boot-staff{padding:24px}}
.boot-recovery{box-sizing:border-box;min-height:100dvh;padding:32px;text-align:center;font:16px system-ui,sans-serif;color:#444;background:#f7f8fa}
.boot-recovery button{min-height:44px;padding:10px 20px;border:1px solid #ccc;border-radius:8px;background:white;color:inherit;font:inherit;cursor:pointer}
