.rp-research-gate {
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: min(580px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 36px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #e8e6df;
  border-radius: 22px;
  background: #fff;
  color: #151515;
  font: 400 15px/1.6 'Inter', sans-serif;
  text-align: left;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .2);
  z-index: 2147483647;
}
.rp-research-gate[open] { display: block; }
.rp-research-gate:not([open]) { display: none; }
.rp-research-gate::backdrop {
  background: rgba(13, 22, 18, .58);
  backdrop-filter: blur(6px);
}
/* Visible fallback while JavaScript initializes, including when JS is disabled. */
.rp-research-gate[open]:not(:modal) { box-shadow: 0 0 0 100vmax rgba(13, 22, 18, .8); }
html.rp-gate-locked, html.rp-gate-locked body { overflow: hidden !important; }
.rp-gate-logo { width: min(270px, 100%); margin: 0 auto 30px; color: #0b0b0b; }
.rp-gate-logo svg { display: block; width: 100%; height: auto; }
.rp-research-gate h2 {
  margin: 0 0 12px;
  color: #087a4b;
  font: 700 clamp(25px, 4vw, 30px)/1.2 'DM Sans', sans-serif;
  letter-spacing: -.6px;
}
.rp-research-gate p { margin: 0; font-size: inherit; line-height: inherit; color: inherit; }
.rp-research-gate form { margin: 24px 0 20px; }
.rp-gate-option {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin: 0 0 12px;
  padding: 17px;
  border: 1px solid #e8e6df;
  border-radius: 12px;
  background: #f6f4ef;
  cursor: pointer;
  font-weight: 400;
  transition: border-color 160ms ease, background-color 160ms ease;
}
.rp-gate-option:has(input:checked) { border-color: #087a4b; background: #f0f8f3; }
.rp-gate-option input[type="checkbox"] {
  appearance: auto;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  padding: 0;
  accent-color: #087a4b;
  cursor: pointer;
}
.rp-gate-option strong { color: #087a4b; font-weight: 700; }
.rp-research-gate button {
  display: block;
  width: 100%;
  min-height: 54px;
  margin: 22px 0 0;
  padding: 14px 20px;
  border: 0;
  border-radius: 999px;
  background: #0b0b0b;
  color: #fff;
  font: 600 16px/1.4 'Inter', sans-serif;
  cursor: pointer;
  transition: background-color 160ms ease;
}
.rp-research-gate button:enabled:hover { background: #087a4b; }
.rp-research-gate button:disabled { background: #e8e6df; color: #62635f; cursor: not-allowed; }
.rp-research-gate :is(input, button):focus-visible { outline: 3px solid #087a4b; outline-offset: 4px; }
.rp-research-gate h2:focus { outline: none; }
.rp-research-gate .rp-gate-note { font-size: 13px; line-height: 1.65; color: #535353; }
@media (max-width: 480px) {
  .rp-research-gate { padding: 26px 22px; max-height: calc(100dvh - 24px); border-radius: 18px; font-size: 14px; }
  .rp-gate-logo { width: 230px; margin-bottom: 24px; }
  .rp-gate-option { padding: 14px; gap: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .rp-gate-option, .rp-research-gate button { transition: none; }
}
