(() => {
const pricingData = {
'Basic plan': { amount: '14.99', unit: '/month' },
'Premium plan': { amount: '24.99', unit: '/lifetime' },
'Pro plan': { amount: '14.99', unit: '/month' }
};
const faqData = {
'Which windows versions are supported?': 'Windows 10 2004 → 22H2 and Windows 11 21H2 → 25H2. This means all versions of Windows 10 and 11 are supported by our program.',
'Which motherboards are supported?': 'Our program has a comprehensive database, and all motherboards are supported. The only issue is Valorant for Asus motherboards, which are not supported.',
'Is the change temporary or permanent?': 'This is a permanent solution. Restarting or reinstalling Windows will not restore previous serial numbers, and new PC serials cannot be detected or suddenly flagged after spoofing.',
'What is your refund policy?': 'Digital products are considered final sale by default. However, we offer refunds if the software does not function properly on your computer and all support options have been exhausted.',
'Can I try it for free?': 'We do not provide tests of any kind. We have a long-standing reputation. Check our thread on epvp for reviews and feedback from our clients.'
};
const root = document.documentElement;
root.classList.add('static-html');
const getStoredTheme = () => {
try {
const value = localStorage.getItem('theme');
return value === 'dark' || value === 'light' ? value : 'light';
} catch (error) {
return 'light';
}
};
const applyTheme = (theme) => {
root.classList.remove('light', 'dark');
root.classList.add(theme);
root.style.colorScheme = theme;
try {
localStorage.setItem('theme', theme);
} catch (error) {}
};
applyTheme(getStoredTheme());
const getThemeButtons = () => {
return Array.from(document.querySelectorAll('button')).filter((button) => {
const label = button.querySelector('.sr-only')?.textContent?.trim();
return label === 'Toggle theme' || button.hasAttribute('data-mobile-theme-toggle');
});
};
const setupThemeToggle = () => {
getThemeButtons().forEach((button) => {
button.addEventListener('click', () => {
applyTheme(root.classList.contains('dark') ? 'light' : 'dark');
});
});
};
const setupNavbarCollapse = () => {
const homeSection = document.querySelector('#home');
const navbar = document.querySelector('[data-navbar-glass]');
if (!homeSection || !navbar) return;
let ticking = false;
const updateNavbarState = () => {
ticking = false;
const homeBottom = homeSection.getBoundingClientRect().bottom;
const collapseOffset = 88;
navbar.dataset.navbarCollapsed = homeBottom <= collapseOffset ? 'true' : 'false';
};
const requestUpdate = () => {
if (ticking) return;
ticking = true;
requestAnimationFrame(updateNavbarState);
};
requestUpdate();
window.addEventListener('scroll', requestUpdate, { passive: true });
window.addEventListener('resize', requestUpdate);
};
const setupFeatureTrigger = () => {
const button = document.querySelector('button[data-slot="navigation-menu-trigger"]');
if (!button) return;
button.addEventListener('click', () => {
const target = document.querySelector('#features');
if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' });
});
};
const setupMobileMenu = () => {
const overlay = document.querySelector('[data-mobile-menu]');
const openButton = document.querySelector('button[data-slot="sheet-trigger"]');
const closeButton = overlay?.querySelector('[data-mobile-menu-close]');
if (!overlay || !openButton || !closeButton) return;
const setOpen = (isOpen) => {
overlay.hidden = !isOpen;
overlay.classList.toggle('is-open', isOpen);
document.body.classList.toggle('menu-open', isOpen);
openButton.setAttribute('aria-expanded', String(isOpen));
openButton.setAttribute('data-state', isOpen ? 'open' : 'closed');
};
openButton.addEventListener('click', () => setOpen(!overlay.classList.contains('is-open')));
closeButton.addEventListener('click', () => setOpen(false));
overlay.addEventListener('click', (event) => {
if (event.target === overlay) setOpen(false);
});
overlay.querySelectorAll('a').forEach((link) => link.addEventListener('click', () => setOpen(false)));
window.addEventListener('keydown', (event) => {
if (event.key === 'Escape') setOpen(false);
});
};
const setupPricing = () => {
const section = document.querySelector('#pricing');
if (!section) return;
const buttons = Array.from(section.querySelectorAll('[role="tab"]'));
const cards = Array.from(section.querySelectorAll('[data-slot="card"]'));
const applyMode = (mode) => {
buttons.forEach((button) => {
const active = button.id.includes(mode);
button.setAttribute('aria-selected', String(active));
button.setAttribute('data-state', active ? 'active' : 'inactive');
button.tabIndex = active ? 0 : -1;
});
cards.forEach((card) => {
const title = card.querySelector('h3')?.textContent?.trim();
const amount = card.querySelector('.tabular-nums');
const currency = amount?.parentElement;
const priceRow = currency?.parentElement;
const pricing = title ? pricingData[title] : null;
if (!title || !amount || !pricing || !priceRow || !currency) return;
const unit = Array.from(priceRow.children).find(
(node) => node instanceof HTMLElement && node.tagName === 'SPAN' && node !== currency
);
amount.textContent = pricing.amount;
if (unit) unit.textContent = pricing.unit;
});
};
buttons.forEach((button) => {
button.addEventListener('click', () => applyMode(button.id.includes('monthly') ? 'monthly' : 'yearly'));
});
applyMode('yearly');
};
const setupAccountingHardwareMarquee = () => {
const heading = Array.from(document.querySelectorAll('h3')).find((node) => {
return node.textContent?.trim() === 'Accounting of every transaction.';
});
const card = heading?.closest('[data-slot="card"]');
const marquee = card?.querySelector('[style*="--marquee-duration"]');
const rows = marquee ? Array.from(marquee.querySelectorAll('.animate-marquee-horizontal')) : [];
if (!rows.length) return;
const items = [
{ label: 'MSI', value: 'F74EV19_CT139D7V', state: 'Unspoofed', tone: 'destructive', iconType: 'biosBlue' },
{ label: 'DISK', value: 'WDC-WCC6Y6EN617N', state: 'Spoofed', tone: 'success', iconType: 'diskOrange' },
{ label: 'GIGABYTE', value: 'Default string', state: 'Unspoofed', tone: 'destructive', iconType: 'biosBrown' },
{ label: 'Battleye', value: 'HWID Clean', state: 'Spoofed', tone: 'success', iconType: 'battleyeYellow' },
{ label: 'Easy AntiCheat', value: 'Serial Clean', state: 'Spoofed', tone: 'success', iconType: 'eacBlue' },
{ label: 'Vanguard', value: 'TPM Mismatch', state: 'Unspoofed', tone: 'destructive', iconType: 'vanguardRed' },
{ label: 'BIOS', value: 'AMI-A8F0X1-77D', state: 'Spoofed', tone: 'success', iconType: 'biosBlue' }
];
const toneClassMap = {
destructive: {
container: 'bg-destructive/20 text-destructive',
text: 'text-destructive'
},
success: {
container: 'bg-green-600/20 text-green-600 dark:bg-green-400/20 dark:text-green-400',
text: 'text-green-600 dark:text-green-400'
}
};
const iconMap = {
biosBlue: {
container: 'bg-sky-500/20 text-sky-600 dark:bg-sky-400/20 dark:text-sky-400',
svg: ''
},
biosBrown: {
container: 'bg-amber-700/20 text-amber-700 dark:bg-amber-500/20 dark:text-amber-400',
svg: ''
},
diskOrange: {
container: 'bg-orange-500/20 text-orange-600 dark:bg-orange-400/20 dark:text-orange-400',
svg: ''
},
eacBlue: {
container: 'bg-blue-500/20 text-blue-600 dark:bg-blue-400/20 dark:text-blue-400',
svg: ''
},
battleyeYellow: {
container: 'bg-yellow-400/25 text-yellow-600 dark:bg-yellow-300/20 dark:text-yellow-300',
svg: ''
},
vanguardRed: {
container: 'bg-red-500/20 text-red-600 dark:bg-red-400/20 dark:text-red-400',
svg: ''
}
};
const createIcon = (item) => {
const wrapper = document.createElement('span');
const icon = iconMap[item.iconType] || iconMap.biosBlue;
wrapper.className = `grid size-9.5 place-content-center rounded-full ${icon.container}`;
wrapper.innerHTML = icon.svg;
return wrapper;
};
const createItem = (item) => {
const entry = document.createElement('div');
entry.className = `flex h-14 items-center gap-3 rounded-full px-3.5 py-2 ${item.tone === 'success' ? 'border border-primary/40' : 'bg-card text-card-foreground'}`;
const info = document.createElement('div');
info.className = 'grid';
const label = document.createElement('span');
label.className = 'text-muted-foreground text-xs';
label.textContent = item.label;
const valueRow = document.createElement('div');
valueRow.className = 'flex items-center gap-1';
const value = document.createElement('span');
value.className = 'max-w-[11.5rem] truncate font-mono text-sm font-medium';
value.textContent = item.value;
const state = document.createElement('span');
state.className = `text-xs ${toneClassMap[item.tone].text}`;
state.textContent = item.state;
valueRow.append(value, state);
info.append(label, valueRow);
entry.append(createIcon(item), info);
return entry;
};
rows.forEach((row) => {
row.replaceChildren(...items.map(createItem));
});
};
const setupFaq = () => {
const items = Array.from(document.querySelectorAll('[data-slot="accordion-item"]'));
if (!items.length) return;
const contentClassName = '[&_a]:hover:text-foreground h-(--radix-accordion-content-height) pt-0 [&_a]:underline [&_a]:underline-offset-3 [&_p:not(:last-child)]:mb-4 text-muted-foreground px-5 pb-4 text-base leading-relaxed';
const setItemState = (item, isOpen) => {
const heading = item.querySelector('h3');
const trigger = item.querySelector('[data-slot="accordion-trigger"]');
const content = item.querySelector('[data-slot="accordion-content"]');
if (!trigger || !content) return;
item.setAttribute('data-state', isOpen ? 'open' : 'closed');
heading?.setAttribute('data-state', isOpen ? 'open' : 'closed');
trigger.setAttribute('data-state', isOpen ? 'open' : 'closed');
trigger.setAttribute('aria-expanded', String(isOpen));
content.setAttribute('data-state', isOpen ? 'open' : 'closed');
if (isOpen) {
content.hidden = false;
content.style.maxHeight = content.scrollHeight + 'px';
} else {
content.style.maxHeight = '0px';
content.hidden = true;
}
};
items.forEach((item) => {
const trigger = item.querySelector('[data-slot="accordion-trigger"]');
const content = item.querySelector('[data-slot="accordion-content"]');
if (!trigger || !content) return;
const question = trigger.childNodes[0]?.textContent?.trim() || trigger.textContent.trim();
if (!content.firstElementChild) {
const answer = document.createElement('div');
answer.className = contentClassName;
answer.textContent = faqData[question] || '';
content.appendChild(answer);
}
if (content.getAttribute('data-state') === 'open') {
content.hidden = false;
content.style.maxHeight = content.scrollHeight + 'px';
} else {
content.hidden = true;
content.style.maxHeight = '0px';
}
trigger.addEventListener('click', () => {
const shouldOpen = trigger.getAttribute('data-state') !== 'open';
items.forEach((entry) => setItemState(entry, false));
if (shouldOpen) setItemState(item, true);
});
});
const accordion = document.querySelector('[data-faq-accordion]');
if (accordion) {
const grid = document.querySelector('[data-faq-grid]');
const computeFixedHeight = () => {
const openStates = items.map((item) => item.getAttribute('data-state') === 'open');
accordion.style.height = '';
accordion.style.minHeight = '';
accordion.style.overflowY = '';
accordion.style.scrollbarGutter = '';
if (grid) {
grid.style.height = '';
grid.style.minHeight = '';
}
let maxHeight = 0;
items.forEach((item) => setItemState(item, false));
items.forEach((item) => {
items.forEach((entry) => setItemState(entry, false));
setItemState(item, true);
maxHeight = Math.max(maxHeight, accordion.scrollHeight);
});
const targetHeight = Math.ceil(maxHeight);
accordion.style.minHeight = targetHeight + 'px';
accordion.style.height = targetHeight + 'px';
if (grid) {
grid.style.minHeight = targetHeight + 'px';
grid.style.height = targetHeight + 'px';
}
items.forEach((item, index) => setItemState(item, openStates[index]));
};
computeFixedHeight();
window.setTimeout(() => computeFixedHeight(), 600);
if (accordion.dataset.faqMinHeightBound !== 'true') {
accordion.dataset.faqMinHeightBound = 'true';
let resizeTimer = 0;
window.addEventListener('resize', () => {
window.clearTimeout(resizeTimer);
resizeTimer = window.setTimeout(() => computeFixedHeight(), 120);
});
}
}
};
const revealStaticElement = (element) => {
if (element.dataset.staticRevealed === 'true') return;
element.dataset.staticRevealed = 'true';
element.setAttribute('data-static-animated', 'true');
element.style.transition = 'opacity 700ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1), filter 700ms cubic-bezier(0.22, 1, 0.36, 1), width 520ms cubic-bezier(0.22, 1, 0.36, 1)';
let targetWidth = '';
if (element.style.width === '0px') {
const previousWidth = element.style.width;
const previousTransition = element.style.transition;
element.style.transition = 'none';
element.style.width = '';
targetWidth = getComputedStyle(element).width;
element.style.width = previousWidth;
element.style.transition = previousTransition;
}
requestAnimationFrame(() => {
element.style.opacity = '';
element.style.transform = '';
element.style.filter = '';
if (targetWidth) {
element.style.width = targetWidth;
window.setTimeout(() => {
if (element.dataset.staticRevealed === 'true') element.style.width = '';
}, 540);
}
});
};
const setupHeroFloatReveal = () => {
const cards = Array.from(document.querySelectorAll('[data-hero-float]'));
if (!cards.length) return;
cards.forEach((card, index) => {
if (card.dataset.staticRevealed === 'true') return;
card.dataset.staticRevealed = 'true';
card.setAttribute('data-static-animated', 'true');
card.style.transition = 'opacity 4000ms cubic-bezier(0.22, 1, 0.36, 1)';
window.setTimeout(() => {
requestAnimationFrame(() => {
card.style.opacity = '1';
});
}, 640 + index * 120);
});
};
const setupHeroBadgeRotator = () => {
const badge = document.querySelector('[data-hero-badge]');
const dot = badge?.querySelector('[data-hero-badge-dot]');
const text = badge?.querySelector('[data-hero-badge-text]');
if (!badge || !dot || !text) return;
const items = [
{ label: '1,500+ happy clients', dotClass: 'bg-yellow-500' },
{ label: 'Every motherboard supported!', dotClass: 'bg-primary' },
{ label: 'Unbanned within 10 minutes', dotClass: 'bg-red-500' },
{ label: 'Over 30.000 spoofs with an 95,64% success-rate.', dotClass: 'bg-green-600' }
];
const createCharacters = (label) => {
const fragment = document.createDocumentFragment();
Array.from(label).forEach((character) => {
const node = document.createElement('span');
const isSpace = character === ' ';
node.className = isSpace ? 'inline-block overflow-hidden w-[0.25em]' : 'inline-block overflow-hidden';
node.textContent = isSpace ? '' : character;
node.style.opacity = '0';
node.style.filter = 'blur(10px)';
node.style.width = '0px';
fragment.appendChild(node);
});
text.replaceChildren(fragment);
return Array.from(text.children);
};
const applyItem = (item) => {
dot.className = 'size-2.5 rounded-xs ' + item.dotClass;
return createCharacters(item.label);
};
const animateIn = (item) => {
const characters = applyItem(item);
text.style.width = '';
text.style.marginLeft = '0.5rem';
text.style.opacity = '1';
text.style.filter = 'none';
characters.forEach((character, index) => {
window.setTimeout(() => revealStaticElement(character), 140 + index * 45);
});
};
text.style.transition = 'opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), filter 420ms cubic-bezier(0.22, 1, 0.36, 1), width 980ms cubic-bezier(0.16, 1, 0.3, 1), margin-left 980ms cubic-bezier(0.16, 1, 0.3, 1)';
dot.style.transition = 'background-color 420ms cubic-bezier(0.22, 1, 0.36, 1)';
applyItem(items[0]);
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || items.length < 2) return;
let index = 0;
const cycle = () => {
window.setTimeout(() => {
text.style.width = getComputedStyle(text).width;
requestAnimationFrame(() => {
text.style.opacity = '0';
text.style.filter = 'blur(10px)';
text.style.width = '0px';
text.style.marginLeft = '0px';
});
window.setTimeout(() => {
index = (index + 1) % items.length;
animateIn(items[index]);
cycle();
}, 500);
}, 2900);
};
cycle();
};
const setupEntranceAnimations = () => {
const elements = Array.from(document.querySelectorAll('[style]')).filter((element) => {
if (element.closest('#quote')) return false;
if (element.hasAttribute('data-hero-float')) return false;
const style = element.style;
return style.opacity === '0' || style.width === '0px' || (style.filter && style.filter !== 'none') || (style.transform && style.transform !== 'none');
});
const initial = [];
const observed = [];
elements.forEach((element) => {
const rect = element.getBoundingClientRect();
if (rect.top < window.innerHeight * 0.88) initial.push(element); else observed.push(element);
});
initial.forEach((element, index) => window.setTimeout(() => revealStaticElement(element), index * 35));
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
revealStaticElement(entry.target);
observer.unobserve(entry.target);
}
});
}, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });
observed.forEach((element) => observer.observe(element));
};
const setupQuoteReveal = () => {
const section = document.querySelector('#quote');
if (!section) return;
const words = Array.from(section.querySelectorAll('span[style*="opacity:0"]')).filter((word) => {
return word.textContent && word.textContent.trim().length > 0;
});
if (!words.length) return;
words.forEach((word) => {
word.style.transition = 'opacity 220ms linear';
word.style.willChange = 'opacity';
});
let ticking = false;
const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
const easeOut = (value) => 1 - Math.pow(1 - value, 3);
const update = () => {
ticking = false;
const rect = section.getBoundingClientRect();
const start = window.innerHeight * 0.72;
const travel = Math.max(section.offsetHeight + window.innerHeight * 0.6, window.innerHeight * 1.35);
const progress = clamp((start - rect.top) / travel, 0, 1);
const segment = 1 / words.length;
const overlap = segment * 1.65;
words.forEach((word, index) => {
const localStart = Math.max(index * segment - segment * 0.2, 0);
const local = clamp((progress - localStart) / overlap, 0, 1);
word.style.opacity = easeOut(local).toFixed(3);
});
};
const requestUpdate = () => {
if (!ticking) {
ticking = true;
requestAnimationFrame(update);
}
};
requestUpdate();
window.addEventListener('scroll', requestUpdate, { passive: true });
window.addEventListener('resize', requestUpdate);
};
window.addEventListener('DOMContentLoaded', () => {
setupThemeToggle();
setupNavbarCollapse();
setupFeatureTrigger();
setupMobileMenu();
setupPricing();
setupAccountingHardwareMarquee();
setupFaq();
setupHeroBadgeRotator();
setupHeroFloatReveal();
setupEntranceAnimations();
setupQuoteReveal();
});
})();