/* ============================================================
   OURLAND · 年龄验证弹窗（成人内容前置拦截）
   由 assets/js/age-gate.js 注入 DOM。
   ============================================================ */

/* 验证通过前：锁滚动，并用不透明遮罩盖住正文，避免成人内容在弹窗出现前闪现。
   遮罩挂在 <html> 上而非 <body>，这样注入到 <body> 的弹窗仍可见。 */
html.age-gate-pending { overflow: hidden; }
html.age-gate-pending::before {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--bg, #F4F1EA);
  z-index: 99998;
}

.ag {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(22, 20, 18, .72);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  font-family: var(--serif, "Alibaba PuHuiTi Heavy", "PingFang SC", "Microsoft YaHei", sans-serif);
  opacity: 0;
  animation: agIn .32s ease forwards;
}
@keyframes agIn { to { opacity: 1; } }

.ag-card {
  width: min(440px, 100%);
  background: var(--bg, #F4F1EA);
  border: 1px solid var(--line, #D9D2C4);
  border-radius: 2px;
  padding: 48px 44px 40px;
  text-align: center;
  box-shadow: 0 40px 120px rgba(0, 0, 0, .45);
  position: relative;
}
.ag-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid var(--gold, #A98A4A);
  opacity: .35;
  pointer-events: none;
}

.ag-mark {
  width: 52px; height: 52px;
  margin: 0 auto 22px;
  display: block;
}
.ag-title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--wine, #7A1F2B);
  margin-bottom: 16px;
}
.ag-text {
  font-family: var(--sans, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif);
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-soft, #3E3A34);
  margin-bottom: 28px;
}
.ag-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ag-btn {
  font-family: var(--sans, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif);
  font-size: 14px;
  letter-spacing: .08em;
  padding: 14px 20px;
  border: 1px solid var(--ink, #161412);
  border-radius: 2px;
  background: var(--ink, #161412);
  color: #F4F1EA;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.ag-btn:hover { background: var(--wine, #7A1F2B); border-color: var(--wine, #7A1F2B); }
.ag-btn.ghost {
  background: transparent;
  color: var(--ink-soft, #3E3A34);
  border-color: var(--line, #D9D2C4);
}
.ag-btn.ghost:hover {
  background: transparent;
  color: var(--wine, #7A1F2B);
  border-color: var(--wine, #7A1F2B);
}
.ag-note {
  font-family: var(--sans, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif);
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--muted, #8B8478);
  margin-top: 22px;
  line-height: 1.6;
}

@media (max-width: 480px) {
  .ag-card { padding: 40px 26px 32px; }
  .ag-title { font-size: 21px; }
}
