(async()=>{ const storageKey = 'wv-verified'; const verifiedTime = localStorage.getItem(storageKey); if(verifiedTime && Date.now() - verifiedTime < 2592000000) { return; } const s=document.createElement('style');s.textContent=` :root{--overlay-bg:#000;--card-bg:rgba(0,0,0,0.85);--accent:#fff;--text-main:#fff;--text-secondary:rgba(255,255,255,0.7);--radius:12px;--transition:.3s ease;--dot-size:8px;--dot-gap:8px} #wv-check-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;font-family:system-ui,sans-serif;z-index:2147483647;opacity:1;transition:opacity .4s ease-out} #wv-check-overlay.fade-out{opacity:0} #wv-check-card{background:var(--card-bg);backdrop-filter:blur(12px);border-radius:var(--radius);padding:32px 24px;width:340px;text-align:center;color:var(--text-main);transition:transform var(--transition)} #wv-check-card h2{margin:0 0 16px;font-size:1.6rem;display:flex;align-items:center;justify-content:center;gap:.5rem} #wv-progress-bar{width:0;height:6px;background:var(--accent);transition:width var(--transition);border-radius:var(--radius)} #wv-info{margin:12px 0 20px;font-size:.95rem;color:var(--text-secondary)} #wv-loading-dots{display:flex;justify-content:center;align-items:center;gap:var(--dot-gap);margin-top:5px} #wv-loading-dots .dot{width:var(--dot-size);height:var(--dot-size);background:var(--accent);border-radius:50%;opacity:.3;animation:windows-load 1s infinite ease-in-out} #wv-loading-dots .dot:nth-child(1){animation-delay:0s}#wv-loading-dots .dot:nth-child(2){animation-delay:.2s}#wv-loading-dots .dot:nth-child(3){animation-delay:.4s}#wv-loading-dots .dot:nth-child(4){animation-delay:.6s} @keyframes windows-load{0%,80%,100%{opacity:.3;transform:scale(1)}40%{opacity:1;transform:scale(1.4)}} #wv-complete{display:none;text-align:center}#wv-complete.show{display:block;animation:fade-in .4s ease-out forwards} #wv-complete h2{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.5rem;margin-bottom:8px;color:var(--accent)} #wv-complete p{color:var(--accent);font-size:1rem;text-align:center;margin:0 auto;width:100%}@keyframes fade-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}} `;document.head.appendChild(s); const overlay=document.createElement('div');overlay.id='wv-check-overlay';overlay.innerHTML=`

Verifying Your Browser...

Starting tests...

Success!

You may continue.

`; document.body.appendChild(overlay); const info=overlay.querySelector('#wv-info'), bar=overlay.querySelector('#wv-progress-bar'); const tests=[ async()=>({msg:'Browser Automation',pass:!navigator.webdriver}), async()=>{ const ua = navigator.userAgent.toLowerCase(); return {msg:'Headless Mode',pass:!/headless|phantomjs|puppeteer|selenium/i.test(ua)}; }, async()=>({msg:'Language Support',pass:navigator.languages && navigator.languages.length > 0}), async()=>({msg:'Browser Plugins',pass:navigator.plugins.length > 0}), async()=>{ try { const c=document.createElement('canvas'); const gl=c.getContext('webgl')||c.getContext('experimental-webgl'); if(!gl) return {msg:'WebGL Support',pass:false}; const debugInfo=gl.getExtension('WEBGL_debug_renderer_info'); const vendor=debugInfo ? gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL) : ''; return {msg:'Graphics Driver',pass:!/swiftshader|lavapipe/i.test(vendor)}; } catch(e) { return {msg:'WebGL Support',pass:false}; } }, async()=>({msg:'Screen Resolution',pass:screen.width >= 320 && screen.height >= 480}), async()=>{ try { const start = performance.now(); const buffer = new ArrayBuffer(1000000); const view = new Uint8Array(buffer); return {msg:'Performance Check',pass:performance.now() - start < 30}; } catch(e) { return {msg:'Performance Check',pass:false}; } }, async()=>({msg:'Device Memory',pass:!navigator.deviceMemory || navigator.deviceMemory > 0.5}), async()=>{ const mq=window.matchMedia('(pointer:fine)'); return {msg:'Input Method',pass:mq.matches}; } ]; const failures=[]; for(let i=0;isetTimeout(r,300)); } catch(e) { failures.push(`Test error`); } } if(failures.length===0){ localStorage.setItem(storageKey, Date.now()); overlay.querySelector('#wv-check-card').style.display='none'; overlay.querySelector('#wv-complete').classList.add('show'); setTimeout(()=>{ overlay.classList.add('fade-out'); setTimeout(()=>overlay.remove(),400); },800); } else { info.innerHTML=`Verification failed:
${failures.map(m=>`• ${m}`).join('
')}`; bar.style.background='red'; overlay.querySelector('#wv-loading-dots').remove(); } })();