@media (display-mode:standalone){.app-header{app-region:drag;padding-left:env(titlebar-area-x,0);padding-top:env(titlebar-area-y,0);width:env(titlebar-area-width,100%);height:env(titlebar-area-height,auto)}.app-header a,.app-header button,.app-header input,.app-header select{app-region:no-drag}.pwa-safe-area{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) and (max-width:400px){.side-panel-content{max-width:100%;overflow-x:auto}}.file-drop-zone{border:2px dashed #ccc;border-radius:8px;padding:20px;text-align:center;transition:border-color .3s ease}.file-drop-zone.drag-over{border-color:#007bff;background-color:rgba(0,123,255,.1)}.pwa-install-prompt{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#000;color:white;padding:12px 24px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:1000;display:flex;align-items:center;gap:12px}.pwa-install-prompt button{background:#fff;color:#000;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500}.pwa-install-prompt button:hover{background:#f0f0f0}.offline-notification{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:10000;max-width:400px;margin:0 20px;background:rgba(0,0,0,.9);color:white;border-radius:12px;padding:16px;box-shadow:0 10px 25px rgba(0,0,0,.3);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);animation:slideInDown .3s ease-out}.offline-notification-content h4{margin:0 0 8px;font-size:16px;font-weight:600}.offline-notification-content p{margin:0;font-size:14px;opacity:.9;line-height:1.4}@keyframes slideInDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.pwa-status-indicator{position:fixed;bottom:20px;right:20px;z-index:1000}.pwa-status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.pwa-status-dot.online{background-color:#10b981}.pwa-status-dot.offline{background-color:#ef4444}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{box-shadow:0 0 0 10px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.pwa-status-dot.offline{animation-name:pulseRed}@keyframes pulseRed{0%{box-shadow:0 0 0 0 rgba(239,68,68,.7)}70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}to{box-shadow:0 0 0 0 rgba(239,68,68,0)}}