:root{--bg: #f1f1f1;--surface: #ffffff;--border: rgba(0, 0, 0, .08);--text: #09090b;--text-secondary: #52525b;--text-muted: #71717a;--purple: #7c3aed;--purple-light: rgba(124, 58, 237, .08);--green: #059669;--green-light: rgba(5, 150, 105, .08);--blue: #2563eb;--blue-light: rgba(37, 99, 235, .08);--amber: #d97706;--amber-light: rgba(217, 119, 6, .08);--whatsapp: #25D366;--whatsapp-light: rgba(37, 211, 102, .1);--font-display: "Outfit", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--radius: 14px;--radius-full: 9999px;--shadow: 0 2px 8px -2px rgba(0, 0, 0, .06);--ease: .2s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}body{min-height:100dvh;display:flex;justify-content:center;background:var(--bg);padding:16px 16px 40px}body.modal-open{overflow:hidden}.card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}.top-bar{display:flex;align-items:center;justify-content:space-between}.brand-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow)}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--purple)}.brand-name{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--text)}.top-actions{display:flex;gap:8px}.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:all var(--ease)}.icon-btn svg{width:17px;height:17px}.profile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0;gap:10px}.avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 24px -6px #0000001f}.name{font-family:var(--font-display);font-size:1.7rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.bio{font-size:.92rem;line-height:1.5;color:var(--text-secondary);max-width:340px}.location{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;background:#00000008;border:1px solid var(--border);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--text-secondary)}.location svg{width:13px;height:13px;color:var(--purple)}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 4px;text-decoration:none;color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:all var(--ease);font-family:var(--font-body);font-size:.78rem;font-weight:600}.action-card:active{transform:scale(.96)}.action-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center}.action-icon svg{width:20px;height:20px}.action-icon.call{background:var(--purple-light);color:var(--purple)}.action-icon.whatsapp{background:var(--whatsapp-light);color:var(--whatsapp)}.action-icon.email{background:var(--blue-light);color:var(--blue)}.action-icon.save{background:#0000000a;color:var(--text)}.links{display:flex;flex-direction:column;gap:10px}.link-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 14px;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:all var(--ease)}.link-row:active{transform:scale(.98)}.link-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.link-icon svg{width:20px;height:20px}.link-icon.purple{background:var(--purple-light);color:var(--purple)}.link-icon.blue{background:var(--blue-light);color:var(--blue)}.link-icon.green{background:var(--green-light);color:var(--green)}.link-icon.amber{background:var(--amber-light);color:var(--amber)}.link-text{flex:1;min-width:0}.link-title{display:block;font-family:var(--font-display);font-size:.94rem;font-weight:700;letter-spacing:-.015em}.link-sub{display:block;font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-arrow{color:#a1a1aa;font-size:.9rem;flex-shrink:0;transition:all var(--ease)}.socials{display:flex;flex-direction:column;gap:10px}.section-label{font-family:var(--font-display);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-left:2px}.social-grid{display:flex;flex-wrap:wrap;gap:8px}.social-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);text-decoration:none;color:var(--text);font-size:.8rem;font-weight:600;box-shadow:var(--shadow);transition:all var(--ease)}.social-chip:active{transform:scale(.96)}.social-chip svg{width:16px;height:16px}.footer{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:4px}.copy-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:all var(--ease)}.copy-btn:active{transform:scale(.96)}.copy-btn svg{width:14px;height:14px}.copyright{font-size:.73rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-overlay.active{opacity:1;pointer-events:auto}[inert]{pointer-events:none!important}.modal-card{width:100%;max-width:340px;background:#fff;border-radius:20px;border:1px solid var(--border);box-shadow:0 20px 50px -12px #00000040;padding:22px;display:flex;flex-direction:column;align-items:center;gap:16px;transform:translateY(12px) scale(.97);transition:all .25s cubic-bezier(.16,1,.3,1)}.modal-overlay.active .modal-card{transform:translateY(0) scale(1)}.modal-top{width:100%;display:flex;align-items:center;justify-content:space-between}.modal-heading{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.modal-close{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:#00000008;color:var(--text-secondary);font-size:.85rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.qr-area{background:var(--bg);border-radius:14px;padding:16px;display:flex;align-items:center;justify-content:center}#qr-canvas{width:200px!important;height:200px!important;display:block}.qr-hint{font-size:.78rem;color:var(--text-secondary);text-align:center}.save-btn{width:100%;padding:12px;background:var(--text);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--ease)}.save-btn:active{transform:scale(.98)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(40px);background:var(--text);color:#fff;padding:10px 20px;border-radius:var(--radius-full);display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px -4px #00000040;z-index:200;opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.16,1,.3,1);font-size:.84rem;font-weight:600}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast-dot{width:6px;height:6px;border-radius:50%;background:#10b981}@media(hover:hover)and (pointer:fine){.icon-btn:hover{border-color:var(--purple);color:var(--purple)}.action-card:hover,.link-row:hover{border-color:#7c3aed4d}.link-row:hover .link-arrow{color:var(--purple);transform:translate(2px,-2px)}.social-chip:hover{border-color:#7c3aed4d}.copy-btn:hover{border-color:var(--purple);color:var(--purple)}.save-btn:hover{background:var(--purple)}}@media(max-width:400px){body{padding:12px 12px 32px}.name{font-size:1.5rem}.bio{font-size:.86rem}.action-card{padding:12px 2px}.action-icon{width:38px;height:38px}.action-card span{font-size:.72rem}}
