@media (display-mode:standalone){body{-webkit-overflow-scrolling:touch}.splash-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0d0d0e,#161618);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .5s ease-out}.splash-screen.hidden{opacity:0;pointer-events:none}.splash-logo{width:120px;height:120px;margin-bottom:24px;animation:logoFloat 2s ease-in-out infinite alternate}.splash-text{color:#ffffff;font-size:24px;font-weight:600;margin-bottom:8px;text-align:center}.splash-subtitle{color:#c0c0c8;font-size:14px;text-align:center;margin-bottom:32px}.splash-loader{width:32px;height:32px;border:2px solid #333;border-top-color:#0587ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes logoFloat{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pwa-header{padding-top:env(safe-area-inset-top);background:linear-gradient(180deg,#161618,rgba(22,22,24,.9))}.standalone-only{display:block!important}.non-standalone-only{display:none!important}}@media not (display-mode:standalone){.standalone-only{display:none!important}.non-standalone-only{display:block!important}}@media (display-mode:standalone) and (max-width:768px){.pwa-bottom-safe{padding-bottom:env(safe-area-inset-bottom)}.pwa-touch-target{min-height:44px;min-width:44px}.pwa-interactive:focus{outline:2px solid #0587FF;outline-offset:2px}}.offline-indicator{position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#f59e0b,#d97706);color:white;text-align:center;padding:8px;font-size:14px;font-weight:500;z-index:1000;transform:translateY(-100%);transition:transform .3s ease-in-out}.offline-indicator.show{transform:translateY(0)}.offline-indicator.hide{transform:translateY(-100%)}.pwa-install-banner{background:linear-gradient(135deg,#0587FF,#0066cc);background-size:200% 200%;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.pwa-card{transition:all .2s cubic-bezier(.4,0,.2,1);transform:translateZ(0)}.pwa-card:active{transform:scale(.98)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}.skeleton,.skeleton-dark{animation:loading 1.5s infinite}.skeleton-dark{background:linear-gradient(90deg,#212123 25%,#2a2a2c 50%,#212123 75%);background-size:200% 100%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.pull-to-refresh{position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.pull-to-refresh:before{content:"↓ Pull to refresh";position:fixed;top:-40px;left:50%;transform:translateX(-50%);background:rgba(5,135,255,.9);color:white;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:500;z-index:999;transition:top .3s ease}.pull-to-refresh.pulling:before{top:10px;content:"↑ Release to refresh"}.pull-to-refresh.refreshing:before{top:10px;content:"⟳ Refreshing...";animation:spin 1s linear infinite}.haptic-light{animation:hapticLight .1s ease-out}.haptic-medium{animation:hapticMedium .15s ease-out}@keyframes hapticLight{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes hapticMedium{0%,to{transform:scale(1)}25%{transform:scale(1.03)}75%{transform:scale(.98)}}.pwa-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media (display-mode:standalone){.pwa-scroll::-webkit-scrollbar{width:4px}.pwa-scroll::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:2px}.pwa-scroll::-webkit-scrollbar-thumb{background:rgba(5,135,255,.6);border-radius:2px}.pwa-scroll::-webkit-scrollbar-thumb:hover{background:rgba(5,135,255,.8)}}.pwa-notification{position:fixed;bottom:20px;right:20px;background:rgba(22,22,24,.95);color:white;padding:12px 16px;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);font-size:14px;max-width:300px;z-index:9999;transform:translateX(400px);transition:transform .3s cubic-bezier(.4,0,.2,1)}.pwa-notification.show{transform:translateX(0)}.pwa-notification.success{border-left:4px solid #10b981}.pwa-notification.error{border-left:4px solid #ef4444}.pwa-notification.warning{border-left:4px solid #f59e0b}.pwa-notification.info{border-left:4px solid #0587ff}