/* App helpers use Scienshell's existing menu and typography. */
.pwa-menu-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.pwa-menu-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 12px 0;
  border: 0;
  background: none;
  font: 400 13px/1.4 var(--font, "Sora", "Segoe UI", sans-serif);
  color: #b9cbd6;
  text-align: left;
  cursor: pointer;
}
.pwa-menu-link:hover { color: #9fd2ea; }
.pwa-menu-update { flex-basis: 100%; max-width: 440px; font: 400 12px/1.6 var(--font, "Sora", "Segoe UI", sans-serif); color: #9fd2ea; }
.pwa-menu-update .pwa-menu-link { margin-left: 20px; color: #9fd2ea; }
#menu-btn[data-pwa-update-ready]::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-radius: 50%; background: #9fd2ea; vertical-align: middle; }
.pwa-menu-link:focus-visible,
.pwa-help button:focus-visible,
.pwa-help a:focus-visible,
.pwa-offline button:focus-visible,
.pwa-offline a:focus-visible { outline: 2px solid #9fd2ea; outline-offset: 6px; }
.pwa-menu-tools [hidden], .pwa-help [hidden] { display: none !important; }
.pwa-help {
  width: min(620px, calc(100vw - 32px));
  max-height: calc(100dvh - 48px);
  padding: clamp(24px, 4vw, 40px);
  margin: auto;
  border: 1px solid rgba(159,210,234,.3);
  border-radius: 2px;
  background: #05070b;
  color: #f4f7f8;
  font: 400 14px/1.65 var(--font, "Sora", "Segoe UI", sans-serif);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.pwa-help::backdrop { background: rgba(0,0,0,.8); }
.pwa-help__heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pwa-help__eyebrow, .pwa-offline__eyebrow { color: #9fd2ea; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.pwa-help__close { min-height: 44px; background: none; border: 0; color: #b9cbd6; font: inherit; padding: 8px 0 8px 12px; cursor: pointer; }
.pwa-help h2 { font-size: clamp(22px, 4vw, 30px); font-weight: 400; line-height: 1.25; letter-spacing: -.035em; margin: 24px 0 12px; }
.pwa-help p { color: #b9cbd6; margin: 0 0 20px; }
.pwa-action {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #9fd2ea;
  border-radius: 2px;
  background: #9fd2ea;
  color: #05070b;
  font: 600 13px/1.5 var(--font, "Sora", "Segoe UI", sans-serif);
  text-decoration: none;
  cursor: pointer;
}
.pwa-action--secondary { background: transparent; color: #9fd2ea; }
.pwa-help__instructions { margin: 28px 0; }
.pwa-help__instructions > div { margin: 0 0 20px; }
.pwa-help dt { font-weight: 600; margin-bottom: 5px; }
.pwa-help dd { margin: 0; color: #b9cbd6; font-size: 13px; }
.pwa-help__tv { border-top: 1px solid rgba(255,255,255,.16); padding-top: 24px; }
.pwa-help__update { margin-top: 24px; border-top: 1px solid rgba(255,255,255,.16); padding-top: 24px; }
.pwa-help h3 { font-size: 16px; font-weight: 400; margin: 0 0 10px; }
.pwa-help .pwa-help__status { font-size: 12px; margin: 24px 0 0; }
.pwa-offline {
  margin: 0;
  min-height: 100dvh;
  background: #05070b;
  color: #f4f7f8;
  font: 400 15px/1.7 "Sora", "Segoe UI", sans-serif;
}
.pwa-offline__main { max-width: 720px; margin-left: max(24px, 12vw); padding: 12vh 24px 80px 0; }
.pwa-offline__brand { display: block; width: 64px; height: 64px; margin-bottom: 56px; border-radius: 2px; }
.pwa-offline h1 { font-size: clamp(32px, 6vw, 64px); font-weight: 300; line-height: 1.15; letter-spacing: -.045em; margin: 18px 0 24px; }
.pwa-offline p { max-width: 450px; margin: 0 0 24px; color: #b9cbd6; }
.pwa-offline__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
@media (prefers-reduced-motion: reduce) { .pwa-help { scroll-behavior: auto; } }
