/* RetireSure — Disclaimer gate styles (Apple-like restraint) */
body.rs-d-locked { overflow: hidden; }

#rs-disclaimer-root { position: fixed; inset: 0; z-index: 999999; }
#rs-disclaimer-root .rs-d-backdrop {
  position: absolute; inset: 0; background: rgba(0,0,0,.55);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
#rs-disclaimer-root .rs-d-panel {
  position: relative; margin: 5vh auto; width: min(760px, 92vw); max-height: 90vh;
  display: flex; flex-direction: column; background: #fff; color: #1d1d1f;
  border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.28);
  padding: 34px 38px 26px; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text",
    "Helvetica Neue", "PingFang HK", "Noto Sans CJK TC", Arial, sans-serif;
}
#rs-disclaimer-root h2 { font-size: 26px; line-height: 1.2; margin: 0 0 10px; letter-spacing: -.02em; font-weight: 600; }
#rs-disclaimer-root .rs-d-intro { font-size: 14px; line-height: 1.55; color: #6e6e73; margin: 0 0 16px; }
#rs-disclaimer-root .rs-d-body {
  overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 4px 14px 4px 2px;
  border-top: 1px solid #e8e8ed; border-bottom: 1px solid #e8e8ed; margin-bottom: 16px;
}
#rs-disclaimer-root .rs-d-body h3 { font-size: 15px; font-weight: 600; margin: 16px 0 4px; color: #1d1d1f; }
#rs-disclaimer-root .rs-d-body p { font-size: 13.5px; line-height: 1.65; color: #424245; margin: 0 0 8px; }
#rs-disclaimer-root .rs-d-check {
  display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.5;
  color: #1d1d1f; cursor: pointer; margin-bottom: 16px;
}
#rs-disclaimer-root .rs-d-check input { margin-top: 3px; width: 16px; height: 16px; flex: 0 0 auto; }
#rs-disclaimer-root .rs-d-actions { display: flex; gap: 12px; justify-content: flex-end; }
#rs-disclaimer-root .rs-d-btn {
  font: inherit; font-size: 14px; font-weight: 500; border-radius: 980px;
  padding: 10px 22px; cursor: pointer; border: 1px solid transparent; transition: opacity .15s ease;
}
#rs-disclaimer-root .rs-d-primary { background: #0071e3; color: #fff; }
#rs-disclaimer-root .rs-d-primary:disabled { opacity: .38; cursor: not-allowed; }
#rs-disclaimer-root .rs-d-ghost { background: transparent; color: #0071e3; border-color: #d2d2d7; }
#rs-disclaimer-root .rs-d-note { font-size: 11.5px; color: #86868b; margin: 12px 0 0; text-align: right; }

.rs-d-footer {
  position: fixed; right: 16px; bottom: 14px; z-index: 9998;
  font: inherit; font-size: 12px; color: #6e6e73; background: rgba(255,255,255,.92);
  border: 1px solid #e8e8ed; border-radius: 980px; padding: 7px 14px; cursor: pointer;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.rs-d-footer:hover { color: #0071e3; border-color: #d2d2d7; }
@media (max-width: 640px) {
  #rs-disclaimer-root .rs-d-panel { margin: 2vh auto; padding: 24px 20px 18px; border-radius: 14px; max-height: 94vh; }
  #rs-disclaimer-root h2 { font-size: 21px; }
}
