:root{--bg:#f7f5fc;--ink:#16132c;--soft:#4c4776;--line:#e7e3f5;--pink:#e31c79;--purple:#7b2ff7;--blue:#2e5eff;--grad:linear-gradient(105deg,var(--pink),var(--purple) 52%,var(--blue))}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--ink);place-items:start center;margin:0;padding:1.5rem 1rem 3rem;font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:grid}.card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:28px;width:100%;max-width:420px;padding:2rem 1.5rem;box-shadow:0 30px 60px -34px #17133447}.avatar{background:var(--grad);border-radius:50%;width:110px;height:110px;margin:0 auto 1rem;padding:3px}.avatar img,.avatar span{object-fit:cover;width:100%;height:100%;color:var(--purple);background:#fff;border-radius:50%;place-items:center;font-size:2rem;font-weight:800;display:grid}h1{margin:0;font-size:1.6rem;line-height:1.15}.role{color:var(--purple);margin:.4rem 0 0;font-weight:600}.bio{color:var(--soft);margin:1rem 0 0;line-height:1.55}.actions{gap:.6rem;margin-top:1.5rem;display:grid}.btn{border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.85rem 1rem;font-weight:700;text-decoration:none;display:block}.btn.primary{background:var(--grad);color:#fff;border-color:#0000}.socials{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.2rem;display:flex}.socials a{color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;text-decoration:none}.qr{justify-items:center;gap:.3rem;margin-top:1.8rem;display:grid}.qr small{color:var(--soft)}footer{color:var(--soft);margin-top:1.5rem;font-size:.78rem}code{background:var(--bg);border-radius:6px;padding:.1rem .35rem}.card.left{text-align:left}.card.wide{max-width:560px}.tabs{gap:.4rem;margin:1.2rem 0 1rem;display:flex}.tabs button{border:1px solid var(--line);font:inherit;color:var(--soft);cursor:pointer;background:#fff;border-radius:999px;flex:1;padding:.6rem;font-weight:700}.tabs button.on{background:var(--grad);color:#fff;border-color:#0000}.form{gap:.9rem;display:grid}.form h2{margin:1.2rem 0 -.2rem;font-size:1.05rem}.form h2 small{color:var(--soft);font-weight:500}.form label{color:var(--soft);gap:.3rem;font-size:.85rem;font-weight:700;display:grid}.form input,.form textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:.7rem .85rem;font-weight:400}.form input:focus,.form textarea:focus{outline:2px solid var(--purple);outline-offset:1px}.form .row{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.form .slug{align-items:center;gap:.4rem;display:flex}.form .slug em{color:var(--soft);white-space:nowrap;font-size:.8rem;font-style:normal;font-weight:600}.form .check{align-items:center;gap:.6rem;font-weight:600;display:flex}.form .check input{width:auto}.btn{cursor:pointer;font:inherit;font-weight:700}.btn.primary:disabled{opacity:.6;cursor:wait}.msg{border-radius:12px;margin:0;padding:.7rem .9rem;font-size:.88rem}.msg.err{color:#9c0f4f;background:#fde8f1}.msg.ok{color:#4a1fb8;background:#ece8ff}.msg a{color:inherit;font-weight:700}.topbar{justify-content:space-between;align-items:center;display:flex}.link{font:inherit;color:var(--purple);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.sub{border-radius:14px;gap:.4rem;margin:1rem 0;padding:.8rem 1rem;font-size:.9rem;display:grid}.sub.ok{color:#14653a;background:#e8f7ee}.sub.off{color:#6b4b00;background:#fff3c4}@media (max-width:420px){.form .row{grid-template-columns:1fr}}.btn.wallet{text-align:center;margin:1rem 0 .4rem;text-decoration:none;display:block}.where{text-align:left;gap:.7rem;margin-top:1.6rem;display:grid}.where h2{text-align:center;margin:0;font-size:1rem}.map{border:1px solid var(--line);z-index:0;border-radius:18px;height:200px;overflow:hidden}.place{text-align:center;color:var(--soft);margin:0;font-size:.92rem;line-height:1.5}.place strong{color:var(--ink)}.pin span{background:var(--grad);border:3px solid #fff;border-radius:50% 50% 50% 0;width:30px;height:30px;margin:0 2px;display:block;position:relative;transform:rotate(-45deg);box-shadow:0 6px 14px #17133459}.pin span:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;margin:auto;position:absolute;inset:0}.leaflet-container{font-family:inherit}.leaflet-control-attribution{opacity:.85;font-size:10px!important}
