.safe-area-inset{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@media (display-mode:standalone){body{-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}::-webkit-scrollbar{width:0;background:transparent}body{overscroll-behavior-y:contain}}@supports (-webkit-touch-callout:none){.ios-safe-area{padding-top:max(env(safe-area-inset-top),20px);padding-bottom:max(env(safe-area-inset-bottom),20px)}}.touch-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.pwa-install-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;padding:12px 24px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.3)}.pwa-install-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.pwa-install-button:active{transform:translateY(0)}.offline-indicator{position:fixed;top:0;left:0;right:0;background:#ef4444;color:#fff;text-align:center;padding:8px;font-size:14px;font-weight:500;z-index:9999;transform:translateY(-100%);transition:transform .3s ease}.offline-indicator.show{transform:translateY(0)}.online-indicator{background:#10b981}.pwa-splash{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000}.pwa-splash-logo{width:120px;height:120px;margin-bottom:24px;animation:pulse 2s infinite}.pwa-splash-text{color:#fff;font-size:24px;font-weight:600;margin-bottom:8px}.pwa-splash-subtitle{color:#94a3b8;font-size:16px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@media (max-width:768px){.mobile-hidden{display:none!important}.mobile-full-width{width:100%!important}.mobile-padding{padding:16px!important}}@media (min-resolution:192dpi){.high-dpi-optimized{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (prefers-color-scheme:dark){.pwa-splash{background:linear-gradient(135deg,#000,#1a1a1a)}}@media (prefers-reduced-motion:reduce){.pwa-splash-logo{animation:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-visible:focus{outline:2px solid #6366f1;outline-offset:2px}.pwa-update-notification{position:fixed;bottom:20px;left:20px;right:20px;background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.1);padding:16px;z-index:9998;transform:translateY(100px);opacity:0;transition:all .3s ease}.pwa-update-notification.show{transform:translateY(0);opacity:1}@media (min-width:768px){.pwa-update-notification{left:auto;right:20px;max-width:400px}}.pwa-loading{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}