/* 年齢確認ゲート (18comics / 18games / read 共通。中身は js/age-gate.js) */
#age-gate {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center; padding: 24px;
  background:
    radial-gradient(60% 50% at 20% 20%, rgba(255,79,154,.3), transparent 70%),
    radial-gradient(60% 50% at 80% 80%, rgba(135,87,255,.35), transparent 70%),
    #150b22;
}
#age-gate[hidden] { display: none; }
#age-gate::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.08) 1.5px, transparent 2px); background-size: 22px 22px; }
.gate-box {
  position: relative; width: 100%; max-width: 420px; text-align: center;
  padding: 40px 32px 34px; border-radius: 32px;
  background: rgba(42,23,66,.82); border: 2px solid rgba(255,134,191,.35);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  box-shadow: 0 40px 80px -30px rgba(0,0,0,.8);
}
.gate-icon { width: 84px; height: 84px; margin: -82px auto 14px; border-radius: 50%; border: 4px solid #fff; box-shadow: 0 0 0 3px var(--pink); }
.gate-logo { font-family: var(--f-pop); font-size: 1.4rem; background: var(--grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gate-badge { display: inline-block; margin: 14px 0 12px; padding: 3px 14px; border-radius: var(--r-pill); border: 2px solid var(--pink-2); color: var(--pink-2); font-size: .74rem; font-weight: 800; letter-spacing: .14em; }
.gate-title { font-size: 1.6rem; font-weight: 800; letter-spacing: .06em; }
.gate-text { margin: 10px 0 28px; font-size: .9rem; line-height: 1.9; color: var(--night-muted); }
.gate-text strong { color: #fff; }
.gate-btns { display: grid; gap: 10px; }
.gate-btn-yes { width: 100%; }
.gate-btn-no { height: 48px; border-radius: var(--r-pill); border: 2px solid rgba(255,255,255,.18); color: var(--night-muted); font-weight: 800; transition: background-color .2s, color .2s; }
.gate-btn-no:hover { background: rgba(255,255,255,.08); color: #fff; }
