:root{--bg-primary:#0a192f;--bg-secondary:#112240;--bg-tertiary:#233554;--accent:#64ffda;--accent-tint:#64ffda1a;--text-light:#ccd6f6;--text-dark:#8892b0;--white:#e6f1ff;--font-main:"Inter", sans-serif;--font-mono:"Fira Code", monospace;--transition:all .25s cubic-bezier(.645, .045, .355, 1);--shadow-sm:0 4px 6px -1px #020c1bb3;--shadow-md:0 10px 30px -15px #020c1bb3;--shadow-lg:0 20px 30px -15px #020c1bb3;--space-6:48px;--space-7:56px;--space-8:64px;--side-spacing:var(--space-7);--hero-horizontal:var(--space-7)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text-dark) var(--bg-primary)}body{background-color:var(--bg-primary);color:var(--text-dark);font-family:var(--font-main);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}h1,h2,h3,h4,h5,h6{color:var(--text-light);font-weight:600;line-height:1.1}a{color:var(--accent);transition:var(--transition);text-decoration:none}ul{list-style:none}.container{counter-reset:section;max-width:1200px;margin:0 auto;padding:0 1.5rem}section{max-width:1000px;margin:0 auto;padding:100px 0}@media (width<=768px){section{padding:80px 0}}.section-heading{white-space:nowrap;width:100%;color:var(--text-light);align-items:center;margin:10px 0 40px;font-size:clamp(26px,5vw,32px);font-weight:700;display:flex;position:relative}.section-heading:before{content:"0" counter(section) ". ";counter-increment:section;font-family:var(--font-mono);color:var(--accent);margin-right:10px;font-size:clamp(16px,3vw,20px);font-weight:400}.section-heading:after{content:"";background-color:var(--bg-tertiary);width:300px;height:1px;margin-left:20px;display:block}.btn{color:var(--accent);border:1px solid var(--accent);font-family:var(--font-mono);transition:var(--transition);background-color:#0000;border-radius:4px;padding:1rem 1.75rem;font-size:14px;line-height:1;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";background-color:var(--accent-tint);z-index:-1;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:translateY(100%)}.btn:hover:before{transform:translateY(0)}.btn:hover{color:var(--bg-primary);background-color:var(--accent);border-color:#64ffdacc;transform:translateY(-2px);box-shadow:0 0 0 1px #64ffda40,0 8px 24px #64ffda47}.btn-fill{background-color:var(--accent);color:var(--bg-primary);box-shadow:0 0 10px #64ffda33}.btn-fill:hover{color:var(--accent);background-color:#0000;border-color:#64ffdacc;transform:translateY(-2px);box-shadow:0 0 0 1px #64ffda40,0 8px 24px #64ffda47}nav{z-index:1000;-webkit-backdrop-filter:blur(15px);width:100%;height:80px;transition:var(--transition);background:#0a192f99;border-bottom:1px solid #ffffff0d;position:fixed;top:0;box-shadow:0 4px 30px #0000001a}.nav-container{justify-content:space-between;align-items:center;max-width:1400px;height:100%;margin:0 auto;padding:0 2rem;display:flex}.logo{font-family:var(--font-mono);align-items:center;gap:2px;font-size:1.5rem;font-weight:700;display:flex}.logo-bracket,.logo-slash{color:var(--accent)}.logo-text{color:var(--text-light);white-space:nowrap;display:inline-block;overflow:hidden}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links li{counter-increment:nav-item}.nav-links a{font-family:var(--font-mono);color:var(--text-light);flex-direction:column;align-items:center;font-size:13px;display:flex;position:relative}.nav-links a span{color:var(--accent);margin-bottom:5px;font-size:12px}.nav-links a:after{content:"";background-color:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-links a:hover,.nav-links a.active{color:var(--accent)}.nav-links a.btn-fill{color:var(--bg-primary)}.nav-links a.btn-fill:hover{color:var(--accent)}.hamburger{color:var(--accent);background:0 0;border:none;font-size:1.5rem;display:none}@media (width<=768px){.nav-links{background-color:var(--bg-secondary);flex-direction:column;justify-content:center;width:75vw;height:100vh;transition:all .3s ease-in-out;position:fixed;top:0;right:-100%;box-shadow:-10px 0 30px -15px #020c1bb3}.nav-links.nav-active{right:0}.hamburger{z-index:1001;display:block}}.social-left,.email-right{z-index:10;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:0}.social-left{left:var(--side-spacing)}.email-right{right:var(--side-spacing)}.social-left ul{flex-direction:column;align-items:center;gap:20px;display:flex}.social-left a,.email-right a{color:var(--text-light);transition:var(--transition);padding:10px;font-size:20px}.email-right a{font-family:var(--font-mono);letter-spacing:.1em;writing-mode:vertical-rl;font-size:12px;transform:translateY(-20px)}.social-left a:hover,.email-right a:hover{color:var(--accent);transform:translateY(-5px)}.email-right a:hover{transform:translateY(-25px)}.social-left:after,.email-right:after{content:"";background-color:var(--text-dark);width:1px;height:90px;margin:20px auto 0;display:block}@media (width<=1024px){.social-left,.email-right{display:none}}#hero{min-height:100vh;padding:0 var(--hero-horizontal);flex-direction:row;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;display:flex;position:relative}.hero-content{flex:1;padding:0 24px}.hero-right{flex-direction:column;flex:1;align-items:flex-end;display:flex;position:relative}.hero-image-simple{border-radius:18px;width:340px;height:340px;transition:box-shadow .3s,transform .3s;position:relative;overflow:hidden;box-shadow:0 8px 40px #020c1b99,0 0 0 1px #64ffda1f}.hero-image-simple:hover{transform:translateY(-4px);box-shadow:0 12px 50px #020c1bb3,0 0 0 1px #64ffda40}.hero-img-clean{object-fit:cover;filter:saturate(.9)contrast(1.05);width:100%;height:100%;transition:filter .3s,transform .4s;display:block}.hero-image-simple:hover .hero-img-clean{filter:saturate(1.05)contrast(1.05);transform:scale(1.03)}@media (width<=992px){#hero{text-align:center;flex-direction:column-reverse;justify-content:center;padding:100px 24px 0}.hero-content{flex-direction:column;align-items:center;padding:0 24px;display:flex}.hero-desc{margin:20px auto 40px}.hero-right{align-items:center;margin-bottom:50px}.hero-image-simple{width:260px;height:260px}}.about-inner{display:block}.about-text p{color:var(--text-dark);margin-bottom:15px;font-size:16px}.about-stats{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px;display:grid}.stat-item{-webkit-backdrop-filter:blur(10px);transition:var(--transition);background:#11224099;border:1px solid #ffffff0d;border-radius:16px;padding:20px;box-shadow:0 8px 32px #020c1b5e}.stat-item:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 15px 40px #64ffda1a}.stat-num{color:var(--accent);font-size:2rem;font-weight:700;font-family:var(--font-mono)}.stat-text{color:var(--text-light);font-size:14px}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";background:var(--bg-tertiary);width:2px;height:100%;position:absolute;top:0;left:20px}.timeline-item{margin-bottom:50px;padding-left:60px;position:relative}.timeline-icon{background:var(--bg-secondary);border:2px solid var(--accent);width:30px;height:30px;color:var(--accent);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:6px}.timeline-content{-webkit-backdrop-filter:blur(10px);transition:var(--transition);background:#11224099;border:1px solid #ffffff0d;border-radius:16px;padding:25px;box-shadow:0 8px 32px #020c1b5e}.timeline-content:hover{border-color:var(--accent-tint);transform:translateY(-5px);box-shadow:0 15px 40px #64ffda1a}.timeline-date{font-family:var(--font-mono);color:var(--accent);margin-bottom:10px;font-size:13px;display:block}.timeline-title{color:var(--text-light);margin-bottom:5px;font-size:20px;font-weight:600}.timeline-org{color:var(--text-dark);margin-bottom:15px;font-size:16px;font-style:italic}.timeline-desc{font-size:14px}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;display:grid}.skill-card{-webkit-backdrop-filter:blur(10px);text-align:center;transition:var(--transition);background:#11224099;border:1px solid #ffffff0d;border-radius:16px;padding:30px 20px;position:relative;overflow:hidden;box-shadow:0 8px 32px #020c1b5e}.skill-card:before{content:"";background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;top:0;left:50%;transform:translate(-50%)}.skill-card:hover{border-color:#64ffda4d;transform:translateY(-5px);box-shadow:0 15px 40px #64ffda1a}.skill-card:hover:before{width:100%}.skill-icon{color:var(--accent);margin-bottom:20px;font-size:40px}.skill-card h3{margin-bottom:15px;font-size:18px}.skill-list{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.skill-tag{font-family:var(--font-mono);color:var(--text-light);background:var(--bg-primary);border-radius:4px;padding:5px 10px;font-size:12px}.projects-filter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#11224080;border:1px solid #ffffff0d;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:45px;padding:8px;display:flex}.filter-btn{color:var(--text-dark);font-family:var(--font-mono);cursor:pointer;transition:var(--transition);letter-spacing:.02em;background:0 0;border:none;border-radius:8px;padding:8px 20px;font-size:13px}.filter-btn:hover{color:var(--text-light);background:#64ffda0d}.filter-btn.active{color:var(--bg-primary);background:var(--accent);font-weight:600;box-shadow:0 0 15px #64ffda4d}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;display:grid}.project{-webkit-backdrop-filter:blur(10px);transition:var(--transition);background:#11224099;border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 32px #020c1b5e}.project:hover{border-color:#64ffda4d;transform:translateY(-10px);box-shadow:0 15px 40px #64ffda1a}.project-img{background:var(--bg-tertiary);height:200px;position:relative;overflow:hidden}.project-img img{object-fit:cover;filter:grayscale(60%);width:100%;height:100%;transition:filter .5s}.project-img:after{content:"";z-index:1;pointer-events:none;background:#64ffda0f;transition:all .5s;position:absolute;inset:0}.project:hover .project-img img{filter:grayscale(0%)}.project:hover .project-img:after{background:0 0}.project-content{flex-direction:column;flex-grow:1;padding:25px;display:flex}.project-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.folder-icon{color:var(--accent);font-size:24px}.project-links{gap:15px;display:flex}.project-links a{color:var(--text-light);font-size:20px}.project-links a:hover{color:var(--accent)}.project-title{margin-bottom:10px;font-size:20px}.project-desc{color:var(--text-dark);flex-grow:1;margin-bottom:20px;font-size:14px}.project-tech{font-family:var(--font-mono);color:var(--text-dark);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.desc-full{display:none}.project-content.expanded .desc-full{display:inline}.show-more-btn{color:var(--accent);font-family:var(--font-mono);cursor:pointer;transition:var(--transition);background:0 0;border:none;margin-bottom:15px;padding:5px 0;font-size:12px}.show-more-btn:hover{opacity:.7}.projects-cta{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition);background:#11224066;border:1px solid #64ffda1a;border-radius:16px;margin-top:60px;padding:40px}.projects-cta:hover{border-color:#64ffda40;box-shadow:0 10px 40px #64ffda14}.projects-cta p{font-family:var(--font-mono);color:var(--text-dark);letter-spacing:.05em;margin-bottom:20px;font-size:14px}.projects-cta .btn{align-items:center;gap:8px;padding:1rem 2rem;font-size:14px;display:inline-flex}#contact{text-align:center;max-width:700px;margin:0 auto 100px}.contact-title{color:var(--text-light);margin-bottom:20px;font-size:clamp(40px,5vw,60px);font-weight:700}.contact-desc{color:var(--text-dark);margin-bottom:50px;font-size:16px;line-height:1.6}.contact-form-wrapper{-webkit-backdrop-filter:blur(10px);text-align:left;transition:var(--transition);background:#11224099;border:1px solid #ffffff0d;border-radius:16px;padding:50px 40px;position:relative;box-shadow:0 8px 32px #020c1b5e}.contact-form-wrapper:hover{border-color:#64ffda33;box-shadow:0 15px 40px #64ffda1a}.contact-form{flex-direction:column;gap:35px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:30px;display:grid}.form-group{width:100%;position:relative}.form-group input,.form-group textarea{border:none;border-bottom:2px solid var(--bg-tertiary);width:100%;color:var(--text-light);font-family:var(--font-main);transition:var(--transition);background:0 0;outline:none;padding:10px 0;font-size:16px}.form-group textarea{resize:none}.form-group label{color:var(--text-dark);pointer-events:none;transition:var(--transition);font-size:16px;position:absolute;top:10px;left:0}.form-group input:focus~label,.form-group input:not(:placeholder-shown)~label,.form-group textarea:focus~label,.form-group textarea:not(:placeholder-shown)~label{color:var(--accent);font-size:13px;font-family:var(--font-mono);top:-15px}.input-bar{background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.form-group input:focus~.input-bar,.form-group textarea:focus~.input-bar{width:100%}.form-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:10px;display:flex}.submit-btn{font-size:15px;font-family:var(--font-mono);border-radius:4px;padding:1rem 2rem}.email-fallback{color:var(--text-dark);font-size:14px}.email-link{color:var(--accent);border-bottom:1px dotted var(--accent);padding-bottom:2px}.email-link:hover{border-bottom-style:solid}.form-status{font-family:var(--font-mono);text-align:center;opacity:0;min-height:20px;transition:var(--transition);margin-top:20px;font-size:14px}.form-status.success{color:var(--accent);opacity:1}.form-status.error{color:#f55;opacity:1}@media (width<=650px){.form-footer{text-align:center;flex-direction:column;align-items:stretch}.email-fallback{margin-top:10px}}@media (width<=576px){.form-row{grid-template-columns:1fr;gap:35px}.contact-form-wrapper{padding:30px 20px}}footer{text-align:center;font-family:var(--font-mono);color:var(--text-dark);padding:20px;font-size:13px}footer a{color:var(--text-dark);padding:10px;display:inline-block}footer a:hover{color:var(--accent)}.footer-socials{margin-bottom:10px;display:none}@media (width<=1024px){.footer-socials{justify-content:center;gap:20px;display:flex}}.reveal{opacity:0;transition:all .8s cubic-bezier(.5,0,0,1);transform:translateY(50px)}.reveal.active{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.particles{z-index:-2;background:var(--bg-primary);width:100vw;height:100vh;position:fixed;top:0;left:0}.gradient-blob{z-index:-1;pointer-events:none;filter:blur(60px);background:radial-gradient(circle,#64ffda1a 0%,#0a192f00 70%);border-radius:50%;width:600px;height:600px;animation:20s ease-in-out infinite alternate blob-float;position:fixed;top:-200px;left:-200px}.gradient-blob.two{background:radial-gradient(circle,#172a45b3 0%,#0a192f00 70%);animation:25s ease-in-out infinite alternate blob-float-two;inset:auto -200px -200px auto}@keyframes blob-float{0%{transform:translate(0)scale(1)}to{transform:translate(150px,100px)scale(1.1)}}@keyframes blob-float-two{0%{transform:translate(0)scale(1)}to{transform:translate(-100px,-150px)scale(1.2)}}.bokeh-layer{z-index:-1;pointer-events:none;position:fixed;inset:0}.bokeh{will-change:transform, opacity;border-radius:50%;animation:7s ease-in-out infinite alternate bokeh-breathe;position:absolute}.bokeh-1{filter:blur(55px);background:radial-gradient(circle,#00d2b48c 0%,#0000 65%);width:320px;height:320px;animation-duration:9s;animation-delay:0s;top:50%;left:1%}.bokeh-2{filter:blur(40px);background:radial-gradient(circle,#00c8aa80 0%,#0000 65%);width:200px;height:200px;animation-duration:11s;animation-delay:1s;top:62%;left:7%}.bokeh-3{filter:blur(30px);background:radial-gradient(circle,#00e6c8a6 0%,#0000 65%);width:140px;height:140px;animation-duration:7s;animation-delay:2s;top:70%;left:2%}.bokeh-4{filter:blur(20px);background:radial-gradient(circle,#00dcbeb3 0%,#0000 65%);width:90px;height:90px;animation-duration:13s;animation-delay:.5s;top:58%;left:13%}.bokeh-5{filter:blur(12px);background:radial-gradient(circle,#64ffdacc 0%,#0000 65%);width:60px;height:60px;animation-duration:10s;animation-delay:3s;top:78%;left:5%}.bokeh-6{filter:blur(6px);background:radial-gradient(circle,#64ffda 0%,#0000 70%);width:30px;height:30px;animation-duration:8s;animation-delay:.8s;top:10%;left:18%}.bokeh-7{filter:blur(5px);background:radial-gradient(circle,#b4fff0 0%,#0000 70%);width:20px;height:20px;animation-duration:12s;animation-delay:2.5s;top:33%;left:32%}.bokeh-8{filter:blur(4px);background:radial-gradient(circle,#b4fff0 0%,#0000 70%);width:16px;height:16px;animation-duration:9s;animation-delay:1.5s;top:18%;left:55%}.bokeh-9{filter:blur(5px);background:radial-gradient(circle,#64ffda 0%,#0000 70%);width:20px;height:20px;animation-duration:11s;animation-delay:.3s;top:7%;left:75%}.bokeh-10{filter:blur(4px);background:radial-gradient(circle,#b4fff0 0%,#0000 70%);width:14px;height:14px;animation-duration:7s;animation-delay:4s;top:11%;left:90%}.bokeh-11{filter:blur(70px);background:radial-gradient(circle,#00b4a066 0%,#0000 65%);width:350px;height:350px;animation-duration:14s;animation-delay:1.2s;top:62%;left:82%}.bokeh-12{filter:blur(35px);background:radial-gradient(circle,#00d2b480 0%,#0000 65%);width:160px;height:160px;animation-duration:10s;animation-delay:2s;top:73%;left:91%}.bokeh-13{filter:blur(80px);background:radial-gradient(circle,#00968233 0%,#0000 65%);width:400px;height:400px;animation-duration:18s;animation-delay:0s;top:38%;left:38%}.bokeh-14{filter:blur(50px);background:radial-gradient(circle,#00c8af40 0%,#0000 65%);width:220px;height:220px;animation-duration:15s;animation-delay:3s;top:53%;left:63%}@keyframes bokeh-breathe{0%{opacity:.55}to{opacity:1}}
