/* UltFans holder gate: locked overlay in the meme-wall LOCKED style */
.ufg{position:relative;margin-top:18px;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:460px;background:#070709}
.ufg-prev{position:absolute;inset:0;filter:blur(14px) saturate(1.2);opacity:.75;transform:scale(1.08)}
.ufg-prev svg{width:100%;height:100%}
.ufg-prev circle{animation:ufgfloat 7s ease-in-out infinite}
.ufg-prev circle:nth-child(2n){animation-duration:9s;animation-delay:-2s}.ufg-prev circle:nth-child(3n){animation-duration:11s;animation-delay:-4s}
@keyframes ufgfloat{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-14px)}}
.ufg-in{position:relative;z-index:2;min-height:460px;display:grid;place-items:center;text-align:center;padding:30px 18px;background:linear-gradient(to top,rgba(5,5,6,.7),rgba(5,5,6,.2))}
.ufg-lock{width:62px;height:62px;margin:0 auto 14px;display:grid;place-items:center;border:1px solid rgba(76,219,255,.75);border-radius:50%;background:rgba(5,5,6,.72);animation:lockpulse 2.6s ease-in-out infinite}
.ufg-lock svg{width:26px;height:26px}.ufg-lock .sh{transform-origin:16px 14px;animation:ufgshackle 2.6s ease-in-out infinite}
@keyframes ufgshackle{0%,70%,100%{transform:none}80%{transform:translateY(-3px)}90%{transform:translateY(0) rotate(-6deg)}}
@keyframes lockpulse{0%,100%{box-shadow:0 0 0 rgba(76,219,255,0)}50%{box-shadow:0 0 18px rgba(76,219,255,.55)}}
.ufg-tag{display:inline-block;border:1px solid rgba(76,219,255,.75);background:rgba(5,5,6,.72);color:var(--cyan);border-radius:999px;padding:8px 14px;letter-spacing:.18em;font-size:11px;margin-bottom:14px;animation:lockpulse 2.6s ease-in-out infinite}
.ufg h2{font-family:var(--black);letter-spacing:-.02em;font-size:clamp(22px,4vw,32px);margin:0 0 8px}
.ufg p{color:var(--muted);font-size:13.5px;line-height:1.5;max-width:420px;margin:0 auto 16px}
.ufg button{background:var(--pink);color:#14040c;border:0;border-radius:12px;padding:12px 20px;font:600 14px var(--ui);cursor:pointer}
.ufg button[disabled]{opacity:.6;cursor:wait}
.ufg .ufg-msg{min-height:20px;font-size:12.5px;margin-top:12px;color:var(--lav)}
.ufg .ufg-msg.bad{color:var(--pink)}
.ufg small{display:block;color:var(--muted);font-size:11px;margin-top:10px}
.ufg-who{font-size:11px;color:var(--muted);margin:10px 0 0}.ufg-who button{background:none;border:0;color:var(--lav);padding:0;font-size:11px;cursor:pointer}
/* two connect options: browser wallet + WalletConnect */
.ufg-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ufg button.ufg-wc{background:var(--cyan);color:#041318}
.ufg button.ghost{background:rgba(5,5,6,.72);color:var(--cream);border:1px solid rgba(76,219,255,.55)}
.ufg button.ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.ufg button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.ufg small.ufg-hint{max-width:420px;margin:10px auto 0;line-height:1.45}
@media (max-width:420px){.ufg-btns button{flex:1 1 100%}}
