/* RTA Age Gate — tactical 18+ verification overlay. Self-contained; no theme deps. */
:root{
  --rta-ag-red:#ff4444; --rta-ag-red-deep:#c62828; --rta-ag-green:#00ff88;
  --rta-ag-bg:#0a0a0a; --rta-ag-card:#161616; --rta-ag-card-deep:#0d0d0d;
  --rta-ag-bd:#2a2a2a; --rta-ag-tx:#ededed; --rta-ag-dim:#c9c9c9;
  --rta-ag-mono:'Courier New','Consolas',monospace;
}
html.rta-ag-lock, html.rta-ag-lock body{ overflow:hidden !important; }

.rta-ag{ position:fixed; inset:0; z-index:2147483000; display:flex; align-items:center; justify-content:center; padding:20px;
  font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif; }
.rta-ag[hidden]{ display:none; }
.rta-ag__scrim{ position:absolute; inset:0; background:rgba(3,3,3,.92); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }

.rta-ag__card{ position:relative; width:min(560px,100%); background:linear-gradient(135deg,var(--rta-ag-card),var(--rta-ag-card-deep));
  border:1px solid var(--rta-ag-bd); border-top:3px solid var(--rta-ag-red); padding:34px 34px 26px; text-align:center; overflow:hidden;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.9), 0 0 60px -30px rgba(255,68,68,.6);
  background-image:radial-gradient(circle at 2px 2px,rgba(255,68,68,.04) 1px,transparent 1px); background-size:20px 20px;
  animation:rta-ag-in .35s cubic-bezier(.2,.8,.2,1) both; }
@keyframes rta-ag-in{ from{ opacity:0; transform:translateY(14px) scale(.98) } to{ opacity:1; transform:none } }
/* viewfinder corner brackets */
.rta-ag__card::before,.rta-ag__card::after{ content:""; position:absolute; width:18px; height:18px; }
.rta-ag__card::before{ top:0; right:0; border-top:2px solid var(--rta-ag-red); border-right:2px solid var(--rta-ag-red); }
.rta-ag__card::after{ bottom:0; left:0; border-bottom:2px solid var(--rta-ag-red); border-left:2px solid var(--rta-ag-red); }
.rta-ag__scan{ position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--rta-ag-red) 50%,transparent); animation:rta-ag-scan 5s linear infinite; }
@keyframes rta-ag-scan{ 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

.rta-ag__brand{ display:flex; align-items:center; justify-content:center; gap:11px; margin-bottom:18px; }
.rta-ag__logo{ width:40px; height:40px; border:2px solid var(--rta-ag-red); border-radius:6px; display:grid; place-items:center; color:var(--rta-ag-red); background:#120404; box-shadow:0 0 18px -6px rgba(255,68,68,.6); }
.rta-ag__logo svg{ width:24px; height:24px; }
.rta-ag__wordmark{ font-weight:900; letter-spacing:2px; font-size:15px; color:#fff; text-transform:uppercase; }
.rta-ag__wordmark i{ color:var(--rta-ag-red); font-style:normal; }

.rta-ag__meta{ font-family:var(--rta-ag-mono); font-size:.7rem; letter-spacing:2.5px; color:var(--rta-ag-red); text-transform:uppercase; margin-bottom:12px; }
.rta-ag__title{ font-size:1.7rem; font-weight:900; letter-spacing:1.5px; color:#fff; text-transform:uppercase; margin:0 0 14px; line-height:1.1; }
.rta-ag__accent{ color:var(--rta-ag-red); }
.rta-ag__copy{ font-size:14px; color:var(--rta-ag-dim); line-height:1.6; margin:0 auto 22px; max-width:440px; }
.rta-ag__copy strong{ color:#fff; }

.rta-ag__actions{ display:flex; flex-direction:column; gap:10px; }
.rta-ag__btn{ font-family:var(--rta-ag-mono); font-weight:800; text-transform:uppercase; letter-spacing:1.5px; font-size:14px; padding:15px 20px; cursor:pointer; border:2px solid; transition:.2s; }
.rta-ag__btn--enter{ background:var(--rta-ag-red); color:#000; border-color:var(--rta-ag-red); }
.rta-ag__btn--enter:hover{ box-shadow:0 0 24px rgba(255,68,68,.6); }
.rta-ag__btn--exit{ background:transparent; color:var(--rta-ag-dim); border-color:var(--rta-ag-bd); font-size:12px; letter-spacing:1px; }
.rta-ag__btn--exit:hover{ border-color:var(--rta-ag-red); color:var(--rta-ag-red); }
.rta-ag__btn:focus-visible{ outline:2px solid var(--rta-ag-green); outline-offset:2px; }

.rta-ag__foot{ font-family:var(--rta-ag-mono); font-size:.66rem; letter-spacing:1px; color:var(--rta-ag-dim); text-transform:uppercase; margin-top:18px; opacity:.75; }

@media(max-width:480px){
  .rta-ag__card{ padding:26px 20px 20px; }
  .rta-ag__title{ font-size:1.35rem; }
  .rta-ag__copy{ font-size:13px; }
}
@media(prefers-reduced-motion:reduce){ .rta-ag__card,.rta-ag__scan{ animation:none; } }
