.pwa-notice {
  position: fixed;
  z-index: 1000;
  inset: auto 50% calc(18px + env(safe-area-inset-bottom)) auto;
  translate: 50% 0;
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: calc(100vw - 32px);
  min-height: 44px;
  padding: 8px 12px;
  color: #fff;
  background: #192443;
  border: 1px solid #ffffff24;
  border-radius: 8px;
  box-shadow: 0 10px 30px #10182f38;
  font-size: 12px;
}
.pwa-notice button {
  min-height: 32px;
  padding: 0 11px;
  border: 0;
  border-radius: 6px;
  color: #192443;
  background: #f1c66f;
  font: 750 12px inherit;
  cursor: pointer;
}
.is-offline body#hamkhastApp .quick-submit,
.is-offline body#hamkhastApp .publish-button { opacity: .62; }
.is-offline body#hamkhastApp .connection-status { display:flex!important; align-items:center; justify-content:center; position:fixed; z-index:1200; inset:max(6px,env(safe-area-inset-top)) 50% auto auto; translate:50% 0; width:max-content; max-width:calc(100vw - 24px); min-height:34px; padding:6px 12px; background:#192443; color:#fff; border:1px solid #ffffff38; border-radius:7px; box-shadow:0 6px 20px #10182f38; font-size:10px; font-weight:750; }
.feed-refresh-button { width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid #cfd9e6; border-radius:8px; background:#fff; color:#192443; cursor:pointer; }
.feed-refresh-button svg { width:17px; height:17px; }
.feed-refresh-button.is-refreshing svg { animation:hamkhast-spin .75s linear infinite; }
.pull-refresh { display:none; }
@keyframes hamkhast-spin { to { transform:rotate(360deg); } }
@media (max-width:940px) {
  .pwa-notice { bottom: calc(82px + env(safe-area-inset-bottom)); }
  .pull-refresh { position:fixed; z-index:45; top:calc(72px + env(safe-area-inset-top)); left:50%; translate:-50% calc(var(--pull-distance,0px) - 48px); display:flex; align-items:center; gap:7px; min-height:34px; padding:5px 11px; border:1px solid #d4deea; border-radius:18px; background:#fff; color:#536178; box-shadow:0 7px 18px #17213c24; font-size:10px; font-weight:750; opacity:var(--pull-opacity,0); pointer-events:none; transition:translate 120ms ease,opacity 120ms ease; }
  .pull-refresh svg { width:15px; height:15px; }
  .pull-refresh.is-ready { color:#087f8c; }
  .pull-refresh.is-refreshing { opacity:1; translate:-50% 0; }
  .pull-refresh.is-refreshing svg { animation:hamkhast-spin .75s linear infinite; }
}
@media (prefers-reduced-motion:reduce) { .feed-refresh-button.is-refreshing svg,.pull-refresh.is-refreshing svg { animation-duration:1.5s; } }
