body.offline{position:relative}body.offline:before{background:#f59e0b;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#fff;content:"⚠️ You are offline";font-size:.875rem;font-weight:600;left:0;padding:.5rem;position:fixed;right:0;text-align:center;top:0;z-index:99999}.pwa-update-toast{animation:slideInUp .4s ease-out;bottom:20px;position:fixed;right:20px;z-index:99999}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.update-toast-content{align-items:center;background:linear-gradient(135deg,#7366ff,#5f59d4);border-radius:12px;box-shadow:0 8px 24px rgba(115,102,255,.4);color:#fff;display:flex;gap:1rem;max-width:450px;min-width:350px;padding:1rem 1.5rem}.update-toast-icon{animation:rotate 2s linear infinite;font-size:2rem}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.update-toast-text{flex:1}.update-toast-text strong{display:block;font-size:1rem;margin-bottom:.25rem}.update-toast-text p{font-size:.875rem;margin:0;opacity:.9}.update-toast-btn{background:#fff;border:none;border-radius:6px;color:#7366ff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.update-toast-btn:hover{box-shadow:0 4px 12px hsla(0,0%,100%,.3);transform:scale(1.05)}.update-toast-close{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.7;padding:.25rem;transition:opacity .2s}.update-toast-close:hover{opacity:1}@media (max-width:640px){.pwa-update-toast{bottom:10px;left:10px;right:10px}.update-toast-content{flex-wrap:wrap;min-width:auto}.update-toast-btn{margin-top:.5rem;width:100%}}.ios-install-prompt{animation:fadeInUp .3s ease-out;background:#fff;border-radius:12px;bottom:80px;box-shadow:0 8px 32px rgba(0,0,0,.2);left:50%;max-width:90%;padding:1rem 1.5rem;position:fixed;text-align:center;transform:translateX(-50%);z-index:9998}@keyframes fadeInUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (display-mode:standalone){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}.offline-loading{opacity:.6;pointer-events:none;position:relative}.offline-loading:after{animation:spin .8s linear infinite;border:3px solid #7366ff;border-radius:50%;border-top-color:transparent;content:"";height:32px;left:50%;margin:-16px 0 0 -16px;position:absolute;top:50%;width:32px}.pwa-update-available{align-items:center;animation:slideInRight .3s ease-out;background:#7366ff;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);color:#fff;display:flex;gap:1rem;padding:1rem 1.5rem;position:fixed;right:1rem;top:1rem;z-index:9999}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.pwa-update-available button{background:#fff;border:none;border-radius:6px;color:#7366ff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:transform .2s}.pwa-update-available button:hover{transform:scale(1.05)}@supports (-webkit-touch-callout:none){.pwa-install-banner{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}#pwa-loading{align-items:center;background:linear-gradient(135deg,#7366ff,#5f59d4);display:flex;flex-direction:column;height:100%;justify-content:center;left:0;opacity:1;position:fixed;top:0;transition:opacity .5s ease-out;width:100%;z-index:99999}#pwa-loading.hidden{opacity:0;pointer-events:none}.pwa-loader-logo{animation:pulse 2s ease-in-out infinite;height:120px;margin-bottom:2rem;width:120px}.pwa-loader-logo img{filter:drop-shadow(0 8px 24px rgba(0,0,0,.2));height:100%;-o-object-fit:contain;object-fit:contain;width:100%}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pwa-loader-spinner{animation:spin 1s linear infinite;border:4px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.pwa-loader-text{color:#fff;font-size:1rem;font-weight:500;margin-top:1.5rem;opacity:.9}

/*# sourceMappingURL=pwa.css.map*/