.pwa-launch{display:none}html[data-pwa-launch] .pwa-launch{z-index:10000;isolation:isolate;color:#fff6e9;text-align:center;padding:max(64px,env(safe-area-inset-top))28px max(36px,env(safe-area-inset-bottom));background:#100d24;flex-direction:column;justify-content:space-between;align-items:center;animation:2.8s both pwa-launch-dismiss;display:flex;position:fixed;inset:0;overflow:hidden}.pwa-launch-art,.pwa-launch-shade{z-index:-2;position:absolute;inset:0}.pwa-launch-art{background-position:50%;background-size:cover;animation:3.4s ease-out both pwa-launch-drift}html[data-pwa-launch="0"] .pwa-launch-art{background-image:url(/launch/moon.webp)}html[data-pwa-launch="1"] .pwa-launch-art{background-image:url(/launch/forest.webp)}html[data-pwa-launch="2"] .pwa-launch-art{background-image:url(/launch/castle.webp)}.pwa-launch-shade{z-index:-1;background:linear-gradient(#0d091fbf,#150c271f 43%,#0d091f47 62%,#100d24 100%)}.pwa-launch-heading{animation:.9s ease-out both pwa-launch-rise}.pwa-launch-moon{color:#f5d7a0;margin-bottom:16px;font-size:36px;line-height:1;display:block}.pwa-launch h1{letter-spacing:.06em;text-shadow:0 3px 28px #100d24;font-family:Cinzel Decorative,Georgia,serif;font-size:clamp(38px,10vw,64px);line-height:1.2}.pwa-launch-heading p{color:#f3e7dd;text-shadow:0 2px 12px #100d24;max-width:260px;margin:16px auto 0;font-size:15px;line-height:1.7}.pwa-launch-footer{width:100%;max-width:320px}.pwa-launch-rule{background:#dfbd83;width:48px;height:1px;margin:0 auto 18px;display:block;box-shadow:0 0 15px #dfbd83}.pwa-launch-footer p{letter-spacing:.06em;color:#d7c6ba;font-size:11px}.pwa-launch button{color:#fff6e9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#fff6e90d;border:1px solid #dfbd8366;border-radius:999px;min-height:48px;margin:18px auto 0;padding:10px 28px;font-size:14px;display:block}.pwa-launch button:focus-visible{outline-offset:5px;outline:2px solid #f5d7a0}.pwa-launch-stars{color:#ffe3ab;text-shadow:0 0 18px #ffe3ab;font-size:17px;animation:1.8s ease-in-out infinite alternate pwa-launch-shimmer;position:absolute;top:42%;left:18%}.pwa-launch-stars span{font-size:26px;position:absolute;top:100px;left:55vw}.pwa-launch-stars i{font-size:10px;font-style:normal;position:absolute;top:180px;left:6vw}@keyframes pwa-launch-drift{0%{transform:scale(1.02)}to{transform:scale(1.09)}}@keyframes pwa-launch-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pwa-launch-shimmer{0%{opacity:.3}to{opacity:.9}}@keyframes pwa-launch-dismiss{0%,86%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden;pointer-events:none}}@media (prefers-reduced-motion:reduce){.pwa-launch-art,.pwa-launch-heading,.pwa-launch-stars{animation:none}html[data-pwa-launch] .pwa-launch{animation-timing-function:step-end}}@media (max-height:520px){html[data-pwa-launch] .pwa-launch{padding-block:20px}.pwa-launch-moon{display:none}.pwa-launch h1{font-size:32px}.pwa-launch-heading p{margin-top:8px}.pwa-launch-rule{margin-bottom:8px}}
