// Token masking — show masked version with reveal toggle
(function() {
document.querySelectorAll('.token-masked').forEach(function(el) {
var full = el.dataset.token || '';
var masked = full.substring(0, 7) + '•••••••' + full.substring(full.length - 4);
el.textContent = masked;
el.title = 'Click to reveal full token';
el.style.cursor = 'pointer';
el.style.userSelect = 'none';
el.addEventListener('click', function() {
el.textContent = full;
el.style.userSelect = 'text';
el.title = 'Click to copy';
el.style.cursor = 'text';
});
});
})();
// Insert zero-width space before @ in email addresses for clean line breaks
document.querySelectorAll('.text-trunc').forEach(function(el) {
var text = el.textContent;
if (text.indexOf('@') !== -1) {
el.textContent = text.replace(/@/g, '\u200B@');
}
});