/* ── Locked Overlay (improved) ── */
.locked-overlay{position:absolute;top:0;left:0;right:0;bottom:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(255,255,255,.75);z-index:30;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;cursor:pointer}
.locked-box{position:relative;z-index:31;text-align:center;max-width:420px;width:calc(100% - 40px);padding:48px 40px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.04)}
.locked-icon{width:56px;height:56px;margin:0 auto 20px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px}
.locked-box h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.35rem;font-weight:800;color:#1a1c2e;margin-bottom:8px;letter-spacing:-.01em}
.locked-box p{font-size:14px;color:#6b7280;line-height:1.65;margin-bottom:24px}
.locked-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:#1a1c2e;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;border-radius:10px;text-decoration:none;transition:all .2s;border:none;cursor:pointer;letter-spacing:-.01em}
.locked-btn:hover{background:#0069FF;transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,105,255,.25)}
.locked-divider{margin:20px 0 14px;font-size:12px;color:#9ca3af;font-weight:500;letter-spacing:.02em;display:flex;align-items:center;gap:12px}
.locked-divider::before,.locked-divider::after{content:'';flex:1;height:1px;background:#e5e7eb}
.locked-btn-outline{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;background:transparent;color:#0069FF;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;border-radius:10px;border:1.5px solid #0069FF;text-decoration:none;transition:all .2s;cursor:pointer}
.locked-btn-outline:hover{background:rgba(0,105,255,.06);transform:translateY(-1px)}

/* ── Access Gate Modal ── */
#access-gate-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9990;display:none;align-items:center;justify-content:center;padding:20px}
#access-gate-backdrop.ag-visible{display:flex}
.ag-modal{background:#fff;border-radius:20px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;padding:40px 36px;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.15);animation:agIn .3s ease}
@keyframes agIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.ag-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;border:none;background:#f3f4f6;color:#6b7280;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.ag-close:hover{background:#e5e7eb;color:#1a1c2e}
.ag-logo{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:#1a1c2e;margin-bottom:24px;font-family:'Plus Jakarta Sans',sans-serif}
.ag-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:800;color:#1a1c2e;margin-bottom:8px;letter-spacing:-.02em}
.ag-sub{font-size:14px;color:#6b7280;line-height:1.65;margin-bottom:24px}
.ag-label{display:block;font-size:12px;font-weight:700;color:#1a1c2e;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.ag-req{color:#ef4444}
.ag-input{width:100%;padding:12px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:#1a1c2e;background:#fafafa;transition:border-color .2s;outline:none;margin-bottom:16px}
.ag-input:focus{border-color:#0069FF;background:#fff;box-shadow:0 0 0 3px rgba(0,105,255,.08)}
.ag-mono{font-family:'JetBrains Mono','Fira Code',monospace;letter-spacing:.05em;font-size:13px}
.ag-warn{border-left:3px solid #E8A838;background:#fffbf0;border-radius:0 10px 10px 0;padding:16px 18px;margin-bottom:20px;font-size:12.5px;color:#78600a;line-height:1.65}
.ag-check-wrap{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;font-size:13px;color:#4B5563;line-height:1.55;cursor:pointer}
.ag-check-wrap input{margin-top:3px;accent-color:#0069FF;width:16px;height:16px;flex-shrink:0}
.ag-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;font-size:13px;color:#991b1b;line-height:1.5;margin-bottom:16px}
.ag-submit{width:100%;padding:14px;background:#1a1c2e;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:all .2s;letter-spacing:-.01em}
.ag-submit:hover:not(:disabled){background:#0069FF;transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,105,255,.25)}
.ag-submit:disabled{opacity:.4;cursor:not-allowed}
.ag-help{text-align:center;margin-top:16px;font-size:12px;color:#9ca3af}
.ag-help a{color:#0069FF;text-decoration:none;font-weight:600}
.ag-help a:hover{text-decoration:underline}
@media(max-width:480px){.ag-modal{padding:28px 20px}.locked-box{padding:32px 24px}}
