*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#1e1b4b #080b16}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#080b16}::-webkit-scrollbar-thumb{background:#1e1b4b;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00d2ff}
body{background:#080b16;color:#e2e8f0;font-family:'Inter',sans-serif;overflow-x:hidden;cursor:none}
a,button,input,textarea,select,label,[role="button"]{cursor:none}

/* ===== PRELOADER STYLES REMOVED - NOW IN js/preloader.js ===== */

/* ===== CURSOR ===== */
.custom-cursor{position:fixed;width:20px;height:20px;border:2px solid #00d2ff;border-radius:50%;pointer-events:none;z-index:99999;transition:transform .15s ease,background .15s ease,border-color .15s ease;mix-blend-mode:difference}
.custom-cursor.hover{transform:scale(2.5);background:rgba(0,210,255,.1);border-color:#a855f7}
.cursor-dot{position:fixed;width:6px;height:6px;background:#00d2ff;border-radius:50%;pointer-events:none;z-index:99999;box-shadow:0 0 10px rgba(0,210,255,.5)}

/* ===== OVERLAYS ===== */
#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}
#matrix-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.07}
.scanline-overlay{position:fixed;inset:0;z-index:9998;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}
.vignette-overlay{position:fixed;inset:0;z-index:9997;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.5) 100%)}
.grain-overlay{position:fixed;inset:0;z-index:9996;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}

/* ===== SCROLL PROGRESS ===== */
#scroll-progress{position:fixed;top:0;left:0;height:2px;z-index:10001;background:linear-gradient(90deg,#00d2ff,#a855f7,#ec4899,#00d2ff);width:0%;transition:width .1s linear;box-shadow:0 0 10px rgba(0,210,255,.5)}

/* ===== GLASS & NEON ===== */
.glass{background:rgba(8,11,22,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,210,255,.1)}
.glass-strong{background:rgba(8,11,22,.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(0,210,255,.15)}
.neon-border{position:relative;overflow:hidden}
.neon-border::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#00d2ff,#a855f7,transparent,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.4;transition:opacity .4s ease}
.neon-border:hover::before{opacity:1}

/* ===== GLITCH ===== */
.glitch{position:relative}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}
.glitch::before{color:#00d2ff;z-index:-1;animation:glitch-1 3s infinite linear alternate-reverse}
.glitch::after{color:#a855f7;z-index:-2;animation:glitch-2 2s infinite linear alternate-reverse}
@keyframes glitch-1{0%,90%,100%{clip-path:inset(0 0 0 0);transform:translate(0)}92%{clip-path:inset(20% 0 40% 0);transform:translate(-3px,1px)}94%{clip-path:inset(60% 0 10% 0);transform:translate(3px,-1px)}96%{clip-path:inset(40% 0 30% 0);transform:translate(-2px,2px)}98%{clip-path:inset(10% 0 70% 0);transform:translate(2px,-2px)}}
@keyframes glitch-2{0%,88%,100%{clip-path:inset(0 0 0 0);transform:translate(0)}90%{clip-path:inset(50% 0 20% 0);transform:translate(2px,-1px)}93%{clip-path:inset(10% 0 60% 0);transform:translate(-2px,1px)}95%{clip-path:inset(30% 0 40% 0);transform:translate(1px,2px)}97%{clip-path:inset(70% 0 5% 0);transform:translate(-1px,-2px)}}

/* ===== SHIMMER ===== */
.shimmer-text{background:linear-gradient(90deg,#00d2ff,#a855f7,#ec4899,#00d2ff);background-size:300% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 4s linear infinite}
@keyframes shimmer{0%{background-position:0%}100%{background-position:300%}}

/* ===== BUTTONS ===== */
.btn-cyber{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}
.btn-cyber::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,210,255,.2),transparent);transition:left .5s ease}
.btn-cyber:hover::before{left:100%}
.btn-cyber:hover{transform:translateY(-2px);box-shadow:0 0 30px rgba(0,210,255,.3),0 0 80px rgba(168,85,247,.1)}
.btn-cyber:active{transform:translateY(0) scale(.97)}
.btn-magnetic{transition:transform .2s cubic-bezier(.4,0,.2,1)}

/* ===== CARDS ===== */
.card-hover{transition:all .4s cubic-bezier(.4,0,.2,1)}
.card-hover:hover{transform:translateY(-8px) scale(1.02);border-color:rgba(168,85,247,.3);box-shadow:0 0 40px rgba(168,85,247,.1),0 20px 60px rgba(0,0,0,.4)}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(40px) scale(.97);filter:blur(6px);transition:all .8s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}

/* ===== HUD BRACKETS ===== */
.hud-bracket{position:relative}
.hud-bracket::before,.hud-bracket::after{content:'';position:absolute;width:20px;height:20px;border-color:rgba(168,85,247,.3);border-style:solid}
.hud-bracket::before{top:-1px;left:-1px;border-width:2px 0 0 2px}
.hud-bracket::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}

/* ===== TYPEWRITER ===== */
.typewriter-text{border-right:2px solid #00d2ff;animation:blink-caret .7s infinite;white-space:nowrap;overflow:hidden}
@keyframes blink-caret{0%,50%{border-color:#00d2ff}51%,100%{border-color:transparent}}

/* ===== NAV ===== */
.nav-link{position:relative}
.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(90deg,#00d2ff,#a855f7);transition:width .3s ease}
.nav-link:hover::after,.nav-link.active::after{width:100%}

/* ===== FORM ===== */
.form-input{background:rgba(8,11,22,.8);border:1px solid rgba(0,210,255,.15);border-radius:8px;padding:12px 16px;color:#e2e8f0;font-family:'Inter',sans-serif;transition:all .3s ease;width:100%;outline:none}
.form-input:focus{border-color:#a855f7;box-shadow:0 0 20px rgba(168,85,247,.15),0 0 40px rgba(168,85,247,.05)}
.form-input::placeholder{color:#475569}

/* ===== UPDATE ITEMS ===== */
.update-item{position:relative;padding-left:20px}
.update-item::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:#00d2ff;box-shadow:0 0 10px rgba(0,210,255,.5)}
.update-item.new::before{background:#a855f7;box-shadow:0 0 10px rgba(168,85,247,.5);animation:node-pulse 2s ease-in-out infinite}

/* ===== STAT ===== */
.stat-number{background:linear-gradient(135deg,#00d2ff,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ===== GRID PATTERN ===== */
.grid-pattern{background-image:linear-gradient(rgba(0,210,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,210,255,.02) 1px,transparent 1px);background-size:60px 60px}

/* ===== NOTIFICATIONS ===== */
#notifications{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.sys-notification{pointer-events:auto;background:rgba(8,11,22,.9);backdrop-filter:blur(16px);border:1px solid rgba(168,85,247,.2);border-radius:12px;padding:14px 20px;max-width:320px;transform:translateX(400px);opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1);font-family:'Rajdhani',sans-serif}
.sys-notification.show{transform:translateX(0);opacity:1}
.sys-notification .notif-bar{height:2px;background:linear-gradient(90deg,#00d2ff,#a855f7);border-radius:2px;margin-top:8px;animation:notif-shrink 4s linear forwards}
@keyframes notif-shrink{from{width:100%}to{width:0%}}

/* ===== AI CHAT ===== */
#ai-chat{position:fixed;bottom:24px;right:24px;z-index:9990}
#ai-chat .chat-toggle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#00d2ff,#a855f7);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px rgba(168,85,247,.3);transition:all .3s ease}
#ai-chat .chat-toggle:hover{transform:scale(1.1);box-shadow:0 0 50px rgba(168,85,247,.4)}
#ai-chat .chat-window{position:absolute;bottom:70px;right:0;width:380px;max-height:500px;background:rgba(8,11,22,.95);backdrop-filter:blur(24px);border:1px solid rgba(168,85,247,.2);border-radius:16px;overflow:hidden;transform:scale(.8) translateY(20px);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:bottom right}
#ai-chat .chat-window.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}
#ai-chat .chat-messages{height:340px;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:#1e1b4b transparent}
#ai-chat .chat-input-area{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(168,85,247,.1)}
#ai-chat .chat-input-area input{flex:1;background:rgba(168,85,247,.05);border:1px solid rgba(168,85,247,.15);border-radius:8px;padding:8px 12px;color:#e2e8f0;font-family:'Inter',sans-serif;font-size:13px;outline:none}
#ai-chat .chat-input-area input:focus{border-color:#a855f7}
#ai-chat .chat-input-area button{background:linear-gradient(135deg,#00d2ff,#a855f7);border:none;border-radius:8px;padding:8px 14px;color:#fff;font-weight:700;font-size:13px;transition:all .2s ease;cursor:none}
.msg-ai{background:rgba(0,210,255,.08);border:1px solid rgba(0,210,255,.1);border-radius:12px 12px 12px 4px;padding:10px 14px;margin-bottom:8px;font-size:13px;color:#cbd5e1;animation:msg-in .3s ease}
.msg-user{background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.15);border-radius:12px 12px 4px 12px;padding:10px 14px;margin-bottom:8px;font-size:13px;color:#e2e8f0;text-align:right;animation:msg-in .3s ease}
@keyframes msg-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ===== SOUND TOGGLE ===== */
#sound-toggle{position:fixed;bottom:24px;left:24px;z-index:9990;width:44px;height:44px;border-radius:50%;background:rgba(8,11,22,.8);backdrop-filter:blur(12px);border:1px solid rgba(0,210,255,.15);display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:none}
#sound-toggle:hover{border-color:rgba(168,85,247,.4);transform:scale(1.1)}

/* ===== TOAST ===== */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;padding:14px 28px;border-radius:12px;z-index:99998;transition:all .4s cubic-bezier(.4,0,.2,1);font-family:'Rajdhani',sans-serif}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}

/* ===== HAMBURGER ===== */
.hamburger span{display:block;width:24px;height:2px;background:#00d2ff;transition:all .3s ease;margin:5px 0}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ===== BLOG ===== */
.blog-card{transition:all .4s cubic-bezier(.4,0,.2,1)}
.blog-card:hover{transform:translateY(-6px);border-color:rgba(168,85,247,.3)}
.blog-tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-family:'Rajdhani',sans-serif;font-weight:600;letter-spacing:.05em}
.blog-content{font-family:'Inter',sans-serif;line-height:1.8;color:#94a3b8}
.blog-content h2{font-family:'Orbitron',sans-serif;font-size:1.3rem;color:#fff;margin:2rem 0 1rem}
.blog-content h3{font-family:'Rajdhani',sans-serif;font-size:1.1rem;color:#a855f7;margin:1.5rem 0 .8rem}
.blog-content p{margin-bottom:1rem}
.blog-content ul,.blog-content ol{margin-bottom:1rem;padding-left:1.5rem}
.blog-content li{margin-bottom:.4rem}
.blog-content code{background:rgba(168,85,247,.1);padding:2px 6px;border-radius:4px;font-size:.9em;color:#a855f7}
.blog-content blockquote{border-left:3px solid #a855f7;padding-left:1rem;margin:1.5rem 0;color:#64748b;font-style:italic}
.share-btn{width:40px;height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:none;border:1px solid rgba(168,85,247,.15);background:rgba(168,85,247,.05)}
.share-btn:hover{transform:scale(1.15);border-color:rgba(168,85,247,.4)}

/* ===== ANIMATIONS ===== */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 20px rgba(0,210,255,.2)}50%{box-shadow:0 0 40px rgba(168,85,247,.3),0 0 80px rgba(168,85,247,.1)}}
@keyframes rotate-slow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes scan-line{0%{top:-5%}100%{top:105%}}
@keyframes node-pulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.animate-float{animation:float 6s ease-in-out infinite}
.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}
.animate-rotate-slow{animation:rotate-slow 20s linear infinite}
.scan-line::after{content:'';position:absolute;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,210,255,.15),transparent);animation:scan-line 4s linear infinite;pointer-events:none}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
    .custom-cursor,.cursor-dot{display:none!important}
    body{cursor:auto}
    a,button,input,textarea,select,label,[role="button"]{cursor:auto}
    #ai-chat .chat-window{width:calc(100vw - 48px);right:-12px}
    .glitch::before,.glitch::after{display:none}
}