.jt-push { display: none; }
html[data-jt-push="btn"] .jt-push.has-btn,
html[data-jt-push="hint"] .jt-push.has-hint { display: block; }
.jt-push .jt-push__btn,
.jt-push .jt-push__hint { display: none; }
html[data-jt-push="btn"] .jt-push .jt-push__btn { display: inline-flex; }
html[data-jt-push="hint"] .jt-push .jt-push__hint { display: flex; }
.jt-btn.jt-push__btn { max-width: 100%; padding-block: 10px; white-space: normal; text-align: center; }
.jt-push__on { display: none; }
html[data-jt-push-on] .jt-push__on { display: inline; }
html[data-jt-push-on] .jt-push__off { display: none; }
.jt-push__hint {
  align-items: flex-start; gap: 10px;
  margin: 0;
  font-family: var(--jt-font-body, system-ui, sans-serif);
  font-size: var(--jt-fs-ui, 16px); line-height: var(--jt-lh-ui, 1.5);
  color: var(--jt-text, #111111);
}
.jt-push__hint .jt-icon { width: 20px; height: 20px; margin-top: 2px; }
.jt-push--footer { padding-block: 16px 8px; }
.jt-footer .jt-push__btn { color: var(--jt-footer-text, #ffffff); border-color: var(--jt-footer-text, #ffffff); }
.jt-footer .jt-push__btn:hover { background: var(--jt-footer-text, #ffffff); color: var(--jt-footer-bg, #0a0a0a); }
.jt-footer .jt-push__btn:focus-visible { outline: 2px solid var(--jt-accent, #0cf57e); outline-offset: 2px; }
.jt-footer .jt-push__hint { color: var(--jt-footer-text, #ffffff); }
.jt-push-sheet {
  box-sizing: border-box;
  width: calc(100vw - 32px); max-width: 480px;
  max-height: calc(100vh - 12vh - 16px); max-height: calc(100dvh - 12vh - 16px);
  margin: 12vh auto auto; padding: 0;
  border: 1px solid var(--jt-border, #dedede); border-radius: var(--jt-radius, 4px);
  background: var(--jt-bg, #ffffff); color: var(--jt-text, #111111);
  font-family: var(--jt-font-body, system-ui, sans-serif);
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
}
.jt-push-sheet::backdrop { background: var(--jt-overlay, rgba(0, 0, 0, 0.55)); }
.jt-push-sheet__form { margin: 0; padding: 20px 20px 16px; }
.jt-push-sheet__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.jt-push-sheet__title {
  margin: 8px 0 0; min-width: 0;
  font-family: var(--jt-font-head, inherit); font-size: var(--jt-fs-h3, 22px); font-weight: var(--jt-fw-h3, 800); line-height: var(--jt-lh-h3, 1.25);
  color: var(--jt-text, #111111);
}
.jt-push-sheet__close { margin: -4px -8px 0 0; color: var(--jt-text, #111111); }
.jt-push-sheet__intro { margin: 10px 0 0; font-size: var(--jt-fs-ui, 16px); line-height: var(--jt-lh-ui, 1.5); color: var(--jt-text-2, #3d3d3d); }
.jt-push-sheet__topics { margin: 16px 0 0; padding: 0; border: 0; min-width: 0; }
.jt-push-sheet__legend { padding: 0; margin-bottom: 4px; font-size: var(--jt-fs-ui, 16px); font-weight: 800; color: var(--jt-text, #111111); }
.jt-push-sheet__topic {
  display: flex; align-items: center; gap: 12px;
  min-height: 44px; padding-block: 2px;
  font-size: var(--jt-fs-ui, 16px); line-height: 1.3; cursor: pointer;
}
.jt-push-sheet__topic + .jt-push-sheet__topic { border-top: 1px solid var(--jt-border, #dedede); }
.jt-push-sheet__topic input { flex-shrink: 0; width: 22px; height: 22px; margin: 0; accent-color: var(--jt-link, #057a3c); }
.jt-push-sheet__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.jt-push-sheet__actions .jt-btn { flex: 1 1 auto; max-width: 100%; white-space: normal; padding-block: 10px; }
.jt-push-sheet__if-on { display: none; }
.jt-push-sheet.is-on .jt-push-sheet__if-on { display: inline; }
.jt-push-sheet.is-on .jt-push-sheet__if-off { display: none; }
.jt-btn.jt-push-sheet__off { display: inline-flex; visibility: hidden; }
.jt-push-sheet.is-on .jt-btn.jt-push-sheet__off { visibility: visible; }
.jt-push-sheet [aria-busy="true"] .jt-btn { cursor: progress; }
.jt-push-sheet__status { min-height: 4.5em; margin: 12px 0 0; font-size: var(--jt-fs-ui, 16px); line-height: 1.5; color: var(--jt-text, #111111); }
.jt-push-sheet__status.is-error { font-weight: 700; }
@media (max-width: 599.98px) {
  .jt-push-sheet {
    width: 100%; max-width: 100%; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px);
    margin: auto 0 0;
    border-width: 1px 0 0; border-radius: var(--jt-radius, 4px) var(--jt-radius, 4px) 0 0;
  }
  .jt-push-sheet__form { padding: 16px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: no-preference) {
  .jt-push-sheet[open] { animation: jt-push-in 0.18s ease-out; }
  @keyframes jt-push-in { from { opacity: 0; transform: translateY(12px); } }
}
