
.page-lang{
  position:fixed; top:10px; right:10px; z-index:40;
  background:#1a1a1a; color:#eee; border:1px solid #333; border-radius:14px;
  padding:6px 10px; font-size:12px; max-width:120px;
}
.age-gate{
  position:fixed; inset:0; z-index:9999; display:grid; place-items:center;
  background:rgba(0,0,0,.92); padding:20px;
}
.age-gate[hidden]{display:none!important}
.age-card{
  width:min(400px,100%); background:#121212; border:1px solid #2a2a2a;
  border-radius:18px; padding:24px; text-align:center; color:#fff;
  font-family:system-ui,sans-serif; box-shadow:0 20px 60px #000a;
}
.age-card img{margin:0 auto 12px; display:block; border-radius:10px}
.age-card h2{margin:0 0 8px; font-size:1.3rem}
.age-card p{color:#aaa; margin:0 0 16px; line-height:1.5; font-size:.92rem}
.age-yes,.age-no{
  display:block; width:100%; min-height:46px; border:0; border-radius:12px;
  margin-top:8px; font-weight:700; cursor:pointer; font:inherit;
}
.age-yes{background:linear-gradient(90deg,#25f4ee,#fe2c55); color:#000}
.age-no{background:#222; color:#ddd}
body.age-locked{overflow:hidden}

.page-modal{
  border:0; padding:0; background:transparent; color:#fff;
  width:min(400px, calc(100vw - 24px)); max-height:calc(100dvh - 24px);
  overflow:auto; border-radius:16px; box-shadow:0 20px 60px #000a;
  font-family:system-ui,sans-serif;
}
.page-modal::backdrop{background:#000c}
.pm-panel{padding:20px; background:#121212; border:1px solid #2a2a2a; border-radius:16px; position:relative}
.pm-close{
  position:absolute; right:10px; top:8px; border:0; background:#222; color:#fff;
  width:34px; height:34px; border-radius:50%; font-size:20px; cursor:pointer;
}
.pm-panel h3{margin:0 0 10px}
.pm-panel p{color:#aaa; line-height:1.5; margin:0 0 10px}
.pm-btn{
  display:block; width:100%; min-height:44px; border:0; border-radius:12px;
  background:linear-gradient(90deg,#25f4ee,#fe2c55); color:#000; font-weight:800;
  margin-top:10px; cursor:pointer;
}
.pm-list button{
  display:block; width:100%; text-align:left; background:#1a1a1a; border:0; color:#eee;
  padding:12px; border-radius:10px; margin-top:8px; cursor:pointer;
}
.logo-wrap{display:flex; align-items:center; gap:8px; pointer-events:auto}
.logo-wrap .logo{width:112px; height:auto}
