@charset "UTF-8";

/* The cached document is identical for every visitor. JavaScript only toggles
 * age-gate-pending, while all public content remains present in the DOM. */
html.age-gate-pending { overflow:hidden; }
html.age-gate-pending body > *:not(#age-gate) { visibility:hidden; }

#age-gate {
  --ag-ink:#15161a;
  --ag-muted:#686d78;
  --ag-pink:#ff2f67;
  --ag-pink-dark:#ca1748;
  display:none;
  position:fixed;
  inset:0;
  z-index:999999;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:clamp(18px,4vw,48px);
  box-sizing:border-box;
  background:radial-gradient(circle at 20% 18%,#ffd9e6 0,transparent 31%),radial-gradient(circle at 83% 82%,#e7dfff 0,transparent 32%),linear-gradient(145deg,#fff8fb 0%,#f6f7fb 54%,#fff 100%);
  color:var(--ag-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
html.age-gate-pending #age-gate { display:flex; }

.age-gate-orb { position:absolute; width:min(46vw,620px); aspect-ratio:1; border-radius:50%; opacity:.54; filter:blur(12px); pointer-events:none; }
.age-gate-orb--one { top:-28%; left:-14%; background:linear-gradient(145deg,#ff6f9a,#ffd8e5); }
.age-gate-orb--two { right:-16%; bottom:-35%; background:linear-gradient(145deg,#ad9bf5,#efdfff); }

#age-gate-box {
  position:relative;
  width:min(100%,560px);
  box-sizing:border-box;
  padding:clamp(28px,5vw,52px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.9);
  border-radius:24px;
  background:rgba(255,255,255,.93);
  box-shadow:0 28px 80px rgba(27,24,41,.18),0 2px 9px rgba(27,24,41,.07);
  color:var(--ag-ink);
  text-align:center;
  backdrop-filter:blur(18px);
}
#age-gate-box::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,#ff2f67,#ff69a0 52%,#8d6ee8); }
.age-gate-logo { display:block; width:auto; height:48px; max-width:min(76%,280px); margin:0 auto 24px; object-fit:contain; }
.age-gate-eyebrow { display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 12px; color:var(--ag-pink-dark); font-size:11px; font-weight:850; letter-spacing:.17em; }
.age-gate-eyebrow span { min-width:34px; min-height:34px; display:inline-grid; place-items:center; border-radius:50%; background:var(--ag-pink); color:#fff; font-size:12px; letter-spacing:0; box-shadow:0 7px 18px rgba(255,47,103,.25); }
#age-gate-title { margin:0; color:var(--ag-ink); font-size:clamp(25px,4.5vw,36px); font-weight:800; line-height:1.45; letter-spacing:-.035em; }
#age-gate-desc { max-width:430px; margin:18px auto 26px; color:var(--ag-muted); font-size:14px; line-height:1.85; }
#age-gate-buttons { display:grid; gap:10px; }
#age-gate-buttons button { width:100%; min-height:54px; padding:10px 18px; border:1px solid #dfe2e8; border-radius:11px; background:#fff; color:#3c4048; font:inherit; font-size:14px; font-weight:750; cursor:pointer; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease; }
#age-gate-buttons #age-gate-yes { border-color:var(--ag-pink); background:linear-gradient(135deg,#ff2f67,#f72561); box-shadow:0 12px 28px rgba(255,47,103,.24); color:#fff; }
#age-gate-buttons button:hover { border-color:#bfc4cd; background:#f8f9fb; }
#age-gate-buttons #age-gate-yes:hover { border-color:var(--ag-pink-dark); background:linear-gradient(135deg,#e92359,#c91849); }
#age-gate-buttons button:focus-visible,.age-gate-note a:focus-visible { outline:3px solid rgba(197,29,77,.55); outline-offset:3px; }
#age-gate-buttons button:active { transform:translateY(1px); }
.age-gate-note { margin:20px 0 0; color:#858a94; font-size:10px; line-height:1.75; }
.age-gate-note a { color:#626772; text-decoration:underline; text-underline-offset:2px; }

@media (max-width:480px) {
  #age-gate { padding:14px; }
  #age-gate-box { padding:28px 20px 24px; border-radius:18px; }
  .age-gate-logo { height:39px; margin-bottom:20px; }
  #age-gate-desc { margin-block:14px 22px; font-size:13px; }
  #age-gate-buttons button { min-height:50px; }
}
@media (prefers-reduced-motion:reduce) { #age-gate-buttons button { transition:none; } }
