/* Mobile-only integration. Original mobile publishing CSS stays unchanged. */
body { margin:0; background:#fff; }
.pg-safe365 button:disabled { cursor:default; }
.pg-safe365 .safe365-btn--mission-done:not(:disabled):not([aria-disabled="true"]) { pointer-events:auto; cursor:pointer; }
.safe365-local-logout { position:absolute; top:4px; right:16px; z-index:2; color:#666; font-size:11px; }
#statusMessage { position:fixed; z-index:2100; left:20px; right:20px; bottom:calc(24px + env(safe-area-inset-bottom)); padding:12px 16px; border-radius:12px; background:#222; color:#fff; box-shadow:0 8px 24px #0002; }
.safe365-runtime-notice,[data-public-block-error] { padding:16px 20px; color:#666; font-size:14px; text-align:center; }
.safe365-runtime-notice .safe365-btn { margin-top:12px; }
/* Retain publishing typography and fit the error and retry inside the existing card. */
.safe365-hero__card--line-failed { min-height: 270px; padding: 16px 24px; gap: 4px; justify-content: center; }
.safe365-hero__card--line-failed p.safe365-hero__sub { margin-top: 0; }
.safe365-hero__card--line-failed .safe365-btn { margin-top: 6px; }
.safe365-modal { z-index:2000; }
.safe365-copy-break--pc { display:none; }
.myar-security-dialog .safe365-modal__body { flex:1; min-height:0; padding:0; }
.myar-security-frame-wrap { flex:1; min-height:0; overflow:auto; background:#fff; }
.myar-security-frame { display:block; width:100%; height:100%; border:0; background:#fff; }
.myar-security-dialog-guide { color:#555; font-size:12px; }
.myar-security-dialog.is-checking .myar-security-frame { opacity:.55; pointer-events:none; }
.myar-completion-dialog .safe365-modal__foot:has([data-myar-retry-score]) { display:flex; flex-direction:column; gap:8px; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

/* Keep the same line box for one line; multiple lines use the publishing radio style. */
.safe365-line-single .safe365-line-select__trigger { cursor: default; }

.safe365-line-select__option > span, [data-safe365-lineselect-value] { white-space: nowrap; }

/* Keep the sheet heading visible while six or more lines scroll in five rows. */
.safe365-line-select__menu.is-scrollable {
  max-height: calc(5 * 53px + 20px);
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

.safe365-line-single { position: relative; }

/* Preserve publishing typography; move the action below when the full date cannot fit. */
.safe365-card__count em { white-space: nowrap; }
.safe365-card__foot { flex-wrap: wrap; }
.safe365-card__foot .safe365-btn--ghost { margin-left: auto; }

/* Share icons are decorative; only the text buttons perform sharing. */
.safe365-share__icon-btn[aria-hidden="true"] { cursor: default; }

/* Each checklist row is a labelled, keyboard-accessible checkbox. */
.myar-checklist-dialog .safe365-checklist__control { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; cursor: pointer; }
.myar-checklist-dialog .safe365-checklist__input {
  appearance: none; -webkit-appearance: none; display: block; flex: none; width: 20px; height: 20px; margin: 0; padding: 0; border: 0; border-radius: 4px;
  background: url('../publishing/mobile/images/checkbox-unchecked.svg') center / 20px 20px no-repeat; cursor: pointer;
}
.myar-checklist-dialog .safe365-checklist__input:checked { background-image: url('../publishing/mobile/images/checkbox-checked.svg'); }
.myar-checklist-dialog .safe365-checklist__input:focus-visible { outline: 2px solid var(--text-primary); outline-offset: 3px; }
.myar-checklist-dialog .safe365-checklist__control:has(:disabled), .myar-checklist-dialog .safe365-checklist__input:disabled { cursor: default; }

/* Align full-screen mission titles with the close button; keep descriptions below. */
.safe365-modal__dialog--full:is(.myar-quiz-dialog, .myar-checklist-dialog) .safe365-modal__head {
  justify-content: space-between;
  gap: 12px;
  height: auto;
  min-height: 52px;
  padding: 8px 16px 8px 20px;
}
.safe365-modal__dialog--full:is(.myar-quiz-dialog, .myar-checklist-dialog) .safe365-modal__head .safe365-modal__title {
  min-width: 0;
}
.safe365-modal__dialog--full:is(.myar-quiz-dialog, .myar-checklist-dialog) .safe365-modal__title-area {
  padding-top: 0;
}
