#app-loader{--bg:#FFF8E7;--ink:#063B2B;--lamp:#83E5A4;--hot:#FF690A;--shadowc:#063B2B;--shadowo:.16;position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:var(--bg);color:var(--ink);transition:opacity .38s ease-in}
html[data-theme="dark"] #app-loader{--bg:#04251A;--ink:#83E5A4;--lamp:#FFF8E7;--shadowc:#000;--shadowo:.5}
#app-loader.is-leaving{opacity:0;pointer-events:none}
#app-loader .vz{width:min(78vw,540px);transition:opacity .38s ease-in,transform .38s cubic-bezier(.5,0,.8,.3)}
#app-loader .vz.vz--leave{opacity:0;transform:scale(1.07)}
#app-loader .vz svg{display:block;width:100%;height:auto;overflow:visible}
#app-loader .vz .body{fill:var(--ink)}
#app-loader .vz .lampon{fill:var(--lamp)}
#app-loader .vz .shadow{fill:var(--shadowc);fill-opacity:var(--shadowo)}
#app-loader .vz .pax path,#app-loader .vz .pax circle{fill:var(--ink);stroke:var(--bg);stroke-width:5;stroke-linejoin:round;paint-order:stroke}
#app-loader .vz .pax.hot path,#app-loader .vz .pax.hot circle{fill:var(--hot)}
.loader-recovery{position:absolute;bottom:calc(32px + env(safe-area-inset-bottom));left:20px;right:20px;text-align:center;font:400 14px/20px var(--font-body)}
.loader-recovery button{min-height:52px;padding:0 24px;border:1px solid currentColor;border-radius:16px;background:var(--ink);color:var(--bg);font:600 16px var(--font-body)}
.loader-recovery button:focus-visible{outline:3px solid var(--hot);outline-offset:4px}
@media(prefers-reduced-motion:reduce){#app-loader,#app-loader .vz{transition:none}}
