.irock-pwa-install,
.irock-pwa-ios-help,
.irock-pwa-tools {
  box-sizing: border-box;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.irock-pwa-install *,
.irock-pwa-ios-help *,
.irock-pwa-tools * { box-sizing: border-box; }
.irock-pwa-install {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 99998;
  display: flex;
  gap: 12px;
  align-items: center;
  max-width: 760px;
  margin: 0 auto;
  padding: 12px;
  background: #111;
  color: #fff;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
.irock-pwa-install[hidden], .irock-pwa-ios-help[hidden], .irock-pwa-tools__panel[hidden], .irock-pwa-resume-now[hidden], .irock-pwa-sleep-cancel[hidden] { display: none !important; }
.irock-pwa-install__icon img { display: block; border-radius: 12px; background:#fff; }
.irock-pwa-install__text { flex: 1; min-width: 0; }
.irock-pwa-install__text strong { display:block; font-size: 15px; line-height:1.2; }
.irock-pwa-install__text span { display:block; font-size: 13px; line-height:1.35; opacity:.88; }
.irock-pwa-install__actions { display:flex; gap:8px; align-items:center; }
.irock-pwa-button,
.irock-pwa-sleep__buttons button {
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #111;
  cursor: pointer;
  font-weight: 700;
  padding: 9px 14px;
  line-height: 1;
}
.irock-pwa-button:hover,
.irock-pwa-sleep__buttons button:hover { filter: brightness(.92); }
.irock-pwa-link-button {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 4px;
  font: inherit;
  text-decoration: underline;
}
.irock-pwa-install-dismiss,
.irock-pwa-ios-close,
.irock-pwa-tools__close {
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
  opacity: .75;
}
.irock-pwa-ios-help {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 99999;
  max-width: 520px;
  margin: 0 auto;
  padding: 18px 44px 18px 18px;
  color: #111;
  background: #fff;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
}
.irock-pwa-ios-help p { margin: 8px 0 0; }
.irock-pwa-ios-close { position:absolute; top:8px; right:12px; }
.irock-pwa-tools {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99997;
}
.irock-pwa-install:not([hidden]) ~ .irock-pwa-tools { bottom: 112px; }
@media (max-width: 560px) { .irock-pwa-install:not([hidden]) ~ .irock-pwa-tools { bottom: 160px; } }
.irock-pwa-tools__toggle {
  display:flex;
  gap: 8px;
  align-items:center;
  border:0;
  border-radius: 999px;
  background:#111;
  color:#fff;
  padding: 11px 15px;
  font-weight:700;
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  cursor:pointer;
}
.irock-pwa-tools__panel {
  position:absolute;
  right:0;
  bottom:56px;
  width:min(330px, calc(100vw - 32px));
  color:#111;
  background:#fff;
  border:1px solid rgba(0,0,0,.15);
  border-radius:16px;
  box-shadow:0 18px 44px rgba(0,0,0,.30);
  padding:16px;
}
.irock-pwa-tools__header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.irock-pwa-tools__label { margin: 14px 0 8px; font-weight:700; }
.irock-pwa-tools__small { margin:0; font-size:13px; opacity:.75; }
.irock-pwa-sleep__buttons { display:flex; flex-wrap:wrap; gap:8px; }
.irock-pwa-sleep__buttons button { background:#111; color:#fff; padding:8px 11px; }
.irock-pwa-custom-time { display:flex; gap:8px; align-items:center; margin:12px 0 8px; font-size:13px; }
.irock-pwa-custom-time input { max-width:90px; padding:6px 8px; }
.irock-pwa-sleep__status { margin:10px 0 6px; font-size:13px; font-weight:700; }
.irock-pwa-resume { margin-top: 12px; padding-top: 12px; border-top:1px solid rgba(0,0,0,.12); }
.irock-pwa-resume-now { margin-top:10px; background:#111; color:#fff; }
.irock-pwa-tools__links { margin-top: 14px; padding-top: 12px; border-top:1px solid rgba(0,0,0,.12); display:flex; gap:12px; flex-wrap:wrap; font-size:13px; }
.irock-pwa-tools__links a { color:#111; text-decoration:underline; }
@media (max-width: 560px) {
  .irock-pwa-install { align-items:flex-start; }
  .irock-pwa-install__actions { flex-direction:column; align-items:flex-end; }
  .irock-pwa-tools {
    right: 12px;
    bottom: 92px;
    z-index: 100001;
  }
  .irock-pwa-tools__toggle {
    min-height: 48px;
    padding: 13px 17px;
    background: #111 !important;
    color: #fff !important;
    border: 2px solid #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.42);
    font-size: 15px;
  }
  .irock-pwa-tools__toggle,
  .irock-pwa-tools__toggle span { color:#fff !important; }
  .irock-pwa-tools__toggle span { display:inline !important; }
  .irock-pwa-tools__panel {
    bottom: 58px;
    right: 0;
    max-height: min(72vh, 620px);
    overflow: auto;
  }
}

.irock-pwa-floating-install {
  position: fixed;
  left: 18px;
  top: 88px;
  z-index: 99996;
  display: flex;
  gap: 8px;
  align-items: center;
  border: 0;
  border-radius: 999px;
  background: #111;
  color: #fff;
  padding: 11px 15px;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(0,0,0,.28);
  cursor: pointer;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.irock-pwa-floating-install:hover { filter: brightness(1.08); }
.irock-pwa-floating-install[hidden] { display: none !important; }
.irock-pwa-floating-install__icon { font-size: 15px; line-height: 1; }
.irock-pwa-tools-install { padding-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,.12); }
.irock-pwa-tools-install .irock-pwa-button { margin-top: 10px; background: #111; color: #fff; }
.irock-pwa-install:not([hidden]) ~ .irock-pwa-floating-install { display: none !important; }
@media (max-width: 560px) {
  .irock-pwa-floating-install__text { display: none; }
  .irock-pwa-floating-install { padding: 12px 14px; top: 76px; }
}
.irock-pwa-push { margin-top: 14px; padding-top: 12px; border-top:1px solid rgba(0,0,0,.12); }
.irock-pwa-push__topics { display:grid; gap:7px; margin:10px 0 12px; font-size:13px; }
.irock-pwa-push__topics label { display:flex; gap:7px; align-items:center; line-height:1.25; }
.irock-pwa-push__actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.irock-pwa-push-enable { background:#111; color:#fff; }
.irock-pwa-push-disable { color:#111; }

.irock-pwa-install__important {
  display: block;
  margin-top: 6px;
  font-weight: 800;
  color: #b00020;
  line-height: 1.35;
}


.irock-pwa-push-menu {
  margin: 12px 0 14px;
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 14px;
  background: #f7f7f7;
  overflow: hidden;
}
.irock-pwa-push-menu summary {
  list-style: none;
  cursor: pointer;
  padding: 11px 13px;
  font-weight: 800;
  color: #111;
  background: #f7f7f7;
}
.irock-pwa-push-menu summary::-webkit-details-marker { display: none; }
.irock-pwa-push-menu summary::after {
  content: '+';
  float: right;
  font-weight: 900;
}
.irock-pwa-push-menu[open] summary::after { content: '–'; }
.irock-pwa-push-menu .irock-pwa-push {
  margin-top: 0;
  padding: 0 13px 13px;
  border-top: 1px solid rgba(0,0,0,.10);
}
@media (max-width: 560px) {
  .irock-pwa-tools__panel { padding: 14px; }
  .irock-pwa-push-menu { margin-bottom: 12px; }
  .irock-pwa-sleep { padding-top: 2px; }
}
