@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Fira+Code:wght@400;500;600&display=swap";:root{--bg-color: #0d1117;--bg-card: rgba(22, 27, 34, .6);--text-primary: #e6edf3;--text-secondary: #8b949e;--accent: #58a6ff;--accent-secondary: #238636;--accent-glow: rgba(88, 166, 255, .3);--syntax-keyword: #ff7b72;--syntax-string: #a5d6ff;--syntax-function: #d2a8ff;--syntax-comment: #8b949e;--font-main: "JetBrains Mono", "Fira Code", monospace;--font-code: "Fira Code", monospace;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;overflow-x:hidden;position:relative}canvas#bg-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}.header{position:fixed;top:0;left:0;width:100%;background:#0f0f1199;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:1000;padding:var(--spacing-md) 0;border-bottom:1px solid rgba(255,255,255,.05);transition:all .3s}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.nav{display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;font-size:1.5rem;background:linear-gradient(to right,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 10px rgba(100,108,255,.3)}.nav-links{display:flex;gap:.5rem}.nav-links li{list-style:none}.nav-links a{position:relative;font-weight:500;padding:.6rem 1.4rem;border-radius:50px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;transition:all .3s;display:inline-block}.nav-links a:hover{background:#646cff26;border-color:var(--accent);box-shadow:0 0 15px #646cff4d;transform:translateY(-2px)}.hero{min-height:100vh;display:flex;align-items:center;position:relative}.hero h1{font-size:4rem;line-height:1.1;margin-bottom:var(--spacing-md);font-weight:800;letter-spacing:-1.5px}.highlight{color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.code-block{background:#161b22f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;max-width:650px;box-shadow:0 20px 50px #00000080}.code-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.05)}.code-dot{width:12px;height:12px;border-radius:50%}.code-dot.red{background:#ff5f56}.code-dot.yellow{background:#ffbd2e}.code-dot.green{background:#27ca40}.code-filename{margin-left:auto;font-size:.85rem;color:var(--text-secondary)}.code-content{padding:1.5rem;font-family:var(--font-code);font-size:.95rem;line-height:1.8;color:var(--text-primary);margin:0;overflow-x:auto}.syntax-keyword{color:var(--syntax-keyword)}.syntax-string{color:var(--syntax-string)}.syntax-function{color:var(--syntax-function)}.syntax-comment{color:var(--syntax-comment);font-style:italic}.hero-subtitle{font-size:1.1rem;color:var(--syntax-comment);margin:1.5rem 0;font-family:var(--font-code)}.hero p{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin-bottom:var(--spacing-lg)}.hero-buttons{display:flex;gap:var(--spacing-md)}.btn{padding:.8rem 1.8rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;text-decoration:none;font-size:1rem}.btn-primary{background-color:var(--accent);color:#fff;border:none;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-glow)}.btn-secondary{border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-primary)}.btn-secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.section{padding:var(--spacing-xl) 0}.section-title{font-size:2.5rem;margin-bottom:3rem;font-weight:700;display:inline-block}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.project-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:1.5rem;border:1px solid rgba(255,255,255,.08);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.project-card:hover{transform:translateY(-8px);border-color:#646cff66;box-shadow:0 20px 40px -10px #00000080,0 0 20px -5px var(--accent-glow)}.project-image{width:100%;height:200px;object-fit:cover;border-radius:12px;background:#222;transition:transform .5s}.card-image-wrapper{position:relative;border-radius:12px;overflow:hidden;margin-bottom:1rem}.card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s}.project-card:hover .card-overlay{opacity:1}.project-card:hover .project-image{transform:scale(1.1)}.card-buttons{display:flex;gap:1rem}.card-btn{padding:.7rem 1.4rem;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.card-btn.primary{background:var(--accent);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.card-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-glow)}.card-btn.secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.card-btn.secondary:hover{background:#fff3;transform:translateY(-2px)}h3{font-size:1.5rem;margin-bottom:.5rem}p{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{font-size:.75rem;background:#646cff26;padding:.3rem .8rem;border-radius:20px;color:#fff;border:1px solid rgba(100,108,255,.2)}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.skill-category{background:#ffffff08;padding:1.5rem;border-radius:16px;border:1px solid rgba(255,255,255,.05)}.skill-category h3{border-left:4px solid var(--accent);padding-left:1rem;margin-bottom:1.5rem}.skill-list{display:flex;flex-wrap:wrap;gap:.8rem}.skill-item{background:#ffffff0d;padding:.6rem 1.2rem;border-radius:12px;font-size:.95rem;border:1px solid rgba(255,255,255,.1);transition:all .2s;cursor:default;display:flex;align-items:center;gap:10px}.skill-item i{font-size:1.4rem;color:var(--accent)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.service-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:1.75rem;transition:all .3s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-secondary));opacity:0;transition:opacity .3s}.service-card:hover{transform:translateY(-5px);border-color:#ffffff1f;box-shadow:0 20px 40px #0000004d}.service-card:hover:before{opacity:1}.service-icon{font-size:1.75rem;margin-bottom:1rem;font-family:var(--font-code);color:var(--accent);font-weight:600}.service-card h3{font-size:1.15rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.service-list{list-style:none;padding:0;margin:0}.service-list li{position:relative;padding-left:1.25rem;margin-bottom:.6rem;color:var(--text-secondary);font-size:.9rem;font-family:var(--font-code)}.service-list li:before{content:">";position:absolute;left:0;color:var(--accent);font-weight:700}.skill-item:hover{background:#646cff33;border-color:var(--accent);transform:translateY(-3px);box-shadow:0 5px 15px #646cff33}.reveal{opacity:0;transform:translateY(40px) scale(.95);transition:opacity .6s ease-out,transform .6s cubic-bezier(.2,.8,.2,1)}.reveal.active{opacity:1;transform:translateY(0) scale(1)}.modal{position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);display:flex;justify-content:center;align-items:center;visibility:hidden;pointer-events:none;opacity:0}.modal.show{visibility:visible;pointer-events:auto;opacity:1;background-color:#000c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:modalBackdropIn .5s ease forwards}.modal.closing{animation:modalBackdropOut .45s ease forwards;pointer-events:none}@keyframes modalBackdropIn{0%{opacity:0;background-color:#0000;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;background-color:#000c;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}@keyframes modalBackdropOut{0%{opacity:1;background-color:#000c;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}to{opacity:0;background-color:#0000;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}}.modal-content{background:linear-gradient(145deg,#18181bf7,#14141ef2);padding:3.5rem 2rem 2rem;border-radius:20px;width:90%;max-width:600px;position:relative;border:1px solid rgba(88,166,255,.12);box-shadow:0 0 0 1px #58a6ff0d,0 25px 60px -12px #000000b3,0 0 80px -20px #58a6ff26;overflow:hidden;transform:scale(.6) translateY(60px);opacity:0;filter:blur(8px)}.modal.show .modal-content{animation:modalContentIn .6s cubic-bezier(.16,1,.3,1) .05s forwards}.modal.closing .modal-content{animation:modalContentOut .35s cubic-bezier(.4,0,1,1) forwards}@keyframes modalContentIn{0%{transform:scale(.6) translateY(60px) rotateX(8deg);opacity:0;filter:blur(8px);box-shadow:0 0 0 1px #58a6ff00,0 0 #0000,0 0 #58a6ff00}50%{opacity:1;filter:blur(0px)}70%{transform:scale(1.02) translateY(-5px) rotateX(0)}to{transform:scale(1) translateY(0) rotateX(0);opacity:1;filter:blur(0px);box-shadow:0 0 0 1px #58a6ff26,0 30px 70px -15px #000c,0 0 100px -20px #58a6ff40}}@keyframes modalContentOut{0%{transform:scale(1) translateY(0);opacity:1;filter:blur(0px)}to{transform:scale(.85) translateY(40px);opacity:0;filter:blur(6px)}}.modal-content:before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(88,166,255,.07) 40%,rgba(88,166,255,.12) 50%,rgba(88,166,255,.07) 60%,transparent 100%);z-index:0;pointer-events:none}.modal.show .modal-content:before{animation:shimmerSweep .9s ease .3s forwards}@keyframes shimmerSweep{0%{left:-60%}to{left:120%}}.modal.show .modal-content:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:21px;background:linear-gradient(135deg,#58a6ff4d,#8b5cf633,#58a6ff1a);z-index:-1;opacity:0;animation:glowPulse 2s ease .4s forwards;pointer-events:none}@keyframes glowPulse{0%{opacity:0}30%{opacity:1}60%{opacity:.6}to{opacity:.3}}.modal-content>*{position:relative;z-index:1;opacity:0;transform:translateY(25px) scale(.97)}.modal.show .modal-content>*:nth-child(1){animation:modalChildIn .5s cubic-bezier(.16,1,.3,1) .2s forwards}.modal.show .modal-content>*:nth-child(2){animation:modalChildIn .5s cubic-bezier(.16,1,.3,1) .32s forwards}.modal.show .modal-content>*:nth-child(3){animation:modalChildIn .5s cubic-bezier(.16,1,.3,1) .42s forwards}.modal.show .modal-content>*:nth-child(4){animation:modalChildIn .5s cubic-bezier(.16,1,.3,1) .5s forwards}.modal.show .modal-content>*:nth-child(5){animation:modalChildIn .5s cubic-bezier(.16,1,.3,1) .58s forwards}.modal.show .modal-content>*:nth-child(6){animation:modalChildIn .5s cubic-bezier(.16,1,.3,1) .65s forwards}.modal.show .modal-content>*:nth-child(7){animation:modalChildIn .5s cubic-bezier(.16,1,.3,1) .72s forwards}@keyframes modalChildIn{0%{opacity:0;transform:translateY(25px) scale(.97);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}}.modal.closing .modal-content>*{animation:modalChildOut .2s ease forwards!important}@keyframes modalChildOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(15px)}}.close-modal{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--text-primary);background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:50%;transition:all .3s ease;z-index:10;opacity:1!important;transform:none!important;animation:none!important}.close-modal:hover{color:#fff;background:#ff3c3c99;border-color:#ff3c3c66;transform:scale(1.15)!important;box-shadow:0 0 15px #ff3c3c4d}.modal-image{width:100%;height:300px;object-fit:cover;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.modal-buttons{display:flex;gap:1rem;margin-top:2rem;position:relative;z-index:5}.modal-buttons .btn{padding:.8rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:5;cursor:pointer;pointer-events:auto}.modal-buttons .btn:hover{transform:translateY(-3px) scale(1.05)!important;filter:brightness(1.2)}.footer{padding:3rem 0;border-top:1px solid rgba(255,255,255,.05);margin-top:5rem;text-align:center;color:var(--text-secondary)}@media (max-width: 768px){.container{padding:0 1.5rem}.header{background:#0d1117e6;padding:1rem 0}.nav{justify-content:space-between}.burger-menu{display:flex;z-index:1002}.nav-links{position:fixed;top:0;right:-100%;width:100%;height:100vh;background:#0d1117fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:right .4s cubic-bezier(.4,0,.2,1);z-index:1001}.nav-links.active{right:0}.nav-links a{font-size:1.5rem;padding:.5rem 1rem;border:none;background:transparent}.nav-links a:hover{background:transparent;color:var(--accent);transform:scale(1.1);box-shadow:none}.hero{padding:140px 0 80px;display:block;min-height:auto}.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center}.hero h1{font-size:3rem;margin-bottom:1rem}.hero p{font-size:1.1rem;margin:0 auto 2rem}.code-block{margin:0 auto 2rem;width:100%;max-width:100%;font-size:.8rem}.code-content{padding:1rem}.hero-buttons{justify-content:center;width:100%;max-width:400px}.section{padding:4rem 0}.section-title{font-size:2rem;text-align:center;display:block;margin-bottom:2.5rem}.projects-grid,.skills-container,.services-grid{gap:1.5rem;padding:0 .5rem}.project-card{max-width:500px;margin:0 auto}.modal-content{width:90%;padding:1.5rem;margin:0 1rem;max-height:80vh;overflow-y:auto}.modal-image{height:200px}}@media (max-width: 480px){.hero h1{font-size:2.2rem}.code-block{font-size:.7rem}.hero-buttons{flex-direction:column;gap:1rem}.btn{width:100%;padding:.9rem}.project-card{padding:1.25rem}.card-buttons{flex-direction:column}.card-btn{width:100%;justify-content:center}.footer-content{flex-direction:column;gap:1.5rem}}.scroll-hidden{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.scroll-visible{opacity:1;transform:translateY(0)}.service-card:nth-child(1){transition-delay:0s}.service-card:nth-child(2){transition-delay:.1s}.service-card:nth-child(3){transition-delay:.2s}.service-card:nth-child(4){transition-delay:.3s}.skill-item:nth-child(1){transition-delay:0s}.skill-item:nth-child(2){transition-delay:.05s}.skill-item:nth-child(3){transition-delay:.1s}.skill-item:nth-child(4){transition-delay:.15s}.skill-item:nth-child(5){transition-delay:.2s}.skill-item:nth-child(6){transition-delay:.25s}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.preloader.hidden{opacity:0;visibility:hidden}.loader{text-align:center}.loader-code{font-size:3rem;font-family:var(--font-code);color:var(--accent);animation:pulse 1.5s ease-in-out infinite;text-shadow:0 0 20px var(--accent-glow)}.loader-text{margin-top:1rem;font-family:var(--font-code);color:var(--text-secondary);letter-spacing:2px}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}.burger-menu{display:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;padding:0;z-index:1001}.burger-menu span{display:block;width:100%;height:2px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}.burger-menu.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.burger-menu.active span:nth-child(2){opacity:0}.burger-menu.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}@media (max-width: 768px){.burger-menu{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background:#0d1117fa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;transition:right .3s ease;border-left:1px solid rgba(255,255,255,.1)}.nav-links.active{right:0}.nav-links a{font-size:1.1rem;padding:.8rem 1.8rem}}.cursor{animation:blink 1s step-end infinite;color:var(--accent);font-weight:700}@keyframes blink{50%{opacity:0}}.availability-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border-radius:50px;margin:1rem 0;font-size:.9rem;transition:all .5s ease;background:#23863626;border:1px solid rgba(35,134,54,.3);color:#4ade80}.availability-badge.offline{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#f87171}.status-dot{width:10px;height:10px;border-radius:50%;transition:all .5s ease;background:#22c55e;animation:status-pulse 2s ease-in-out infinite;box-shadow:0 0 10px #22c55e80}.availability-badge.offline .status-dot{background:#ef4444;box-shadow:0 0 10px #ef444466;animation:status-pulse-red 2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}@keyframes status-pulse-red{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}
