/* Request-access popup. Uses the lock page's own tokens (:root vars) and button look. */
.btn.ap-open{margin-top:0;background:transparent;color:var(--gold);border:1px solid var(--gold);box-shadow:none}
.btn.ap-open:hover{filter:none;background:rgba(245,197,24,.08)}
.ap-open[hidden]{display:none !important}
html.ap-lock,html.ap-lock body{overflow:hidden}
.ap-overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:rgba(5,5,0,.82);animation:ap-fade .18s ease-out}
.ap-overlay[hidden]{display:none !important}
.ap-dialog{position:relative;width:100%;max-width:460px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:28px 22px 22px;border:1px solid rgba(255,214,0,.5);border-radius:18px;background:#0c0a02;box-shadow:0 0 44px rgba(255,214,0,.3);animation:ap-rise .2s ease-out}
.ap-title{margin:0 0 6px;font-size:16px;font-weight:900;letter-spacing:.24em}
.ap-lead{margin:0 0 16px;font-size:13px;line-height:1.6;color:var(--soft)}
.ap-x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:transparent;color:var(--soft);font-size:26px;line-height:1;cursor:pointer;border-radius:12px}
.ap-dialog form{gap:14px}
.ap-row{display:flex;flex-direction:column;gap:6px}
.ap-row>label,.ap-interests legend{font-family:"Share Tech Mono",ui-monospace,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.1em;color:var(--soft)}
.ap-dialog input[type=text],.ap-dialog input[type=email],.ap-dialog textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(255,214,0,.5);border-radius:12px;background:rgba(14,11,0,.88);color:var(--ink);font-family:"Share Tech Mono",ui-monospace,Menlo,Consolas,monospace;font-size:16px}
.ap-dialog textarea{resize:vertical;min-height:84px}
.ap-dialog input[aria-invalid=true],.ap-dialog textarea[aria-invalid=true]{border-color:var(--danger)}
.ap-interests{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:2px}
.ap-check{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;color:var(--ink);cursor:pointer}
.ap-row>label.ap-check{font-family:inherit;font-size:14px;letter-spacing:0;color:var(--ink)}
.ap-check input{appearance:none;-webkit-appearance:none;flex:none;display:grid;place-content:center;width:22px;height:22px;margin:0;border:1.5px solid rgba(255,214,0,.7);border-radius:6px;background:rgba(14,11,0,.6);cursor:pointer}
.ap-check input::before{content:'';width:12px;height:12px;background:var(--gold);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);transform:scale(0);transition:transform .12s}
.ap-check input:checked{border-color:var(--gold);background:rgba(245,197,24,.12)}
.ap-check input:checked::before{transform:scale(1)}
@media (prefers-reduced-motion:reduce){.ap-check input::before{transition:none}}
.ap-count{margin:0;text-align:right;font-size:11px;color:var(--dim)}
.ap-err{margin:0;font-size:12px;color:var(--danger)}
.ap-err[hidden]{display:none}
.ap-fine{margin:0;font-size:12px;line-height:1.6;color:var(--dim)}
.ap-status{margin:0;min-height:1.6em;font-size:13px;line-height:1.6;color:var(--soft)}
.ap-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ap-dialog input:focus-visible,.ap-dialog textarea:focus-visible,.ap-x:focus-visible,.ap-check input:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ap-dialog .btn[disabled]{opacity:.55;cursor:progress}
@keyframes ap-fade{from{opacity:0}to{opacity:1}}
@keyframes ap-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:560px){.ap-overlay{padding:0;align-items:stretch}.ap-dialog{max-width:none;height:100%;border-radius:0;border-width:0;padding-top:52px}}
@media (prefers-reduced-motion:reduce){.ap-overlay,.ap-dialog{animation:none}}
