/* One lightweight startup surface, visible before deferred app scripts run. */
#boot-screen{display:none}
html.boot-active{background:#f6f7f2}
.boot-active body{overflow:hidden}
.boot-active .skip,.boot-active #public-root,.boot-active .shell,.boot-active .demo,.boot-active #entry-status,.boot-active #ze-launcher,.boot-active #ze-help,.boot-active #toast{display:none!important}
.boot-active #boot-screen{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:calc(24px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));background:radial-gradient(ellipse at 50% 43%,#eaf2d6 0, #f6f7f2 58%);text-align:center;color:#19372c}
.boot-brand{position:absolute;top:calc(28px + env(safe-area-inset-top,0px));font-weight:850;font-style:italic;font-size:27px;background:#19372c;color:#dcff59;border-radius:13px;width:42px;height:42px;display:grid;place-items:center}
.boot-figure{position:relative;margin:0 0 22px;width:210px;height:242px;display:grid;place-items:center}
.boot-figure::before{content:"";position:absolute;width:176px;height:176px;background:#dcf69365;border:1px solid #d9e5bf;border-radius:50%;inset:38px auto auto;transform:rotate(-14deg)}
.boot-figure img{position:relative;width:164px;height:238px;object-fit:contain;transform-origin:50% 92%;animation:ze-warmup 2.8s ease-in-out infinite}
#boot-title{font-size:28px;line-height:1.15;letter-spacing:-1px;margin:0 0 13px;font-weight:750}
#boot-message{font-size:14px;line-height:1.65;color:#596c56;max-width:290px;min-height:46px;margin:0}
.boot-dots{display:flex;gap:7px;margin:20px 0 0}.boot-dots i{height:6px;width:6px;border-radius:50%;background:#71963a;animation:boot-dot 1.3s ease-in-out infinite}.boot-dots i:nth-child(2){animation-delay:.16s}.boot-dots i:nth-child(3){animation-delay:.32s}
#boot-retry{margin-top:24px;min-height:46px;padding:12px 22px;border:1px solid #cbd9b7;border-radius:14px;background:#fff;color:#25432c;font-weight:650}
.boot-failed .boot-figure img,.boot-failed .boot-dots i{animation:none}.boot-failed .boot-dots{display:none}
@keyframes ze-warmup{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}
@keyframes boot-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.boot-figure img,.boot-dots i{animation:none!important}.boot-dots i{opacity:.7}}
@media(max-height:580px){.boot-figure{height:170px;margin-bottom:8px}.boot-figure img{height:168px;width:120px}.boot-figure::before{width:132px;height:132px;top:24px}.boot-brand{top:12px;left:18px}#boot-title{font-size:24px}}
