<!doctype html><html lang=en class=scroll-smooth><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="CodeControlAC - Advanced Minecraft anti-cheat that supports versions 1.8 to 1.21.4. Protect your server and frustrate cheaters with our powerful detection system."><link rel=preconnect href=https://cdnjs.cloudflare.com crossorigin><link rel=preconnect href=https://fonts.googleapis.com crossorigin><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=preconnect href=https://cdn.discordapp.com crossorigin><meta http-equiv=x-dns-prefetch-control content=on><meta http-equiv=Cache-Control content="public, max-age=86400"><meta http-equiv=Content-Security-Policy content="default-src 'self'; script-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdnjs.cloudflare.com; img-src 'self' https://cdn.discordapp.com data:; font-src 'self' https://fonts.gstatic.com https://cdnjs.cloudflare.com; connect-src 'self'"><title>CodeControlAC - Advanced Minecraft Anti-Cheat</title><link rel=icon href=https://cdn.discordapp.com/icons/1302804363353526364/8dbe644d8c271ca0f45af9a6216b2931.webp type=image/webp><link rel="shortcut icon" href=https://cdn.discordapp.com/icons/1302804363353526364/8dbe644d8c271ca0f45af9a6216b2931.webp type=image/webp><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css media=print onload='this.media="all"'><noscript><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css></noscript><link rel=preload href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" as=style><link rel=stylesheet href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" media=print onload='this.media="all"'>.hero-title{content-visibility:auto}:root{--primary:#3B82F6;--primary-light:#60A5FA;--primary-dark:#1E40AF;--accent:#10b9ab;--accent-light:#34d3c6;--accent-dark:#059696;--danger:#EF4444;--warning:#EF4444;--success:#10B981;--bg-dark:#0A0F1D;--bg-darker:#06080F;--bg-light:#162235;--text-light:#F9FAFB;--text-muted:#94A3B8;--border-color:rgba(59, 130, 246, 0.3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;line-height:1.6;color:var(--text-light);background-color:var(--bg-dark);overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(22,34,53,.8)}::-webkit-scrollbar-thumb{background:rgba(59,130,246,.5);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:rgba(59,130,246,.7)}@-moz-document url-prefix(){html{scrollbar-width:auto;scrollbar-color:rgba(59,130,246,.7) rgba(22,34,53,.8)}#ccac-modal-content{scrollbar-width:auto;scrollbar-color:rgba(59,130,246,.7) rgba(22,34,53,.8)}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:rgba(6,8,15,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(59,130,246,.2);transition:all .3s ease}.navbar.scrolled{background-color:rgba(6,8,15,.75);box-shadow:0 4px 20px rgba(0,0,0,.25)}.navbar-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.navbar-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-light)}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.45rem;box-shadow:0 0 15px rgba(59,130,246,.5)}.logo-icon img{width:33px!important;height:33px!important;object-fit:contain;display:block}.logo-text{font-weight:700;font-size:1.25rem;letter-spacing:-.5px;transition:color .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform,color}.navbar-logo:hover .logo-text{color:var(--primary-light);transform:translateY(-1px)}.navbar-links{display:flex;gap:2.5rem}.navbar-links a{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.875rem;letter-spacing:.2px;transition:color .3s ease;position:relative}.navbar-links a:hover{color:var(--text-light)}.navbar-links a::after{content:'';position:absolute;width:0;height:2px;bottom:-4px;left:0;background:linear-gradient(to right,var(--primary),var(--accent));transition:width .3s ease}.navbar-links a:hover::after{width:100%}.navbar-action{display:flex;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.875rem;transition:all .3s ease;text-decoration:none;gap:.5rem;cursor:pointer;border:none;outline:0}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.3);position:relative;z-index:1;overflow:hidden;transition:box-shadow .3s ease,transform .3s ease;will-change:box-shadow,transform}.btn-primary i,.btn-primary span{position:relative;z-index:2}.btn-primary::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-light),var(--accent));opacity:0;z-index:-1;transition:opacity .6s ease;will-change:opacity}.btn-primary:hover{box-shadow:0 8px 20px rgba(59,130,246,.4),0 0 15px rgba(59,130,246,.3);transform:translateY(-2px)}.btn-primary:hover::before{opacity:1}.btn-secondary{background-color:transparent;color:var(--text-light);border:1px solid rgba(59,130,246,.5);box-shadow:0 4px 12px rgba(59,130,246,.1)}.btn-secondary:hover{border-color:var(--primary);box-shadow:0 6px 16px rgba(59,130,246,.2);background-color:rgba(59,130,246,.1);transform:translateY(-2px)}.mobile-toggle{display:none;font-size:1.5rem;cursor:pointer}.hero{position:relative;min-height:100vh;padding-top:6rem;overflow:hidden;display:flex;align-items:center;margin-bottom:0;padding-bottom:2rem}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(59,130,246,.15) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(16,185,165,.1) 0,transparent 50%);z-index:-1}.hero-content{grid-template-columns:.85fr 1.15fr;gap:3rem;position:relative;z-index:1;display:grid}.hero-text{align-self:center}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;background:linear-gradient(to right,#fff,#cacfd8,#cacfd8,#cacfd8,#c1c8d3,#fff);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.01;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;animation:fastScroll 5.5s cubic-bezier(.4,0,.2,1) forwards,holdEffect 5s 4.5s infinite}.hero-title span{display:block;background:linear-gradient(to right,#63c5fd,#4b93f8,#4b93f8,#4b93f8,#438bf7,#63c5fd);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fastScroll 5.5s cubic-bezier(.4,0,.2,1) forwards,holdEffect 5s 4.5s infinite}.hero-description{font-size:1.125rem;color:var(--text-muted);margin-bottom:2rem;max-width:500px;opacity:0;transform:translateY(20px);transition:opacity .6s ease .1s,transform .6s ease .1s}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;transform:translateY(20px);transition:opacity .6s ease .2s,transform .6s ease .2s}.hero-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;background-color:rgba(59,130,246,.1);border-radius:2rem;margin-bottom:1.5rem;border:1px solid rgba(59,130,246,.2);font-weight:500;font-size:.875rem;color:var(--primary-light);opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.hero-badge i{margin-right:.5rem}.console-wrapper{position:relative;top:10%;width:100%;perspective:1200px;opacity:0;transform:translateX(20px);transition:opacity .6s ease .3s,transform .6s ease .3s}.console-window{background-color:rgba(6,8,15,.9);border-radius:.75rem;border:1px solid rgba(59,130,246,.3);box-shadow:0 10px 25px rgba(0,0,0,.2),0 0 15px rgba(59,130,246,.3);overflow:hidden;transform-style:preserve-3d;transform:rotateY(-5deg) rotateX(5deg);transition:all .5s cubic-bezier(.22,1,.36,1);position:relative;z-index:10;width:100%;height:auto}.console-window:hover{transform:rotateY(0) rotateX(0);box-shadow:0 15px 35px rgba(0,0,0,.3),0 0 25px rgba(59,130,246,.4)}.console-window.maximized{transform:rotate(0) scale(1)!important;border-radius:8px;width:90%;max-width:1000px;height:auto;box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 30px rgba(59,130,246,.5)}.console-window.minimized{height:auto;transform:rotateY(0) rotateX(0)}.console-window.minimized .console-content{height:0;overflow:hidden;padding-top:0;padding-bottom:0}.console-window.minimized .console-input{display:none}.console-window.closed{animation:closeWindow .5s cubic-bezier(.165,.84,.44,1) forwards}.console-dock-icon{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background-color:#111;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem;cursor:pointer;z-index:999;box-shadow:0 5px 15px rgba(0,0,0,.3);transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.console-dock-icon:hover{box-shadow:0 8px 25px rgba(0,0,0,.4),0 0 10px rgba(59,130,246,.4);transform:scale(1.05) translateY(-5px)}.console-dock-icon.active{transform:scale(1);opacity:1;animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1)}.fullscreen-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(6,8,15,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.fullscreen-modal.active{opacity:1;visibility:visible}.fullscreen-container{width:90%;max-width:1200px;height:80vh;display:flex;align-items:center;justify-content:center}.terminal-icon{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background-color:var(--primary-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;cursor:pointer;z-index:1000;box-shadow:0 5px 15px rgba(0,0,0,.3),0 0 10px rgba(59,130,246,.5);opacity:0;transform:scale(0);transition:all .3s cubic-bezier(.22,1,.36,1)}.terminal-icon::before{content:'';position:absolute;width:100%;height:100%;background-color:var(--primary);border-radius:50%;z-index:-1;opacity:.3;animation:pulse 2s infinite}.terminal-icon.active{opacity:1;transform:scale(1)}@keyframes pulse{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.5);opacity:.1}100%{transform:scale(1);opacity:.3}}@keyframes maximize{0%{transform:translate(-50%,-50%) scale(.9);opacity:.9}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes minimize{0%{height:auto;opacity:1}100%{height:40px;opacity:.9}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.9)}100%{transform:scale(1);opacity:1}}@keyframes closeWindow{0%{transform:scale(1);opacity:1}100%{transform:scale(.8);opacity:0}}.console-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(6,8,15,.8);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.console-overlay.active{opacity:1;visibility:visible}.console-header{background-color:rgba(16,24,40,.8);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(59,130,246,.2)}.window-controls{display:flex;gap:.5rem}.window-controls span{width:12px;height:12px;border-radius:50%;display:block;cursor:pointer;transition:transform .2s ease}.window-controls span:hover{transform:scale(1.2)}.control-close{background-color:#ff5f56}.control-minimize{background-color:#ffbd2e}.control-maximize{background-color:#27c93f}.console-title{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;user-select:none}.console-title i{color:var(--primary-light)}.console-content{padding:1rem;height:360px;max-height:360px;overflow-y:auto;font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--text-muted);transition:height .5s cubic-bezier(.22,1,.36,1);will-change:height;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-gutter:stable}.fullscreen-modal .console-content{height:calc(80vh - 100px);max-height:unset}.console-window.minimized .console-content{height:0}.highlighted-text{font-weight:600;font-family:inherit;position:relative;display:inline-block;z-index:0;background:linear-gradient(to right,var(--primary-light),var(--primary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.highlighted-text::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;font:inherit;background:linear-gradient(to right,var(--primary),var(--primary-light));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:0;transition:opacity .6s ease-in-out;z-index:1}.highlighted-text::after{content:'';position:absolute;left:0;bottom:1px;width:100%;height:1.5px;border-radius:10px;pointer-events:none;background-image:linear-gradient(to right,var(--primary-dark),var(--primary)),linear-gradient(to right,var(--primary),transparent);background-repeat:no-repeat;background-size:0 100%,100% 100%;opacity:.5;transition:background-size .6s ease-in-out;z-index:-1}.check-category:hover .highlighted-text::after,.feature-card:hover .highlighted-text::after{background-size:100% 100%,100% 100%}.check-category:hover .highlighted-text::before,.feature-card:hover .highlighted-text::before{opacity:1}@keyframes fastScroll{0%{background-position:0 0}100%{background-position:-170% 0}}@keyframes holdEffect{0%{background-position:-170% 0}50%{background-position:-120% 0}100%{background-position:-170% 0}}.console-input{display:flex;align-items:center;padding:.75rem 1rem;border-top:1px solid rgba(59,130,246,.2);background-color:rgba(16,24,40,.5)}.console-input-prefix{color:var(--primary);margin-right:.5rem;font-weight:700}.console-input input{background:0 0;border:none;outline:0;color:var(--text-light);font-family:'JetBrains Mono',monospace;font-size:.75rem;width:100%}.console-line{margin-bottom:.5rem;line-height:1.6;opacity:0;transform:translateY(5px);animation:fadeIn .5s cubic-bezier(.22,1,.36,1) forwards;background-color:transparent;transition:all .3s ease}.console-line:last-child{padding-left:3px;border-left:2px solid var(--primary)}.console-timestamp{color:#64748b;margin-right:.5rem;font-size:.7rem}.console-prefix{color:var(--primary);margin-right:.5rem;font-weight:500}.console-tag{display:inline-flex;align-items:center;justify-content:center;margin-right:.5rem;font-weight:700}.console-tag-bracket{color:#94a3b8}.console-tag-star{color:gold;text-shadow:0 0 3px rgba(255,215,0,.5)}.console-command{color:#f97316}.console-player{color:#f59e0b;font-weight:500}.console-check{color:#10b981;font-weight:500}.console-value{color:#ec4899}.console-info{color:#60a5fa;font-size:.7rem}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.console-line.warning{color:var(--warning)}.console-line.error{color:var(--danger)}.console-line.success{color:var(--success)}.console-line.crash{color:#ef4444;font-weight:500}.network-visualization{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;overflow:hidden}.section{padding:5rem 0;position:relative;overflow:hidden;border-top:2px solid rgba(59,130,246,.3);margin-top:0}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-size:2.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(to right,#fff,#cacfd8,#cacfd8,#cacfd8,#c1c8d3,#fff);background-size:430% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fastScroll 5.5s cubic-bezier(.4,0,.2,1) forwards,holdEffect 5s 4.5s infinite}.section-subtitle{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.125rem}.section-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;background-color:rgba(59,130,246,.1);border-radius:2rem;margin-bottom:1rem;border:1px solid rgba(59,130,246,.2);font-weight:500;font-size:.75rem;color:var(--primary-light);text-transform:uppercase;letter-spacing:1px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.feature-card{background-color:rgba(22,34,53,.5);border-radius:.75rem;border:1px solid rgba(59,130,246,.2);padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.2);border-color:rgba(59,130,246,.4)}.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--primary),var(--accent));opacity:0;transition:opacity .3s ease}.feature-card:hover::before{opacity:1}.check-category .check-icon,.feature-card .feature-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.25rem;position:relative;overflow:hidden;background:0 0;box-shadow:none;transform:scale(1);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .25s ease-out}.check-category .check-icon::before,.feature-card .feature-icon::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(16,185,129,.2));z-index:0}.check-category .check-icon::after,.feature-card .feature-icon::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary),var(--accent));z-index:0;opacity:0;transition:opacity .35s ease-out 80ms}.check-category .check-icon i,.feature-card .feature-icon i{color:var(--primary);transform:scale(1);transition:color .12s ease,transform .25s cubic-bezier(.22,1,.36,1);will-change:color,transform;position:relative;z-index:1}.check-category:hover .check-icon i,.feature-card:hover .feature-icon i{color:#fff;transform:scale(1.15)}.check-category .check-icon i,.feature-card .feature-icon i{transition:color .35s ease .2,transform .25s cubic-bezier(.22,1,.36,1)}.check-category:hover .check-icon::after,.feature-card:hover .feature-icon::after{opacity:1}.check-category .check-icon::after,.feature-card .feature-icon::after{transition:opacity .25s ease-out}.check-category:hover .check-icon,.feature-card:hover .feature-icon{box-shadow:0 0 12px rgba(59,130,246,.5);transform:scale(1.08)}.feature-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.feature-description{color:var(--text-muted);line-height:1.6;font-size:.9rem}.checks-section{position:relative;background-color:rgba(6,8,15,.6);border-top:2px solid rgba(59,130,246,.3);border-bottom:1px solid rgba(59,130,246,.1);overflow:hidden}.checks-section .container{max-width:1100px!important;margin:0 auto}.checks-section::before{content:'';position:absolute;top:-50%;left:-20%;width:60%;height:200%;background:radial-gradient(circle,rgba(59,130,246,.03) 0,transparent 70%);z-index:0}.checks-section::after{content:'';position:absolute;top:30%;width:0%;height:0%;background:radial-gradient(circle,rgba(16,185,129,.03) 0,transparent 70%);z-index:0}.checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.check-category{background-color:rgba(22,34,53,.5);border-radius:.75rem;border:1px solid rgba(59,130,246,.2);padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.check-category:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.2);border-color:rgba(59,130,246,.4)}.check-category::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--primary),var(--accent));opacity:0;transition:opacity .3s ease}.check-category:hover::before{opacity:1}.check-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid rgba(59,130,246,.2)}.check-title{font-size:1.25rem;font-weight:700}.check-list{list-style-type:none}.check-list li{margin-bottom:.5rem;display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.8;color:var(--text-muted);transition:opacity 375ms cubic-bezier(.25,1,.5,1),transform 375ms cubic-bezier(.25,1,.5,1),color .2s ease-in-out!important}.check-category:hover .check-list li{color:var(--text-light)}.check-category:hover .check-list li i{color:var(--accent-light)}.check-list li i{color:var(--accent);font-size:.75rem;margin-top:.4rem;transition:color .5s ease-in-out}.check-category .check-icon{width:36px!important;height:36px!important;font-size:1rem!important;background:0 0}.check-category .check-icon::after,.check-category .check-icon::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%}.check-category:hover .check-icon i{transform:scale(1.1)!important}.check-category .check-icon{margin-bottom:0!important}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.pricing-card{background-color:rgba(22,34,53,.5);border-radius:.75rem;border:1px solid rgba(59,130,246,.2);padding:2rem;transition:all .3s ease;position:relative;overflow:hidden;position:relative!important;padding-bottom:80px!important;height:auto!important}.pricing-card.featured{border-color:rgba(59,130,246,.4);background-color:rgba(22,34,53,.8)}.pricing-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.2);border-color:rgba(59,130,246,.4)}.pricing-badge{position:absolute;top:1rem;right:-2rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.75rem;font-weight:600;padding:.25rem 2rem;transform:rotate(45deg)}.pricing-header{text-align:center;margin-bottom:1.5rem}.pricing-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.pricing-price{font-size:3rem;font-weight:800;background:linear-gradient(to right,var(--primary),var(--primary-light));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.5rem}.pricing-price span{font-size:1rem;font-weight:400;color:var(--text-muted)}.pricing-description{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.pricing-features{list-style-type:none;margin-bottom:2rem}.pricing-features li{margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-muted)}.pricing-features li i{color:var(--accent);font-size:.875rem}.pricing-action{position:absolute!important;bottom:2rem!important;left:2rem!important;right:2rem!important;width:auto!important;margin-top:auto;display:block;width:100%;text-align:center}.footer{background-color:var(--bg-darker);border-top:1px solid rgba(59,130,246,.2);padding:3rem 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.footer-logo{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1rem}.footer-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem}.footer-logo-icon img{width:33px!important;height:33px!important;object-fit:contain}.footer-logo-text{font-weight:700;font-size:1.125rem}.footer-description{color:var(--text-muted);font-size:.875rem;max-width:400px;margin-bottom:1.5rem}.footer-social{display:flex;gap:1rem}.footer-social a{width:36px;height:36px;background-color:rgba(59,130,246,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:all .3s ease;text-decoration:none}.footer-social a:hover{background-color:var(--primary);transform:translateY(-3px)}.footer-links-title{font-size:1rem;font-weight:600;margin-bottom:1.25rem;position:relative;padding-bottom:.5rem}.footer-links-title::after{content:'';position:absolute;bottom:0;left:0;width:30px;height:2px;background:linear-gradient(to right,var(--primary),var(--accent))}.footer-links{list-style-type:none}.footer-links li{margin-bottom:.75rem}.footer-links a{color:var(--text-muted);text-decoration:none;font-size:.875rem;transition:color .3s ease}.footer-links a:hover{color:var(--primary)}.footer-bottom{padding-top:2rem;margin-top:2rem;border-top:1px solid rgba(59,130,246,.1);display:flex;justify-content:space-between;align-items:center}.footer-copyright{color:var(--text-muted);font-size:.875rem}.footer-policies{display:flex;gap:1.5rem}.footer-policies a{color:var(--text-muted);text-decoration:none;font-size:.875rem;transition:color .3s ease}.footer-policies a:hover{color:var(--primary)}#network-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeInUp{animation:fadeInUp .6s ease forwards}@keyframes fadeInRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.animate-fadeInRight{animation:fadeInRight .6s ease forwards}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity 1.8s cubic-bezier(.22,1,.36,1),transform 1.5s cubic-bezier(.22,1,.36,1)}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}@media (max-width:1024px){.hero-content{grid-template-columns:1fr;gap:2rem}.hero-title{font-size:2.5rem}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.navbar-links{display:none}.mobile-toggle{display:block}.hero-cta{flex-direction:column;align-items:flex-start}.section-title{font-size:2rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}@media (max-width:600px){.checks-grid,.features-grid,.pricing-grid{grid-template-columns:1fr}}.mobile-nav{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;visibility:hidden;pointer-events:none}.mobile-nav-backdrop{position:absolute;inset:0;background-color:rgba(6,8,15,.8);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;transition:opacity .4s cubic-bezier(.16,1,.3,1)}.mobile-nav-panel{position:absolute;top:0;right:0;width:85%;max-width:320px;height:100%;background-color:var(--bg-darker);box-shadow:-5px 0 25px rgba(0,0,0,.3);transform:translateX(100%);transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow-y:auto}.mobile-nav.active{visibility:visible;pointer-events:auto}.mobile-nav.active .mobile-nav-backdrop{opacity:1}.mobile-nav.active .mobile-nav-panel{transform:translateX(0)}#features{background:linear-gradient(to bottom,rgba(10,15,29,.8) 0,var(--bg-dark) 100px)}.pricing-card{transition:all .4s cubic-bezier(.22,1,.36,1);position:relative;z-index:1}.pricing-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(120deg,rgba(59,130,246,.05),rgba(16,185,129,.05));opacity:0;z-index:-1;transition:opacity .4s ease}.pricing-card.featured{box-shadow:0 5px 15px rgba(59,130,246,.15)}.pricing-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 15px 30px rgba(0,0,0,.25),0 0 15px rgba(59,130,246,.3);border-color:rgba(59,130,246,.6)}.pricing-card:hover::before{opacity:1}.pricing-title{transition:transform .3s ease}.pricing-card:hover .pricing-title{transform:scale(1.05);color:var(--text-light)}.pricing-price{transition:all .4s ease}.pricing-card:hover .pricing-price{background:linear-gradient(to right,var(--primary-light),var(--accent-light));-webkit-background-clip:text;background-clip:text;transform:translateY(-2px);filter:drop-shadow(0 0 8px rgba(59, 130, 246, .3))}.pricing-features li{transition:all .3s ease;position:relative}.pricing-card:hover .pricing-features li{color:var(--text-light);transform:translateX(5px)}.pricing-card:hover .pricing-features li:first-child{transition-delay:50ms}.pricing-card:hover .pricing-features li:nth-child(2){transition-delay:.1s}.pricing-card:hover .pricing-features li:nth-child(3){transition-delay:.15s}.pricing-card:hover .pricing-features li:nth-child(4){transition-delay:.2s}.pricing-card:hover .pricing-features li:nth-child(5){transition-delay:.25s}.pricing-card:hover .pricing-features li:nth-child(6){transition-delay:.3s}.pricing-card:hover .pricing-features li:nth-child(7){transition-delay:.35s}.pricing-features li i{transition:all .3s ease}.pricing-card:hover .pricing-features li i{color:var(--accent-light);transform:scale(1.2)}.pricing-action{transition:all .3s ease;transform:translateY(0)}.pricing-card:hover .pricing-action{transform:translateY(5px)}.pricing-badge{transition:all .4s ease;box-shadow:0 2px 10px rgba(59,130,246,.3);z-index:2}.pricing-card:hover .pricing-badge{background:linear-gradient(135deg,var(--primary-light),var(--accent-light));box-shadow:0 5px 15px rgba(59,130,246,.5);padding:.3rem 2.2rem}@media (max-width:768px){*{-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none!important}.btn,.check-category,.console-window .window-controls span,.feature-card,.footer-links a,.footer-social a,.mobile-nav-links a,.mobile-toggle,.navbar-logo,.pricing-card{-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;touch-action:manipulation!important}.btn:active,.check-category:active,.feature-card:active,.pricing-card:active{transform:scale(.98)!important;transition:transform .1s ease!important}.footer-links a:active,.mobile-nav-links a:active{opacity:.7;transition:opacity .1s ease!important}}.side-gradient{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,rgba(59,130,246,.05) 0,transparent 70%);z-index:-1;border-radius:.75rem}.conic-gradient{position:absolute;top:0;left:0;width:100%;height:100%;background:conic-gradient(from 90deg at 50% 0,rgba(59,130,246,.1),transparent,transparent,transparent);z-index:1;border-radius:.75rem}.section-bg{position:relative;overflow:hidden}.section-bg::before{content:'';position:absolute;inset:0;background-color:var(--bg-dark);z-index:-3}#features{background:0 0;position:relative}#features::after{content:'';position:absolute;inset:0;background:radial-gradient(circle 1200px at 50% -50%,rgba(59,130,246,.15),transparent);z-index:-2}#features .conic-gradient{position:absolute;inset:0;background:conic-gradient(from 90deg at 50% 0,rgba(59,130,246,.1),transparent,transparent,transparent);opacity:.03;z-index:-1}@media (min-width:1024px){#features .features-grid .feature-card[data-feature=cloud]{grid-column:span 3}}@media (min-width:769px) and (max-width:1023px){#features .features-grid .feature-card[data-feature=cloud]{grid-column:span 2}}.checks-section{background:0 0;position:relative;border-top:2px solid rgba(59,130,246,.3);border-bottom:1px solid rgba(59,130,246,.1)}.checks-section::after,.checks-section::before{display:none}.checks-section .left-gradient{position:absolute;inset:0;background:radial-gradient(circle 800px at 20% 50%,rgba(59,130,246,.08),transparent);z-index:-2}.checks-section .right-gradient{position:absolute;inset:0;background:radial-gradient(circle 800px at 80% 50%,rgba(16,185,165,.08),transparent);z-index:-1}#pricing{background:0 0;position:relative}#pricing::after{content:'';position:absolute;inset:0;background:radial-gradient(circle 1200px at 50% -50%,rgba(59,130,246,.15),transparent);z-index:-2}#pricing .conic-gradient{position:absolute;inset:0;background:conic-gradient(from 90deg at 50% 0,rgba(59,130,246,.1),transparent,transparent,transparent);opacity:.03;z-index:-1}#cloud::after{content:'';position:absolute;inset:0;background:radial-gradient(circle 1200px at 50% -50%,rgba(59,130,246,.15),transparent);z-index:-2}#cloud .conic-gradient{position:absolute;inset:0;background:conic-gradient(from 90deg at 50% 0,rgba(59,130,246,.1),transparent,transparent,transparent);opacity:.03;z-index:-1}#about{background:0 0;position:relative}#about [style*="position: absolute"]{display:none}#about .left-gradient{position:absolute;inset:0;background:radial-gradient(circle 800px at 20% 50%,rgba(59,130,246,.08),transparent);z-index:-2}#about .right-gradient{position:absolute;inset:0;background:radial-gradient(circle 800px at 80% 50%,rgba(16,185,165,.08),transparent);z-index:-1}.footer{position:relative;background-color:#0000006e;border-top:1px solid rgba(59,130,246,.2)}.footer::after{content:'';position:absolute;inset:0;background:radial-gradient(circle 1000px at 50% -100%,rgba(59,130,246,.1),transparent);z-index:-2}.check-category:hover,.feature-card:hover,.pricing-card:hover{box-shadow:0 15px 30px rgba(0,0,0,.2),0 0 15px rgba(59,130,246,.2);border-color:rgba(59,130,246,.5);background-color:rgba(22,34,53,.7)}@media (max-width:768px){.navbar-action .btn{display:none!important}.navbar-links{display:none!important}.mobile-toggle{display:flex!important;position:relative;width:40px;height:40px;align-items:center;justify-content:center;background-color:rgba(59,130,246,.1);border:none;padding:0;border-radius:8px;cursor:pointer;overflow:hidden;transition:background-color .3s ease;z-index:2001}.mobile-toggle:hover{background-color:rgba(59,130,246,.2)}.mobile-toggle i{position:absolute;font-size:1.2rem;color:var(--text-light);transition:transform .3s cubic-bezier(.68,-.55,.27,1.55),opacity .3s ease-in-out;left:50%;top:50%;transform:translate(-50%,-50%)}.mobile-toggle i.icon-bars{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}.mobile-toggle i.icon-close{opacity:0;transform:translate(-50%,-50%) rotate(-90deg) scale(.7)}.mobile-toggle.active i.icon-bars{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(.7)}.mobile-toggle.active i.icon-close{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}.navbar-container{padding:.75rem 1rem}.logo-icon{width:36px;height:36px}.logo-text{font-size:1.125rem}.hero-content{padding-top:2rem;padding-bottom:2rem}.hero-title{font-size:2.5rem;line-height:1.2}.hero-description{font-size:1rem}.hero-cta{flex-direction:column;align-items:stretch;gap:.75rem}.hero-cta .btn{width:100%;justify-content:center;padding:.75rem 1rem}.console-window{transform:none!important;box-shadow:0 10px 25px rgba(0,0,0,.3),0 0 15px rgba(59,130,246,.2)}.console-content{height:200px;max-height:200px}.console-dock-icon{bottom:20px;right:20px;width:50px;height:50px}.btn{padding:.75rem 1.25rem;min-height:44px}.footer-links a,.navbar-links a{padding:.5rem 0;display:block}.check-category,.feature-card,.pricing-card{transition:transform .3s ease,box-shadow .3s ease}.check-category:active,.feature-card:active,.pricing-card:active{transform:scale(.98);box-shadow:0 0 10px rgba(59,130,246,.2)}.window-controls span{width:16px;height:16px;margin:0 4px}.console-input input{padding:8px 0;font-size:14px}.section{padding:3rem 0}.container{padding:0 1rem}.hero{min-height:auto;padding-top:5rem}.checks-grid,.features-grid,.pricing-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}.footer-policies{justify-content:center}.mobile-optimized{box-shadow:0 10px 25px rgba(0,0,0,.2)!important;border-radius:12px!important;transform:none!important}.mobile-touch-friendly{padding:12px!important}.mobile-dock{width:50px!important;height:50px!important;bottom:20px!important;right:20px!important}.console-content::-webkit-scrollbar{width:4px!important}.console-line{word-break:break-word}.fullscreen-modal.active .console-window{width:90%!important;height:auto!important;max-height:80vh!important}.mobile-nav-panel{padding:0}.mobile-nav.active{visibility:visible;pointer-events:auto}.mobile-nav.active .mobile-nav-backdrop{opacity:1}.mobile-nav.active .mobile-nav-panel{transform:translateX(0)}body.mobile-nav-open{overflow:hidden}}@media (max-width:480px){.hero-title{font-size:2rem}.section-title{font-size:1.75rem}.check-category,.feature-card,.pricing-card{padding:1.25rem}.pricing-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.console-title{font-size:.7rem}.console-content{font-size:.7rem}.console-line{margin-bottom:.35rem}.hero-title{font-size:2rem;line-height:1.2}.hero-badge{font-size:.75rem;padding:.35rem .75rem}.feature-icon{width:40px;height:40px;font-size:1rem}.check-title,.feature-title,.pricing-title{font-size:1.1rem}}@media (min-width:1200px){.checks-grid{grid-template-columns:repeat(6,1fr)}.checks-grid .check-category:nth-child(-n+3){grid-column:span 2}.checks-grid .check-category:nth-child(n+4):nth-child(-n+5){grid-column:span 3}}@media (min-width:992px) and (max-width:1199px){.checks-grid{grid-template-columns:repeat(6,1fr)}.checks-grid .check-category:nth-child(-n+3){grid-column:span 2}.checks-grid .check-category:nth-child(n+4):nth-child(-n+5){grid-column:span 3}}@media (min-width:769px) and (max-width:992px){.checks-grid,.features-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:repeat(2,1fr)}.hero-content{grid-template-columns:1fr;gap:2rem}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.navbar{height:70px!important;padding-top:5px!important;padding-bottom:5px!important}.navbar-container{height:60px!important;padding:0 1rem!important}.hero{padding-top:70px!important}.hero-badge{margin-top:15px!important}.hero-content{padding-top:0!important}.logo-icon{width:38px!important;height:38px!important}}@media (max-width:768px){.animated-element{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.animated-element.animated{opacity:1;transform:translateY(0)}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-darker);z-index:2000;display:block;opacity:0;visibility:hidden;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),visibility .5s;transform:translateX(100%);pointer-events:none}.hero-badge{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.hero-title{opacity:.01;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .1s,transform .6s cubic-bezier(.22,1,.36,1) .1s}.hero-description{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .2s,transform .6s cubic-bezier(.22,1,.36,1) .2s}.hero-cta{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .3s,transform .6s cubic-bezier(.22,1,.36,1) .3s}.console-wrapper{opacity:0;transform:translateX(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .4s,transform .6s cubic-bezier(.22,1,.36,1) .4s}.animate-on-scroll-mobile{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.animate-on-scroll-mobile.animated{opacity:1;transform:translateY(0)}}@media (max-width:768px){.mobile-nav-panel{padding:0}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(59,130,246,.15);flex-shrink:0}.mobile-nav-logo .logo-icon{width:32px;height:32px}.mobile-nav-logo .logo-text{font-size:1rem}.mobile-nav-close{background:0 0;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .3s ease,transform .3s ease}.mobile-nav-close:focus,.mobile-nav-close:hover{color:var(--text-light)}.mobile-nav-close:active{transform:scale(.9)}.mobile-nav-links{display:flex;flex-direction:column;padding:1.5rem;margin-bottom:1rem;width:100%}.mobile-nav-links a{display:block;width:100%;padding:1rem .75rem;margin-bottom:.75rem;color:var(--text-muted);font-size:1.25rem;font-weight:500;text-decoration:none;border-bottom:1px solid rgba(59,130,246,.1);transition:color .3s ease,background-color .3s ease}.mobile-nav-links a:active,.mobile-nav-links a:hover{color:var(--text-light);background-color:rgba(59,130,246,.1)}.mobile-nav-actions{display:flex;flex-direction:column;gap:.75rem;padding:0 1.5rem 1.5rem;width:100%;border-top:1px solid rgba(59,130,246,.15);padding-top:1rem}.mobile-nav-actions .mobile-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;margin-bottom:.5rem}}.console-scroll-button{position:absolute;bottom:65px;right:16px;width:40px;height:40px;background-color:rgba(59,130,246,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;cursor:pointer;opacity:0;visibility:hidden;transform:scale(.8);transition:opacity .4s ease,transform .4s ease,background-color .2s ease,visibility .4s;z-index:100;box-shadow:0 3px 10px rgba(0,0,0,.4)}.console-scroll-button:hover{background-color:#3b82f6;transform:scale(1.1);box-shadow:0 5px 15px rgba(0,0,0,.5)}.console-scroll-button.visible{opacity:1;visibility:visible;transform:scale(1);animation:pulse-light 2s infinite}@keyframes pulse-light{0%{box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{box-shadow:0 0 0 6px rgba(59,130,246,0)}100%{box-shadow:0 0 0 0 rgba(59,130,246,0)}}.check-category,.feature-card,.pricing-card{opacity:0;transform:translateY(50px);transition:opacity 1.8s cubic-bezier(.22,1,.36,1),transform 1.5s cubic-bezier(.22,1,.36,1)}.check-category.animated,.feature-card.animated,.pricing-card.animated{opacity:1;transform:translateY(0)}.check-category:hover,.feature-card:hover,.pricing-card:hover{transform:translateY(-8px)!important;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1),border-color .5s cubic-bezier(.22,1,.36,1)}.feature-card:hover{box-shadow:0 15px 30px rgba(0,0,0,.3),0 0 20px rgba(59,130,246,.3)}.check-category:hover{box-shadow:0 15px 30px rgba(0,0,0,.25),0 0 20px rgba(59,130,246,.25)}.pricing-card:hover{box-shadow:0 20px 40px rgba(0,0,0,.3),0 0 25px rgba(59,130,246,.35)!important;transform:translateY(-12px) scale(1.02)!important}.footer-links li,.footer-links-title,.footer-social a{opacity:0;transform:translateY(15px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.footer-links li.animated,.footer-links-title.animated,.footer-social a.animated{opacity:1;transform:translateY(0)}.footer-links a{position:relative;transition:color .3s ease}.footer-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:linear-gradient(to right,var(--primary),var(--accent));transition:width .4s cubic-bezier(.2,.8,.2,1)}.footer-links a:hover::after{width:100%}.footer-links a:hover{color:var(--primary-light)}.footer-social a{transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .4s cubic-bezier(.2,.8,.2,1)}.footer-social a:hover{transform:translateY(-4px);background-color:var(--primary)}.footer-social a{position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .4s cubic-bezier(.2,.8,.2,1)}.footer-social a::before{content:'';position:absolute;inset:-2px;background:radial-gradient(circle,var(--primary) 0,transparent 70%);opacity:0;transition:opacity .4s cubic-bezier(.2,.8,.2,1);z-index:-1;border-radius:50%}@keyframes icon-pulse{0%{box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{box-shadow:0 0 0 10px rgba(59,130,246,0)}100%{box-shadow:0 0 0 0 rgba(59,130,246,0)}}.footer-social a:hover{transform:translateY(-4px);background-color:var(--primary);animation:icon-pulse 1.5s infinite}.footer-social a:hover::before{opacity:.8}.footer-social a:hover i{color:#fff;filter:brightness(1.2)}.footer-logo-icon{position:relative;overflow:visible;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s cubic-bezier(.2,.8,.2,1);background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 0 12px 2px rgba(59,130,246,.15)}.footer-logo:hover .footer-logo-icon{transform:translateY(-2px);box-shadow:0 0 18px 3px rgba(59,130,246,.25)}.footer-logo-text{transition:color .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}.footer-logo:hover .footer-logo-text{color:var(--primary-light);transform:translateY(-2px)}.footer-logo-icon::after{content:'';position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;background:radial-gradient(circle,rgba(59,130,246,.3) 0,transparent 70%);opacity:0;transition:opacity .5s cubic-bezier(.2,.8,.2,1);border-radius:10px;z-index:-1}.footer-logo:hover .footer-logo-icon::after{opacity:1}.check-category,.feature-card,.pricing-card{opacity:0;transform:translateY(50px);transition:transform .6s cubic-bezier(.35,1.8,.6,1),opacity .6s cubic-bezier(.34,1.56,.64,1),box-shadow .6s cubic-bezier(.34,1.56,.64,1),border-color .5s cubic-bezier(.22,1,.36,1),background-color .5s cubic-bezier(.22,1,.36,1)!important;will-change:transform,box-shadow,opacity}.check-category::before,.feature-card::before,.pricing-card::before{opacity:0;transition:opacity .4s cubic-bezier(.22,1,.36,1)!important}.check-category:hover::before,.feature-card:hover::before,.pricing-card:hover::before{opacity:1}.check-category:hover,.feature-card:hover{transform:translateY(-8px)!important;box-shadow:0 15px 30px rgba(0,0,0,.2),0 0 20px rgba(59,130,246,.3)!important;background-color:rgba(22,34,53,.7)!important;border-color:rgba(59,130,246,.5)!important;z-index:5!important}.pricing-card:hover{transform:translateY(-10px) scale(1.02)!important;box-shadow:0 20px 40px rgba(0,0,0,.3),0 0 25px rgba(59,130,246,.35)!important;background-color:rgba(22,34,53,.7)!important;border-color:rgba(59,130,246,.6)!important;z-index:10!important}.card-loading-transition{transition:opacity 1.2s cubic-bezier(.25,1,.5,1) 0s,transform 1.2s cubic-bezier(.25,1,.5,1) 0s!important}.card-loaded{opacity:1!important;transform:translateY(0)!important}.feature-card .feature-description{transition-property:color;transition-duration:.5s;transition-timing-function:ease-in-out}.feature-card:hover .feature-description{color:oklch(.93 .013 255.508 / 95%)}<div id=preloader style="position:fixed;inset:0;background-color:var(--bg-darker);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease"><div style="width:48px;height:48px;border:3px solid rgba(59,130,246,.3);border-radius:50%;border-top-color:var(--primary);animation:spin 1s linear infinite"></div></div>@keyframes spin{to{transform:rotate(360deg)}}<div class=console-dock-icon id=console-dock-icon><i class="fas fa-terminal"></i></div><div class=terminal-icon id=terminal-icon><i class="fas fa-terminal"></i></div><div id=fullscreen-modal class=fullscreen-modal><div class=fullscreen-container></div></div><nav class=navbar id=navbar><div class="container navbar-container"><a href=# class=navbar-logo><div class=logo-icon><img src=https://cdn.discordapp.com/icons/1302804363353526364/8dbe644d8c271ca0f45af9a6216b2931.webp alt="CodeControlAC Logo" style=width:24px;height:24px width=24 height=24 fetchpriority=high decoding=async importance=high></div><div class=logo-text>CodeControlAC</div></a><div class=navbar-links><a href=#features>Features</a> <a href=#checks>Checks</a> <a href=#cloud>Cloud</a><a href=#pricing>Pricing</a> <a href=#about>About</a></div><div class=navbar-action><a href=https://codecontrolac.online/login class="btn btn-secondary"><i class="fas fa-tachometer-alt"></i> Dashboard </a><a href=https://discord.gg/WdPEVwpptS target=_blank rel=noopener class="btn btn-secondary"><i class="fab fa-discord"></i> Discord </a><a href=#pricing class="btn btn-primary"><i class="fas fa-rocket"></i> Get Started</a><div class=mobile-toggle id=mobile-toggle><i class="icon-bars fas fa-bars"></i> <i class="icon-close fas fa-times"></i></div></div></div></nav><section class=hero id=home><div class=network-visualization><canvas id=network-canvas></canvas></div><div class=container><div class=hero-content><div class=hero-text><div class=hero-badge><i class="fas fa-code-branch"></i> Version 1.8 - 1.21.4 Support</div><h1 class=hero-title fetchpriority=high importance=high>Protect Your Server with <span>Advanced Anti-Cheat Solutions</span></h1><p class=hero-description><span class=highlighted-text data-text=CodeControlAC>CodeControlAC</span> is a powerful Minecraft anti-cheat built to keep servers fair and handle cheaters in a way that really messes with them. It's packed with <span class=highlighted-text data-text="advanced checks">advanced checks</span>, fully configurable, and works across <span class=highlighted-text data-text="multiple Minecraft versions">multiple Minecraft versions</span>.</p><div class=hero-cta><a href=#features class="btn btn-primary"><i class="fas fa-eye"></i> Explore Features </a><a href=#pricing class="btn btn-secondary"><i class="fas fa-tag"></i> View Pricing</a></div></div><div class=console-wrapper><div class=console-overlay id=console-overlay></div><div class=console-window id=console-window><div class=console-header><div class=window-controls><span class=control-close id=console-close></span> <span class=control-minimize id=console-minimize></span> <span class=control-maximize id=console-maximize></span></div><div class=console-title id=console-title><i class="fas fa-terminal"></i> CodeControlAC Console</div><div></div></div><div class=console-content id=console-content></div><div class=console-input><span class=console-input-prefix>$</span> <input placeholder="Type your command..."></div></div></div></div></div></section><section class="section animate-on-scroll" id=features><div class=conic-gradient></div><div class=container><div class=section-header><div class="section-badge animate-on-scroll">Key Features</div><h2 class="section-title animate-on-scroll">What Makes CodeControlAC Different</h2><p class="section-subtitle animate-on-scroll">Our anti-cheat combines powerful detection and prevention features to create a more fair gaming experience for everyone.</p></div><div class=features-grid><div class=feature-card><div class=feature-icon><i class="fas fa-bolt"></i></div><h3 class=feature-title>Client Crash on Threshold</h3><p class=feature-description>If someone hits the threshold, it'll <span class=highlighted-text data-text="crash their client">crash their client</span>. Provides immediate response to potential cheaters with a powerful deterrent.</p></div><div class=feature-card><div class=feature-icon><i class="fas fa-shield-alt"></i></div><h3 class=feature-title>Damage Reduction System</h3><p class=feature-description>When players get flagged too many times on specific combat checks, their damage gets <span class=highlighted-text data-text="gradually reduced">gradually reduced</span>, making it harder for them to do any real damage.</p></div><div class=feature-card><div class=feature-icon><i class="fas fa-eye-slash"></i></div><h3 class=feature-title>Movement/Action Cancellation</h3><p class=feature-description>Detects and cancels certain cheats like <span class=highlighted-text data-text=Blink>Blink</span>. The cheater thinks they're moving, but everyone else sees them standing still, frustrating rather than flagging.</p></div><div class=feature-card><div class=feature-icon><i class="fas fa-sliders-h"></i></div><h3 class=feature-title>Highly Configurable</h3><p class=feature-description>Customize everything from plugin name to commands and alerts to perfectly fit your server and admin needs.</p></div><div class=feature-card><div class=feature-icon><i class="fas fa-code-branch"></i></div><h3 class=feature-title>Multi-Version Support</h3><p class=feature-description>Support for all Minecraft versions from 1.8 to 1.21.4, ensuring your server is protected no matter what version you're running.</p></div><div class=feature-card><div class=feature-icon><i class="fas fa-magic"></i></div><h3 class=feature-title>Ban Animations</h3><p class=feature-description>Visually appealing ban animations that notify other players when a cheater is banned, adding an extra layer of deterrent.</p></div><div class=feature-card data-feature=cloud><div class=feature-icon><i class="fas fa-cloud"></i></div><h3 class=feature-title>Cloud-Powered Performance</h3><p class=feature-description>Offload intensive checks (Speed, Fly, KillAura) to our dedicated <span class=highlighted-text data-text=Rust-powered>Rust-powered</span> cloud infrastructure. This allows for more complex analysis without impacting your server's TPS, resulting in <span class=highlighted-text data-text="smoother gameplay">smoother gameplay</span> and more reliable detection.</p></div></div></div></section><section class="section checks-section animate-on-scroll" id=checks><div class=left-gradient></div><div class=right-gradient></div><div class=container><div class=section-header><div class="section-badge animate-on-scroll">Comprehensive Protection</div><h2 class="section-title animate-on-scroll">Advanced Detection Checks</h2><p class="section-subtitle animate-on-scroll">Our anti-cheat includes a wide range of checks to detect and prevent various cheats and exploits.</p></div><div class=checks-grid><div class=check-category><div class=check-header><div class=check-icon><i class="fas fa-running"></i></div><h3 class=check-title>Movement Checks</h3></div><ul class=check-list><li><i class="fas fa-check-circle"></i> Like Grim, but better</li><li><i class="fas fa-check-circle"></i> Advanced movement detection</li><li><i class="fas fa-check-circle"></i> Configurable lag-back options</li><li><i class="fas fa-check-circle"></i> Silent detection mode</li><li><i class="fas fa-check-circle"></i> Speed checks (Types A-B)</li><li><i class="fas fa-check-circle"></i> Fly checks (Types A-C)</li><li><i class="fas fa-check-circle"></i> Scaffold checks (Types A-G)</li></ul></div><div class=check-category><div class=check-header><div class=check-icon><i class="fas fa-khanda"></i></div><h3 class=check-title>Combat Checks</h3></div><ul class=check-list><li><i class="fas fa-check-circle"></i> Killaura (Types A-J)</li><li><i class="fas fa-check-circle"></i> Reach Detection (3.1)</li><li><i class="fas fa-check-circle"></i> Hitbox Detection (0.2)</li><li><i class="fas fa-check-circle"></i> Aim Detection (Types A-I)</li><li><i class="fas fa-check-circle"></i> AutoTotem (Types A-B)</li><li><i class="fas fa-check-circle"></i> Crystal Aura (Types A-E)</li><li><i class="fas fa-check-circle"></i> Backtrack (Type A)</li></ul></div><div class=check-category><div class=check-header><div class=check-icon><i class="fas fa-tablet"></i></div><h3 class=check-title>Bedrock Checks</h3></div><ul class=check-list><li><i class="fas fa-check-circle"></i> BSpeed (Types A-C)</li><li><i class="fas fa-check-circle"></i> BFly (Types A-C)</li><li><i class="fas fa-check-circle"></i> BScaffold (Types A-C)</li><li><i class="fas fa-check-circle"></i> BAura (Types A-F)</li><li><i class="fas fa-check-circle"></i> BHitbox (Type A)</li><li><i class="fas fa-check-circle"></i> BReach (Type A)</li><li><i class="fas fa-check-circle"></i> BStep (Types A-B)</li></ul></div><div class=check-category><div class=check-header><div class=check-icon><i class="fas fa-cogs"></i></div><h3 class=check-title>Other Checks</h3></div><ul class=check-list><li><i class="fas fa-check-circle"></i> Bad Packets (Types A-Z)</li><li><i class="fas fa-check-circle"></i> Baritone (Types A-C)</li><li><i class="fas fa-check-circle"></i> Timer Detection (TimerX)</li><li><i class="fas fa-check-circle"></i> Entity Checks (Types A-C)</li><li><i class="fas fa-check-circle"></i> ChestStealer (Types A-C)</li><li><i class="fas fa-check-circle"></i> Water calculations</li><li><i class="fas fa-check-circle"></i> Prediction engine</li><li><i class="fas fa-check-circle"></i> Collision detection</li></ul></div><div class=check-category data-check=cloud><div class=check-header><div class=check-icon><i class="fas fa-cloud-upload-alt"></i></div><h3 class=check-title>Cloud Checks</h3></div><ul class=check-list><li><i class="fas fa-check-circle"></i> <strong>Cloud Speed:</strong> Advanced exploit detection, off-server.</li><li><i class="fas fa-check-circle"></i> <strong>Cloud Fly:</strong> External verification of complex flight.</li><li><i class="fas fa-check-circle"></i> <strong>Cloud KillAura:</strong> Deep combat pattern analysis via cloud.</li><li><i class="fas fa-rocket"></i> <strong>Rust Core:</strong> High-performance external processing.</li><li><i class="fas fa-server"></i> <strong>Zero Server Load:</strong> Frees up TPS by processing externally.</li><li><i class="fas fa-brain"></i> <strong>Deeper Analysis:</strong> More compute power for complex checks.</li><li><i class="fas fa-shield-alt"></i> <strong>Higher Accuracy:</strong> Thorough analysis reduces false flags.</li><li><i class="fas fa-sync-alt"></i> <strong>Scalable Design:</strong> Built for future detection upgrades.</li></ul></div></div></div></section><section class="section animate-on-scroll" id=cloud><div class=conic-gradient></div><div class=container><div class=section-header><div class="section-badge animate-on-scroll">Cloud Powered</div><h2 class="section-title animate-on-scroll">Harnessing the Power of the Cloud</h2><p class="section-subtitle animate-on-scroll">Experience unparalleled performance and advanced detection by offloading intensive checks to our dedicated Rust infrastructure.</p></div><div class=features-grid style=grid-template-columns:repeat(auto-fit,minmax(320px,1fr))><div class=feature-card data-cloud-card=1><div class=feature-icon><i class="fas fa-tachometer-alt"></i></div><h3 class=feature-title>The Performance Problem</h3><p class=feature-description>Traditional anti-cheats run entirely on your Minecraft server, consuming valuable CPU and memory resources which can lead to lag.</p></div><div class=feature-card data-cloud-card=2><div class=feature-icon><i class="fas fa-cloud-arrow-up"></i></div><h3 class=feature-title>Our Cloud Solution (Rust)</h3><p class=feature-description>CodeControlAC Cloud securely processes relevant player data externally on our <span class=highlighted-text data-text="optimized Rust servers">optimized Rust servers</span>, freeing up your game server.</p></div><div class=feature-card data-cloud-card=3><div class=feature-icon><i class="fas fa-shield-halved"></i></div><h3 class=feature-title>Reduced Lag, Enhanced Detection</h3><p class=feature-description>Enjoy drastically reduced server load and more reliable, <span class=highlighted-text data-text="in-depth cheat detection">in-depth cheat detection</span> (Speed, Fly, KillAura), fitting our "frustrate, then punish" approach.</p></div></div></div></section><section class="section animate-on-scroll" id=pricing><div class=conic-gradient></div><div class=container><div class=section-header><div class="section-badge animate-on-scroll">Plans</div><h2 class="section-title animate-on-scroll">Choose Your Plan</h2><p class="section-subtitle animate-on-scroll">Select the perfect plan for your server and unlock the full potential of CodeControlAC.</p></div><div class=pricing-grid><div class=pricing-card><div class=pricing-header><h3 class=pricing-title>Premium</h3><div class=pricing-price>$50 <span>one-time</span></div><p class=pricing-description>Perfect for medium-sized servers</p></div><ul class=pricing-features><li><i class="fas fa-check"></i> 6 dedicated servers</li><li><i class="fas fa-check"></i> All the checks</li><li><i class="fas fa-check"></i> Cloud checks enabled</li><li><i class="fas fa-check"></i> Easy configurability</li><li><i class="fas fa-check"></i> Fast priority support</li><li><i class="fas fa-check"></i> 1 friend license</li></ul><a href=https://discord.gg/WdPEVwpptS target=_blank class="btn btn-primary pricing-action">Contact to Purchase</a></div><div class="pricing-card featured animate-on-scroll"><div class=pricing-badge>POPULAR</div><div class=pricing-header><h3 class=pricing-title>Enterprise</h3><div class=pricing-price>$100 <span>one-time</span></div><p class=pricing-description>For large networks and communities</p></div><ul class=pricing-features><li><i class="fas fa-check"></i> 8 dedicated servers</li><li><i class="fas fa-check"></i> All checks + exclusive</li><li><i class="fas fa-check"></i> Cloud checks enabled</li><li><i class="fas fa-check"></i> Advanced configurability</li><li><i class="fas fa-check"></i> Direct developer support</li><li><i class="fas fa-check"></i> 2 friend licenses</li><li><i class="fas fa-check"></i> Access to beta checks</li></ul><a href=https://discord.gg/WdPEVwpptS target=_blank class="btn btn-primary pricing-action">Contact to Purchase</a></div><div class=pricing-card><div class=pricing-header><h3 class=pricing-title>Source Code</h3><div class=pricing-price>$1200 <span>one-time</span></div><p class=pricing-description>For full ownership and customization</p></div><ul class=pricing-features><li><i class="fas fa-check"></i> Full source code access</li><li><i class="fas fa-check"></i> Unlimited server usage</li><li><i class="fas fa-check"></i> Complete customization</li><li><i class="fas fa-check"></i> Developer documentation</li><li><i class="fas fa-check"></i> Lifetime free updates</li><li><i class="fas fa-info-circle"></i> Not finalized</li></ul><a href=https://discord.gg/WdPEVwpptS target=_blank class="btn btn-secondary pricing-action">Contact to Inquire</a></div></div><div style=text-align:center;margin-top:2rem;color:var(--text-muted)><p>* Free invite-only licenses are available for friends and large networks (400+ players)</p></div></div></section><section class="section animate-on-scroll" id=about><div class=left-gradient></div><div class=right-gradient></div><div class=container><div class=section-header><div class="section-badge animate-on-scroll">About</div><h2 class="section-title animate-on-scroll">The CodeControlAC Project</h2><p class="section-subtitle animate-on-scroll">Learn more about the development and philosophy behind our anti-cheat plugin.</p></div><div style="max-width:800px;margin:0 auto;color:var(--text-muted);line-height:1.8;position:relative;z-index:2" class=animate-on-scroll><p style=margin-bottom:1.5rem><strong style=color:var(--text-light)>CodeControlAC</strong> is a Minecraft anti-cheat I built to keep servers fair and handle cheaters in a way that really messes with them. It's packed with checks, fully configurable, and works across multiple Minecraft versions.</p><p style=margin-bottom:1.5rem>Rather than just banning cheaters outright, CodeControlAC takes a more creative approach. With features like damage reduction for combat cheaters and movement cancellation for specific hacks, cheaters often don't immediately realize they've been detected. This frustrates them and limits their advantage without always resorting to a ban.</p><p style=margin-bottom:1.5rem>The project is about seven months old and is continually being improved and updated with new checks and features. The anti-cheat currently supports versions 1.8 through 1.21.4, making it compatible with most Minecraft servers.</p><p>Join our Discord community to learn more, get support, and stay updated on the latest developments.</p><div style=margin-top:3rem;display:flex;justify-content:center><a href=https://discord.gg/WdPEVwpptS target=_blank class="btn btn-primary" style=display:inline-flex;align-items:center;gap:.75rem><i class="fab fa-discord" style=font-size:1.25rem></i> Join Our Discord</a></div></div></div></section><footer class=footer><div class=side-gradient></div><div class=container><div class=footer-grid><div><div class=footer-logo><div class=footer-logo-icon><img src=https://cdn.discordapp.com/icons/1302804363353526364/8dbe644d8c271ca0f45af9a6216b2931.webp alt="CodeControlAC Logo" style=width:24px;height:24px width=24 height=24 loading=lazy fetchpriority=low decoding=async></div><div class=footer-logo-text>CodeControlAC</div></div><p class=footer-description>A powerful and configurable Minecraft anti-cheat plugin supporting versions 1.8 to 1.21.4. Features client crash, smart combat system, and extensive detection checks.</p><div class=footer-social><a href=https://discord.gg/WdPEVwpptS target=_blank rel=noopener><i class="fab fa-discord"></i> </a><a href=https://github.com/TawnyE/CodeControlAC target=_blank rel=noopener><i class="fab fa-github"></i></a></div></div><div><h4 class=footer-links-title>Quick Links</h4><ul class=footer-links><li><a href=#features>Features</a></li><li><a href=#checks>Checks</a></li><li><a href=#cloud>Cloud</a></li><li><a href=#pricing>Pricing</a></li><li><a href=#about>About</a></li></ul></div><div><h4 class=footer-links-title>Resources</h4><ul class=footer-links><li><a href=https://discord.gg/WdPEVwpptS target=_blank>Discord Support</a></li><li><a href=https://github.com/TawnyE/CodeControlAC target=_blank>GitHub</a></li><li><a href=# id=faq-link>FAQ</a></li></ul></div></div><div class=footer-bottom><p class=footer-copyright>© 2024-2025 CodeControlAC. All rights reserved.</p><div class=footer-policies><a href=# id=terms-link>Terms of Service</a> <a href=# id=terms-link>Privacy Policy</a></div></div></div></footer><div class=mobile-nav id=mobileNavMenu><div class=mobile-nav-backdrop></div><div class=mobile-nav-panel><div class=mobile-nav-header><a href=# class="mobile-nav-logo navbar-logo"><div class=logo-icon><img src=https://cdn.discordapp.com/icons/1302804363353526364/8dbe644d8c271ca0f45af9a6216b2931.webp alt="CodeControlAC Logo" style=width:24px;height:24px width=24 height=24 fetchpriority=high decoding=async></div><div class=logo-text>CodeControlAC</div></a><button class=mobile-nav-close id=mobileNavCloseBtn aria-label="Close Menu"><i class="fas fa-times"></i></button></div><nav class=mobile-nav-links><a href=#features>Features</a> <a href=#checks>Checks</a> <a href=#cloud>Cloud</a><a href=#pricing>Pricing</a> <a href=#about>About</a></nav><div class=mobile-nav-actions><button class="btn btn-secondary mobile-btn"><i class="fas fa-tachometer-alt"></i> Dashboard</button> <a href=https://discord.gg/WdPEVwpptS target=_blank rel=noopener class="btn btn-secondary mobile-btn"><i class="fab fa-discord"></i> Discord </a><a href=#pricing class="btn btn-primary mobile-btn"><i class="fas fa-rocket"></i> Get Started</a></div></div></div><script>function removePricingCardAnimations(){const t=document.querySelectorAll(".pricing-card");console.log("Removing animation classes from",t.length,"pricing cards"),t.forEach((t=>{t.classList.remove("animate-on-scroll","animated","card-loading-transition","card-loaded"),t.removeAttribute("data-scroll-animation"),t.removeAttribute("data-scroll-delay"),t.style.opacity="0",t.style.transform="translateY(80px)",t.style.transition="none"})),setupPricingCardAnimations()}function setupPricingCardAnimations(){if("complete"!==document.readyState)return void window.addEventListener("load",setupPricingCardAnimations);const t=document.querySelector("#pricing");if(!t)return;const n=Array.from(t.querySelectorAll(".pricing-card"));if(3!==n.length)return;console.log("Setting up new pricing card animations for",n.length,"cards");const e=n.find((t=>t.classList.contains("featured"))),a=n.filter((t=>!t.classList.contains("featured")));if(e&&2===a.length){const r=[e,a[0],a[1]],s=new IntersectionObserver((e=>{if(e[0].isIntersecting){const e=document.getElementById("pricing-cards-block-initial");e&&e.remove(),n.forEach((t=>{t.classList.remove("animate-on-scroll","animated","card-loading-transition","card-loaded"),t.setAttribute("data-animating","true"),t.style.cssText="\n                opacity: 0 !important;\n                transform: translateY(80px) !important;\n                transition: none !important;\n                visibility: visible !important;\n                "})),t.offsetWidth,r.forEach(((t,n)=>{const e=t.classList.contains("featured"),a=document.createElement("div");a.className="card-highlight-effect",a.style.cssText="\n                position: absolute; top: 0; left: 0; right: 0; bottom: 0;\n                background: linear-gradient(120deg, rgba(59, 130, 246, 0.08), rgba(16, 185, 129, 0.08));\n                border-radius: 0.75rem; opacity: 0; z-index: -1; transition: opacity 0.8s ease-in; pointer-events: none;\n                ";"static"===getComputedStyle(t).position&&(t.style.position="relative"),t.appendChild(a),setTimeout((()=>{const r=getComputedStyle(t).position;t.style.cssText=`\n                    opacity: 0 !important;\n                    transform: translateY(80px) scale(0.95) !important;\n                    transition: none !important;\n                    visibility: visible !important;\n                    z-index: ${100-n} !important;\n                    backface-visibility: hidden !important;\n                    perspective: 1000px !important;\n                    will-change: transform, opacity, box-shadow !important;\n                    position: ${r}; /* Maintain position */\n                `,t.offsetWidth,t.style.boxShadow="0 10px 20px rgba(0, 0, 0, 0.1), 0 0 10px rgba(59, 130, 246, 0.1)",setTimeout((()=>{a.style.opacity="1",setTimeout((()=>{a.style.opacity="0",setTimeout((()=>{a.parentNode&&a.remove()}),800)}),1200);const r=getComputedStyle(t).position;e?(t.style.cssText=`\n                        opacity: 1 !important; transform: translateY(0) scale(1) !important;\n                        transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1),\n                                    transform 1.2s cubic-bezier(0.18, 1.6, 0.3, 0.95),\n                                    box-shadow 1.2s cubic-bezier(0.22, 1, 0.36, 1) !important;\n                        visibility: visible !important; z-index: ${100-n} !important;\n                        backface-visibility: hidden !important; perspective: 1000px !important;\n                        will-change: transform, opacity, box-shadow !important;\n                        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15), 0 0 15px rgba(59, 130, 246, 0.2) !important;\n                        position: ${r}; /* Maintain position */\n                    `,setTimeout((()=>{t.getAttribute("data-animating")&&(t.style.transform="translateY(-8px) scale(1)",t.style.transition="transform 0.3s cubic-bezier(0.18, 1.1, 0.3, 1.1), opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 1.2s cubic-bezier(0.22, 1, 0.36, 1)",setTimeout((()=>{t.getAttribute("data-animating")&&(t.style.transform="translateY(0) scale(1)",t.style.transition="transform 0.5s cubic-bezier(0.18, 0.9, 0.3, 1), opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 1.2s cubic-bezier(0.22, 1, 0.36, 1)")}),300))}),1e3)):t.style.cssText=`\n                        opacity: 1 !important; transform: translateY(0) scale(1) !important;\n                        transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1),\n                                    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),\n                                    box-shadow 1.2s cubic-bezier(0.22, 1, 0.36, 1) !important;\n                        visibility: visible !important; z-index: ${100-n} !important;\n                        backface-visibility: hidden !important; perspective: 1000px !important;\n                        will-change: transform, opacity, box-shadow !important;\n                        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15), 0 0 15px rgba(59, 130, 246, 0.2) !important;\n                        position: ${r}; /* Maintain position */\n                    `,animatePricingCardContentEnhanced(t,n),addPricingCardHoverEffects(t),setTimeout((()=>{t.classList.add("animated"),t.removeAttribute("data-animating")}),1600)}),50)}),500+700*n)})),s.unobserve(t)}}),{threshold:.4,rootMargin:"-50px 0px"});s.observe(t)}}function animatePricingCardContentEnhanced(t,n){}function addPricingCardHoverEffects(t){const n=t.querySelector(".pricing-title"),e=t.querySelector(".pricing-price"),a=t.querySelectorAll(".pricing-features li"),r=t.querySelectorAll(".pricing-features li i"),s=t.querySelector(".pricing-action .btn"),i=t.querySelector(".pricing-badge"),o="cubic-bezier(0.34, 1.56, 0.64, 1)";let c=getComputedStyle(t).boxShadow;const l=t.classList.contains("featured");t.addEventListener("mouseenter",(()=>{t.style.transition=`\n                transform 0.4s ${o}, \n                box-shadow 0.4s ${o}, \n                border-color 0.4s ease\n            `,t.style.transform=l?"translateY(-12px) scale(1.03)":"translateY(-10px) scale(1.02)",t.style.boxShadow="0 15px 30px rgba(0, 0, 0, 0.25), 0 0 15px rgba(59, 130, 246, 0.3)",t.style.borderColor="rgba(59, 130, 246, 0.6)",t.removeAttribute("data-animating"),n&&(n.style.transition=`transform 0.3s ${o}, color 0.3s ease`,n.style.transform="scale(1.05)",n.style.color="var(--text-light, #F9FAFB)"),e&&(e.style.transition=`\n                    transform 0.4s ${o}, filter 0.4s ease, background 0.4s ease, \n                    color 0.4s ease, -webkit-background-clip 0.4s ease, background-clip 0.4s ease\n                `,e.style.transform="translateY(-3px) scale(1)",e.style.filter="drop-shadow(0 0 8px rgba(59, 130, 246, 0.4))",e.style.background="linear-gradient(to right, #60A5FA, #34D399)",e.style.webkitBackgroundClip="text",e.style.backgroundClip="text",e.style.color="transparent"),a.forEach(((n,e)=>{const a=.09*e;t.getAttribute("data-animating")?n.style.transition="none":n.style.transition=`transform 0.5s ${o} ${a}s, color 0.3s ease ${a}s`,n.style.transform="translateX(5px)",n.style.color="var(--text-light, #F9FAFB)"})),r.forEach(((n,e)=>{const a=.05*e;t.getAttribute("data-animating")?n.style.transition="none":n.style.transition=`transform 0.3s ${o} ${a}s, color 0.3s ease ${a}s`,n.style.transform="scale(1.2)",n.style.color="var(--accent-light, #34D399)"})),s&&(s.style.transition=`\n                    transform 0.3s ${o}, background 0.3s ease, box-shadow 0.3s ease,\n                    border-color 0.3s ease, background-color 0.3s ease \n                `,s.style.transform="translateY(2px)",s.classList.contains("btn-primary")?(s.style.background="linear-gradient(135deg, #60A5FA, #10B981)",s.style.boxShadow="0 8px 20px rgba(59, 130, 246, 0.4)"):s.classList.contains("btn-secondary")&&(s.style.borderColor="var(--primary-light, #60A5FA)",s.style.backgroundColor="rgba(59, 130, 246, 0.15)")),i&&(i.style.transition=`\n                    transform 0.4s ${o}, background 0.4s ease, \n                    box-shadow 0.4s ease, padding 0.4s ${o} \n                `,i.style.background="linear-gradient(135deg, #60A5FA, #34D399)",i.style.boxShadow="0 5px 15px rgba(59, 130, 246, 0.5)",i.style.padding="0.3rem 2.2rem")})),t.addEventListener("mouseleave",(()=>{t.style.transition="\n                transform 0.4s ease-out, \n                box-shadow 0.4s ease-out, \n                border-color 0.4s ease\n            ",t.style.transform="translateY(0) scale(1)",t.style.boxShadow=c,t.style.borderColor="",n&&(n.style.transition="transform 0.3s ease-out, color 0.3s ease",n.style.transform="scale(1)",n.style.color=""),e&&(e.style.transition="\n                    transform 0.4s ease-out, filter 0.4s ease-out, \n                    background 0.4s ease, color 0.4s ease, \n                    -webkit-background-clip 0.4s ease, background-clip 0.4s ease\n                ",e.style.transform="translateY(0) scale(1)",e.style.filter="none",e.style.background="",e.style.webkitBackgroundClip="",e.style.backgroundClip="",e.style.color=""),a.forEach((t=>{t.style.transition="transform 0.3s ease-out, color 0.3s ease",t.style.transform="translateX(0)",t.style.color=""})),r.forEach((t=>{t.style.transition="transform 0.3s ease-out, color 0.3s ease",t.style.transform="scale(1)",t.style.color=""})),s&&(s.style.transition="\n                    transform 0.3s ease-out, background 0.3s ease, box-shadow 0.3s ease,\n                    border-color 0.3s ease, background-color 0.3s ease \n                ",s.style.transform="translateY(0)",s.style.background="",s.style.boxShadow="",s.style.borderColor="",s.style.backgroundColor=""),i&&(i.style.transition="\n                    transform 0.4s ease-out, background 0.4s ease, \n                    box-shadow 0.4s ease, padding 0.4s ease-out\n                ",i.style.transform="translate(0, 0) rotate(45deg)",i.style.background="linear-gradient(135deg, #3B82F6, #10B981)",i.style.boxShadow="0 2px 10px rgba(59, 130, 246, 0.3)",i.style.padding="0.25rem 2rem")}))}!function(){const t=document.createElement("style");t.id="pricing-cards-block-initial",t.textContent='\n        /* Immediately block ALL animations on pricing cards */\n        .pricing-card {\n            opacity: 0 !important;\n            transform: translateY(80px) !important;\n            transition: none !important;\n            animation: none !important;\n        }\n        \n        /* Override any animation classes */\n        .pricing-card.animate-on-scroll,\n        .pricing-card.animated,\n        .pricing-card.card-loading-transition,\n        .pricing-card.card-loaded,\n        .pricing-card[class*="animate"] {\n            opacity: 0 !important;\n            transform: translateY(80px) !important;\n            transition: none !important;\n            animation: none !important;\n        }\n    \n        /* Add base transition for hover effects (can be overridden by JS) */\n        /* These provide a fallback and define the non-hover state transition */\n        .pricing-card.animated {\n            /* Base transitions for the card itself */\n            transition: transform 0.4s ease-out, \n                        box-shadow 0.4s ease-out,\n                        border-color 0.4s ease;\n        }\n        .pricing-card.animated .pricing-title {\n            /* Base transitions for the title */\n            transition: transform 0.3s ease-out, color 0.3s ease;\n        }\n            .pricing-card.animated .pricing-price {\n                /* Base transitions for the price, including filter and background/color related */\n            transition: transform 0.4s ease-out, \n                        filter 0.4s ease-out, \n                        background 0.4s ease, \n                        color 0.4s ease, \n                        -webkit-background-clip 0.4s ease, \n                        background-clip 0.4s ease; \n        }\n        .pricing-card.animated .pricing-features li {\n                transition: transform 0.3s ease-out, color 0.3s ease;\n        }\n        .pricing-card.animated .pricing-features li i {\n                transition: transform 0.3s ease-out, color 0.3s ease;\n        }\n            .pricing-card.animated .pricing-action .btn {\n            transition: transform 0.3s ease-out, background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;\n        }\n        .pricing-card.animated .pricing-badge {\n            transition: transform 0.4s ease-out, background 0.4s ease, box-shadow 0.4s ease, padding 0.4s ease-out;\n        }\n        ',document.head.appendChild(t),document.addEventListener("DOMContentLoaded",removePricingCardAnimations),"loading"!==document.readyState&&removePricingCardAnimations()}()</script><script defer>!function(){const e=document.getElementById("preloader");if(!e)return;function t(){const t=document.querySelector(".hero-title");t&&(t.style.opacity="0.01",t.style.visibility="visible"),e.style.opacity="0",e.style.transition="opacity 200ms ease",setTimeout((()=>{e.style.display="none";[".hero-badge",".hero-title",".hero-description",".hero-cta",".console-wrapper"].forEach(((e,t)=>{setTimeout((()=>{const t=document.querySelector(e);t&&".console-wrapper"!==e&&(t.style.opacity="1",t.style.transform="translateY(0)")}),80*t)}))}),200)}const s=function(){if(-1!==window.location.href.indexOf("_="+(new Date).getTime()))return"hard";if(performance&&performance.navigation){const e=!sessionStorage.getItem("visited");if(1===performance.navigation.type)return e?"hard":"normal";if(0===performance.navigation.type)return e?"first":"cached"}return sessionStorage.getItem("visited")?"cached":"first"}();console.log("Detected refresh type:",s),"hard"===s?(console.log("Using full load check for hard refresh"),window.addEventListener("load",(function(){setTimeout(t,300)})),setTimeout(t,2e3)):"normal"===s||"first"===s?(console.log("Using normal load for regular refresh"),window.addEventListener("load",(function(){t()})),setTimeout(t,1e3)):(console.log("Using fast behavior for cached visit"),setTimeout(t,100)),sessionStorage.setItem("visited","true")}(),document.addEventListener("DOMContentLoaded",(function(){const e=document.getElementById("network-canvas"),t=e.getContext("2d"),s=document.getElementById("console-content"),n=document.getElementById("console-window"),a=(document.getElementById("console-overlay"),document.getElementById("console-close")),o=document.getElementById("console-minimize"),l=document.getElementById("console-maximize"),i=document.querySelector(".console-input input"),r=document.getElementById("console-dock-icon"),c=(document.getElementById("terminal-icon"),document.getElementById("console-title"),document.getElementById("fullscreen-modal")),d=document.querySelector(".fullscreen-container");let h,p={style:{},classList:[]};function m(){h=n.parentNode,p.style={width:n.style.width,height:n.style.height,transform:n.style.transform,position:n.style.position,top:n.style.top,left:n.style.left,borderRadius:n.style.borderRadius,zIndex:n.style.zIndex},p.classList=[...n.classList]}function u(){h&&(h.appendChild(n),n.classList.remove("maximized"),n.style.transform="",s.style.height="",c.classList.remove("active"),setTimeout((()=>{i.focus()}),100))}function g(){const s=window.devicePixelRatio||1,n=window.innerWidth,a=window.innerHeight;e.width=n*s,e.height=a*s,t.scale(s,s),e.style.width=n+"px",e.style.height=a+"px"}g(),window.addEventListener("resize",g);const y=[],f=window.innerWidth<=768?200:120,k=window.innerWidth<=768?120:150;let v=null,M=null;const b=150,C=Math.ceil(Math.sqrt(1.5*f)),B=Math.ceil(1.5*f/C),T=e.width/C,w=e.height/B,A=[];for(let e=0;e<B;e++)for(let t=0;t<C;t++)A.push({row:e,col:t});for(let e=A.length-1;e>0;e--){const t=Math.floor(Math.random()*(e+1));[A[e],A[t]]=[A[t],A[e]]}for(let e=0;e<f;e++){const{row:t,col:s}=A[e],n=s*T+T/2,a=t*w+w/2,o=4,l=(Math.random()-.5)*T*o,i=(Math.random()-.5)*w*o;y.push({x:n+l,y:a+i,vx:.5*(Math.random()-.5),vy:.5*(Math.random()-.5),baseVx:.5*(Math.random()-.5),baseVy:.5*(Math.random()-.5),size:2*Math.random()+1,color:`rgba(59, 130, 246, ${.5*Math.random()+.3})`})}document.addEventListener("mousemove",(t=>{const s=e.getBoundingClientRect();v=t.clientX-s.left,M=t.clientY-s.top})),document.addEventListener("touchmove",(t=>{if(t.touches.length>0){const s=e.getBoundingClientRect();v=t.touches[0].clientX-s.left,M=t.touches[0].clientY-s.top}}),{passive:!0}),document.addEventListener("mouseleave",(()=>{v=null,M=null})),document.addEventListener("touchend",(()=>{v=null,M=null})),function s(){t.clearRect(0,0,e.width,e.height);for(let s=0;s<y.length;s++){const n=y[s];if(n.vx=n.baseVx,n.vy=n.baseVy,null!==v&&null!==M){const e=n.x-v,t=n.y-M,s=Math.sqrt(e*e+t*t);if(s<b){const a=.05*(1-s/b);n.vx+=e/s*a,n.vy+=t/s*a}}if(n.x+=n.vx,n.y+=n.vy,n.x<=0?(n.x=0,n.vx*=-1,n.baseVx*=-1):n.x>=e.width&&(n.x=e.width,n.vx*=-1,n.baseVx*=-1),n.y<=0?(n.y=0,n.vy*=-1,n.baseVy*=-1):n.y>=e.height&&(n.y=e.height,n.vy*=-1,n.baseVy*=-1),t.beginPath(),t.arc(n.x,n.y,n.size,0,2*Math.PI),t.fillStyle=n.color,t.fill(),null!==v&&null!==M){const e=n.x-v,s=n.y-M,a=Math.sqrt(e*e+s*s);if(a<b){const e=n.size*(1+1.5*(1-a/b)),s=.5*(1-a/b);t.beginPath(),t.arc(n.x,n.y,e,0,2*Math.PI),t.fillStyle=`rgba(59, 130, 246, ${s})`,t.fill()}}for(let e=s+1;e<y.length;e++){const s=y[e],a=n.x-s.x,o=n.y-s.y,l=Math.sqrt(a*a+o*o);if(l<k){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(s.x,s.y);const e=1-l/k;let a=.2*e;if(null!==v&&null!==M){const t=(n.x+s.x)/2,o=(n.y+s.y)/2;Math.sqrt((t-v)**2+(o-M)**2)<b&&(a=.6*e)}t.strokeStyle=`rgba(59, 130, 246, ${a})`,t.lineWidth=1,t.stroke()}}}requestAnimationFrame(s)}();const $=document.getElementById("navbar");function S(e,t){const s=["KillAura","Speed","Fly","Scaffold","Reach","Aim","CrystalAura","AutoTotem","Timer","BadPacket","BSpeed","BFly","BAura","BReach","BHitbox","ChestStealer"];if(s.includes(e)){const s=t||"A";return{name:e,type:s,key:e+s}}for(const n of s)if(e.startsWith(n)&&e.length===n.length+1){const s=e.charAt(e.length-1);if(/[A-Z]/.test(s))return{name:n,type:t||s,key:n+(t||s)}}const n=t||"A";return{name:e,type:n,key:e+n}}window.addEventListener("scroll",(()=>{window.scrollY>50?$.classList.add("scrolled"):$.classList.remove("scrolled")}));const P="legit",F="closet",x="movement",L="combat",E="utility",I="blatant",D={players:{},maxPlayerCount:15,reconnectChance:.4,getPlayer(e,t=!1,s=!0){if(!this.players[e]){const n=Math.random();let a;a=n<.4?P:n<.6?F:n<.75?x:n<.9?L:n<.95?E:I;const o=t?"Geyser":this.getRandomClient(a),l=t?`.${e}`:e,i=t?null:this.getRandomVersion();this.players[e]={name:e,displayName:l,isBedrock:t,client:o,ping:this.getRandomPing(a),version:i,joinTime:new Date,lastSeen:new Date,cps:this.getRandomCPS(a),sensitivity:this.getRandomSensitivity(a),cheaterProfile:a,pvpLevel:Math.floor(5*Math.random()),exempted:!1,violations:{},preferredCheck:null,preferredCheckType:null,favoriteChecks:this.generateFavoriteChecks(a),violationsMeta:{total:0,byCategory:{movement:0,combat:0,player:0,world:0}},kicked:!1,banned:!1,crashedClient:!1,lastCommand:"",commandHistory:[],warningLevel:0,punishmentCount:0,previouslyPunished:!1,crashPending:!1,crashSurvived:!1,crashTime:null,reasonForRemoval:"",disconnectTime:null,reconnecting:!1,burstMode:!1,burstCount:0,burstCheckName:null,burstCheckType:null,checkSpecificThresholds:{},thresholds:{global:this.getPunishmentThreshold(a),combat:this.getCategoryThreshold(a,"combat"),movement:this.getCategoryThreshold(a,"movement"),player:this.getCategoryThreshold(a,"player"),world:this.getCategoryThreshold(a,"world")},isNewJoin:!s},s&&this.prePopulateViolations(e)}return this.players[e]},resetPlayerViolations:function(e){const t=this.players[e];if(!t)return!1;const s=t.violationsMeta.total;return t.violations={},t.violationsMeta={total:0,byCategory:{movement:0,combat:0,player:0,world:0}},t.warningLevel=0,t.shouldBePunished=!1,t.punishmentReason="",s},getCheckSpecificThreshold(e,t,s){const n=`${t}${s}`;if(e.checkSpecificThresholds[n])return e.checkSpecificThresholds[n];let a={KillAura:12,Reach:10,Aim:15,BAura:12,BReach:10,BHitbox:10,CrystalAura:14,Speed:15,Fly:14,Scaffold:16,BSpeed:15,BFly:14,AutoTotem:18,ChestStealer:20,Timer:15,BadPacket:25}[t]||e.thresholds.global;a+=2*(s.charCodeAt(0)-"A".charCodeAt(0));const o=.9+.2*Math.random();return a=Math.floor(a*o),e.cheaterProfile===I?a*=.7:e.cheaterProfile===P&&(a*=1.5),e.previouslyPunished&&(a*=.5),e.checkSpecificThresholds[n]=Math.floor(a),e.checkSpecificThresholds[n]},prePopulateViolations(e){const t=this.players[e];if(!t)return;if(t.cheaterProfile===P&&Math.random()>.2)return;let s;s=t.cheaterProfile===I?Math.floor(3*Math.random())+2:t.cheaterProfile===L||t.cheaterProfile===x||t.cheaterProfile===E?Math.floor(2*Math.random())+1:1;const n=[];for(let e=0;e<s;e++){const e=this.getPlayerCheck(t);n.some((t=>t.name===e.name&&t.type===e.type))||n.push(e)}if(Math.random()<.8&&n.length>0){const e=n[0];t.preferredCheck=e.name,Math.random()<.5&&(t.preferredCheckType=e.type)}n.forEach(((s,n)=>{let a;const o=this.getCheckSpecificThreshold(t,s.name,s.type);if(a=0===n?Math.floor(o*(.25+.15*Math.random())):Math.floor(o*(.15+.1*Math.random())),a>0)for(let t=0;t<a;t++){const n=N.generateCheckInfo(s.name),a=Math.floor(10*Math.random())+2*t,o=new Date(Date.now()-6e4*a);this.addViolation(e,s.name,s.type,n,!0,o)}}))},getCategoryThreshold(e,t){let s=this.getPunishmentThreshold(e);switch(t){case"combat":return Math.floor(.7*s);case"movement":return Math.floor(.8*s);case"player":return Math.floor(.9*s);case"world":return Math.floor(1*s)}return s},getPunishmentThreshold(e){const t=this.players[name]?.previouslyPunished,s=t?.4:1;switch(e){case I:return Math.floor(12*s);case L:case x:return Math.floor(18*s);case E:return Math.floor(22*s);case F:return Math.floor(25*s);default:return Math.floor(30*s)}},generateFavoriteChecks(e){switch(e){case L:return[{name:"KillAura",types:["A","B","C","D"],weight:40},{name:"Reach",types:["A"],weight:25},{name:"Aim",types:["A","B","C"],weight:15},{name:"Backtrack",types:["A"],weight:20}];case x:return[{name:"Speed",types:["A","B"],weight:40},{name:"Fly",types:["A","B","C"],weight:30},{name:"Scaffold",types:["A","B","C","D"],weight:30}];case E:return[{name:"ChestStealer",types:["A","B"],weight:40},{name:"AutoTotem",types:["A","B"],weight:30},{name:"BadPacket",types:["A","B","C"],weight:30}];case I:return[{name:"KillAura",types:["A","B","C","D","E","F"],weight:25},{name:"Speed",types:["A","B"],weight:25},{name:"Fly",types:["A","B","C"],weight:25},{name:"Scaffold",types:["A","B","C","D","E","F"],weight:25}];case F:return[{name:"KillAura",types:["G","H","I"],weight:30},{name:"Aim",types:["D","E","F"],weight:40},{name:"Reach",types:["A"],weight:30}];default:return[{name:"BadPacket",types:["A","B"],weight:70},{name:"Speed",types:["A"],weight:20},{name:"Aim",types:["G","H"],weight:10}]}},getPlayerCheck(e){if(e.preferredCheck&&Math.random()<.8){const t=e.preferredCheck;if(e.preferredCheckType&&Math.random()<.5)return{name:t,type:e.preferredCheckType};const s=N.getCheck(t);if(s){return{name:t,type:s.types[Math.floor(Math.random()*s.types.length)]}}}if(e.burstMode&&e.burstCheckName)return{name:e.burstCheckName,type:e.burstCheckType};if(Object.keys(e.violations).length>0&&Math.random()<.8){const t=Object.entries(e.violations);t.sort(((e,t)=>t[1].count-e[1].count));const s=Math.min(Math.floor(Math.pow(Math.random(),2)*t.length),t.length-1),n=t[s][1];if(n.name&&n.type)return{name:n.name,type:n.type};const a=t[s][0],o=["KillAura","Speed","Fly","Scaffold","Reach","Aim","CrystalAura","AutoTotem","Timer","BadPacket","BSpeed","BFly","BAura","BReach","BHitbox","ChestStealer"];for(const e of o)if(a.startsWith(e)){return{name:e,type:a.substring(e.length)||"A"}}}if(e.isBedrock){const t=e.favoriteChecks.filter((e=>e.name.startsWith("B")));if(0===t.length){if(e.cheaterProfile===L)return{name:"BAura",type:["A","B","C","D","E","F"][Math.floor(6*Math.random())]};if(e.cheaterProfile===x){const e=["BSpeed","BFly"];return{name:e[Math.floor(Math.random()*e.length)],type:["A","B","C"][Math.floor(3*Math.random())]}}{const e=["BAura","BSpeed","BFly","BReach","BHitbox"];return{name:e[Math.floor(Math.random()*e.length)],type:["A","B","C"][Math.floor(3*Math.random())]}}}const s=this.weightedRandom(t),n=s.types[Math.floor(Math.random()*s.types.length)];return{name:s.name,type:n}}const t=this.weightedRandom(e.favoriteChecks),s=t.types[Math.floor(Math.random()*t.types.length)];return{name:t.name,type:s}},weightedRandom(e){const t=e.reduce(((e,t)=>e+t.weight),0);let s=Math.random()*t;for(const t of e){if(s<t.weight)return t;s-=t.weight}return e[0]},getActivePlayers(){return Object.values(this.players).filter((e=>!e.kicked&&!e.banned))},getCheatingPlayers(){return Object.values(this.players).filter((e=>!e.kicked&&!e.banned&&e.cheaterProfile!==P))},getRandomPlayerName(){const e=["hackergato","ObjectMc","Lucky","frap","Axionize","Cotander","spiqu3","EarthShaker","Esoxiii","leitao","pawsashatoy","Incognito","Tawny","CodeControl","Karma","Darth","GigaZelensky","samucafriend","Lup","ReflectPulse","ojust1n","SavagexWolfz","Salers","nohlisathing","jethi_","itzkenyo","Shorty","MILK"].filter((e=>!this.players[e]));return e.length>0?e[Math.floor(Math.random()*e.length)]:`Player${Math.floor(1e3*Math.random())}`},handleReconnects(){const e=new Date;Object.values(this.players).filter((e=>(e.kicked||e.banned)&&e.disconnectTime&&!e.reconnecting)).forEach((t=>{const s=e-t.disconnectTime;if(s<5e3)return;if(t.banned)return;if(s>4e4)return;if(Math.random()<this.reconnectChance){t.reconnecting=!0;const e=Math.floor(4e3*Math.random())+1e3;setTimeout((()=>{t.kicked=!1,t.crashedClient=!1,t.crashPending=!1,t.crashSurvived=!1,t.disconnectTime=null,t.reconnecting=!1,H.addPlayerJoinMessage(t)}),e)}}));const t=this.getActivePlayers();if(Math.max(0,Math.min(2,this.maxPlayerCount-t.length))>0&&Math.random()<.3){const e=this.getRandomPlayerName(),t=Math.random()<.25,s=this.getPlayer(e,t);H.addPlayerJoinMessage(s)}},getRandomPing:e=>e===I?Math.floor(150*Math.random())+100:e===L||e===x?Math.floor(150*Math.random())+50:Math.floor(80*Math.random())+20,getRandomCPS:e=>e===L||e===I?Math.floor(8*Math.random())+12:e===F?Math.floor(4*Math.random())+10:Math.floor(6*Math.random())+4,getRandomSensitivity:e=>e===L?Math.floor(30*Math.random())+90:e===I?Math.floor(50*Math.random())+100:Math.floor(60*Math.random())+30,getRandomClient(e){if(e===I)return Math.random()<.7?"vanilla":"forge";if(e===L||e===x){const e=[{name:"forge",weight:50},{name:"fabric",weight:30},{name:"vanilla",weight:20}],t=e.reduce(((e,t)=>e+t.weight),0);let s=Math.random()*t;for(const t of e){if(s<t.weight)return t.name;s-=t.weight}}const t=[{name:"vanilla",weight:20},{name:"fabric",weight:20},{name:"forge",weight:15},{name:"lunar",weight:25},{name:"badlion",weight:10},{name:"feather",weight:5},{name:"LabyMod",weight:5}],s=t.reduce(((e,t)=>e+t.weight),0);let n=Math.random()*s;for(const e of t){if(n<e.weight)return e.name;n-=e.weight}return"vanilla"},getRandomVersion(){const e=[{version:"1.21.4",weight:35},{version:"1.21.3",weight:8},{version:"1.21.2",weight:5},{version:"1.21.1",weight:4},{version:"1.20.4",weight:8},{version:"1.19.4",weight:7},{version:"1.19.2",weight:5},{version:"1.18.2",weight:5},{version:"1.17.1",weight:5},{version:"1.16.5",weight:3},{version:"1.12.2",weight:5},{version:"1.8.9",weight:10}],t=e.reduce(((e,t)=>e+t.weight),0);let s=Math.random()*t;for(const t of e){if(s<t.weight)return t.version;s-=t.weight}return"1.21.4"},addViolation(e,t,s,n="",a=!1,o=null){const l=this.getPlayer(e);if(l.exempted)return 0;const i=S(t,s);l.violations[i.key]||(l.violations[i.key]={count:0,name:i.name,type:i.type,firstDetected:a?o||new Date(Date.now()-3e5*Math.random()):new Date,lastDetected:new Date,info:[]}),l.violations[i.key].count++,l.violations[i.key].lastDetected=o||new Date,l.violationsMeta.total++,l.preferredCheck||(l.preferredCheck=i.name,Math.random()<.5&&(l.preferredCheckType=i.type));let r="";["Speed","Fly","Scaffold","BSpeed","BFly"].includes(i.name)?(r="movement",l.violationsMeta.byCategory.movement++):["KillAura","Reach","Aim","BHitbox","BAura","BReach","CrystalAura"].includes(i.name)?(r="combat",l.violationsMeta.byCategory.combat++):["AutoTotem","ChestStealer"].includes(i.name)?(r="player",l.violationsMeta.byCategory.player++):(r="world",l.violationsMeta.byCategory.world++),n&&(l.violations[i.key].info.push(n),l.violations[i.key].info.length>5&&l.violations[i.key].info.shift()),l.lastSeen=new Date,this.updateWarningLevel(l);const c=l.violations[i.key].count,d=this.getCheckSpecificThreshold(l,i.name,i.type);return c>=d&&(l.shouldBePunished=!0,l.punishmentReason=`${i.name}${i.type} violations`,l.punishmentCheckName=i.name,l.punishmentCheckType=i.type,l.punishmentVL=c,l.reasonForRemoval=`check=${i.name}${i.type} vl=${c} (threshold=${d})`),r&&l.violationsMeta.byCategory[r]>=l.thresholds[r]&&(l.shouldBePunished=!0,l.punishmentReason=`${r} violations`,l.punishmentCheckName=i.name,l.punishmentCheckType=i.type,l.punishmentVL=c,l.reasonForRemoval=`category=${r} vl=${l.violationsMeta.byCategory[r]}`),l.violationsMeta.total>=l.thresholds.global&&(l.shouldBePunished=!0,l.punishmentReason="total violations",l.punishmentCheckName=i.name,l.punishmentCheckType=i.type,l.punishmentVL=c,l.reasonForRemoval=`total violations (${l.violationsMeta.total})`),a?0:c},updateWarningLevel(e){const t=e.violationsMeta.total,s=Object.keys(e.violations).length;e.warningLevel=t>15||s>=4?3:t>8||s>=3?2:t>4||s>=2?1:0},reset(){this.players={}},updatePlayerPing(e){const t=this.players[e];if(!t||t.kicked||t.banned)return;const s=Math.floor(30*(Math.random()-.5));let n=t.ping+s;n=Math.max(5,Math.min(n,300)),t.ping=Math.floor(n)}},N={checks:[{name:"KillAura",types:["A","B","C","D","E","F","G","H","I","J"],descriptions:{A:"Impossible rotation patterns",B:"Multi-entity attack pattern",C:"Attack rate consistency",D:"Post-attack orientation",E:"Rotation smoothness analysis",F:"Entity prioritization pattern",G:"Attack raytrace inconsistency",H:"Attack through blocks",I:"Angle validation",J:"Impossible entity tracking"},infoGenerator:()=>[`rot=${(40*Math.random()+5).toFixed(2)}°`,`angle=${(180*Math.random()).toFixed(2)}°`,`smooth=${(.9*Math.random()).toFixed(2)}`,`attacks=${Math.floor(4*Math.random())+1}`,`consist=${(1*Math.random()).toFixed(2)}`,"rayTrace=false"][Math.floor(6*Math.random())]},{name:"Speed",types:["A","B"],descriptions:{A:"Horizontal speed exceeding limits",B:"Invalid acceleration pattern"},infoGenerator:()=>[`speed=${(.8*Math.random()+.4).toFixed(2)}`,`expected=${(.3*Math.random()+.2).toFixed(2)}`,`deltaXZ=${(.4*Math.random()+.2).toFixed(2)}`][Math.floor(3*Math.random())]},{name:"Fly",types:["A","B","C"],descriptions:{A:"Vertical movement without velocity",B:"Gravity modification",C:"Extended air time"},infoGenerator:()=>[`deltaY=${(1.2*Math.random()-.6).toFixed(2)}`,`airTime=${Math.floor(200*Math.random())+50}ms`,`expected=${-(.2*Math.random()+.05).toFixed(3)}`][Math.floor(3*Math.random())]},{name:"Scaffold",types:["A","B","C","D","E","F","G"],descriptions:{A:"Impossible placement angle",B:"Rotationless placement",C:"Invalid pitch on place",D:"Too many placements",E:"Placement timing pattern",F:"Bridge pattern analysis",G:"Inventory interaction while placing"},infoGenerator:()=>[`pitch=${(90*Math.random()).toFixed(1)}°`,`delay=${Math.floor(80*Math.random())+10}ms`,`angle=${(30*Math.random()+60).toFixed(1)}°`,`rotDelta=${(20*Math.random()).toFixed(1)}°`,"sneaking=false"][Math.floor(5*Math.random())]},{name:"Reach",types:["A"],descriptions:{A:"Attack distance exceeding limits"},infoGenerator:()=>`dist=${(1*Math.random()+3).toFixed(2)}>3.00 buf=${Math.floor(3*Math.random())+1}`},{name:"Aim",types:["A","B","C","D","E","F","G","H","I"],descriptions:{A:"GCD divisor analysis",B:"Rotation snap",C:"Aim stability analysis",D:"Aim acceleration pattern",E:"Aim patterns consistency",F:"Skipped rotation angles",G:"Average deviation analysis",H:"Aim smoothness",I:"Aim prediction pattern"},infoGenerator:()=>[`gcd=${(.01*Math.random()).toFixed(3)}`,`sens=${Math.floor(100*Math.random())+30}%`,`pitch∆=${(40*Math.random()).toFixed(1)}°`,`yaw∆=${(40*Math.random()).toFixed(1)}°`][Math.floor(4*Math.random())]},{name:"CrystalAura",types:["A","B","C","D","E"],descriptions:{A:"Suspicious rotation pattern",B:"Too fast crystal placement",C:"Post-explosion targeting",D:"Placement-break timing",E:"Auto-place pattern"},infoGenerator:()=>[`delay=${Math.floor(100*Math.random())+20}ms`,`angle=${(180*Math.random()).toFixed(1)}°`,`dist=${(5*Math.random()+1).toFixed(1)}`][Math.floor(3*Math.random())]},{name:"AutoTotem",types:["A","B"],descriptions:{A:"Inventory click pattern",B:"Reaction time too fast"},infoGenerator:()=>`delay=${Math.floor(30*Math.random())+2}ms`},{name:"Timer",types:["A","X"],descriptions:{A:"Transaction timing consistency",X:"Advanced packet rate analysis"},infoGenerator:()=>`rate=${(.4*Math.random()+1.05).toFixed(2)}>1.00`},{name:"BadPacket",types:["A","B","C","D","E"],descriptions:{A:"Invalid packet order",B:"Double transaction",C:"Packet frequency",D:"Transaction inconsistency",E:"Null packet data"},infoGenerator:()=>`packets=${Math.floor(8*Math.random())+3} interval=${Math.floor(50*Math.random())+10}ms`},{name:"BSpeed",types:["A","B","C"],descriptions:{A:"Bedrock speed modification",B:"Bedrock sprint exploit",C:"Bedrock movement pattern"},infoGenerator:()=>`speed=${(.3*Math.random()+.3).toFixed(2)}>${(.1*Math.random()+.2).toFixed(2)}`},{name:"BFly",types:["A","B","C"],descriptions:{A:"Bedrock gravity modification",B:"Bedrock jump exploit",C:"Sustained Y-level"},infoGenerator:()=>`deltaY=${(.1*Math.random()-.05).toFixed(3)}`},{name:"BAura",types:["A","B","C","D","E","F"],descriptions:{A:"Bedrock multi-hit pattern",B:"Bedrock rotation snap",C:"Auto-targeting",D:"Bedrock hit pattern",E:"Bedrock reach analysis",F:"Bedrock hit timing"},infoGenerator:()=>`targets=${Math.floor(3*Math.random())+1} delay=${Math.floor(40*Math.random())+10}ms`},{name:"BReach",types:["A"],descriptions:{A:"Bedrock reach modification"},infoGenerator:()=>`dist=${(1*Math.random()+3.5).toFixed(2)}>3.30`},{name:"BHitbox",types:["A"],descriptions:{A:"Bedrock hitbox expansion"},infoGenerator:()=>`expand=${(.5*Math.random()+.1).toFixed(2)}`},{name:"ChestStealer",types:["A","B","C"],descriptions:{A:"Inventory click pattern",B:"Click timing consistency",C:"Slot targeting pattern"},infoGenerator:()=>`delay=${Math.floor(50*Math.random())+10}ms pattern=${Math.random()<.5?"sequential":"optimal"}`},{name:"Backtrack",types:["A"],descriptions:{A:"Player position reconciliation exploit"},infoGenerator:()=>[`msBack=${Math.floor(200*Math.random())+100}`,`hitDelay=${Math.floor(40*Math.random())+5}ms`,`distance=${(.8*Math.random()+.2).toFixed(2)}`][Math.floor(3*Math.random())]}],getRandomCheck(){return this.checks[Math.floor(Math.random()*this.checks.length)]},getCheck(e){return this.checks.find((t=>t.name===e))},getRandomCheckType(e){const t=this.getCheck(e);return t?t.types[Math.floor(Math.random()*t.types.length)]:""},getCheckDescription(e,t){const s=this.getCheck(e);return s&&s.descriptions[t]?s.descriptions[t]:"Unknown check"},generateCheckInfo(e){const t=this.getCheck(e);return t&&t.infoGenerator?t.infoGenerator():""}},H={consoleContent:null,consoleWindow:null,consoleInputField:null,commandHistory:[],commandHistoryIndex:-1,activeAlertCount:0,commandPrefix:"/",lastTimestamp:null,alertsEnabled:!0,isScrolledToBottom:!0,isUserScrolled:!1,scrollButton:null,scrollLockTimer:null,newMessagesSinceScrollUp:0,scrollUpDistance:0,buttonVisibilityThreshold:150,init(e,t,s){this.consoleContent=e,this.consoleWindow=t,this.consoleInputField=s,this.consoleInputField&&this.consoleInputField.addEventListener("keydown",(e=>{"ArrowUp"===e.key?(e.preventDefault(),this.navigateCommandHistory(-1)):"ArrowDown"===e.key?(e.preventDefault(),this.navigateCommandHistory(1)):"Tab"===e.key&&(e.preventDefault(),this.tabComplete())})),this.initScrollTracking(),this.addSystemMessage("Welcome to CodeControlAC Console. Type '/help' for available commands.","info",!0)},addSystemMessage(e,t="info",s=!0){const n=this.getCurrentTimestamp(),a=document.createElement("div");a.className=`console-line ${t}`,a.innerHTML=s?`\n                            <span class="console-timestamp">[${n}]</span>\n                            <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                            ${e}\n                        `:`\n                            <span class="console-timestamp">[${n}]</span>\n                            <span class="console-prefix">SYSTEM:</span>\n                            ${e}\n                        `,this.consoleContent.appendChild(a),this.isUserScrolled?this.scrollButton&&this.scrollButton.classList.add("visible"):this.guaranteedScrollToBottom()},addDetectionAlert(e,t,s,n=""){if(e.kicked||e.banned)return;if(new Date-e.joinTime<3e3)return;S(t,s);const a=D.addViolation(e.name,t,s,n),o=this.getCurrentTimestamp();this.lastTimestamp=o;const l=Math.random()<.8?"20.0":(19.5+.5*Math.random()).toFixed(1),i=e.version?` | ${e.version}`:"",r=(N.getCheckDescription(t,s),document.createElement("div"));return r.className="console-line",a>10&&r.classList.add("warning"),n||(n=N.generateCheckInfo(t)),r.innerHTML=`\n                        <span class="console-timestamp">[${o}]</span>\n                        <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                        <span class="console-player">${e.displayName}</span> failed \n                        <span class="console-check">${t}${s}</span> \n                        <span class="console-value">(x${a})</span> \n                        <span class="console-info">[${e.ping}ms | TPS: ${l} | ${n} | Client: ${e.client}${i}]</span>\n                    `,this.consoleContent.appendChild(r),this.isUserScrolled?this.scrollButton&&this.scrollButton.classList.add("visible"):this.guaranteedScrollToBottom(),this.activeAlertCount++,e.shouldBePunished&&(e.previouslyPunished=!0,this.addCrashAlert(e,e.punishmentCheckName,e.punishmentCheckType,a),e.crashedClient=!0,e.crashPending=!0,e.crashTime=new Date,e.shouldBePunished=!1,Math.random()<=.05?(e.crashSurvived=!0,setTimeout((()=>{if(e.crashSurvived&&!e.kicked&&!e.banned){this.addSystemMessage(`${e.displayName} survived client crash, kicking manually...`,"warning",!0),this.addPunishmentAlert(e,e.punishmentCheckName,e.punishmentCheckType,a,"kicked"),e.kicked=!0,e.disconnectTime=new Date;const t=this.getCurrentTimestamp(),s=document.createElement("div");s.className="console-line",s.innerHTML=`\n                                        <span class="console-timestamp">[${t}]</span>\n                                        <span class="console-prefix">SYSTEM:</span><span class="console-player">${e.displayName}</span> left the game\n                                    `,this.consoleContent.appendChild(s),this.scrollToBottom(),setTimeout((()=>{D.resetPlayerViolations(e.name)}),1200)}}),3e3)):setTimeout((()=>{if(!e.kicked&&!e.banned&&e.crashPending){e.kicked=!0,e.disconnectTime=new Date;const t=this.getCurrentTimestamp(),s=document.createElement("div");s.className="console-line",s.innerHTML=`\n                                        <span class="console-timestamp">[${t}]</span>\n                                        <span class="console-prefix">SYSTEM:</span><span class="console-player">${e.displayName}</span> left the game\n                                    `,this.consoleContent.appendChild(s),this.scrollToBottom(),setTimeout((()=>{D.resetPlayerViolations(e.name)}),1200)}}),800),e.punishmentCount++),r},addPunishmentAlert(e,t,s,n,a){const o=this.getCurrentTimestamp(),l=document.createElement("div");l.className="console-line warning";let i="banned"===a?"banned":"kicked";l.innerHTML=`\n                        <span class="console-timestamp">[${o}]</span>\n                        <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                        <span class="console-player">${e.displayName}</span> was \n                        <span class="console-command">${i}</span> for \n                        <span class="console-check">${t}${s}</span> \n                        <span class="console-value">(x${n})</span>\n                        <span class="console-info">[Reason: ${e.reasonForRemoval||"Unspecified"}]</span>\n                    `,this.consoleContent.appendChild(l),this.isUserScrolled?this.scrollButton&&this.scrollButton.classList.add("visible"):this.guaranteedScrollToBottom(),setTimeout((()=>{const t=document.createElement("div");t.className="console-line",t.innerHTML=`\n                            <span class="console-timestamp">[${this.getCurrentTimestamp()}]</span>\n                            <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                            <span style="color: #FF5555;">CodeControlAC has removed ${e.displayName} due to cheating.</span>\n                        `,this.consoleContent.appendChild(t),this.scrollToBottom()}),500)},addCrashAlert(e,t,s,n){const a=this.getCurrentTimestamp(),o=document.createElement("div");o.className="console-line crash",o.innerHTML=`\n                        <span class="console-timestamp">[${a}]</span>\n                        <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                        <span class="console-player">${e.displayName}</span> was \n                        <span class="console-command">crashed</span> for \n                        <span class="console-check">${t}${s}</span> \n                        <span class="console-value">(x${n})</span>\n                        <span class="console-info">[Reason: ${e.reasonForRemoval||"Unspecified"}]</span>\n                    `,this.consoleContent.appendChild(o),this.isUserScrolled?this.scrollButton&&this.scrollButton.classList.add("visible"):this.guaranteedScrollToBottom()},addPlayerJoinMessage(e){const t=this.getCurrentTimestamp(),s=document.createElement("div");s.className="console-line";const n=e.version?` ${e.version}`:"";s.innerHTML=`\n                        <span class="console-timestamp">[${t}]</span>\n                        <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                        <span class="console-player">${e.displayName}</span> joined using \n                        <span class="console-info">[${e.client}${n}]</span>\n                    `,this.consoleContent.appendChild(s),this.isUserScrolled?this.scrollButton&&this.scrollButton.classList.add("visible"):this.guaranteedScrollToBottom()},processCommand(e){!e.trim()||0!==this.commandHistory.length&&this.commandHistory[this.commandHistory.length-1]===e||(this.commandHistory.push(e),this.commandHistory.length>20&&this.commandHistory.shift()),this.commandHistoryIndex=this.commandHistory.length;const t=(e.startsWith(this.commandPrefix)?e.substring(this.commandPrefix.length):e).trim().split(/\s+/),s=t[0].toLowerCase(),n=t.slice(1);if("ccac"===s&&0===n.length)return this.commandHandlers.ccac.call(this,["help"]);const a=this.commandHandlers[s];return a?a.call(this,n):`Unknown command: ${s}. Type '/help' for available commands.`},navigateCommandHistory(e){0!==this.commandHistory.length&&(this.commandHistoryIndex+=e,this.commandHistoryIndex<0?this.commandHistoryIndex=0:this.commandHistoryIndex>this.commandHistory.length&&(this.commandHistoryIndex=this.commandHistory.length),this.commandHistoryIndex===this.commandHistory.length?this.consoleInputField.value="":this.consoleInputField.value=this.commandHistory[this.commandHistoryIndex],setTimeout((()=>{this.consoleInputField.selectionStart=this.consoleInputField.value.length,this.consoleInputField.selectionEnd=this.consoleInputField.value.length}),0))},getCurrentTimestamp(){const e=new Date;return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},scrollToBottom(e=!1){this.isScrolledToBottom||e||this.scrollLockTimer?requestAnimationFrame((()=>{this.consoleContent.scrollTop=this.consoleContent.scrollHeight,this.isScrolledToBottom=!0,this.scrollButton&&this.scrollButton.classList.remove("visible")})):this.scrollButton&&!this.isScrolledToBottom&&this.scrollButton.classList.add("visible")},guaranteedScrollToBottom(){requestAnimationFrame((()=>{this.consoleContent.scrollTop=this.consoleContent.scrollHeight,this.isScrolledToBottom=!0,this.scrollButton&&this.scrollButton.classList.remove("visible")}))},cleanupOldLines(){const e=this.consoleContent.querySelectorAll(".console-line");if(e.length>150){const t=e.length-150;for(let s=0;s<t;s++)e[s].parentNode&&e[s].remove()}},initScrollTracking(){this.scrollButton=document.createElement("div"),this.scrollButton.className="console-scroll-button",this.scrollButton.innerHTML='<i class="fas fa-chevron-down"></i>',this.consoleWindow.appendChild(this.scrollButton),this.scrollButton.addEventListener("click",(()=>{this.animatedScrollToBottom()}));let e=this.consoleContent.scrollHeight,t=this.consoleContent.scrollTop,s=!1;this.consoleContent.addEventListener("wheel",(()=>{s=!0,this.isUserScrolled=!0,setTimeout((()=>{s=!1}),100)})),this.consoleContent.addEventListener("touchstart",(()=>{s=!0,this.isUserScrolled=!0})),this.consoleContent.addEventListener("touchend",(()=>{setTimeout((()=>{s=!1}),100)})),this.consoleContent.addEventListener("scroll",(()=>{const n=this.consoleContent.scrollTop,a=n+this.consoleContent.clientHeight,o=this.consoleContent.scrollHeight;this.scrollUpDistance=o-a;const l=this.isScrolledToBottom;this.isScrolledToBottom=this.scrollUpDistance<30;s&&n<t?(this.isScrolledToBottom=!1,this.scrollUpDistance>this.buttonVisibilityThreshold&&this.scrollButton.classList.add("visible")):o>e&&l&&requestAnimationFrame((()=>{this.consoleContent.scrollTop=this.consoleContent.scrollHeight})),this.isScrolledToBottom&&(this.newMessagesSinceScrollUp=0,this.scrollButton.classList.remove("visible"),this.isUserScrolled=!1),e=o,t=n})),window.addEventListener("resize",(()=>{setTimeout((()=>{this.isScrolledToBottom&&this.scrollToBottom(!0)}),100)}))},animatedScrollToBottom(){this.scrollLockTimer&&clearTimeout(this.scrollLockTimer),this.scrollLockTimer=setTimeout((()=>{this.scrollLockTimer=null}),3e3);const e=this.consoleContent.scrollTop,t=this.consoleContent.scrollHeight-this.consoleContent.clientHeight,s=t-e,n=performance.now(),a=o=>{const l=o-n;if(l>=300)return this.consoleContent.scrollTop=t,this.isScrolledToBottom=!0,void this.scrollButton.classList.remove("visible");const i=l/300,r=i*(2-i);this.consoleContent.scrollTop=e+s*r,requestAnimationFrame(a)};requestAnimationFrame(a)},commandHandlers:{help(e){return["Available commands:","- /help - Show this help message","- /list - Show online players","- /plugins - List installed plugins","- /ccac - Show CCAC commands","- /ccac alerts - Toggle alerts","- /ccac info <player> - Show player information","- /ccac exempt <player> - Exempt player from checks","- /ccac manualban <player> - Punish player","- /version - Show server version","- /tps - Show server TPS","- /ping [player] - Show ping","- /ban <player> - Ban a player","- /kick <player> - Kick a player","- /tp <player> - Teleport to player","- /clear - Clear console","","Easter egg commands: try typing /snake, /matrix, /coffee, /8ball, or /credits"].forEach((e=>{this.addSystemMessage(e,"info",!0)})),null},list(e){const t=D.getActivePlayers();if(0===t.length)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> There are 0 of a max of 20 players online.';const s=t.filter((e=>!e.isBedrock)),n=t.filter((e=>e.isBedrock)),a=e=>{const t=e.version?` (${e.version})`:"";return`${e.displayName}${t}`},o=s.map(a).join(", "),l=n.map(a).join(", ");let i=`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> There are ${t.length} of a max of 20 players online:<br>`;return s.length>0&&(i+=`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> Java (${s.length}): ${o}<br>`),n.length>0&&(i+=`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> Bedrock (${n.length}): ${l}`),i},plugins:()=>'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> Plugins (1): <span style="color: #55FF55; font-weight: bold">CodeControlAC</span>',ccac(e){if(!e||0===e.length)return this.commandHandlers["ccac help"].call(this);const t=e[0].toLowerCase(),s={help:()=>(["CodeControlAC Commands:","- /ccac gui - Opens GUI","- /ccac alerts - Toggle alerts","- /ccac info <player> - Information about player","- /ccac exempt <player> - Exempts player from checks","- /ccac manualban <player> - Punishes player","- /ccac mods <player> - Checks forge mods for player","- /ccac reload - Reloads configuration","- /ccac logs <player> - View logs for player","- /ccac lag - Shows server lag information"].forEach((e=>{this.addSystemMessage(e,"info",!0)})),null),gui:()=>(this.addSystemMessage("Opening CCAC GUI...","success",!0),this.addSystemMessage("(Note: GUI would open in a real server)","info",!0),null),alerts:()=>{this.alertsEnabled=!this.alertsEnabled;return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> You have now ${"enabled"===(this.alertsEnabled?"enabled":"disabled")?'<span style="color: #55FF55;">enabled</span>':'<span style="color: #FF5555;">disabled</span>'} alerts.`},info:()=>{if(e.length<2)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Usage: /ccac info &lt;player&gt;</span>';let t=e[1],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];if(!s)return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Player ${t} not found.</span>`;const n=s.violationsMeta.total;Object.entries(s.violations).map((([e,t])=>`${e}: ${t.count}`)).join(", ");let a=[];for(const[e,t]of Object.entries(s.violations))a.push({name:e,lastSeen:t.lastDetected,count:t.count});a.sort(((e,t)=>t.lastSeen-e.lastSeen)),a=a.slice(0,3);const o=a.length>0?a.map((e=>`${e.name} (x${e.count})`)).join(", "):"None";return[`Info for ${s.displayName}:`,"- Player Type: "+(s.isBedrock?"Bedrock":"Java"),`- Version: ${s.version||"N/A (Bedrock)"}`,`- Cheater Profile: ${s.cheaterProfile}`,`- Violations: ${n} total`,`- By Category: Combat: ${s.violationsMeta.byCategory.combat}, Movement: ${s.violationsMeta.byCategory.movement}`,`- Recent Checks: ${o}`,`- Warning Level: ${["None","Minor","Severe","Critical"][s.warningLevel]}`,`- Ping: ${s.ping}ms`,`- Client: ${s.client}`,`- CPS: ${s.cps}`,"- Status: "+(s.banned?"BANNED":s.kicked?"KICKED":"ONLINE")].forEach((e=>{this.addSystemMessage(e,"info",!0)})),null},exempt:()=>{if(e.length<2)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Usage: /ccac exempt &lt;player&gt;</span>';let t=e[1],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];if(!s)if(t.startsWith(".")){const e=t.substring(1);s=D.getPlayer(e,!0)}else s=D.getPlayer(t,!1);return s.exempted=!s.exempted,this.addSystemMessage(`${s.displayName} is now ${s.exempted?"exempted from":"subject to"} checks.`,s.exempted?"success":"warning",!0),null},manualban:()=>{if(e.length<2)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Usage: /ccac manualban &lt;player&gt;</span>';let t,s,n=e[1],a=null;if(n.startsWith(".")){const e=n.substring(1);for(const[t,s]of Object.entries(D.players))if(s.isBedrock&&s.name===e){a=s;break}}else a=D.players[n];if(!a)if(n.startsWith(".")){const e=n.substring(1);a=D.getPlayer(e,!0)}else a=D.getPlayer(n,!1);if(a.banned)return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">${a.displayName} is already banned.</span>`;if(Object.keys(a.violations).length>0){let e=0,n=null;for(const[t,s]of Object.entries(a.violations))s.count>e&&(e=s.count,n=t);const o=n.match(/([A-Za-z]+)([A-Z]?)$/);o?(t=o[1],s=o[2]||"A"):(t="KillAura",s="A")}else{const e=D.getPlayerCheck(a);t=e.name,s=e.type}return a.reasonForRemoval="manually banned by admin",this.addPunishmentAlert(a,t,s,20,"banned"),a.banned=!0,a.disconnectTime=new Date,setTimeout((()=>{D.resetPlayerViolations(a.name)}),800),null},lag:()=>{const e=Math.random()<.8?"20.0":(19.5+.5*Math.random()).toFixed(1),t=Math.floor(3e3*Math.random())+2e3;return["Server Performance:",`- TPS: ${e}`,`- Memory: ${t}MB / ${Math.floor(1.5*t)}MB`,`- Uptime: ${Math.floor(72*Math.random())+1} hours`,"- CCAC Latency: 0.31ms"].forEach((e=>{this.addSystemMessage(e,"info",!0)})),null},mods:()=>{if(e.length<2)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Usage: /ccac mods &lt;player&gt;</span>';let t=e[1],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];if(!s)return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Player ${t} not found.</span>`;if(s.isBedrock)return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">${s.displayName} is a Bedrock player (using Geyser) and doesn't have Forge mods.</span>`;if("forge"!==s.client&&"fabric"!==s.client)return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">${s.displayName} is not using Forge/Fabric. Client: ${s.client}</span>`;let n=[];if(s.cheaterProfile===I)n=["Wurst","Impact","Aristois","Meteor","LiquidBounce"];else if(s.cheaterProfile===L||s.cheaterProfile===x)n=["OptiFine","Xaero's Minimap","MouseTweaks","JourneyMap","Fabric API"],Math.random()<.7&&n.push("*SUSPICIOUS* CustomPVP");else{const e=["OptiFine","JourneyMap","MouseTweaks","AppleSkin","Xaero's Minimap","Inventory Tweaks","Just Enough Items","Neat","WAILA","Dynamic Lights","BetterFPS","Fabric API","Sodium","Lithium","Phosphor","ImmediatelyFast"],t=Math.floor(6*Math.random())+2;for(let s=0;s<t;s++){const t=e[Math.floor(Math.random()*e.length)];n.includes(t)||n.push(t)}}return[`${s.client.charAt(0).toUpperCase()+s.client.slice(1)} mods for ${s.displayName}:`,...n.map((e=>`- ${e}`))].forEach((e=>{this.addSystemMessage(e,"info",!0)})),null},reload:()=>(this.addSystemMessage("Reloading CCAC configuration...","info",!0),setTimeout((()=>{this.addSystemMessage("Configuration reloaded successfully!","success",!0)}),500),null),logs:()=>{if(e.length<2)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Usage: /ccac logs &lt;player&gt;</span>';let t=e[1],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];if(!s)return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Player ${t} not found.</span>`;const n=Object.entries(s.violations);return 0===n.length?(this.addSystemMessage(`No logs found for ${s.displayName}.`,"info",!0),null):(n.sort(((e,t)=>t[1].count-e[1].count)),this.addSystemMessage(`Logs for ${s.displayName}:`,"info",!0),n.forEach((([e,t])=>{const s=t.lastDetected.toTimeString().substring(0,8),n=t.firstDetected.toTimeString().substring(0,8);this.addSystemMessage(`- ${e}: x${t.count} - First: ${n}, Last: ${s}`,"info",!0),t.info&&t.info.length>0&&this.addSystemMessage(`  Info: ${t.info.join(", ")}`,"info",!0)})),null)}};return s[t]?s[t]():`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Unknown ccac subcommand: ${t}. Try '/ccac help' for a list of commands.</span>`},version:()=>'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line">This server is running CodeControlAC v4.7.2 - Supported versions: 1.8.9, 1.12.2, 1.16.5, 1.18.2, 1.19.4, 1.20.1, 1.20.4, 1.21.1, 1.21.4</span>',tps:()=>`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line">TPS from last 1m, 5m, 15m: ${Math.random()<.7?"20.0":(19.8+.2*Math.random()).toFixed(1)}, ${Math.random()<.6?"20.0":(19.7+.3*Math.random()).toFixed(1)}, ${Math.random()<.5?"20.0":(19.6+.4*Math.random()).toFixed(1)}</span>`,ban(e){if(!e||0===e.length)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line error">Usage: /ban &lt;player&gt;</span>';let t=e[0],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];if(!s)if(t.startsWith(".")){const e=t.substring(1);s=D.getPlayer(e,!0)}else s=D.getPlayer(t);return s.banned?`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">${s.displayName} is already banned.</span>`:(s.banned=!0,s.reasonForRemoval="manually banned by admin",s.disconnectTime=new Date,this.addSystemMessage(`Banned player ${s.displayName}`,"warning",!0),setTimeout((()=>{const e=document.createElement("div");e.className="console-line",e.innerHTML=`\n                                <span class="console-timestamp">[${this.getCurrentTimestamp()}]</span>\n                                <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                                <span style="color: #FF5555;">CodeControlAC has removed ${s.displayName} due to manual ban.</span>\n                            `,this.consoleContent.appendChild(e),this.scrollToBottom()}),500),setTimeout((()=>{D.resetPlayerViolations(s.name)}),800),null)},kick(e){if(!e||0===e.length)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line error">Usage: /kick &lt;player&gt;</span>';let t=e[0],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];if(!s)if(t.startsWith(".")){const e=t.substring(1);s=D.getPlayer(e,!0)}else s=D.getPlayer(t);return s.kicked||s.banned?`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">${s.displayName} is already kicked or banned.</span>`:(s.kicked=!0,s.reasonForRemoval="manually kicked by admin",s.disconnectTime=new Date,this.addSystemMessage(`Kicked player ${s.displayName}`,"warning",!0),setTimeout((()=>{const e=this.getCurrentTimestamp(),t=document.createElement("div");t.className="console-line",t.innerHTML=`\n                                <span class="console-timestamp">[${e}]</span>\n                                <span class="console-prefix">SYSTEM:</span><span class="console-player">${s.displayName}</span> left the game\n                            `,this.consoleContent.appendChild(t),this.scrollToBottom(),setTimeout((()=>{D.resetPlayerViolations(s.name)}),800)}),500),null)},ping(e){if(e&&e.length>0){let t=e[0],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];return s?`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line">${s.displayName}'s ping: ${s.ping}ms</span>`:`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Player ${t} not found.</span>`}return`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line">Your ping: ${Math.floor(30*Math.random())+5}ms</span>`},tp(e){if(!e||0===e.length)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line error">Usage: /tp &lt;player&gt;</span>';let t=e[0],s=null;if(t.startsWith(".")){const e=t.substring(1);for(const[t,n]of Object.entries(D.players))if(n.isBedrock&&n.name===e){s=n;break}}else s=D.players[t];return s?`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line success">Teleported to ${s.displayName}</span>`:`<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span style="color: #FF5555;">Player ${t} not found.</span>`},clear(){for(;this.consoleContent.firstChild;)this.consoleContent.removeChild(this.consoleContent.firstChild);return this.addSystemMessage("Console cleared.","success",!0),null},matrix(){const e=['<span style="color: #00FF00;">Wake up, Neo...</span>','<span style="color: #00FF00;">The Matrix has you...</span>','<span style="color: #00FF00;">Follow the white rabbit.</span>','<span style="color: #00FF00;">Knock, knock, Neo.</span>'];let t=0;const s=setInterval((()=>{t<e.length?(this.addSystemMessage(e[t],"info",!0),t++):clearInterval(s)}),1e3);return null},coffee(){return this.addSystemMessage("☕ Coffee brewing... Please wait...","info",!0),setTimeout((()=>{this.addSystemMessage('<pre style="font-size: 0.7rem; line-height: 1.2;">\n    ( (\n     ) )\n  --------\n  |      |] From GigaZelensky\n  `      /\n   `----\'\n        </pre>',"success",!0),this.addSystemMessage("Your coffee is ready! ☕","success",!0)}),2e3),null},"8ball"(e){if(!e||0===e.length)return'<span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span> <span class="console-line">Ask a question after the command, like: /8ball will I find cheaters today?</span>';const t=["It is certain.","It is decidedly so.","Without a doubt.","Yes, definitely.","You may rely on it.","As I see it, yes.","Most likely.","Outlook good.","Yes.","Signs point to yes.","Reply hazy, try again.","Ask again later.","Better not tell you now.","Cannot predict now.","Concentrate and ask again.","Don't count on it.","My reply is no.","My sources say no.","Outlook not so good.","Very doubtful."],s=t[Math.floor(Math.random()*t.length)];return this.addSystemMessage(`🎱 ${s}`,"info",!0),null},credits(){return['🌟 <span style="color: #FFAA00;">CodeControlAC</span> 🌟',"",'<span style="color: #AAAAFF;">Development Team:</span>',"- Lead Developer: TawnyE","- Website by: GigaZelensky","",'<span style="color: #AAAAFF;">Special Thanks:</span>',"- The Minecraft Anti-Cheat Community","- You, for checking out this project!","","© 2024-2025 CodeControlAC"].forEach(((e,t)=>{setTimeout((()=>{this.addSystemMessage(e,"info",!0)}),300*t)})),null}}},R={running:!1,activePlayerCount:0,lastPlayerIndex:-1,playerNames:["Tawny","CodeControl","Karma","Darth","GigaZelensky","samucafriend","Lup","ReflectPulse","ojust1n","SavagexWolfz","Salers","nohlisathing","jethi_","itzkenyo","Shorty"],start(e=5e3){this.running||(this.running=!0,this.initPlayers(),this.intervalId=setInterval((()=>this.generateAlert()),e),this.burstIntervalId=setInterval((()=>this.processBurstPlayers()),1500),this.reconnectIntervalId=setInterval((()=>{D.handleReconnects()}),5e3))},stop(){this.running&&(clearInterval(this.intervalId),clearInterval(this.burstIntervalId),clearInterval(this.reconnectIntervalId),this.running=!1)},initPlayers(){const e=Math.floor(.6*this.playerNames.length);for(let t=0;t<e;t++){const e=this.playerNames[t],s=Math.random()<.25,n=D.getPlayer(e,s,!0);H.addPlayerJoinMessage(n),this.activePlayerCount++}},processBurstPlayers(){if(!H.alertsEnabled)return;const e=D.getCheatingPlayers().filter((e=>e.burstMode&&e.burstCount>0));if(e.length>0){const t=e[Math.floor(Math.random()*e.length)],s=N.generateCheckInfo(t.burstCheckName);H.addDetectionAlert(t,t.burstCheckName,t.burstCheckType,s),t.burstCount--,t.burstCount<=0&&(t.burstMode=!1)}},generateAlert(){if(!H.alertsEnabled)return;if(Math.random()<.05&&this.activePlayerCount<D.maxPlayerCount){const e=this.playerNames.filter((e=>!D.players[e]||D.players[e].kicked&&!D.players[e].reconnecting));if(e.length>0){const t=e[Math.floor(Math.random()*e.length)],s=Math.random()<.25,n=D.getPlayer(t,s,!1);if(H.addPlayerJoinMessage(n),this.activePlayerCount++,Math.random()<.3)return}}const e=D.getCheatingPlayers();if(e.length>0&&Math.random()<.8){e.sort(((e,t)=>e.cheaterProfile===I&&t.cheaterProfile!==I?-1:t.cheaterProfile===I&&e.cheaterProfile!==I?1:t.violationsMeta.total-e.violationsMeta.total));const t=e[Math.min(Math.floor(Math.pow(Math.random(),2)*e.length),e.length-1)];if(t.burstMode){if(e.length>1){const t=e.filter((e=>!e.burstMode));if(t.length>0){const e=t[Math.floor(Math.random()*t.length)];this.processNormalAlert(e)}}return}if(!t.burstMode&&Math.random()<.5){let e;if(t.preferredCheck&&Math.random()<.8)e=S(t.preferredCheck,t.preferredCheckType||N.getRandomCheckType(t.preferredCheck));else if(Object.keys(t.violations).length>0){const s=Object.entries(t.violations);s.sort(((e,t)=>t[1].count-e[1].count));const n=s[0][1];e=S(n.name||s[0][0].replace(/[A-Z]$/,""),n.type||"A")}else{const s=D.getPlayerCheck(t);e=S(s.name,s.type)}t.burstMode=!0,t.burstCount=Math.floor(6*Math.random())+3,t.burstCheckName=e.name,t.burstCheckType=e.type;const s=N.generateCheckInfo(e.name);H.addDetectionAlert(t,e.name,e.type,s),t.burstCount--}else this.processNormalAlert(t)}else{const e=D.getActivePlayers();if(0===e.length)return;const t=e[Math.floor(Math.random()*e.length)];if(t.burstMode){const t=e.filter((e=>!e.burstMode));if(t.length>0){const e=t[Math.floor(Math.random()*t.length)];this.processRandomAlert(e)}return}this.processRandomAlert(t)}},processNormalAlert(e){D.updatePlayerPing(e.name);const t=D.getPlayerCheck(e),s=S(t.name,t.type),n=N.generateCheckInfo(s.name);H.addDetectionAlert(e,s.name,s.type,n)},processRandomAlert(e){if(D.updatePlayerPing(e.name),e.cheaterProfile===P&&Math.random()<.9){if(Math.random()<.05){const t={name:"BadPacket",type:"A"},s="packets=4 interval=32ms";H.addDetectionAlert(e,t.name,t.type,s)}}else{const t=D.getPlayerCheck(e),s=N.generateCheckInfo(t.name);H.addDetectionAlert(e,t.name,t.type,s)}}};m(),a.addEventListener("click",(()=>{n.classList.add("closed"),setTimeout((()=>{r.classList.add("active"),n.style.display="none",n.classList.remove("closed"),n.classList.remove("maximized"),c.classList.contains("active")&&u()}),500)})),o.addEventListener("click",(()=>{c.classList.contains("active")&&u(),n.classList.toggle("minimized"),n.classList.contains("minimized")||setTimeout((()=>{i.focus()}),100)})),l.addEventListener("click",(()=>{c.classList.contains("active")?u():function(){h||m(),d.appendChild(n),n.classList.add("maximized"),n.style.transform="none",c.classList.add("active");const e=.7*window.innerHeight;s.style.height=`${e}px`,setTimeout((()=>{i.focus()}),100)}()})),r.addEventListener("click",(()=>{r.classList.remove("active"),n.style.display="",n.classList.remove("minimized"),setTimeout((()=>{i.focus()}),100)})),c.addEventListener("click",(e=>{const t=n.getBoundingClientRect();(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&u()})),document.addEventListener("keydown",(e=>{"Escape"===e.key&&c.classList.contains("active")&&u()})),H.init(s,n,i),i.addEventListener("keydown",(function(e){if("Enter"===e.key||13===e.keyCode){e.preventDefault();const t=this.value.trim();if(!t)return;const n=H.getCurrentTimestamp(),a=document.createElement("div");a.className="console-line",a.innerHTML=`\n                            <span class="console-timestamp">[${n}]</span>\n                            <span class="console-prefix">$</span>\n                            <span class="console-command">${t}</span>\n                        `,s.appendChild(a);const o=H.processCommand(t);if(null!==o){const e=document.createElement("div");e.className="console-line",e.innerHTML=o,s.appendChild(e)}this.value="",H.scrollToBottom(!0)}})),R.start(5e3),setInterval((()=>{H.cleanupOldLines()}),3e4);document.querySelectorAll(".animate-on-scroll").forEach((e=>{if(e.classList.contains("pricing-card")||e.closest(".pricing-grid"))return;const t=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting&&(e.target.classList.add("animated"),t.unobserve(e.target))}))}),{root:null,rootMargin:"0px",threshold:.1});t.observe(e)}))})),document.addEventListener("DOMContentLoaded",(function(){const e=document.getElementById("mobile-toggle"),t=document.getElementById("mobileNavMenu"),s=document.querySelector(".mobile-nav-backdrop"),n=document.getElementById("mobileNavCloseBtn"),a=document.querySelectorAll(".mobile-nav-links a"),o=document.querySelectorAll(".mobile-nav-actions .btn");function l(){t.classList.remove("active"),e.classList.remove("active"),document.body.classList.remove("mobile-nav-open")}e&&t&&s&&n?(e.addEventListener("click",(function(s){s.preventDefault(),s.stopPropagation(),t.classList.contains("active")?l():(t.classList.add("active"),e.classList.add("active"),document.body.classList.add("mobile-nav-open"))})),n.addEventListener("click",(function(){l()})),s.addEventListener("click",(function(){l()})),a.forEach((e=>{e.addEventListener("click",(function(){l()}))})),o.forEach((e=>{e.addEventListener("click",(function(){l()}))})),document.addEventListener("keydown",(function(e){"Escape"===e.key&&t.classList.contains("active")&&l()})),window.addEventListener("resize",(function(){window.innerWidth>768&&t.classList.contains("active")&&l()}))):console.error("Mobile navigation elements not found. Menu will not function.")})),function(){const e=setInterval((()=>{const t=document.querySelector(".console-input input"),s=document.getElementById("console-content");if(!t||!s)return;clearInterval(e),console.log("Fixed tab completion initialized");const n=["help","list","plugins","ccac","version","tps","ping","ban","kick","tp","clear","snake","snakebot","quit","matrix","coffee","8ball","credits"],a=["help","gui","alerts","info","exempt","manualban","mods","reload","logs","lag"];let o=[],l=0,i="";function r(e){const t=(new Date).toTimeString().slice(0,8),n=document.createElement("div");n.className="console-line",n.innerHTML=`\n                        <span class="console-timestamp">[${t}]</span>\n                        <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                        <span>${e}</span>\n                    `,s.appendChild(n),s.scrollTop=s.scrollHeight}t.addEventListener("keydown",(function(e){if("Tab"!==e.key)return;e.preventDefault(),e.stopPropagation();const t=this.value.trim();if(!t)return;if(t!==i&&!o.includes(t)||0===o.length){i=t;const e=t.startsWith("/"),s=e?t.substring(1):t;if("ccac"===s)return this.value=e?"/ccac ":"ccac ",void r(`Available ccac subcommands: ${a.join(", ")}`);if("ccac "===s)return r(`Available ccac subcommands: ${a.join(", ")}`),o=a.map((t=>e?`/ccac ${t}`:`ccac ${t}`)),l=0,void(o.length>0&&(this.value=o[0]));if(s.startsWith("ccac ")){const t=s.split(" ");if(t.length>=2){const s=t[1],n=a.filter((e=>e.startsWith(s)));o=n.map((t=>e?`/ccac ${t}`:`ccac ${t}`)),l=0,n.length>1&&r(`Available completions: ${n.join(", ")}`),o.length>0&&(this.value=o[0])}return}const c=n.filter((e=>e.startsWith(s)));o=c.map((t=>e?`/${t}`:t)),l=0,c.length>1&&r(`Available completions: ${c.join(", ")}`),o.length>0&&(this.value=o[0])}else o.length>0&&(l=(l+1)%o.length,this.value=o[l])})),t.addEventListener("input",(function(e){o.includes(this.value.trim())||(o=[],l=0,i="")}))}),1e3)}()</script><script defer>console.log("Duckerun easter egg script loaded"),window.addEventListener("load",(function(){function e(){console.log("Setting up speedrun timer");const s=Math.floor(1e4*Math.random())+2e4;setTimeout((function(){console.log("Speedrun timer triggered - checking if we should show speedrun");Math.random()<.25?(console.log("Showing speedrun sequence"),n()):(console.log("Not showing speedrun this time"),e())}),s)}function n(){try{const s=document.getElementById("console-content");if(!s)return void console.error("Could not find console-content element!");let a=0;[{text:'<span class="console-player">duckerun</span> joined using <span class="console-info">[vanilla 1.21.4]</span>',delay:0,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[Getting Wood]</span>',delay:15,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[Stone Age]</span>',delay:10,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[Acquire Hardware]</span>',delay:30,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[We Need to Go Deeper]</span>',delay:45,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[Into Fire]</span>',delay:35,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[Eye Spy]</span>',delay:40,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[The End?]</span>',delay:30,isLeave:!1},{text:'<span class="console-player">duckerun</span> has made the advancement <span style="color: #55FF55;">[Free the End]</span>',delay:50,isLeave:!1},{text:'<span class="console-player">duckerun</span> left the game',delay:10,isLeave:!0}].forEach((function(e){a+=1e3*e.delay,setTimeout((function(){!function(e,n){const a=document.createElement("div");a.className="console-line";const o=(new Date).toTimeString().substring(0,8);a.innerHTML=`\n                        <span class="console-timestamp">[${o}]</span>\n                        <span class="console-prefix">SYSTEM:</span>${e}\n                    `,s.appendChild(a),s.scrollTop=s.scrollHeight}(e.text,e.isLeave)}),a)})),setTimeout(e,a+5e3),window.duckerun={show:function(){console.log("Manually triggering speedrun"),n()}}}catch(n){console.error("Error in duckerun easter egg:",n),setTimeout(e,1e4)}}console.log("Window loaded, starting duckerun easter egg setup"),sessionStorage.removeItem("duckerunSpeedrunShown"),setTimeout(e,1e4),window.duckerun={show:function(){console.log("Manually triggering speedrun"),n()}}}))</script><script defer>document.addEventListener("DOMContentLoaded",(function(){function e(e,t,r=100){console.log("Setting up animations for",e,t);const n=document.querySelectorAll(`${e} ${t}`);if(console.log("Found",n.length,"cards"),!n.length)return;const o=new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting){const t=e.target,s=Array.from(n).indexOf(t);setTimeout((()=>{t.style.opacity="1",t.style.transform="translateY(0)"}),s*r),o.unobserve(t)}}))}),{root:null,rootMargin:"0px",threshold:.1});n.forEach((e=>{e.style.opacity="0",e.style.transform="translateY(40px)",e.style.transition="opacity 0.8s ease, transform 0.8s ease",o.observe(e)}))}console.log("Initializing card animations including Cloud"),e("#features",".feature-card",150),e(".checks-section",".check-category",150),e("#cloud",".feature-card",180);const t=document.querySelector("#pricing");if(t){const e=t.querySelectorAll(".pricing-card"),r=()=>{e.forEach((e=>{e.classList.remove("animate-on-scroll","animated"),e.style.opacity="0",e.style.transform="translateY(50px)",e.style.transition="none"}))};r();const n=new IntersectionObserver((o=>{o[0].isIntersecting&&(r(),t.offsetWidth,e.forEach(((e,t)=>{if(e.classList.contains("card-loaded"))return;const r=400+200*t,n=()=>{e.classList.remove("card-loading-transition"),e.removeEventListener("transitionend",s),e.removeEventListener("transitioncancel",a)};let o=0;const s=t=>{t.target!==e||"opacity"!==t.propertyName&&"transform"!==t.propertyName||(o++,o>=2&&n())},a=()=>{console.warn("Load animation transition cancelled for card:",t),n()};e.addEventListener("transitionend",s),e.addEventListener("transitioncancel",a);const c=setTimeout((()=>{console.warn("TransitionEnd fallback triggered for pricing card:",e),n()}),r+1200+200);e.addEventListener("transitionend",(()=>clearTimeout(c)),{once:!0}),setTimeout((()=>{e.classList.add("card-loading-transition"),e.classList.add("card-loaded")}),r)})),n.unobserve(t))}),{threshold:.2});n.observe(t)}document.querySelectorAll(".animate-on-scroll").forEach((e=>{if(e.closest(".features-grid")||e.closest(".checks-grid")||e.closest("#cloud .features-grid")||e.closest(".pricing-grid"))return;const t=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting&&(e.target.classList.add("animated"),t.unobserve(e.target))}))}),{rootMargin:"-20% 0px",threshold:.2});t.observe(e)})),document.querySelectorAll("#features .feature-card").forEach(((e,t)=>{e.dataset.index=t})),document.querySelectorAll(".checks-section .check-category").forEach(((e,t)=>{e.dataset.index=t})),document.querySelectorAll("#cloud .feature-card").forEach(((e,t)=>{e.dataset.index=t}))}))</script><script defer>document.addEventListener("DOMContentLoaded",(function(){const e=document.querySelector(".footer");if(!e)return;const t=e.querySelector(".footer-logo"),s=e.querySelector(".footer-description"),o=e.querySelectorAll(".footer-links-title"),r=(e.querySelectorAll(".footer-links li"),e.querySelectorAll(".footer-social a"));t&&(t.style.opacity="0",t.style.transform="translateY(20px)",t.style.transition="opacity 0.8s ease, transform 0.8s ease"),s&&(s.style.opacity="0",s.style.transform="translateY(20px)",s.style.transition="opacity 0.8s ease, transform 0.8s ease");const a=new IntersectionObserver((e=>{e[0].isIntersecting&&(t&&setTimeout((()=>{t.style.opacity="1",t.style.transform="translateY(0)"}),100),s&&setTimeout((()=>{s.style.opacity="1",s.style.transform="translateY(0)"}),300),o.forEach(((e,t)=>{setTimeout((()=>{e.classList.add("animated")}),500+500*t);const s=e.parentElement;if(s){s.querySelectorAll(".footer-links li").forEach(((e,s)=>{setTimeout((()=>{e.classList.add("animated")}),600+500*t+100*s)}))}})),r.forEach(((e,t)=>{setTimeout((()=>{e.classList.add("animated")}),1e3+100*t)})),a.unobserve(e[0].target))}),{threshold:.2});a.observe(e)}))</script><script defer>!function(){console.log("Snake game injector loaded");let e=!1,t=null,n=null,o=null,s=null,a=!1,l=null,i=null,r=!1,c=null,d=null,p=null,u=null,m=0,y=0,g=!1,h=null;function w(){console.log("Restoring original console behavior");const e=document.getElementById("console-content");if(e&&e._origAppendChild){e.appendChild=e._origAppendChild,e._origAppendChild=null;const t=document.createElement("div");t.className="console-line",t.innerHTML=`\n                <span class="console-timestamp">[${(new Date).toTimeString().slice(0,8)}]</span>\n                <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                <span style="color: #10B981;">Alert system re-enabled</span>\n            `,e.appendChild(t),e.scrollTop=e.scrollHeight}}function f(){u=null,p&&(clearInterval(p),p=null)}function b(){document.body.classList.add("snake-game-active"),d=document.createElement("div"),d.id="snake-touch-overlay",d.style.position="fixed",d.style.top="0",d.style.left="0",d.style.width="100%",d.style.height="100%",d.style.zIndex="9999",d.style.backgroundColor="transparent",d.style.pointerEvents="none",document.body.appendChild(d);const e=document.getElementById("console-content");return d.addEventListener("touchstart",(function(t){const o=t.touches[0];return!o||(h&&function(e,t){if(!h)return!1;const n=h.getBoundingClientRect();return e>=n.left&&e<=n.right&&t>=n.top&&t<=n.bottom}(o.clientX,o.clientY)?(d.style.pointerEvents="none",!0):function(e,t){if(!n)return!1;const o=n.getBoundingClientRect();return e>=o.left&&e<=o.right&&t>=o.top&&t<=o.bottom}(o.clientX,o.clientY)?(g=!0,m=o.clientX,y=o.clientY,e&&function(e){const t=document.getElementById("console-content");t&&(u=e,p||(p=setInterval((()=>{null!==u&&t&&(t.scrollTop=u)}),5)))}(e.scrollTop),d.style.pointerEvents="auto",t.preventDefault(),t.stopPropagation(),!1):(g=!1,d.style.pointerEvents="none",!0))}),{passive:!1,capture:!0}),d.addEventListener("touchmove",(function(e){if(!g)return d.style.pointerEvents="none",!0;e.preventDefault(),e.stopPropagation();const t=e.touches[0];if(!t)return!1;const n=t.clientX-m,o=t.clientY-y;return(Math.abs(n)>20||Math.abs(o)>20)&&(Math.abs(n)>Math.abs(o)?n>0&&"left"!==window.direction?window.direction="right":n<0&&"right"!==window.direction&&(window.direction="left"):o>0&&"up"!==window.direction?window.direction="down":o<0&&"down"!==window.direction&&(window.direction="up"),m=t.clientX,y=t.clientY),!1}),{passive:!1,capture:!0}),d.addEventListener("touchend",(function(e){return!g||(g=!1,f(),d.style.pointerEvents="none",e.preventDefault(),e.stopPropagation(),!1)}),{passive:!1,capture:!0}),d}window.direction="right",window.restartSnakeGame=function(){if(e&&"function"==typeof window.snakeGameStart){console.log("Restarting snake game"),clearInterval(o),window.snakeGameStart();const e=document.getElementById("console-content");if(e){const t=(new Date).toTimeString().slice(0,8),n=document.createElement("div");n.className="console-line",n.innerHTML=`\n                    <span class="console-timestamp">[${t}]</span>\n                    <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                    <span style="color: #10B981;">🐍 Game restarted!</span>\n                `,e.appendChild(n),e.scrollTop=e.scrollHeight}}},window.toggleSnakeBot=function(){if(!e)return;a=!a;let t=document.querySelector(".snake-bot-indicator");t||(t=document.createElement("div"),t.className="snake-bot-indicator",t.style.position="absolute",t.style.bottom="5px",t.style.left="10px",t.style.color="rgba(59, 130, 246, 0.8)",t.style.fontFamily="'JetBrains Mono', monospace",t.style.fontSize="12px",n.appendChild(t)),t.textContent=a?"🤖 Bot: ON":"🤖 Bot: OFF",t.style.color=a?"rgba(16, 185, 129, 0.8)":"rgba(59, 130, 246, 0.5)",a?l=setInterval(snakeBotMove,120):clearInterval(l);const o=document.getElementById("console-content");if(o){const e=(new Date).toTimeString().slice(0,8),t=document.createElement("div");t.className="console-line",t.innerHTML=`\n                <span class="console-timestamp">[${e}]</span>\n                <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                <span style="color: ${a?"#10B981":"#FF5555"};">🤖 Snake Bot ${a?"enabled":"disabled"}</span>\n            `,o.appendChild(t),o.scrollTop=o.scrollHeight}return null},window.quitSnakeGame=function(){if(e){console.log("Quitting snake game"),e=!1,clearInterval(o),a&&(a=!1,clearInterval(l)),t&&document.removeEventListener("keydown",t,!0);const p=document.getElementById("console-content");if(p){const e=(new Date).toTimeString().slice(0,8),t=document.querySelector(".snake-score")?.textContent.split(": ")[1]||"0",n=localStorage.getItem("snakeTopScore")||"0",o=document.createElement("div");o.className="console-line",o.innerHTML=`\n                    <span class="console-timestamp">[${e}]</span>\n                    <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                    <span style="color: #FF5555;">Snake game quit. Score: ${t} | Top Score: ${n}</span>\n                `,p.appendChild(o),p.scrollTop=p.scrollHeight}c&&c.parentNode&&(c.parentNode.removeChild(c),c=null),d&&d.parentNode&&(d.parentNode.removeChild(d),d=null),document.body.classList.remove("snake-game-active"),g=!1,f(),f(),n&&n.parentNode&&n.parentNode.removeChild(n),h&&h.parentNode&&(h.parentNode.removeChild(h),h=null);const u=document.getElementById("snake-quit-container");u&&u.parentNode.removeChild(u);const m=document.getElementById("snake-game-styles");m&&m.parentNode.removeChild(m),function(){const e=document.getElementById("console-content"),t=!!document.querySelector("#fullscreen-modal.active");e&&null!==s&&!t&&(e.style.height=s,e.style.maxHeight=s)}(),function(){if(!r)return;r=!1,document.getElementById("console-content")&&(i&&(i.style.display=""),window.consoleManager&&(window.consoleManager._origScrollToBottom&&(window.consoleManager.scrollToBottom=window.consoleManager._origScrollToBottom,window.consoleManager._origScrollToBottom=null),window.consoleManager._origGuaranteedScrollToBottom&&(window.consoleManager.guaranteedScrollToBottom=window.consoleManager._origGuaranteedScrollToBottom,window.consoleManager._origGuaranteedScrollToBottom=null),window.consoleManager.isUserScrolled=!1,window.consoleManager.isScrolledToBottom=!0))}();const y=document.querySelector(".console-input input");y&&y.focus(),setTimeout(w,500)}},window.snakeCommand=function(d){console.log("Snake game started!"),e=!0,function(){console.log("Setting up simple console interception");const e=document.getElementById("console-content");e&&(e._origAppendChild=e.appendChild,e.appendChild=function(t){if(t.classList&&t.classList.contains("console-line")){const n=t.textContent||"",o=t.innerHTML||"";return n.includes("Snake Game")||n.includes("snake")||n.includes("quit")||n.includes("🐍")||n.includes("🤖")||o.includes("snake-quit-button")||o.includes("snake-restart-button")||o.includes("snakebot")?(t.classList.add("snake-game-line"),e._origAppendChild.call(this,t)):t}return e._origAppendChild.call(this,t)})}(),function(){const e=document.getElementById("console-content");if(e){const t=!!document.querySelector("#fullscreen-modal.active");if(s||t||(s=e.style.height||""),!t){const t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?"520px":"420px";e.style.height=t,e.style.maxHeight=t}}}(),function(){if(r)return;r=!0,document.getElementById("console-content")&&(i=document.querySelector(".console-scroll-button"),i&&(i.style.display="none"),window.consoleManager&&(window.consoleManager.scrollToBottom&&(window.consoleManager._origScrollToBottom=window.consoleManager.scrollToBottom,window.consoleManager.scrollToBottom=function(e){return!0===e&&window.consoleManager._origScrollToBottom.call(this,!0)}),window.consoleManager.guaranteedScrollToBottom&&(window.consoleManager._origGuaranteedScrollToBottom=window.consoleManager.guaranteedScrollToBottom,window.consoleManager.guaranteedScrollToBottom=function(){return!1}),window.consoleManager.isUserScrolled=!0))}();const p=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),u=(b(),document.createElement("style"));u.id="snake-game-styles",u.textContent="\n            .snake-game-container {\n                -webkit-tap-highlight-color: transparent !important;\n                -webkit-touch-callout: none !important;\n                -webkit-user-select: none !important;\n                user-select: none !important;\n                touch-action: none !important;\n                -ms-touch-action: none !important;\n                -webkit-overflow-scrolling: none !important;\n                outline: none !important;\n                position: relative !important;\n                z-index: 200 !important;\n                overflow: hidden !important;\n            }\n            \n            .snake-touch-blocker {\n                position: absolute !important;\n                top: 0 !important;\n                left: 0 !important;\n                width: 100% !important;\n                height: 100% !important;\n                z-index: 300 !important;\n                cursor: default !important;\n                touch-action: none !important;\n                -ms-touch-action: none !important;\n                -webkit-touch-action: none !important;\n                background-color: transparent !important;\n                -webkit-tap-highlight-color: transparent !important;\n                -webkit-touch-callout: none !important;\n                -webkit-user-select: none !important;\n                user-select: none !important;\n                pointer-events: auto !important;\n                overflow: hidden !important;\n            }\n            \n            .touch-controls {\n                touch-action: none !important;\n                -ms-touch-action: none !important;\n                -webkit-overflow-scrolling: none !important;\n                position: relative !important;\n                z-index: 200 !important;\n                user-select: none !important;\n                -webkit-user-select: none !important;\n                pointer-events: auto !important;\n            }\n            \n            .touch-controls button, .snake-restart-button, .snake-quit-button {\n                -webkit-tap-highlight-color: transparent !important;\n                -webkit-touch-callout: none !important;\n                -webkit-user-select: none !important;\n                user-select: none !important;\n                touch-action: manipulation !important;\n                outline: none !important;\n                pointer-events: auto !important;\n                z-index: 9995 !important;\n            }\n            \n            .touch-controls button:active, .snake-restart-button:active, .snake-quit-button:active {\n                transform: scale(0.95) !important;\n                transition: transform 0.1s !important;\n            }\n            \n            .console-scroll-button {\n                display: none !important;\n            }\n            \n            body.snake-game-active #snake-touch-overlay {\n                overscroll-behavior: contain;\n            }\n            \n            #snake-touch-overlay {\n                z-index: 9990 !important;\n            }\n        ",document.head.appendChild(u);const g=p?"90%":"300px";n=document.createElement("div"),n.className="snake-game-container",n.style.width=g,n.style.height="300px",n.style.maxWidth="300px",n.style.backgroundColor="rgba(10, 15, 29, 0.8)",n.style.border="1px solid rgba(59, 130, 246, 0.4)",n.style.margin="10px auto",n.style.position="relative",n.style.overflow="hidden",n.style.borderRadius="4px",n.style.touchAction="none",n.style.zIndex="200",c=document.createElement("div"),c.className="snake-touch-blocker",n.appendChild(c);const w=document.createElement("div");if(w.id="snake-quit-container",w.style.width=g,w.style.maxWidth="300px",w.style.margin="0 auto 5px auto",w.style.display="flex",w.style.justifyContent="flex-end",w.style.zIndex="200",p){const e=document.createElement("button");e.className="snake-restart-button",e.style.backgroundColor="rgba(16, 185, 129, 0.8)",e.style.color="white",e.style.border="none",e.style.borderRadius="4px",e.style.padding="8px 16px",e.style.fontSize="14px",e.style.fontFamily="'JetBrains Mono', monospace",e.style.cursor="pointer",e.style.zIndex="9995",e.textContent="Restart",e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),(I||confirm("Restart game? Current progress will be lost."))&&H()})),w.appendChild(e)}const f=document.createElement("button");f.className="snake-quit-button",f.style.backgroundColor="rgba(239, 68, 68, 0.8)",f.style.color="white",f.style.border="none",f.style.borderRadius="4px",f.style.padding=p?"8px 16px":"3px 10px",f.style.fontSize=p?"14px":"12px",f.style.fontFamily="'JetBrains Mono', monospace",f.style.cursor="pointer",f.style.zIndex="9995",f.textContent="Quit Game",f.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),window.quitSnakeGame()})),w.appendChild(f);const v=document.createElement("div");v.className="snake-score",v.style.position="absolute",v.style.top="5px",v.style.right="10px",v.style.color="rgba(59, 130, 246, 0.8)",v.style.fontFamily="'JetBrains Mono', monospace",v.style.fontSize="12px",v.textContent="Score: 0",n.appendChild(v);const x=document.createElement("div");x.className="snake-top-score",x.style.position="absolute",x.style.top="5px",x.style.left="10px",x.style.color="rgba(16, 185, 129, 0.8)",x.style.fontFamily="'JetBrains Mono', monospace",x.style.fontSize="12px";let k=parseInt(localStorage.getItem("snakeTopScore")||"0",10);x.textContent=`Top: ${k}`,n.appendChild(x);const S=document.createElement("div");S.className="game-message",S.style.position="absolute",S.style.top="50%",S.style.left="50%",S.style.transform="translate(-50%, -50%)",S.style.backgroundColor="rgba(6, 8, 15, 0.9)",S.style.color="#FF5555",S.style.padding="15px",S.style.borderRadius="4px",S.style.fontFamily="'JetBrains Mono', monospace",S.style.fontSize="14px",S.style.textAlign="center",S.style.display="none",S.style.zIndex="400",S.innerHTML='Game Over!<br><span style="font-size: 12px; color: #AAAAAA">Press ENTER to play again<br>Type /quit to exit</span>',n.appendChild(S),d.appendChild(w),d.appendChild(n),setTimeout((()=>{d.scrollTop=d.scrollHeight}),50);let C=[{x:10,y:10}],E={x:15,y:15},T=0,M=150,I=!1,B=!1;function A(){if(n.querySelectorAll(".snake-segment, .snake-food").forEach((e=>e.remove())),B)return;const e=document.createElement("div");e.className="snake-food",e.style.position="absolute",e.style.width="10px",e.style.height="10px",e.style.backgroundColor="rgba(16, 185, 129, 0.8)",e.style.borderRadius="50%",e.style.left=10*E.x+"px",e.style.top=10*E.y+"px",n.appendChild(e),C.forEach(((e,t)=>{const o=document.createElement("div");o.className="snake-segment",o.style.position="absolute",o.style.width="10px",o.style.height="10px",0===t?(o.style.backgroundColor="rgba(59, 130, 246, 1)",o.style.borderRadius="3px"):(o.style.backgroundColor="rgba(59, 130, 246, 0.7)",o.style.borderRadius="2px"),o.style.left=10*e.x+"px",o.style.top=10*e.y+"px",n.appendChild(o)})),v.textContent=`Score: ${T}`,x.textContent=`Top: ${k}`}function L(){if(!e||I||B||!a)return;const t=C[0],o=parseInt(n.style.maxWidth),s=parseInt(n.style.height),l=Math.floor(o/10),i=Math.floor(s/10);let r=[{dir:"up",x:t.x,y:t.y-1},{dir:"right",x:t.x+1,y:t.y},{dir:"down",x:t.x,y:t.y+1},{dir:"left",x:t.x-1,y:t.y}];r=r.filter((e=>("up"!==window.direction||"down"!==e.dir)&&(("right"!==window.direction||"left"!==e.dir)&&(("down"!==window.direction||"up"!==e.dir)&&("left"!==window.direction||"right"!==e.dir))))),r=r.filter((e=>e.x>=0&&e.x<l&&e.y>=0&&e.y<i)),r=r.filter((e=>!C.some((t=>t.x===e.x&&t.y===e.y)))),0!==r.length&&(r.forEach((e=>{e.distToFood=Math.abs(e.x-E.x)+Math.abs(e.y-E.y)})),r.sort(((e,t)=>e.distToFood-t.distToFood)),window.direction=r[0].dir)}function N(){if(I||!e||B)return;const t={...C[0]};switch(window.direction){case"up":t.y--;break;case"down":t.y++;break;case"left":t.x--;break;case"right":t.x++}const s=parseInt(n.style.maxWidth),i=parseInt(n.style.height),r=Math.floor(s/10),c=Math.floor(i/10);t.x<0||t.x>=r||t.y<0||t.y>=c||C.some((e=>e.x===t.x&&e.y===t.y))?function(){I=!0,clearInterval(o),a&&clearInterval(l);T>k&&!a?(k=T,localStorage.setItem("snakeTopScore",k.toString()),S.innerHTML=`New High Score: ${T}!<br><span style="font-size: 12px; color: #AAAAAA">Press ENTER to play again<br>Type /quit to exit</span>`):S.innerHTML='Game Over!<br><span style="font-size: 12px; color: #AAAAAA">Press ENTER to play again<br>Type /quit to exit</span>';S.style.display="block"}():(C.unshift(t),t.x===E.x&&t.y===E.y?(T+=10,T>k&&!a&&(k=T,localStorage.setItem("snakeTopScore",k.toString())),D(),M>50&&T%50==0&&(M-=10,clearInterval(o),o=setInterval(N,M))):C.pop(),A())}function F(){B=!B;let e=document.querySelector(".snake-pause-indicator");e||(e=document.createElement("div"),e.className="snake-pause-indicator",e.style.position="absolute",e.style.top="50%",e.style.left="50%",e.style.transform="translate(-50%, -50%)",e.style.backgroundColor="rgba(6, 8, 15, 0.9)",e.style.color="#FFFFFF",e.style.padding="15px",e.style.borderRadius="4px",e.style.fontFamily="'JetBrains Mono', monospace",e.style.fontSize="14px",e.style.textAlign="center",e.style.zIndex="500",n.appendChild(e)),B?(e.style.display="block",e.innerHTML='PAUSED<br><span style="font-size: 12px; color: #AAAAAA">Press ESC to resume</span>',a&&clearInterval(l)):(e.style.display="none",a&&(l=setInterval(L,120)))}function D(){const e=parseInt(n.style.maxWidth),t=parseInt(n.style.height),o=Math.floor(e/10),s=Math.floor(t/10);let a;do{a={x:Math.floor(Math.random()*(o-2))+1,y:Math.floor(Math.random()*(s-2))+1}}while(C.some((e=>e.x===a.x&&e.y===a.y)));E=a}function H(){if(!e)return;C=[{x:10,y:10}],window.direction="right",T=0,I=!1,B=!1,S.style.display="none";const t=document.querySelector(".snake-pause-indicator");t&&(t.style.display="none"),D(),M=150,clearInterval(o),o=setInterval(N,M),a&&(clearInterval(l),l=setInterval(L,120)),A()}if(window.snakeGameStart=H,t=function(t){if(e){if("Escape"===t.key)return F(),t.preventDefault(),void t.stopPropagation();if(B)return;if(I)return void("Enter"===t.key&&(H(),t.preventDefault(),t.stopPropagation()));if(a)return;let e=!0;switch(t.key){case"ArrowUp":case"w":case"W":"down"!==window.direction&&(window.direction="up");break;case"ArrowDown":case"s":case"S":"up"!==window.direction&&(window.direction="down");break;case"ArrowLeft":case"a":case"A":"right"!==window.direction&&(window.direction="left");break;case"ArrowRight":case"d":case"D":"left"!==window.direction&&(window.direction="right");break;default:e=!1}e&&(t.preventDefault(),t.stopPropagation())}},document.addEventListener("keydown",t,!0),H(),p){h=document.createElement("div"),h.className="touch-controls",h.style.position="relative",h.style.width=g,h.style.maxWidth="300px",h.style.height="220px",h.style.margin="10px auto",h.style.zIndex="9995",h.style.pointerEvents="auto";const e=(e,t,n,o)=>{const s=document.createElement("button");return s.innerHTML=e,s.style.position="absolute",s.style.width="80px",s.style.height="80px",s.style.top=n,s.style.left=o,s.style.backgroundColor="rgba(59, 130, 246, 0.4)",s.style.color="white",s.style.border="2px solid rgba(59, 130, 246, 0.6)",s.style.borderRadius="50%",s.style.fontSize="28px",s.style.display="flex",s.style.justifyContent="center",s.style.alignItems="center",s.style.cursor="pointer",s.style.userSelect="none",s.style.touchAction="manipulation",s.style.boxShadow="0 4px 6px rgba(0, 0, 0, 0.2)",s.style.webkitTapHighlightColor="transparent",s.style.webkitTouchCallout="none",s.style.webkitUserSelect="none",s.style.outline="none",s.style.zIndex="9995",s.style.pointerEvents="auto",s.addEventListener("mousedown",(function(e){e.preventDefault(),e.stopPropagation(),this.style.backgroundColor="rgba(59, 130, 246, 0.7)",this.style.transform="scale(0.95)"})),s.addEventListener("mouseup",(function(e){e.preventDefault(),e.stopPropagation(),this.style.backgroundColor="rgba(59, 130, 246, 0.4)",this.style.transform="scale(1)"})),s.addEventListener("mouseleave",(function(e){e.preventDefault(),e.stopPropagation(),this.style.backgroundColor="rgba(59, 130, 246, 0.4)",this.style.transform="scale(1)"})),s.addEventListener("touchstart",(function(e){e.preventDefault(),e.stopPropagation(),this.style.backgroundColor="rgba(59, 130, 246, 0.7)",this.style.transform="scale(0.95)",a||B||I||("up"===t&&"down"!==window.direction||"down"===t&&"up"!==window.direction||"left"===t&&"right"!==window.direction||"right"===t&&"left"!==window.direction)&&(window.direction=t)}),{passive:!1,capture:!0}),s.addEventListener("touchend",(function(e){e.preventDefault(),e.stopPropagation(),this.style.backgroundColor="rgba(59, 130, 246, 0.4)",this.style.transform="scale(1)"}),{passive:!1,capture:!0}),s.addEventListener("click",(function(e){e.preventDefault(),e.stopPropagation(),a||B||I||("up"===t&&"down"!==window.direction||"down"===t&&"up"!==window.direction||"left"===t&&"right"!==window.direction||"right"===t&&"left"!==window.direction)&&(window.direction=t)})),s},t=e("⬆️","up","0px","calc(50% - 40px)"),n=e("⬅️","left","calc(50% - 40px)","0px"),o=e("➡️","right","calc(50% - 40px)","calc(100% - 80px)"),s=e("⬇️","down","calc(100% - 80px)","calc(50% - 40px)"),l=document.createElement("button");if(l.innerHTML="⏸️",l.style.position="absolute",l.style.width="50px",l.style.height="50px",l.style.top="calc(50% - 25px)",l.style.left="calc(50% - 25px)",l.style.backgroundColor="rgba(96, 165, 250, 0.7)",l.style.color="white",l.style.border="2px solid rgba(59, 130, 246, 0.8)",l.style.borderRadius="50%",l.style.fontSize="20px",l.style.display="flex",l.style.justifyContent="center",l.style.alignItems="center",l.style.cursor="pointer",l.style.userSelect="none",l.style.touchAction="manipulation",l.style.boxShadow="0 4px 6px rgba(0, 0, 0, 0.2)",l.style.zIndex="9996",l.style.webkitTapHighlightColor="transparent",l.style.webkitTouchCallout="none",l.style.webkitUserSelect="none",l.style.outline="none",l.style.pointerEvents="auto",l.addEventListener("click",(function(e){e.preventDefault(),e.stopPropagation(),F(),this.innerHTML=B?"▶️":"⏸️"})),l.addEventListener("touchstart",(function(e){e.preventDefault(),e.stopPropagation(),this.style.transform="scale(0.95)",this.style.backgroundColor="rgba(96, 165, 250, 0.9)"}),{passive:!1,capture:!0}),l.addEventListener("touchend",(function(e){e.preventDefault(),e.stopPropagation(),this.style.transform="scale(1)",this.style.backgroundColor="rgba(96, 165, 250, 0.7)",F(),this.innerHTML=B?"▶️":"⏸️"}),{passive:!1,capture:!0}),h.appendChild(t),h.appendChild(n),h.appendChild(o),h.appendChild(s),h.appendChild(l),d.appendChild(h),c){c.style.position="absolute",c.style.top="0",c.style.left="0",c.style.width="100%",c.style.height="100%",c.style.zIndex="300";const e=function(e){return e.preventDefault(),e.stopPropagation(),!1};c.addEventListener("touchstart",(function(t){if(a||B)return e(t);const n=t.touches[0];return n?(m=n.clientX,y=n.clientY,e(t)):e(t)}),{passive:!1,capture:!0}),c.addEventListener("touchmove",e,{passive:!1,capture:!0}),c.addEventListener("touchend",(function(t){if(a||B)return e(t);const n=t.changedTouches[0];if(!n)return e(t);const o=n.clientX,s=n.clientY,l=o-m,i=s-y;return Math.abs(l)>Math.abs(i)?l>15&&"left"!==window.direction?window.direction="right":l<-15&&"right"!==window.direction&&(window.direction="left"):i>15&&"up"!==window.direction?window.direction="down":i<-15&&"down"!==window.direction&&(window.direction="up"),e(t)}),{passive:!1,capture:!0})}}const P=document.createElement("div");P.className="controls-message snake-game-line",P.style.fontFamily="'JetBrains Mono', monospace",P.style.fontSize=p?"11px":"12px",P.style.color="var(--text-muted)",P.style.textAlign="center",P.style.margin="10px auto",P.style.lineHeight="1.4",P.style.maxWidth="95%",P.style.padding="5px",P.style.backgroundColor="rgba(10, 15, 29, 0.4)",P.style.borderRadius="4px",P.innerHTML=p?'\n                <div style="margin-bottom:8px;color:#60A5FA;font-weight:bold">Mobile Controls:</div>\n                <div>• Use the D-pad buttons below to control direction</div>\n                <div>• Or swipe on game area to change snake direction</div>\n                <div>• Tap ⏸️ to pause/resume the game</div>\n                <div>• Tap "Restart" to start a new game</div>\n                <div>• Tap "Quit" or type <span style="color:#FF5555">/quit</span> to exit</div>\n            ':'\n                <div style="margin-bottom:5px;color:#60A5FA;font-weight:bold">Controls:</div>\n                <div>• Use Arrow Keys or WASD to control the snake</div>\n                <div>• Type <span style="color:#FF5555">/quit</span> or click "Quit Game" to exit</div>\n            ',d.appendChild(P),setTimeout((()=>{d.scrollTop=d.scrollHeight}),200)};const v=setInterval((()=>{const t=document.getElementById("console-content"),n=document.querySelector(".console-input input");t&&n&&(console.log("Found console elements, patching input handler"),clearInterval(v),"undefined"!=typeof alertGenerator&&(window.alertGenerator=alertGenerator),"undefined"!=typeof consoleManager&&(window.consoleManager=consoleManager),n.addEventListener("keydown",(function(n){if("Enter"===n.key){const o=this.value.trim().toLowerCase();if("/quit"===o||"quit"===o){console.log("Quit command detected"),n.preventDefault(),n.stopPropagation(),this.value="";const s=(new Date).toTimeString().slice(0,8),a=document.createElement("div");return a.className="console-line",a.innerHTML=`\n                            <span class="console-timestamp">[${s}]</span>\n                            <span class="console-prefix">$</span>\n                            <span class="console-command">${o}</span>\n                        `,t.appendChild(a),void(e&&window.quitSnakeGame())}if("/snakebot"===o||"snakebot"===o){console.log("Snake bot command detected"),n.preventDefault(),n.stopPropagation(),this.value="";const s=(new Date).toTimeString().slice(0,8),a=document.createElement("div");if(a.className="console-line",a.innerHTML=`\n                            <span class="console-timestamp">[${s}]</span>\n                            <span class="console-prefix">$</span>\n                            <span class="console-command">${o}</span>\n                        `,t.appendChild(a),e)window.toggleSnakeBot();else{const e=document.createElement("div");e.className="console-line",e.innerHTML=`\n                                <span class="console-timestamp">[${s}]</span>\n                                <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                                <span style="color: #FF5555;">Snake game is not running. Start it with /snake first.</span>\n                            `,t.appendChild(e)}return}if(("/snake"===o||"snake"===o)&&!e){console.log("Snake command detected"),n.preventDefault(),n.stopPropagation(),this.value="";const e=(new Date).toTimeString().slice(0,8),s=document.createElement("div");s.className="console-line",s.innerHTML=`\n                            <span class="console-timestamp">[${e}]</span>\n                            <span class="console-prefix">$</span>\n                            <span class="console-command">${o}</span>\n                        `,t.appendChild(s);const a=document.createElement("div");a.className="console-line",a.innerHTML=`\n                            <span class="console-timestamp">[${e}]</span>\n                            <span class="console-tag"><span class="console-tag-bracket">[</span><span class="console-tag-star">⚝</span><span class="console-tag-bracket">]</span></span>\n                            <span style="color: #10B981;">🐍 Starting Snake Game...</span>\n                        `,t.appendChild(a),window.snakeCommand(t),setTimeout((()=>{t.scrollTop=t.scrollHeight}),100)}}}),!0))}),1e3)}()</script><script>document.write("\n      \n        .feature-card .feature-icon, \n        .check-category .check-icon {\n          opacity: 0;\n          transform: translateY(15px) scale(0.8);\n          transition: opacity 0.475s cubic-bezier(0.2, 0.9, 0.3, 1.3), \n                      transform 0.475s cubic-bezier(0.2, 0.9, 0.3, 1.3);\n        }\n        \n        .feature-card .feature-title, \n        .check-category .check-title,\n        .pricing-card .pricing-title {\n          opacity: 0;\n          transform: translateY(20px);\n          transition: opacity 0.475s cubic-bezier(0.25, 1, 0.5, 1), \n                      transform 0.475s cubic-bezier(0.25, 1, 0.5, 1);\n        }\n        \n        .pricing-card .pricing-description {\n          opacity: 0;\n          transform: translateY(20px);\n          transition: opacity 0.475s cubic-bezier(0.25, 1, 0.5, 1), \n                      transform 0.475s cubic-bezier(0.25, 1, 0.5, 1);\n        }\n\n        .feature-card .feature-description {\n          opacity: 0;\n          transform: translateY(20px);\n          transition: opacity 0.475s cubic-bezier(0.25, 1, 0.5, 1), \n                      transform 0.475s cubic-bezier(0.25, 1, 0.5, 1),\n                      color 0.2s ease-in-out !important;\n        }\n        \n        .pricing-card .pricing-price {\n          opacity: 0;\n          transform: translateY(10px) scale(0.95);\n          transition: opacity 0.525s cubic-bezier(0.2, 0.9, 0.3, 1.1),\n                      transform 0.525s cubic-bezier(0.2, 0.9, 0.3, 1.1);\n        }\n        \n        .pricing-card .pricing-features li {\n          opacity: 0;\n          transform: translateX(-10px);\n          transition: opacity 0.375s cubic-bezier(0.25, 1, 0.5, 1),\n                      transform 0.375s cubic-bezier(0.25, 1, 0.5, 1);\n        }\n\n        .check-category .check-list li {\n          opacity: 0;\n          transform: translateX(-10px);\n          transition: opacity 0.375s cubic-bezier(0.25, 1, 0.5, 1),\n                      transform 0.375s cubic-bezier(0.25, 1, 0.5, 1);\n                      color 0.5s ease-in-out !important;\n        }\n    \n        .pricing-card:hover .pricing-features li {\n          transform: translateX(5px) !important;\n        }\n      \n    "),document.addEventListener("DOMContentLoaded",(function(){const t=new Set;function e(e){t.has(e)||(t.add(e),setTimeout((function(){e.classList.contains("feature-card")?function(t,e){const n=t.querySelector(".feature-icon"),r=t.querySelector(".feature-title"),a=t.querySelector(".feature-description");t.closest("#cloud");let i=200*e;n&&(n.style.opacity="0",n.style.transform="translateY(15px) scale(0.8)");r&&(r.style.opacity="0",r.style.transform="translateY(20px)");a&&(a.style.opacity="0",a.style.transform="translateY(20px)");t.offsetWidth,n&&setTimeout((()=>{n.style.transition="opacity 0.4s ease, transform 0.4s ease",n.style.opacity="1",n.style.transform="translateY(0) scale(1)"}),i+50);r&&setTimeout((()=>{r.style.transition="opacity 0.4s ease, transform 0.4s ease",r.style.opacity="1",r.style.transform="translateY(0)"}),i+150);a&&setTimeout((()=>{a.style.transition="opacity 0.4s ease, transform 0.4s ease",a.style.opacity="1",a.style.transform="translateY(0)"}),i+250)}(e,parseInt(e.dataset.index)):e.classList.contains("check-category")?function(t,e){const n=t.querySelector(".check-icon"),r=t.querySelector(".check-title"),a=t.querySelectorAll(".check-list li"),i=200*e;n&&(n.style.opacity="0",n.style.transform="translateY(15px) scale(0.8)");r&&(r.style.opacity="0",r.style.transform="translateY(20px)");a.forEach((t=>{t.style.opacity="0",t.style.transform="translateX(-10px)"})),t.offsetWidth,n&&setTimeout((()=>{n.style.transition="opacity 0.4s ease, transform 0.4s ease",n.style.opacity="1",n.style.transform="translateY(0) scale(1)"}),i+50);r&&setTimeout((()=>{r.style.transition="opacity 0.4s ease, transform 0.4s ease",r.style.opacity="1",r.style.transform="translateY(0)"}),i+150);a.forEach(((t,e)=>{setTimeout((()=>{t.style.transition="opacity 0.4s ease, transform 0.4s ease",t.style.opacity="1",t.style.transform="translateX(0)"}),i+250+120*e)}))}(e,parseInt(e.dataset.index)):e.classList.contains("pricing-card")}),167))}const n=new IntersectionObserver((t=>{t.forEach((t=>{t.intersectionRatio>=.2&&(t.target.classList.contains("pricing-card")||e(t.target))}))}),{threshold:.2});document.querySelectorAll(".feature-card, .check-category").forEach((t=>{n.observe(t)})),document.querySelectorAll(".check-category").forEach(((t,e)=>{n.observe(t),t.dataset.index=e})),document.querySelectorAll("#cloud .feature-card").forEach(((t,e)=>{t.dataset.index=e}));const r=document.querySelector("#pricing");if(r){const t=Array.from(r.querySelectorAll(".pricing-card"));if(3===t.length){const e=t.find((t=>t.classList.contains("featured"))),n=t.filter((t=>!t.classList.contains("featured")));if(e&&2===n.length){const a=[e,n[0],n[1]],i=new IntersectionObserver((e=>{e[0].isIntersecting&&(t.forEach((t=>{t.classList.remove("animate-on-scroll","animated","card-loading-transition","card-loaded"),t.setAttribute("data-animating","true"),t.style.cssText="\n                    opacity: 0 !important;\n                    transform: translateY(80px) !important;\n                    transition: none !important;\n                    visibility: visible !important;\n                "})),r.offsetWidth,a.forEach(((t,e)=>{setTimeout((()=>{t.style.cssText=`\n                    opacity: 1 !important;\n                    transform: translateY(0) !important;\n                    transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), \n                                transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) !important;\n                    visibility: visible !important;\n                    z-index: ${100-e} !important;\n                    `,function(t,e){const n=t.querySelector(".pricing-title"),r=t.querySelector(".pricing-price"),a=t.querySelector(".pricing-description"),i=t.querySelectorAll(".pricing-features li"),s=t.querySelector(".pricing-action"),o=t=>{t&&t.setAttribute("data-original-transition",t.style.transition||"")};[n,r,a,s].forEach((t=>{t&&(o(t),t.style.cssText="\n            opacity: 0 !important;\n            transform: translateY(20px) !important;\n            transition: none !important;\n            ")})),i.forEach((t=>{o(t),t.style.cssText="\n            opacity: 0 !important;\n            transform: translateX(-15px) !important;\n            transition: none !important;\n        "})),t.offsetWidth;const c=(t,e,n)=>{t&&setTimeout((()=>{t.style.cssText=n,setTimeout((()=>{t.style.transition=t.getAttribute("data-original-transition")||"",t.removeAttribute("data-original-transition")}),500)}),e)};c(n,150,"\n        opacity: 1;\n        transform: translateY(0);\n        transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1),\n                    transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);\n        "),c(r,300,"\n        opacity: 1;\n        transform: translateY(0);\n        transition: opacity 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.1),\n                    transform 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.1);\n        "),c(a,450,"\n        opacity: 1;\n        transform: translateY(0);\n        transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1),\n                    transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);\n        "),i.forEach(((t,e)=>{c(t,600+100*e,"\n            opacity: 1;\n            transform: translateX(0);\n            transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1),\n                        transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);\n        ")})),c(s,700+100*i.length,"\n        opacity: 1;\n        transform: translateY(0);\n        transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1),\n                    transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);\n        ")}(t),setTimeout((()=>{t.style.cssText="",t.classList.add("animated"),t.removeAttribute("data-animating")}),1300)}),500+700*e)})),i.unobserve(r))}),{threshold:.4,rootMargin:"-50px 0px"});i.observe(r)}}}setTimeout((()=>{document.querySelectorAll(".feature-card, .check-category").forEach((n=>{(function(t){const e=t.getBoundingClientRect();return e.top>=0&&e.bottom<=window.innerHeight})(n)&&!t.has(n)&&e(n)}))}),167)}))</script><script defer>!function(){const t=document.createElement("style");t.innerHTML="\n        .navbar {\n          opacity: 0;\n          transform: translateY(-40px);\n        }\n        .navbar-links a,\n        .navbar-logo,\n        .navbar-action .btn {\n          opacity: 0;\n          transform: translateY(-10px);\n          visibility: hidden;\n        }\n        .navbar-action .btn {\n          transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), \n                     background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1),\n                     color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1),\n                     box-shadow 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      ",document.head.appendChild(t)}(),window.addEventListener("load",(function(){const t=document.querySelector(".navbar");t&&(t.style.transition="opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1)",t.style.opacity="1",t.style.transform="translateY(0)",setTimeout((()=>{t.style.transition=""}),600));document.querySelectorAll(".navbar-links a").forEach(((t,e)=>{setTimeout((()=>{t.style.visibility="visible",t.style.transition="opacity 0.3s ease, transform 0.3s ease",t.style.opacity="1",t.style.transform="translateY(0)",setTimeout((()=>{t.style.transition=""}),300)}),150*(e+1)+100)}));const e=document.querySelector(".navbar-logo");e&&setTimeout((()=>{e.style.visibility="visible",e.style.transition="opacity 0.4s ease, transform 0.4s ease",e.style.opacity="1",e.style.transform="translateY(0)",setTimeout((()=>{e.style.transition=""}),400)}),0);document.querySelectorAll(".navbar-action .btn").forEach(((t,e)=>{setTimeout((()=>{t.style.visibility="visible",t.style.transition="opacity 0.3s ease, transform 0.3s ease",t.style.opacity="1",t.style.transform="translateY(0)",setTimeout((()=>{t.style.transition=""}),300)}),150*(e+1)+800)}));document.querySelectorAll(".navbar-action .btn").forEach((t=>{t.addEventListener("mouseenter",(function(){t.style.transition="transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.4s cubic-bezier(0.215, 0.61, 0.355, 1)",t.style.transform="translateY(-3px)";const e=window.getComputedStyle(t).boxShadow;e&&"none"!==e||(t.style.boxShadow="0 0 15px rgba(62, 152, 255, 0.6)")})),t.addEventListener("mouseleave",(function(){t.style.transition="transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.4s cubic-bezier(0.215, 0.61, 0.355, 1)",t.style.transform="translateY(0)"}))}));document.querySelectorAll(".navbar-links a").forEach((t=>{t.style.transition="color 0.4s cubic-bezier(0.215, 0.61, 0.355, 1)"}))}))</script><script defer>document.addEventListener("DOMContentLoaded",(function(){const t=document.createElement("style");t.textContent='\n        #about p {\n        opacity: 0;\n        transform: translateY(30px);\n        transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1),\n                    transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);\n        }\n        \n        #about div[style*="margin-top: 3rem"] {\n        opacity: 0;\n        transform: translateY(30px);\n        transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1),\n                    transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);\n        }\n    ',document.head.appendChild(t);const e=document.querySelector("#about");if(!e)return;const n=e.querySelectorAll("p"),r=e.querySelector('div[style*="margin-top: 3rem"]'),o=new Set;function a(t){const e=t.getBoundingClientRect();return e.top>=0&&e.top<=.9*(window.innerHeight||document.documentElement.clientHeight)&&e.bottom>=0}const s=new IntersectionObserver((t=>{t.forEach((t=>{t.isIntersecting&&!o.has(t.target)&&a(t.target)&&(o.add(t.target),t.target.style.opacity="1",t.target.style.transform="translateY(0)",s.unobserve(t.target))}))}),{threshold:.2,rootMargin:"-100px 0px"});setTimeout((function(){n.forEach((t=>{a(t)?(t.style.opacity="1",t.style.transform="translateY(0)",o.add(t)):s.observe(t)})),r&&(a(r)?(r.style.opacity="1",r.style.transform="translateY(0)",o.add(r)):s.observe(r))}),300),window.addEventListener("scroll",(function t(){n.forEach((t=>{!o.has(t)&&a(t)&&(t.style.opacity="1",t.style.transform="translateY(0)",o.add(t),s.unobserve(t))})),r&&!o.has(r)&&a(r)&&(r.style.opacity="1",r.style.transform="translateY(0)",o.add(r),s.unobserve(r)),o.size>=n.length+(r?1:0)&&window.removeEventListener("scroll",t)}),{passive:!0})}))</script><script>document.write("\n      \n        .hero-badge, .hero-title, .hero-title span, .hero-description, .hero-cta, .console-wrapper {\n          opacity: 0.01 !important;\n          transition: none !important;\n          will-change: transform, opacity;\n        }\n        \n        .hero-badge {\n          transform: translateY(25px) !important;\n        }\n        \n        .hero-title {\n          transform: translateY(30px) !important;\n        }\n        \n        .hero-title span {\n          display: block !important;\n          transform: translateY(20px) !important;\n        }\n        \n        .hero-description {\n          transform: translateY(25px) !important;\n        }\n        \n        .hero-cta {\n          transform: translateY(22px) !important;\n        }\n        \n        .console-wrapper {\n          transform: translateX(20px) !important;\n        }\n        \n        .hero-badge.animate-in,\n        .hero-title.animate-in,\n        .hero-description.animate-in,\n        .hero-cta.animate-in {\n          opacity: 1 !important;\n          transform: translateY(0) !important;\n          visibility: visible !important;\n        }\n        \n        .hero-title span.animate-in {\n          opacity: 1 !important;\n          transform: translateY(0) !important;\n          visibility: visible !important;\n        }\n        \n        .console-wrapper.animate-in {\n          opacity: 1 !important;\n          transform: translateX(0) !important;\n          visibility: visible !important;\n        }\n        \n        .hero-badge.animate-in {\n          transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), \n                     transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important;\n        }\n        \n        .hero-title.animate-in {\n          transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.15s, \n                     transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.15s !important;\n        }\n        \n        .hero-title span.animate-in {\n          transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.35s, \n                     transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.35s !important;\n        }\n        \n        .hero-description.animate-in {\n          transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.55s, \n                     transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.55s !important;\n        }\n        \n        .hero-cta.animate-in {\n          transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1) 0.7s, \n                     transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.7s !important;\n        }\n        \n        .console-wrapper.animate-in {\n          transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.85s, \n                     transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.85s !important;\n        }\n      \n    "),window.addEventListener("load",(function(){setTimeout((()=>{[".hero-badge",".hero-title",".hero-title span",".hero-description",".hero-cta",".console-wrapper"].forEach((n=>{const t=document.querySelector(n);t&&t.classList.add("animate-in")}))}),180)}))</script><script defer>document.addEventListener("DOMContentLoaded",(function(){console.log("Applying JS cursor styles (Cards default, Buttons pointer)..."),document.body.style.cursor="default",document.body.style.webkitUserSelect="none",document.body.style.mozUserSelect="none",document.body.style.msUserSelect="none",document.body.style.userSelect="none";const e=document.querySelectorAll(["a","button",".btn",".mobile-toggle",".console-dock-icon",".terminal-icon",".console-scroll-button",".window-controls span",".footer-social a",".navbar-logo"].join(", "));e.forEach((e=>{e.style.cursor="pointer"})),console.log(`Applied pointer cursor to ${e.length} interactive elements.`);const t=document.querySelectorAll(['input[type="text"]',"textarea"].join(", "));t.forEach((e=>{e.style.cursor="text",e.style.webkitUserSelect="auto",e.style.mozUserSelect="auto",e.style.msUserSelect="auto",e.style.userSelect="auto"})),console.log(`Applied text cursor and selection to ${t.length} input elements.`);const o=document.querySelectorAll([".feature-card",".check-category",".pricing-card"].join(", "));o.forEach((e=>{e.style.cursor="default"})),console.log(`Ensured default cursor on ${o.length} card elements.`)}))</script><script defer>!function(){function c(){document.getElementById("ccac-modal-container")||(function(){const c=document.createElement("div");c.id="ccac-modal-container",c.classList.add("ccac-modal-hidden");const a=document.createElement("div");a.id="ccac-modal-content";const n=document.createElement("button");n.id="ccac-modal-close",n.innerHTML="&times;",n.setAttribute("aria-label","Close");const e=document.createElement("h2");e.id="ccac-modal-title";const t=document.createElement("div");t.id="ccac-modal-body",a.appendChild(n),a.appendChild(e),a.appendChild(t),c.appendChild(a),document.body.appendChild(c),function(){const c=document.createElement("style");c.type="text/css";const a="\n                    /* Modal Base Styles */\n                    #ccac-modal-container {\n                        position: fixed;\n                        top: 0;\n                        left: 0;\n                        width: 100%;\n                        height: 100%;\n                        background-color: rgba(6, 8, 15, 0.8);\n                        display: flex;\n                        justify-content: center;\n                        align-items: center;\n                        z-index: 9999;\n                        opacity: 0;\n                        transition: opacity 0.3s ease-in-out;\n                        backdrop-filter: blur(8px);\n                        -webkit-backdrop-filter: blur(8px);\n                    }\n                    \n                    .ccac-modal-hidden {\n                        visibility: hidden;\n                        pointer-events: none;\n                    }\n                    \n                    .ccac-modal-visible {\n                        opacity: 1 !important;\n                    }\n                    \n                    #ccac-modal-content {\n                        position: relative;\n                        width: 90%;\n                        max-width: 900px;\n                        max-height: 85vh;\n                        background-color: var(--bg-dark, #0A0F1D);\n                        color: var(--text-light, #F9FAFB);\n                        border-radius: 0.75rem;\n                        padding: 30px;\n                        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2), 0 0 15px rgba(59, 130, 246, 0.3);\n                        overflow-y: auto;\n                        transform: translateY(20px);\n                        transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n                        border: 1px solid rgba(59, 130, 246, 0.3);\n                    }\n                    \n                    .ccac-modal-visible #ccac-modal-content {\n                        transform: translateY(0);\n                    }\n                    \n                    #ccac-modal-close {\n                        position: absolute;\n                        top: 15px;\n                        right: 20px;\n                        background: rgba(59, 130, 246, 0.1);\n                        border: none;\n                        color: var(--text-light, #F9FAFB);\n                        font-size: 28px;\n                        cursor: pointer;\n                        width: 40px;\n                        height: 40px;\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        opacity: 0.7;\n                        transition: all 0.3s ease;\n                        border-radius: 8px;\n                        z-index: 10;\n                    }\n                    \n                    #ccac-modal-close:hover {\n                        opacity: 1;\n                        background: rgba(59, 130, 246, 0.2);\n                        box-shadow: 0 0 15px rgba(59, 130, 246, 0.3);\n                    }\n                    \n                    #ccac-modal-title {\n                        margin: 0 0 30px 0;\n                        font-size: 2.5rem;\n                        color: var(--text-light, #F9FAFB);\n                        font-weight: 800;\n                        position: relative;\n                        padding-bottom: 15px;\n                        text-align: center;\n                        letter-spacing: -0.5px;\n                    }\n                    \n                    #ccac-modal-title:after {\n                        content: '';\n                        position: absolute;\n                        bottom: 0;\n                        left: 50%;\n                        transform: translateX(-50%);\n                        width: 80px;\n                        height: 2px;\n                        background: linear-gradient(to right, var(--primary, #3B82F6), var(--accent, #10b9ab));\n                        border-radius: 3px;\n                    }\n                    \n                    #ccac-modal-body {\n                        margin-top: 20px;\n                        perspective: 1000px;\n                    }\n                    \n                    /* FAQ and Terms Shared Card Styles */\n                    .ccac-faq-content, .ccac-terms-content {\n                        display: flex;\n                        flex-direction: column;\n                        gap: 1.5rem;\n                    }\n                    \n                    .ccac-card {\n                        background-color: rgba(22, 34, 53, 0.5);\n                        border-radius: 0.75rem;\n                        border: 1px solid rgba(59, 130, 246, 0.2);\n                        transition: all 0.2s ease;\n                        position: relative;\n                        overflow: hidden;\n                        opacity: 0;\n                        transform: translateY(20px);\n                        transition: opacity 0.4s ease-out,\n                                    transform 0.4s ease-out;\n                    }\n                    \n                    .ccac-card.visible {\n                        opacity: 1;\n                        transform: translateY(0);\n                    }\n                    \n                    /* Only apply hover effect to cards that have completed their initial animation */\n                    .ccac-card.animation-complete:hover {\n                        transform: translateY(-3px);\n                        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);\n                        border-color: rgba(59, 130, 246, 0.4);\n                        transition: all 0.2s ease;\n                    }\n                    \n                    .ccac-card::before {\n                        content: '';\n                        position: absolute;\n                        top: 0;\n                        left: 0;\n                        right: 0;\n                        height: 3px;\n                        background: linear-gradient(to right, var(--primary, #3B82F6), var(--accent, #10b9ab));\n                        opacity: 0;\n                        transition: opacity 0.3s ease;\n                    }\n                    \n                    .ccac-card.animation-complete:hover::before {\n                        opacity: 1;\n                    }\n                    \n                    .ccac-card-content {\n                        padding: 1.5rem;\n                    }\n                    \n                    .ccac-card-header {\n                        display: flex;\n                        align-items: center;\n                        gap: 0.75rem;\n                        margin-bottom: 1rem;\n                    }\n                    \n                    .ccac-card-number {\n                        font-size: 1.2rem;\n                        font-weight: 700;\n                        color: var(--primary, #3B82F6);\n                        opacity: 0.9;\n                    }\n                    \n                    .ccac-card-title {\n                        margin: 0;\n                        font-size: 1.25rem;\n                        font-weight: 700;\n                        color: var(--text-light, #F9FAFB);\n                    }\n                    \n                    .ccac-card-body {\n                        color: var(--text-muted, #94A3B8);\n                        line-height: 1.6;\n                        font-size: 0.9rem;\n                    }\n                    \n                    .ccac-card-body p {\n                        margin: 0;\n                    }\n                    \n                    /* Scrollbar Styles - Match website scrollbar */\n                    #ccac-modal-content::-webkit-scrollbar {\n                        width: 6px;\n                        height: 6px;\n                    }\n                    \n                    #ccac-modal-content::-webkit-scrollbar-track {\n                        background: rgba(22, 34, 53, 0.8);\n                    }\n                    \n                    #ccac-modal-content::-webkit-scrollbar-thumb {\n                        background: rgba(59, 130, 246, 0.5);\n                        border-radius: 6px;\n                    }\n                    \n                    #ccac-modal-content::-webkit-scrollbar-thumb:hover {\n                        background: rgba(59, 130, 246, 0.7);\n                    }\n                    \n                    /* Responsive Adjustments */\n                    @media (max-width: 768px) {\n                        #ccac-modal-content {\n                            padding: 20px;\n                        }\n                        \n                        #ccac-modal-title {\n                            font-size: 1.8rem;\n                        }\n                        \n                        .ccac-card-content {\n                            padding: 1.25rem;\n                        }\n                        \n                        .ccac-card-title {\n                            font-size: 1.1rem;\n                        }\n                    }\n                    \n                    /* Ensure cards are full width on all screen sizes */\n                    @media (min-width: 768px) {\n                        .ccac-card {\n                            width: 100%;\n                        }\n                    }\n                ";c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a));document.head.appendChild(c)}()}(),function(){const c=document.getElementById("faq-link");c&&c.addEventListener("click",(function(c){c.preventDefault(),a("FAQ",e())}));document.querySelectorAll("#terms-link").forEach((c=>{c.addEventListener("click",(function(c){c.preventDefault(),a("Terms of Service",t())}))}));const i=document.getElementById("ccac-modal-close");i&&i.addEventListener("click",n);const s=document.getElementById("ccac-modal-container");s&&s.addEventListener("click",(function(c){c.target===s&&n()}));document.addEventListener("keydown",(function(c){"Escape"===c.key&&n()}))}())}function a(c,a){const n=document.getElementById("ccac-modal-container"),e=document.getElementById("ccac-modal-title"),t=document.getElementById("ccac-modal-body");e.textContent=c,t.innerHTML=a,setTimeout((()=>{const c=document.getElementById("ccac-modal-content");c&&(c.scrollTop=0)}),10),document.documentElement.classList.add("ccac-modal-open"),n.classList.remove("ccac-modal-hidden"),document.querySelectorAll(".ccac-card").forEach((c=>{c.classList.remove("animation-complete")})),requestAnimationFrame((()=>{n.classList.add("ccac-modal-visible"),function(){const c=document.querySelectorAll("[data-scroll-animation]");for(let a=0;a<Math.min(3,c.length);a++)setTimeout((()=>{c[a].classList.add("visible"),setTimeout((()=>{c[a].classList.add("animation-complete")}),400)}),150*a);if(c.length>3){const a=new IntersectionObserver((n=>{n.forEach((n=>{if(n.isIntersecting){const e=n.target;Array.from(c).indexOf(e);setTimeout((()=>{e.classList.add("visible"),setTimeout((()=>{e.classList.add("animation-complete")}),400)}),100),a.unobserve(e)}}))}),{root:document.getElementById("ccac-modal-content"),rootMargin:"0px 0px 150px 0px",threshold:.1});for(let n=3;n<c.length;n++)a.observe(c[n])}}()}))}function n(){const c=document.getElementById("ccac-modal-container");c.classList.remove("ccac-modal-visible"),setTimeout((()=>{c.classList.add("ccac-modal-hidden"),document.documentElement.classList.remove("ccac-modal-open")}),300)}function e(){return'\n                    <div class="ccac-faq-content">\n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="100">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">01</span>\n                                    <h3 class="ccac-card-title">Can I get a free license?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>While we occasionally offer special promotions, free licenses are generally not available. CodeControlAC represents significant development and ongoing maintenance resources.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="150">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">02</span>\n                                    <h3 class="ccac-card-title">Is this anti-cheat better than others?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>While we\'re confident in our product\'s quality, we maintain a realistic perspective. No anti-cheat solution is perfect, and all systems face challenges with false positives and potential bypasses. We continuously work to improve our detection methods and minimize issues.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="200">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">03</span>\n                                    <h3 class="ccac-card-title">May I test CodeControlAC?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our testing protocols have been updated. We periodically select participants for testing phases at our discretion. We also announce when the test server is available. Keep an eye on our official announcements for opportunities.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="250">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">04</span>\n                                    <h3 class="ccac-card-title">Your anti-cheat doesn\'t work well.</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>We appreciate your feedback and continuously work to improve our product. If you\'re experiencing specific issues, please provide detailed information so we can address them in future updates.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="300">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">05</span>\n                                    <h3 class="ccac-card-title">Is CodeControlAC original code?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Yes, CodeControlAC is built with original code. In cases where we utilize third-party components, proper credit is always provided. As a commercial product, we maintain confidentiality regarding our source code and implementation details to protect our intellectual property and security measures.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="350">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">06</span>\n                                    <h3 class="ccac-card-title">How effective are Bedrock checks?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our Bedrock checks are continuously evolving. These checks present unique challenges due to packet handling differences. We\'ve implemented solutions for timer detection, packet validation, and movement monitoring including fly, speed, and reach detection. Hitbox detection may occasionally trigger false positives with mobile players. Overall, our Bedrock checks are reliable but may require specific configuration adjustments in certain environments.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="400">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">07</span>\n                                    <h3 class="ccac-card-title">I disagree with your Terms of Service.</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our Terms of Service are essential to protect both our users and our product. While we understand they may not align with everyone\'s preferences, they are non-negotiable for using our service. If our terms don\'t meet your needs, you may want to explore alternative solutions.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="450">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">08</span>\n                                    <h3 class="ccac-card-title">Why include a prediction engine in standard checks?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our standard checks include a toggleable prediction engine to provide maximum flexibility. If you experience anomalies, you can simply disable this feature, and our standard movement checks will still remain active. The prediction engine is designed to enhance detection capabilities while maintaining robust bypass prevention. While we strive for optimal performance, results may vary depending on your specific server environment and configuration.</p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                '}function t(){return'\n                    <div class="ccac-terms-content">\n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="100">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">01</span>\n                                    <h3 class="ccac-card-title">Acceptance</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>By using CodeControlAC (CCAC), you agree to these terms. If you disagree with any part of these terms, you may not use our service.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="150">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">02</span>\n                                    <h3 class="ccac-card-title">License</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users must purchase a valid license to utilize CodeControlAC. Sharing, redistributing, reverse engineering, or modifying any aspect of the software is strictly prohibited.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="200">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">03</span>\n                                    <h3 class="ccac-card-title">No Sharing</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users are prohibited from sharing any components of CodeControlAC, including configurations, logs, or licenses. Additionally, publicly displaying alerts or other elements of the software is not permitted.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="250">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">04</span>\n                                    <h3 class="ccac-card-title">Data Collection</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>CodeControlAC collects certain operational data (including logs and IP addresses) to improve our services, enhance security features, and prevent unauthorized use or distribution.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="300">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">05</span>\n                                    <h3 class="ccac-card-title">Age Requirement</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users must be at least 16 years of age to use this software. By using CodeControlAC, you confirm that you meet this age requirement.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="350">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">06</span>\n                                    <h3 class="ccac-card-title">Testing & Server Requirements</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>CodeControlAC may not be implemented on test servers that are accessible to the public. Servers must maintain a minimum of 40 active players and operate without whitelist restrictions to ensure proper functionality and testing conditions.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="400">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">07</span>\n                                    <h3 class="ccac-card-title">Prohibited Actions</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users are prohibited from utilizing CodeControlAC to develop competing products, engage in bypass testing, or promote cheating software or methods. Any such activities constitute a violation of these terms.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="450">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">08</span>\n                                    <h3 class="ccac-card-title">Developer Rights</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>The developer reserves the right to suspend or terminate any license at their sole discretion, with or without prior notice. This provision helps ensure the integrity and proper use of the software.</p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                '}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c(),window.CCAC=window.CCAC||{},window.CCAC.showFAQ=function(){a("FAQ",'\n                    <div class="ccac-faq-content">\n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="100">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">01</span>\n                                    <h3 class="ccac-card-title">Can I get a free license?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>While we occasionally offer special promotions, free licenses are generally not available. CodeControlAC represents significant development and ongoing maintenance resources.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="150">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">02</span>\n                                    <h3 class="ccac-card-title">Is this anti-cheat better than others?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>While we\'re confident in our product\'s quality, we maintain a realistic perspective. No anti-cheat solution is perfect, and all systems face challenges with false positives and potential bypasses. We continuously work to improve our detection methods and minimize issues.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="200">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">03</span>\n                                    <h3 class="ccac-card-title">May I test CodeControlAC?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our testing protocols have been updated. We periodically select participants for testing phases at our discretion. We also announce when the test server is available. Keep an eye on our official announcements for opportunities.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="250">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">04</span>\n                                    <h3 class="ccac-card-title">Your anti-cheat doesn\'t work well.</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>We appreciate your feedback and continuously work to improve our product. If you\'re experiencing specific issues, please provide detailed information so we can address them in future updates.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="300">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">05</span>\n                                    <h3 class="ccac-card-title">Is CodeControlAC original code?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Yes, CodeControlAC is built with original code. In cases where we utilize third-party components, proper credit is always provided. As a commercial product, we maintain confidentiality regarding our source code and implementation details to protect our intellectual property and security measures.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="350">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">06</span>\n                                    <h3 class="ccac-card-title">How effective are Bedrock checks?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our Bedrock checks are continuously evolving. These checks present unique challenges due to packet handling differences. We\'ve implemented solutions for timer detection, packet validation, and movement monitoring including fly, speed, and reach detection. Hitbox detection may occasionally trigger false positives with mobile players. Overall, our Bedrock checks are reliable but may require specific configuration adjustments in certain environments.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="400">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">07</span>\n                                    <h3 class="ccac-card-title">I disagree with your Terms of Service.</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our Terms of Service are essential to protect both our users and our product. While we understand they may not align with everyone\'s preferences, they are non-negotiable for using our service. If our terms don\'t meet your needs, you may want to explore alternative solutions.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="450">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">08</span>\n                                    <h3 class="ccac-card-title">Why include a prediction engine in standard checks?</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Our standard checks include a toggleable prediction engine to provide maximum flexibility. If you experience anomalies, you can simply disable this feature, and our standard movement checks will still remain active. The prediction engine is designed to enhance detection capabilities while maintaining robust bypass prevention. While we strive for optimal performance, results may vary depending on your specific server environment and configuration.</p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                ')},window.CCAC.showTerms=function(){a("Terms of Service",'\n                    <div class="ccac-terms-content">\n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="100">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">01</span>\n                                    <h3 class="ccac-card-title">Acceptance</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>By using CodeControlAC (CCAC), you agree to these terms. If you disagree with any part of these terms, you may not use our service.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="150">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">02</span>\n                                    <h3 class="ccac-card-title">License</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users must purchase a valid license to utilize CodeControlAC. Sharing, redistributing, reverse engineering, or modifying any aspect of the software is strictly prohibited.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="200">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">03</span>\n                                    <h3 class="ccac-card-title">No Sharing</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users are prohibited from sharing any components of CodeControlAC, including configurations, logs, or licenses. Additionally, publicly displaying alerts or other elements of the software is not permitted.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="250">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">04</span>\n                                    <h3 class="ccac-card-title">Data Collection</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>CodeControlAC collects certain operational data (including logs and IP addresses) to improve our services, enhance security features, and prevent unauthorized use or distribution.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="300">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">05</span>\n                                    <h3 class="ccac-card-title">Age Requirement</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users must be at least 16 years of age to use this software. By using CodeControlAC, you confirm that you meet this age requirement.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="350">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">06</span>\n                                    <h3 class="ccac-card-title">Testing & Server Requirements</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>CodeControlAC may not be implemented on test servers that are accessible to the public. Servers must maintain a minimum of 40 active players and operate without whitelist restrictions to ensure proper functionality and testing conditions.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="400">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">07</span>\n                                    <h3 class="ccac-card-title">Prohibited Actions</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>Users are prohibited from utilizing CodeControlAC to develop competing products, engage in bypass testing, or promote cheating software or methods. Any such activities constitute a violation of these terms.</p>\n                                </div>\n                            </div>\n                        </div>\n                        \n                        <div class="ccac-card" data-scroll-animation="fade-up" data-scroll-delay="450">\n                            <div class="ccac-card-content">\n                                <div class="ccac-card-header">\n                                    <span class="ccac-card-number">08</span>\n                                    <h3 class="ccac-card-title">Developer Rights</h3>\n                                </div>\n                                <div class="ccac-card-body">\n                                    <p>The developer reserves the right to suspend or terminate any license at their sole discretion, with or without prior notice. This provision helps ensure the integrity and proper use of the software.</p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                ')}}()</script>html{scroll-behavior:auto;scroll-padding-top:5px;overscroll-behavior:none}body{margin:0}<script defer>document.addEventListener("DOMContentLoaded",(()=>{const e=15,t=.09,n=1,o=.6,i=1.25,r=80,c=55,s=.08;let l=window.scrollY,d=window.scrollY,u=0,a=!1,w=null,f=0,m=!1,h=!1,p=0,v=0,b=!1,E=!1,g=!1;const Y=document.getElementById("console-window"),D=document.querySelector(".console-input input");let T,L=[];function k(){p=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)-window.innerHeight;const e=Array.from(document.querySelectorAll("section, footer")).filter((e=>e.offsetHeight>50)).sort(((e,t)=>e.offsetTop-t.offsetTop));L=e.map((e=>({top:e.offsetTop})))}function y(e,t,n){return e<t?t:e>n?n:e}function A(){return document.documentElement.classList.contains("ccac-modal-open")}function H(){a&&(cancelAnimationFrame(w),a=!1,w=null)}function M(){if(!a||A())return void H();const e=l-d,i=o;if(Math.abs(u)<i&&Math.abs(e)<i)return d=l,u=0,H(),void window.scrollTo({top:Math.round(d),behavior:"auto"});u+=e*t-u*n,d+=u,window.scrollTo({top:Math.round(d),behavior:"auto"}),w=requestAnimationFrame(M)}function q(e,t=!0){if(h||A())return;const n=y(e,0,p);(Math.abs(n-l)>o||!a||Math.abs(n-window.scrollY)>2*o)&&(l=n,t?(f=Date.now(),a?Math.abs(window.scrollY-d)>5&&(d=window.scrollY):(d=window.scrollY,u=0)):a||(d=window.scrollY,u=0),h||A()||a||(a=!0,d=window.scrollY,w=requestAnimationFrame(M)))}function S(t){const n=window.scrollY;let o=n;if("down"===t){let t=p;for(let o=0;o<L.length;o++){const i=L[o].top;if(i-e>n+5){t=i-e;break}}o=t}else if("up"===t){let t=0;for(let o=L.length-1;o>=0;o--){const i=L[o].top;if(i-e<n-5){t=i-e;break}}o=t}return o}function F(){b=!0}function P(){b=!1}function U(){h&&(h=!1,f=Date.now(),d=window.scrollY,l=d,u=0)}function W(e){if(A())return;if(h&&U(),b)return;e.preventDefault();const t=performance.now(),n=t-v;v=t;const o=n<c,r=e.deltaY*i;let w;if(d=window.scrollY,o){w=l;const e=y(r*s,-5,5);u+=e}else w=d,a||(u=0);q(w+r,!0)}function B(e){if(A())return;if(h)return["Escape","ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," "].includes(e.key)?(U(),void e.preventDefault()):void 0;if(document.activeElement===D)return;let t,n=!1;const o=a?l:window.scrollY;switch(e.key){case"ArrowDown":t=o+r,n=!0;break;case"ArrowUp":t=o-r,n=!0;break;case"PageDown":t=S("down"),n=!0;break;case"PageUp":t=S("up"),n=!0;break;case" ":t=window.scrollY+.85*window.innerHeight,n=!0;break;case"Home":t=0,n=!0;break;case"End":t=p,n=!0}n&&(e.preventDefault(),q(t,!0))}function C(){if(A()||h||E||!g)return;const e=Date.now()-f;(!a&&e>200||m)&&(clearTimeout(T),T=setTimeout((()=>{if((!a&&Date.now()-f>200||m)&&!E&&!h&&!A()){const e=window.scrollY;Math.abs(e-d)>2*o&&(H(),d=e,l=e,u=0)}}),100))}function I(e){if(1===e.button)return h=!0,H(),d=window.scrollY,l=d,void(u=0);const t=window.innerWidth-document.documentElement.clientWidth;0===e.button&&e.clientX>window.innerWidth-t-10&&e.target===document.documentElement&&(m=!0,H(),d=window.scrollY,l=d,u=0),1!==e.button&&U()}function x(e){m&&(m=!1,f=Date.now(),setTimeout((()=>{m||(d=window.scrollY,l=d,u=0)}),0)),1!==e.button&&U()}function z(t){if(A())return;if(h)return void t.preventDefault();const n=t.target.closest('a[href^="#"]');if(!n)return;const o=n.getAttribute("href");let i=0;if("#"===o)i=0;else{if(!(o.length>1))return;{const t=o.substring(1),n=document.getElementById(t)||document.querySelector(`[name='${t}']`);if(!n)return;i=n.offsetTop-e}}t.preventDefault(),f=Date.now(),H(),d=window.scrollY,u=0,E=!0,q(i,!1),setTimeout((()=>{E=!1}),150)}function O(){k(),d=window.scrollY,l=d,u=0,g=!0,window.addEventListener("wheel",W,{passive:!1}),window.addEventListener("keydown",B),window.addEventListener("scroll",C,{passive:!0}),window.addEventListener("mousedown",I),window.addEventListener("mouseup",x),window.addEventListener("touchstart",I,{passive:!0}),window.addEventListener("touchend",x,{passive:!0}),document.addEventListener("click",z),Y?(Y.addEventListener("pointerenter",F),Y.addEventListener("pointerleave",P)):console.warn("Smooth Scroll: Console window element missing."),window.addEventListener("resize",function(e,t){let n;return function(...o){clearTimeout(n),n=setTimeout((()=>{clearTimeout(n),e(...o)}),t)}}((()=>{k();const e=p;d=y(d,0,e),l=y(l,0,e),window.scrollY>e&&(window.scrollTo({top:e,behavior:"auto"}),d=e,l=e,u=0,H())}),250))}requestAnimationFrame((()=>{setTimeout(O,0)}))}))</script></html>