*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--tx);font-family:var(--ff);line-height:1.45;-webkit-font-smoothing:antialiased}
.w{max-width:600px;margin:0 auto;padding:40px 18px 28px;display:flex;flex-direction:column;gap:12px}
.hd{text-align:center;margin-bottom:8px}.av{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 4px 18px rgba(0,0,0,.18);background:#fff}
h1{font-size:1.45rem;margin:12px 0 2px}.hn{margin:0;opacity:.7;font-size:.92rem}.bio{margin:8px auto 0;max-width:460px;opacity:.9}
.h{font-size:1.05rem;text-align:center;margin:14px 0 0}.t{text-align:center;margin:0;opacity:.9}.d{border:0;border-top:1px solid currentColor;opacity:.2;width:60%;margin:8px auto}
.l{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:56px;padding:12px 18px;background:var(--bb);color:var(--bt);text-decoration:none;font-weight:600;border:2px solid var(--bb);transition:transform .15s,box-shadow .15s}
.l small{font-weight:400;opacity:.8;font-size:.8rem}.l:hover,.l:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.18)}.l:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
.b-rounded .l,.b-rounded .f,.b-rounded .c{border-radius:14px}.b-pill .l{border-radius:999px}.b-pill .f,.b-pill .c{border-radius:22px}.b-square .l,.b-square .f{border-radius:2px}
.b-outline .l{background:transparent;color:var(--tx);border-color:var(--tx);border-radius:12px}.b-shadow .l{border-radius:10px;box-shadow:6px 6px 0 var(--tx)}
.l-f{font-size:1.05rem;min-height:64px}.a-pulse{animation:bp 1.8s ease-in-out infinite}.a-shake{animation:bs 3s ease-in-out infinite}.a-glow{animation:bg 2s ease-in-out infinite}
@keyframes bp{50%{transform:scale(1.03)}}@keyframes bs{0%,90%,100%{transform:none}92%{transform:rotate(-2deg)}94%{transform:rotate(2deg)}96%{transform:rotate(-1deg)}}@keyframes bg{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--ac) 40%,transparent)}}
@media (prefers-reduced-motion:reduce){.a-pulse,.a-shake,.a-glow{animation:none}.l{transition:none}}
.s{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.s a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--bb);color:var(--bt);text-decoration:none;font-weight:700;font-size:.78rem}
.e{position:relative;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.08)}.e iframe{display:block;width:100%;border:0}.e-youtube iframe,.e-map iframe{aspect-ratio:16/9;height:auto}.e-spotify iframe{height:152px}.e-tiktok iframe{height:575px}
.f{display:flex;flex-direction:column;gap:8px;padding:14px;background:rgba(255,255,255,.14);border:1px solid rgba(127,127,127,.25);backdrop-filter:blur(6px)}
.ft{font-weight:600;text-align:center}.fr{display:flex;gap:8px}.fr input{flex:1}
.f input,.f textarea,dialog select,dialog textarea{width:100%;font:inherit;padding:11px 12px;border-radius:10px;border:1px solid rgba(127,127,127,.4);background:#fff;color:#111}
.f button,dialog button{font:inherit;font-weight:600;padding:11px 16px;border-radius:10px;border:0;background:var(--bb);color:var(--bt);cursor:pointer}
.fm{min-height:1em;text-align:center}.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.c{text-align:center;padding:14px;background:rgba(255,255,255,.14);border:1px solid rgba(127,127,127,.25)}.c strong{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums}
.g{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.g img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.fo{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:20px;font-size:.82rem}.brand{color:inherit;opacity:.75;text-decoration:none;font-weight:600}.brand:hover{opacity:1}
.rp{background:none;border:0;color:inherit;opacity:.5;font:inherit;font-size:.75rem;cursor:pointer;text-decoration:underline}
.ad{margin-top:8px;text-align:center}.gate{text-align:center;min-height:80vh;justify-content:center}.sm{color:inherit;opacity:.7;font-size:.9rem}
.demo{background:#111;color:#fff;text-align:center;font:600 12px/1.6 system-ui,sans-serif;padding:4px}
dialog{border:0;border-radius:16px;max-width:380px;width:92%;padding:20px;color:#111;font-family:var(--ff)}dialog::backdrop{background:rgba(0,0,0,.5)}dialog form{display:flex;flex-direction:column;gap:10px}dialog h2{margin:0;font-size:1.1rem}
