:root{--pwa-primary:var(--primary,#2F4786);--pwa-secondary:var(--secondary,#F8D800)}
html{overscroll-behavior-y:none;-webkit-text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.topbar{padding-top:env(safe-area-inset-top);height:calc(var(--topbar,72px) + env(safe-area-inset-top))}.sidebar{padding-top:env(safe-area-inset-top)}.mobile-nav{height:calc(68px + env(safe-area-inset-bottom))}}
.pwa-launch-screen{position:fixed;inset:0;z-index:10000;background:#fff;display:none;align-items:center;justify-content:center;flex-direction:column;padding:calc(2rem + env(safe-area-inset-top)) 2rem calc(2rem + env(safe-area-inset-bottom));color:#172139;transition:opacity .35s ease,transform .35s ease}
html.pwa-launching .pwa-launch-screen{display:flex}.pwa-launch-screen.leaving{opacity:0;transform:scale(1.025);pointer-events:none}.pwa-launch-screen img{width:min(46vw,220px);height:auto;border-radius:24%;filter:drop-shadow(0 18px 35px rgba(30,45,82,.13));animation:pwaSplashIn .55s cubic-bezier(.2,.8,.2,1)}.pwa-launch-screen strong{margin-top:1.35rem;font-size:1.4rem;letter-spacing:-.03em}.pwa-launch-screen span{margin-top:.25rem;color:#778196;font-size:.75rem}
.pwa-install-button{position:fixed;left:calc(1rem + env(safe-area-inset-left));bottom:calc(1rem + env(safe-area-inset-bottom));z-index:1024;border:0;border-radius:18px;background:#172139;color:#fff;box-shadow:0 14px 38px rgba(17,28,54,.28);padding:.68rem .8rem;display:flex;align-items:center;gap:.7rem;min-width:220px;text-align:left;opacity:0;transform:translateY(18px) scale(.97);transition:.22s ease}.pwa-install-button.show{opacity:1;transform:none}.pwa-install-button>i:first-child{width:38px;height:38px;border-radius:12px;background:var(--pwa-secondary);color:#172139;display:grid;place-items:center;font-size:1.1rem}.pwa-install-button>i:last-child{margin-left:auto;color:var(--pwa-secondary)}.pwa-install-button strong,.pwa-install-button small{display:block}.pwa-install-button strong{font-size:.76rem}.pwa-install-button small{color:#b9c3d8;font-size:.61rem;margin-top:.08rem}
.pwa-ios-guide[hidden]{display:none}.pwa-ios-guide{position:fixed;inset:0;z-index:10020;display:flex;align-items:flex-end;justify-content:center}.pwa-guide-backdrop{position:absolute;inset:0;border:0;background:rgba(12,19,36,.58);opacity:0;transition:.25s}.pwa-guide-sheet{position:relative;width:min(100%,540px);max-height:calc(100dvh - 1rem);overflow-y:auto;background:#fff;border-radius:28px 28px 0 0;padding:1rem 1.25rem calc(1.2rem + env(safe-area-inset-bottom));transform:translateY(105%);transition:.32s cubic-bezier(.2,.8,.2,1);box-shadow:0 -18px 60px rgba(12,19,36,.2)}.pwa-ios-guide.show .pwa-guide-backdrop{opacity:1}.pwa-ios-guide.show .pwa-guide-sheet{transform:none}.pwa-guide-open{overflow:hidden}.pwa-guide-handle{width:42px;height:5px;border-radius:999px;background:#d9dee8;margin:0 auto .5rem}.pwa-guide-close{position:absolute;right:1rem;top:1rem;width:36px;height:36px;border:0;border-radius:50%;background:#f1f3f7;color:#46516a}.pwa-guide-animation{height:190px;display:grid;place-items:center;margin-top:.4rem}.pwa-guide-animation svg{width:280px;height:190px;overflow:visible}.phone-frame{fill:#172139}.phone-screen{fill:#f7f8fb}.phone-logo{fill:var(--pwa-secondary)}.phone-mark{fill:none;stroke:#172139;stroke-width:7;stroke-linecap:round}.safari-bar{fill:#fff}.share-step,.home-step{fill:none;stroke:var(--pwa-primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.share-step circle,.home-step circle{stroke:var(--pwa-secondary);stroke-width:3}.home-step{opacity:0;animation:pwaHomeStep 3.2s ease-in-out infinite}.share-step{animation:pwaShareStep 3.2s ease-in-out infinite}.tap-pulse{fill:none;stroke:var(--pwa-secondary);stroke-width:4;animation:pwaTap 3.2s ease-out infinite}.pwa-guide-kicker{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pwa-primary);font-weight:900}.pwa-guide-copy h2{font-size:1.35rem;line-height:1.2;margin:.35rem 0 1rem;color:#172139}.pwa-guide-copy ol{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.pwa-guide-copy li{display:flex;align-items:center;gap:.75rem;padding:.7rem;border:1px solid #e4e8f0;border-radius:14px;font-size:.76rem;color:#46516a}.pwa-guide-copy li>span{width:36px;height:36px;border-radius:11px;background:#eef1f8;color:var(--pwa-primary);display:grid;place-items:center;flex:0 0 auto;font-size:1rem}.pwa-guide-copy p{font-size:.65rem;color:#778196;margin:1rem 0}.pwa-guide-copy .btn{min-height:48px;border-radius:14px;background:var(--pwa-primary);border-color:var(--pwa-primary);font-weight:800}
.pwa-offline-page{margin:0;min-height:100vh;min-height:100dvh;background:#f5f7fb;color:#172139;font-family:system-ui,sans-serif;display:grid;place-items:center;padding:2rem}.pwa-offline-page main{width:min(420px,100%);text-align:center;background:#fff;border:1px solid #e2e6ee;border-radius:24px;padding:2rem;box-shadow:0 18px 55px rgba(30,45,82,.1)}.pwa-offline-page main>img{width:92px;height:92px;border-radius:22px}.pwa-offline-icon{width:54px;margin:-18px auto .7rem;background:var(--pwa-secondary);border:4px solid #fff;border-radius:999px;padding:.35rem;position:relative;font-size:.58rem;font-weight:900;text-transform:uppercase}.pwa-offline-page h1{font-size:1.45rem;margin:.4rem 0}.pwa-offline-page p{font-size:.78rem;line-height:1.6;color:#778196}.pwa-offline-page main>button{border:0;background:var(--pwa-primary);color:#fff;border-radius:13px;padding:.8rem 1.4rem;font-weight:800}
@keyframes pwaSplashIn{from{opacity:0;transform:scale(.84)}to{opacity:1;transform:none}}@keyframes pwaTap{0%,20%{opacity:0;transform:scale(.6)}30%{opacity:1}50%,100%{opacity:0;transform:scale(2)}}@keyframes pwaShareStep{0%,48%{opacity:1}58%,100%{opacity:0}}@keyframes pwaHomeStep{0%,48%{opacity:0}58%,92%{opacity:1}100%{opacity:0}}
@media(max-width:991.98px){.pwa-install-button{bottom:calc(78px + env(safe-area-inset-bottom))}}
@media(min-width:992px){.pwa-install-button{left:auto;right:1.25rem}}
@media(prefers-reduced-motion:reduce){.pwa-launch-screen,.pwa-install-button,.pwa-guide-backdrop,.pwa-guide-sheet{transition:none}.pwa-launch-screen img,.share-step,.home-step,.tap-pulse{animation:none}.home-step{display:none}}
