.pwa-splash{position:fixed;inset:0;z-index:9999;display:none;place-items:center;padding:24px;background:linear-gradient(180deg,#075438 0%,#063624 55%,#042818 100%);transition:opacity .4s ease,visibility .4s ease}
.pwa-splash.is-active{display:grid}
.pwa-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.pwa-splash-inner{display:grid;justify-items:center;gap:16px;text-align:center}
.pwa-splash-logo-wrap{width:min(44vw,176px);height:min(44vw,176px);display:grid;place-items:center;padding:16px;border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.22)}
.pwa-splash-logo{width:100%;height:100%;object-fit:contain;display:block}
.pwa-splash-name{margin-top:2px;color:#fff;font-size:clamp(1.45rem,5.4vw,2rem);font-weight:800;letter-spacing:.04em;line-height:1.15}
.pwa-splash-tag{color:rgba(255,255,255,.82);font-size:.86rem;font-weight:700}
.pwa-splash-loader{width:36px;height:36px;margin-top:10px;border-radius:999px;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;animation:pwa-spin .85s linear infinite}
@keyframes pwa-spin{to{transform:rotate(360deg)}}
html.pwa-booting .app-shell{transition:opacity .35s ease}
html:not(.pwa-booting) .app-shell{opacity:1}
.pwa-install-banner{position:fixed;inset-inline:0;bottom:0;z-index:120;display:none;align-items:center;gap:12px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--ak-surface),color-mix(in srgb,var(--ak-surface) 92%,var(--ak-primary)));border-top:1px solid var(--ak-border);box-shadow:0 -12px 34px rgba(16,57,36,.14)}
.pwa-install-banner.is-visible{display:flex}
.pwa-install-banner.is-ios .pwa-install-action{display:none}
.pwa-install-banner.is-ios .pwa-install-ios{display:block}
.pwa-install-brand{display:grid;justify-items:center;gap:4px;flex:0 0 74px}
.pwa-install-logo{width:58px;height:58px;object-fit:contain;border-radius:16px;background:#fff;border:1px solid var(--ak-border);padding:6px;box-shadow:0 8px 18px rgba(7,91,61,.12)}
.pwa-install-name{font-size:.68rem;font-weight:800;color:var(--ak-primary);letter-spacing:.02em;line-height:1.2}
.pwa-install-copy{flex:1;min-width:0}
.pwa-install-copy strong{display:block;font-size:.82rem;line-height:1.35}
.pwa-install-copy span{display:block;margin-top:2px;color:var(--ak-muted);font-size:.67rem;line-height:1.45}
.pwa-install-ios{display:none;color:var(--ak-muted);font-size:.66rem;line-height:1.5;margin-top:4px}
.pwa-install-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pwa-install-action{padding:9px 14px;border:0;border-radius:999px;background:var(--ak-primary);color:#fff;font:inherit;font-size:.72rem;font-weight:800;white-space:nowrap;cursor:pointer}
.pwa-install-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--ak-border);border-radius:999px;background:var(--ak-surface-2);color:var(--ak-muted);font-size:1rem;cursor:pointer}
body.has-pwa-banner .footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
body.has-pwa-banner .content{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
@media(min-width:821px){.pwa-install-banner{display:none!important}body.has-pwa-banner .footer,body.has-pwa-banner .content{padding-bottom:initial}}
@media(max-width:820px){.store-scroll-button{bottom:calc(98px + env(safe-area-inset-bottom))}}
