.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--link-hover));z-index:10001;transition:width 0.1s ease,opacity 0.2s ease;box-shadow:0 0 10px rgba(255,255,255,0.3);opacity:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--card-bg);color:var(--text-color);padding:8px 16px;text-decoration:none;border-radius:0 0 4px 0;z-index:10000;font-weight:600;border:2px solid var(--accent-color);transition:top 0.2s ease}.skip-link:focus{top:0;outline:3px solid var(--accent-color);outline-offset:2px}body{font-family:"Inter","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;background-color:#121212!important;color:#d2d8e2!important;margin:0;padding:0;scroll-behavior:smooth;overflow-x:hidden;transition:background-color 0.5s ease}*:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;border-radius:2px}.nav-link:focus-visible{outline-color:var(--link-hover);background:rgba(255,255,255,0.1)}.social-icons a:focus-visible{transform:scale(1.1);outline-color:#fff}h1{color:#74747c;text-align:center;font-size:2.5rem;position:relative;overflow:hidden;letter-spacing:1px}h1::after{content:'';position:absolute;bottom:-5px;left:0;width:100px;height:2px;background-color:var(--header-color);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.19,1,.22,1)}h1.show::after{transform:scaleX(1)}ul#repo-list li{background:rgba(255,255,255,0.06);margin:25px 0;padding:24px;border-radius:20px;box-shadow:0 8px 32px 0 rgba(0,0,0,0.2);transition:all 0.5s cubic-bezier(.19,1,.22,1);transform-origin:center;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.12);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%)}ul#repo-list li::before{content:'';position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#3a3a3f,#4a4a54);opacity:.7}ul#repo-list li:hover{transform:translateY(-7px) scale(1.01);box-shadow:0 15px 45px 0 rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.25)}ul#repo-list a{text-decoration:none;color:#b5bbc3;font-weight:700;transition:all 0.4s ease;position:relative}ul#repo-list a:hover{color:#f3f6fc;text-shadow:0 0 8px rgb(243 246 252 / .4)}ul#repo-list a::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1.5px;background-color:rgb(255 255 255 / .5);transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease}ul#repo-list a:hover::after{transform:scaleX(1)}ul#repo-list p{margin:12px 0 0;color:#a0a0a8;line-height:1.7}section{padding:80px 20px;position:relative;overflow:hidden;z-index:10}#about{min-height:65vh;display:flex;align-items:center;position:relative}#about p{font-size:1.15rem;line-height:1.9;max-width:900px;margin:0 auto;opacity:0;transform:translateY(20px);transition:all 1.2s cubic-bezier(.19,1,.22,1);letter-spacing:.2px}#about.show p{opacity:1;transform:translateY(0)}#about .section-title{margin-bottom:50px}.intro{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.intro::after{content:'';position:absolute;width:100%;height:100%;pointer-events:none}.projects{padding:80px 20px}.social-icons{display:flex;justify-content:center;align-items:center;margin-top:30px;margin-bottom:60px;gap:15px}.social-icons a{color:#d2d8e2;font-size:20px;transition:all 0.4s cubic-bezier(.19,1,.22,1);position:relative;display:inline-flex;justify-content:center;align-items:center;height:40px;width:40px;border-radius:12px;background:rgb(255 255 255 / .03);overflow:hidden;backdrop-filter:blur(5px);box-shadow:0 5px 15px rgb(0 0 0 / .08);text-decoration:none;border:1px solid rgb(255 255 255 / .05)}.social-icons a::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgb(255 255 255 / .05) 0%,rgb(255 255 255 / .12) 50%,rgb(255 255 255 / .03) 100%);opacity:0;transition:opacity 0.6s cubic-bezier(.19,1,.22,1);border-radius:12px;z-index:-1}.social-icons a::after{content:'';position:absolute;inset:1px;border-radius:11px;background:rgb(32 33 39 / .7);z-index:-1}.social-icons a i{position:relative;z-index:1;transition:all 0.4s cubic-bezier(.19,1,.22,1);display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translateY(1px)}.social-icons a:hover{color:#fff;box-shadow:0 0 20px rgb(255 255 255 / .3);text-decoration:none;border:1px solid rgb(255 255 255 / .15)}.social-icons a:hover::before{opacity:1}social-icons a:hover i{text-shadow:0 0 10px rgb(255 255 255 / .8)}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-2px)}}@keyframes fadeInOut{0%,100%{opacity:.6}50%{opacity:1}}.hidden{opacity:0;filter:blur(5px);transform:translateY(30px);transition:all 1.2s cubic-bezier(.19,1,.22,1)}.show{opacity:1;filter:blur(0);transform:translateY(0)}.language-badge{display:inline-block;padding:5px 10px;border-radius:12px;font-size:12px;color:#fff;margin-left:10px;font-weight:700;box-shadow:0 2px 8px rgb(0 0 0 / .15);transform:translateY(0);transition:all 0.5s cubic-bezier(.19,1,.22,1);letter-spacing:.5px}ul#repo-list li:hover .language-badge{transform:translateY(-3px);box-shadow:0 5px 12px rgb(0 0 0 / .2)}.cursor{font-size:90%;color:#d2d8e2;animation:blink 1s step-end infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}.resume-link{display:inline-flex;align-items:center;color:#d2d8e2;text-decoration:none;position:relative;margin-left:10px;padding:10px 5px;font-weight:500;letter-spacing:.5px;transition:all 0.5s cubic-bezier(.19,1,.22,1)}.resume-link::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#d2d8e2,transparent);transform:scaleX(.3);opacity:.5;transition:all 0.5s cubic-bezier(.19,1,.22,1)}.resume-link:hover{color:#fff;text-shadow:0 0 15px rgb(255 255 255 / .5)}.resume-link:hover::after{transform:scaleX(1);opacity:.8}.resume-link i{margin-left:8px;font-size:.9em;transition:all 0.3s ease}.resume-link:hover i{transform:translateX(4px)}.language-badge.js{background-color:#f1e05a}.language-badge.python{background-color:#3572A5}.language-badge.html{background-color:#e34c26}.language-badge.jupyter{background-color:#DA5B0B}.language-badge.css{background-color:#563d7c}.language-badge.cpp{background-color:#f34b7d}.language-badge.java{background-color:#b07219}.language-badge.php{background-color:#4F5D95}.language-badge.ruby{background-color:#701516}.language-badge.go{background-color:#00ADD8}.language-badge.ts{background-color:#2b7489}.language-badge.c{background-color:#555}.parallax-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-2;overflow:hidden;will-change:transform;opacity:.5;pointer-events:none}#particles-js{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100vh;z-index:-1;pointer-events:auto;background:#121212}#particles-js canvas{position:absolute;display:block;width:100%;height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);pointer-events:auto}.shape{position:absolute;border-radius:50%;background:linear-gradient(45deg,#74747c,#3a3a3f);filter:blur(20px);opacity:.6;animation:float 20s infinite alternate}@keyframes float{0%{transform:translate(0,0) rotate(0deg) scale(1)}100%{transform:translate(20px,20px) rotate(360deg) scale(1.05)}}.container{position:relative;z-index:10}.lead{font-size:1.5rem;margin-bottom:30px;color:#b5bbc3;letter-spacing:.5px}.nav-transparent{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:all 0.4s cubic-bezier(.19,1,.22,1);border-bottom:none!important}.navbar{height:60px;min-height:60px;max-height:60px;padding:.5rem 1rem!important;transition:background-color 0.4s cubic-bezier(.19,1,.22,1),border-color 0.4s cubic-bezier(.19,1,.22,1),box-shadow 0.4s cubic-bezier(.19,1,.22,1)!important}.navbar-brand{padding:0!important;margin:0!important;height:auto!important}.navbar-nav{height:100%!important;display:flex;align-items:center}.navbar .nav-link{transition:all 0.4s ease;color:rgb(243 246 252 / .85);height:auto!important;padding:.5rem 1rem!important;line-height:1.2!important}.section-title{position:relative;margin-bottom:40px;padding-bottom:15px}.section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:2px;background:linear-gradient(90deg,transparent,#74747c,transparent)}.was-here{text-align:center;font-size:.8em;color:#888;margin-top:20px;padding-bottom:20px;opacity:.7}#vanta-background{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100vh;z-index:-1;pointer-events:none;background:#121212;will-change:transform}.mouse-trail-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;pointer-events:none;overflow:hidden}.mouse-trail-part{position:absolute;pointer-events:none;transform:translate(-50%,-50%);background:rgb(255 255 255 / .8);box-shadow:0 0 3px rgb(255 255 255 / .5);border-radius:50%;will-change:transform,opacity,width,height;transition:opacity 0.2s ease}section,nav,footer,.container{position:relative;z-index:10}.contact-link{color:#d2d8e2;text-decoration:none;position:relative;font-weight:500;transition:all 0.4s cubic-bezier(.19,1,.22,1);padding:3px 8px;border-radius:4px}.contact-link::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#d2d8e2,transparent);transform:scaleX(.3);opacity:.5;transition:all 0.5s cubic-bezier(.19,1,.22,1)}.contact-link:hover{color:#fff;text-shadow:0 0 15px rgb(255 255 255 / .8);box-shadow:0 0 15px rgb(255 255 255 / .3);animation:pulse 1.5s infinite;text-decoration:none}.contact-link:hover::after{transform:scaleX(1);opacity:.8;box-shadow:0 0 8px rgb(255 255 255 / .6)}@keyframes pulse{0%{text-shadow:0 0 5px rgb(255 255 255 / .8);box-shadow:0 0 5px rgb(255 255 255 / .3)}50%{text-shadow:0 0 20px rgb(255 255 255 / .8),0 0 30px rgb(255 255 255 / .4);box-shadow:0 0 15px rgb(255 255 255 / .5)}100%{text-shadow:0 0 5px rgb(255 255 255 / .8);box-shadow:0 0 5px rgb(255 255 255 / .3)}}.scroll-down-arrow{position:absolute;bottom:-100px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;animation:bounce-arrow 3.5s infinite ease-in-out;z-index:100;opacity:.4;cursor:default}.scroll-down-arrow svg{width:25px;height:25px;filter:drop-shadow(0 0 5px rgb(255 255 255 / .5))}.scroll-down-arrow svg path{stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}@keyframes bounce-arrow{0%,20%,50%,80%,100%{transform:translateY(0) translateX(-50%)}40%{transform:translateY(-8px) translateX(-50%)}60%{transform:translateY(-4px) translateX(-50%)}}.timeline{position:relative;max-width:900px;margin:0 auto;padding:20px 0}.timeline::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(180deg,rgb(255 255 255 / .02),rgb(255 255 255 / .2),rgb(255 255 255 / .02));transform:translateX(-50%);z-index:1}.timeline-item{position:relative;margin-bottom:40px;width:100%}.timeline-card{position:relative;width:calc(50% - 30px);margin-left:auto;padding:25px;border-radius:16px;background-color:rgb(255 255 255 / .05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgb(255 255 255 / .1);box-shadow:0 8px 24px rgb(0 0 0 / .12);transition:all 0.4s cubic-bezier(.19,1,.22,1);overflow:hidden;z-index:2}.timeline-card::before{content:'';position:absolute;left:-15px;top:25px;height:2px;width:15px;background-color:rgb(255 255 255 / .2);z-index:1}.timeline-card::after{content:'';position:absolute;left:-21px;top:22px;height:8px;width:8px;border-radius:50%;background-color:var(--accent-color);border:2px solid rgb(255 255 255 / .5);box-shadow:0 0 10px rgb(255 255 255 / .2);z-index:1}.timeline-item:nth-child(even) .timeline-card{margin-left:0;margin-right:auto}.timeline-item:nth-child(even) .timeline-card::before{left:auto;right:-15px}.timeline-item:nth-child(even) .timeline-card::after{left:auto;right:-21px}.timeline-card:hover{box-shadow:0 15px 35px rgb(0 0 0 / .18);border:1px solid rgb(255 255 255 / .18)}.timeline-card:hover::after{box-shadow:0 0 15px rgb(255 255 255 / .4)}.timeline-card-header{margin-bottom:15px;position:relative}.timeline-title{font-size:1.2rem;font-weight:600;margin-bottom:12px;color:var(--text-color);line-height:1.4}.timeline-date-badge{display:inline-block;padding:4px 12px;font-size:.8rem;color:#fff;background:rgb(255 255 255 / .12);border-radius:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgb(255 255 255 / .1);box-shadow:0 2px 8px rgb(0 0 0 / .08);margin-bottom:10px;transition:all 0.3s ease}.timeline-card-content p{font-size:.95rem;line-height:1.7;color:var(--secondary-text);margin-bottom:15px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.tech-tag{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:500;color:var(--text-color);background:rgb(255 255 255 / .08);border-radius:6px;transition:all 0.3s ease;border:1px solid rgb(255 255 255 / .05)}.timeline-card:hover .timeline-date-badge{background:rgb(255 255 255 / .18);box-shadow:0 4px 12px rgb(0 0 0 / .12)}.timeline-card:hover .tech-tag{background:rgb(255 255 255 / .12);transform:translateY(-2px)}.experience{padding:100px 20px;position:relative}.timeline-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgb(255 255 255 / .08) 0%,#fff0 70%);opacity:0;transform:translate3d(-100%,-100%,0) rotate(0deg);transition:opacity 0.5s,transform 1.2s;pointer-events:none;z-index:0}.timeline-card:hover::before{opacity:1;transform:translate3d(0,0,0) rotate(45deg)}.visual-timeline{max-width:900px;margin:0 auto 60px;padding:20px 0}.timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;position:relative}.timeline-start,.timeline-end{font-weight:600;padding:8px 15px;border-radius:12px;background:rgb(255 255 255 / .08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgb(255 255 255 / .1);box-shadow:0 4px 12px rgb(0 0 0 / .1);z-index:2}.timeline-line{position:absolute;height:3px;left:80px;right:80px;background:linear-gradient(90deg,rgb(255 255 255 / .3),rgb(255 255 255 / .5),rgb(255 255 255 / .3));border-radius:3px}.timeline-points{position:relative;padding:20px 0;display:flex;justify-content:space-between}.timeline-point{position:relative;display:flex;flex-direction:column;align-items:center;width:30%;transition:all 0.3s ease}.point-marker{width:15px;height:15px;border-radius:50%;background:rgb(255 255 255 / .2);border:2px solid rgb(255 255 255 / .3);margin-bottom:15px;position:relative;z-index:2;transition:all 0.3s ease}.point-marker::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:rgb(255 255 255 / .8);box-shadow:0 0 10px rgb(255 255 255 / .5)}.timeline-point.active .point-marker{width:20px;height:20px;background:rgb(255 255 255 / .3);border:2px solid rgb(255 255 255 / .7);box-shadow:0 0 15px rgb(255 255 255 / .3)}.timeline-point.future .point-marker{background:rgb(255 255 255 / .1);border:2px solid rgb(255 255 255 / .2)}.point-content{text-align:center;transition:all 0.3s ease}.point-date{font-size:.85rem;font-weight:600;margin-bottom:5px;color:var(--text-color);opacity:.8}.point-title{font-size:.9rem;color:var(--secondary-text);max-width:150px;margin:0 auto}.timeline-point.active .point-content{transform:translateY(0)}.timeline-point.active .point-date{opacity:1}.timeline-point:hover .point-marker{transform:scale(1.2);box-shadow:0 0 20px rgb(255 255 255 / .4)}.timeline-point:hover .point-content{transform:translateY(-5px)}html[data-theme="light"] .timeline-start,html[data-theme="light"] .timeline-end{background:rgb(0 0 0 / .05);border:1px solid rgb(0 0 0 / .08)}html[data-theme="light"] .timeline-line{background:linear-gradient(90deg,rgb(0 0 0 / .15),rgb(0 0 0 / .25),rgb(0 0 0 / .15))}html[data-theme="light"] .point-marker{background:rgb(0 0 0 / .1);border:2px solid rgb(0 0 0 / .2)}html[data-theme="light"] .point-marker::after{background:rgb(0 0 0 / .6);box-shadow:0 0 10px rgb(0 0 0 / .2)}html[data-theme="light"] .timeline-point.active .point-marker{background:rgb(0 0 0 / .15);border:2px solid rgb(0 0 0 / .4);box-shadow:0 0 15px rgb(0 0 0 / .1)}.branch-timeline{position:relative;max-width:1000px;margin:0 auto;padding:20px 0;min-height:400px}.timeline-stem{position:absolute;width:4px;top:0;bottom:0;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,rgb(255 255 255 / .05),rgb(255 255 255 / .2),rgb(255 255 255 / .05));border-radius:4px;z-index:1}.branch-item{position:relative;margin-bottom:80px;width:100%;display:flex;align-items:center}.branch-item.right{justify-content:flex-end}.branch-item.left{justify-content:flex-start}.branch-dot{position:absolute;width:16px;height:16px;border-radius:50%;background:rgb(255 255 255 / .2);border:2px solid rgb(255 255 255 / .6);left:50%;transform:translateX(-50%);z-index:2;box-shadow:0 0 15px rgb(255 255 255 / .3)}.branch-connector{position:absolute;height:3px;background:linear-gradient(90deg,rgb(255 255 255 / .2),rgb(255 255 255 / .4),rgb(255 255 255 / .2));z-index:1}.branch-item.right .branch-connector{width:calc(50% - 120px);right:50%}.branch-item.left .branch-connector{width:calc(50% - 120px);left:50%}.branch-card{width:45%;padding:25px;border-radius:16px;background-color:rgb(255 255 255 / .05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgb(255 255 255 / .1);box-shadow:0 8px 24px rgb(0 0 0 / .12);transition:all 0.4s cubic-bezier(.19,1,.22,1);z-index:2;position:relative;overflow:hidden}.branch-date{display:inline-block;padding:4px 12px;font-size:.8rem;color:#fff;background:rgb(255 255 255 / .12);border-radius:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgb(255 255 255 / .1);box-shadow:0 2px 8px rgb(0 0 0 / .08);margin-bottom:10px;transition:all 0.3s ease}.branch-title{font-size:1.2rem;font-weight:600;margin-bottom:12px;color:var(--text-color);line-height:1.4}.branch-content{font-size:.95rem;line-height:1.7;color:var(--secondary-text);margin-bottom:15px}.branch-card:hover{box-shadow:0 15px 35px rgb(0 0 0 / .18);border:1px solid rgb(255 255 255 / .18)}.branch-card:hover .branch-date{background:rgb(255 255 255 / .18);box-shadow:0 4px 12px rgb(0 0 0 / .12)}.branch-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgb(255 255 255 / .08) 0%,#fff0 70%);opacity:0;transform:translate3d(-100%,-100%,0) rotate(0deg);transition:opacity 0.5s,transform 1.2s;pointer-events:none;z-index:0}.branch-card:hover::before{opacity:1;transform:translate3d(0,0,0) rotate(45deg)}.future-marker .branch-dot{background:rgb(255 255 255 / .1);border:2px solid rgb(255 255 255 / .3);box-shadow:0 0 10px rgb(255 255 255 / .1)}.future-card{background-color:rgb(255 255 255 / .03);border:1px dashed rgb(255 255 255 / .08)}html[data-theme="light"] .timeline-stem{background:linear-gradient(180deg,rgb(0 0 0 / .05),rgb(0 0 0 / .15),rgb(0 0 0 / .05))}html[data-theme="light"] .branch-dot{background:rgb(0 0 0 / .1);border:2px solid rgb(0 0 0 / .3);box-shadow:0 0 10px rgb(0 0 0 / .1)}html[data-theme="light"] .branch-connector{background:linear-gradient(90deg,rgb(0 0 0 / .1),rgb(0 0 0 / .2),rgb(0 0 0 / .1))}html[data-theme="light"] .future-marker .branch-dot{background:rgb(0 0 0 / .05);border:2px solid rgb(0 0 0 / .15)}html[data-theme="light"] .future-card{border:1px dashed rgb(0 0 0 / .08)}.branch-date-label{position:absolute;top:-25px;left:50%;transform:translateX(-50%);background:rgb(255 255 255 / .12);color:var(--text-color);font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:10px;white-space:nowrap;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgb(255 255 255 / .05);box-shadow:0 2px 8px rgb(0 0 0 / .1);transition:all 0.3s ease;z-index:3}.branch-item:hover .branch-date-label{background:rgb(255 255 255 / .18);box-shadow:0 4px 12px rgb(0 0 0 / .15)}.contact-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;margin-top:10px;background:rgb(255 255 255 / .1);color:var(--text-color);border-radius:20px;text-decoration:none;font-size:.9rem;font-weight:500;border:1px solid rgb(255 255 255 / .1);transition:all 0.3s cubic-bezier(.19,1,.22,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.contact-button i{transition:transform 0.3s ease}.contact-button:hover{background:rgb(255 255 255 / .15);border-color:rgb(255 255 255 / .2);box-shadow:0 5px 15px rgb(0 0 0 / .15);text-decoration:none;color:#fff;transform:translateY(-3px)}.contact-button:hover i{transform:translateX(4px)}html[data-theme="light"] .branch-date-label{background:rgb(0 0 0 / .07);border:1px solid rgb(0 0 0 / .05);box-shadow:0 2px 8px rgb(0 0 0 / .05)}html[data-theme="light"] .branch-item:hover .branch-date-label{background:rgb(0 0 0 / .1)}html[data-theme="light"] .contact-button{background:rgb(0 0 0 / .07);border:1px solid rgb(0 0 0 / .05);color:var(--text-color)}html[data-theme="light"] .contact-button:hover{background:rgb(0 0 0 / .12);border-color:rgb(0 0 0 / .1);color:#000;box-shadow:0 5px 15px rgb(0 0 0 / .1)}.timeline-date-simple{position:absolute;font-size:.85rem;font-weight:500;color:var(--text-color);z-index:10;background:var(--bg-color);padding:0 8px;text-align:center;white-space:nowrap}.timeline-date-left{top:50%;left:calc(50% - 350px);transform:translate(-100%,-50%)}.future-marker .timeline-date-simple{top:50%;left:calc(50% + 350px);transform:translate(0,-50%)}.branch-dot{position:absolute}@media (max-width:768px){.timeline-date-left{left:58px;top:50%;transform:translate(-100%,-50%);font-size:.75rem}.future-marker .timeline-date-simple{left:88px;top:50%;transform:translate(0,-50%);font-size:.75rem}}.profile-photo-container{width:160px;height:160px;margin:0 auto 30px;position:relative}.profile-photo-wrapper{width:100%;height:100%;position:relative;border-radius:20px;overflow:hidden;cursor:pointer;box-shadow:0 8px 30px rgb(0 0 0 / .15);transition:all 0.5s cubic-bezier(.19,1,.22,1)}.profile-photo-wrapper:hover{transform:scale(1.05);box-shadow:0 15px 40px rgb(0 0 0 / .2)}.profile-photo-svg{position:absolute;top:0;left:0;width:100%;height:100%;stroke:var(--text-color);stroke-width:1;z-index:2;transition:opacity 0.5s ease,transform 0.5s ease;padding:15px}.profile-photo-real{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 0.28s cubic-bezier(.4,0,.2,1);transform:none}.profile-photo-real img{width:100%;height:100%;object-fit:cover;border-radius:20px}.profile-photo-wrapper:hover .profile-photo-svg{opacity:.3;transform:scale(.95)}.profile-photo-wrapper:hover .profile-photo-real{opacity:1;transform:none}html[data-theme="light"] .profile-photo-svg{stroke:var(--text-color)}@media (min-width:992px){.profile-photo-container{margin-bottom:40px}.profile-photo-wrapper{border-radius:25px}.profile-photo-wrapper:hover{transform:scale(1.08)}}.animated-title{margin-top:10px}.profile-photo-vector{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;transition:opacity 0.28s cubic-bezier(.4,0,.2,1);object-fit:cover;border-radius:20px;padding:0}.profile-photo-wrapper:hover .profile-photo-vector{opacity:0;transform:none}.position-title{display:inline-block;padding:6px 14px;font-size:.9rem;font-weight:500;color:var(--text-color);background:rgb(255 255 255 / .08);border-radius:50px;margin-top:12px;margin-bottom:15px;border:1px solid rgb(255 255 255 / .1);box-shadow:0 3px 10px rgb(0 0 0 / .15);transition:all 0.3s cubic-bezier(.19,1,.22,1);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transform:translateY(0)}.branch-card:hover .position-title{background:rgb(255 255 255 / .12);transform:translateY(0);box-shadow:0 5px 15px rgb(0 0 0 / .2)}.work-period{display:inline-block;padding:4px 12px;font-size:.8rem;color:var(--secondary-text);background:rgb(255 255 255 / .05);border-radius:30px;margin:5px 0 15px;border:1px solid rgb(255 255 255 / .08);box-shadow:0 2px 8px rgb(0 0 0 / .1);transition:all 0.3s cubic-bezier(.19,1,.22,1);letter-spacing:.3px}.branch-card:hover .work-period{background:rgb(255 255 255 / .08);transform:translateY(0);box-shadow:0 4px 12px rgb(0 0 0 / .15)}html[data-theme="light"] .position-title{background:rgb(0 0 0 / .05);border:1px solid rgb(0 0 0 / .05);color:var(--text-color);box-shadow:0 3px 10px rgb(0 0 0 / .08)}html[data-theme="light"] .branch-card:hover .position-title{background:rgb(0 0 0 / .07);box-shadow:0 5px 15px rgb(0 0 0 / .1)}html[data-theme="light"] .work-period{background:rgb(0 0 0 / .03);border:1px solid rgb(0 0 0 / .04);color:var(--secondary-text);box-shadow:0 2px 8px rgb(0 0 0 / .05)}html[data-theme="light"] .branch-card:hover .work-period{background:rgb(0 0 0 / .05);box-shadow:0 4px 12px rgb(0 0 0 / .08)}:root{--bg-color:#121212;--bg-color-rgb:18, 23, 35;--text-color:#d2d8e2;--secondary-text:#a0a0a8;--accent-color:#74747c;--card-bg:#232324;--card-border:rgba(255, 255, 255, 0.03);--card-shadow:rgba(0, 0, 0, 0.15);--header-color:#74747c;--link-color:#b5bbc3;--link-hover:#f3f6fc;--social-bg:rgba(255, 255, 255, 0.03);--theme-transition:background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease, box-shadow 0.5s ease;--navbar-border:rgba(255, 255, 255, 0.1)}html[data-theme="light"]{--bg-color:#f0f2f5;--bg-color-rgb:240, 242, 245;--text-color:#2d2d35;--secondary-text:#4a4a54;--accent-color:#555559;--card-bg:#ffffff;--card-border:rgba(0, 0, 0, 0.08);--card-shadow:rgba(0, 0, 0, 0.06);--header-color:#555559;--link-color:#424249;--link-hover:#1e1e24;--social-bg:rgba(0, 0, 0, 0.02);--navbar-border:rgba(0, 0, 0, 0.15)}.theme-toggle{position:fixed;bottom:20px;right:20px;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;z-index:9999;transition:all 0.3s ease;box-shadow:0 3px 12px rgb(0 0 0 / .15);overflow:hidden;opacity:1!important;visibility:visible!important;transform:translateZ(0)}.theme-toggle:hover{transform:scale(1.05);box-shadow:0 4px 18px rgb(0 0 0 / .25)}.theme-toggle svg{width:24px;height:24px;fill:var(--text-color);transition:all 0.5s cubic-bezier(.19,1,.22,1);transform-origin:center;position:absolute}.theme-toggle .sun-icon,.theme-toggle .moon-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all 0.5s cubic-bezier(.19,1,.22,1)}html[data-theme="dark"] .sun-icon{opacity:1;transform:translate(-50%,-50%) rotate(0)}html[data-theme="dark"] .moon-icon{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scale(0)}html[data-theme="light"] .sun-icon{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(0)}html[data-theme="light"] .moon-icon{opacity:1;transform:translate(-50%,-50%) rotate(0)}body{background-color:var(--bg-color)!important;color:var(--text-color)!important;transition:var(--theme-transition)}h1{color:var(--header-color)}h1::after{background-color:var(--header-color)}ul#repo-list a{color:var(--link-color)}ul#repo-list a:hover{color:var(--link-hover)}ul#repo-list p{color:var(--secondary-text)}social-icons a{color:var(--text-color);background:var(--social-bg);border:1px solid var(--card-border)}.social-icons a:hover{color:var(--link-hover)}.lead{color:var(--secondary-text)}.navbar{border-bottom:none;transition:var(--theme-transition)}.navbar .nav-link{color:var(--text-color);transition:all 0.4s ease;position:relative}.navbar .nav-link:hover{color:var(--link-hover)}.navbar .nav-link.active{color:var(--link-hover);font-weight:500}.navbar .nav-link::after{content:'';position:absolute;bottom:-3px;left:50%;width:0;height:2px;background-color:var(--accent-color);transform:translateX(-50%);transition:width 0.3s ease}.navbar .nav-link:hover::after,.navbar .nav-link.active::after{width:80%}.navbar.scrolled{border-bottom:1px solid var(--navbar-border)}.contact-link{color:var(--text-color)}.contact-link:hover{color:var(--link-hover)}@media (max-width:768px){.navbar-collapse{background-color:var(--bg-color)!important;border-top:1px solid var(--navbar-border);box-shadow:0 10px 20px rgb(0 0 0 / .1)}html[data-theme="light"] .navbar-collapse{background-color:rgb(240 242 245 / .95)!important;border-top:1px solid var(--navbar-border)}}html[data-theme="light"] ul#repo-list li{box-shadow:0 8px 32px 0 rgba(31,38,135,0.15);border:1px solid rgba(0,0,0,0.08);background:rgba(255,255,255,0.15);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%)}html[data-theme="light"] .scroll-down-arrow svg path{stroke:rgb(0 0 0 / .8);filter:none}html[data-theme="light"] .scroll-down-arrow svg{filter:drop-shadow(0 0 3px rgb(0 0 0 / .3))}html[data-theme="light"] ul#repo-list li::before{background:linear-gradient(180deg,#6d6d75,#555559);opacity:.8}html[data-theme="light"] ul#repo-list li:hover{transform:translateY(-7px) scale(1.01);box-shadow:0 15px 45px 0 rgba(31,38,135,0.25);border:1px solid rgba(0,0,0,0.18)}html[data-theme="light"] .social-icons a{background:#fff;border:1px solid rgb(0 0 0 / .05);box-shadow:0 2px 10px rgb(0 0 0 / .05)}html[data-theme="light"] .social-icons a:hover{border:1px solid rgb(85 85 89 / .3);box-shadow:0 5px 15px rgb(85 85 89 / .2)}html[data-theme="light"] .social-icons a::before{background:linear-gradient(135deg,rgb(85 85 89 / .05) 0%,rgb(85 85 89 / .1) 50%,rgb(85 85 89 / .05) 100%)}html[data-theme="light"] .social-icons a::after{background:rgb(255 255 255 / .9)}html[data-theme="light"] .navbar{background-color:rgb(240 242 245 / .8)!important;border-bottom:none!important;backdrop-filter:blur(8px);height:60px;min-height:60px;max-height:60px}html[data-theme="light"] .navbar.scrolled{background:rgb(240 242 245 / .85)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;box-shadow:0 4px 24px 0 rgb(0 0 0 / .1)!important;border-bottom:1px solid var(--navbar-border)!important;height:60px;min-height:60px;max-height:60px}html[data-theme="light"] .navbar .nav-link{color:#333}html[data-theme="light"] .navbar .nav-link:hover{color:#555559;text-shadow:none}html[data-theme="light"] .navbar .nav-link::after{background-color:#555559}html[data-theme="light"] .nav-transparent.scrolled{background:rgb(240 242 245 / .85)!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;box-shadow:0 4px 24px 0 rgb(0 0 0 / .1)!important;border-bottom:1px solid var(--navbar-border)}html[data-theme="light"] .section-title::after{background:linear-gradient(90deg,transparent,#555559,transparent)}html[data-theme="light"] .contact-link:hover{color:#555559;text-shadow:none;box-shadow:0 0 10px rgb(85 85 89 / .2)}html[data-theme="light"] #particles-js{background:var(--bg-color);opacity:.7}#particles-js{background:var(--bg-color);transition:background-color 0.5s ease}@keyframes themeChange{0%{filter:brightness(1)}50%{filter:brightness(1.2)}100%{filter:brightness(1)}}@media (max-width:768px){.intro{padding:20px;height:100vh}h1{font-size:2rem}.lead{font-size:1.2rem}section{padding:60px 15px}.social-icons{flex-direction:row;align-items:center}.social-icons a{font-size:22px;margin:0 10px;height:40px;width:40px}ul#repo-list li{padding:20px;margin:20px 0;border-radius:12px;box-shadow:0 6px 16px rgb(0 0 0 / .18);width:100%}.navbar{background:rgba(var(--bg-color-rgb),0.95)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;padding:12px 0!important}.navbar-toggler{border:none;padding:0.25rem 0.5rem;font-size:1.25rem;line-height:1;background:transparent;border-radius:4px;z-index:1001}.navbar-toggler:focus{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,0.3)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-collapse{position:fixed;top:60px;left:0;right:0;background:rgba(var(--bg-color-rgb),0.98);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-height:0;overflow:hidden;transition:max-height 0.3s ease;border-bottom:1px solid rgba(255,255,255,0.1);z-index:1000}.navbar-collapse.show{max-height:300px}.navbar-nav{flex-direction:column;padding:1rem 0;width:100%}.navbar-nav .nav-link{padding:0.75rem 1.5rem!important;color:rgba(255,255,255,0.85)!important;font-size:1rem;text-align:left;transition:all 0.2s ease}.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus{background:rgba(255,255,255,0.1);color:#ffffff!important}.scroll-indicator{bottom:15px}.language-badge{margin-top:5px;margin-left:0;display:inline-block;font-size:10px;padding:3px 8px}ul#repo-list a{display:block;margin-bottom:8px}#particles-js{opacity:.4}#about{min-height:auto;padding:60px 15px}.nav-transparent,.nav-transparent.scrolled{background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.timeline::before{left:30px}.timeline-card{width:calc(100% - 60px);margin-left:60px;margin-right:0}.timeline-item:nth-child(even) .timeline-card{margin-left:60px;margin-right:0}.timeline-card::before{left:-30px;width:30px}.timeline-card::after{left:-36px}.timeline-item:nth-child(even) .timeline-card::before{left:-30px;right:auto}.timeline-item:nth-child(even) .timeline-card::after{left:-36px;right:auto}.timeline-title{font-size:1.1rem}.timeline-card-content p{font-size:.9rem}.tech-tags{gap:6px}.tech-tag{font-size:.7rem;padding:3px 8px}.visual-timeline{margin-bottom:40px}.timeline-header{margin-bottom:20px}.timeline-start,.timeline-end{font-size:.8rem;padding:6px 12px}.timeline-line{left:50px;right:50px}.timeline-point{width:30%}.point-date{font-size:.75rem}.point-title{font-size:.8rem;max-width:100px}.branch-timeline{padding:10px 0}.timeline-stem{left:20px;transform:none}.branch-item{justify-content:flex-start;margin-bottom:60px;width:100%}.branch-item.right,.branch-item.left{justify-content:flex-start}.branch-dot{left:20px;transform:none}.branch-connector{width:30px;left:28px}.branch-item.right .branch-connector,.branch-item.left .branch-connector{width:30px;right:auto;left:28px}.branch-card{width:calc(100% - 60px);margin-left:50px;padding:20px;box-shadow:0 8px 20px rgb(0 0 0 / .15);border-radius:12px}.branch-title{font-size:1.1rem;margin-bottom:10px}.branch-content{font-size:.9rem;line-height:1.6;margin-bottom:12px}.branch-date-label{top:-20px;font-size:.65rem;padding:1px 6px;left:-25px;transform:none}.contact-button{padding:6px 12px;font-size:.8rem}.timeline-date-simple{top:-1px;left:auto!important;transform:none!important;font-size:.75rem;right:auto!important;background:var(--bg-color);padding:0 5px;display:none}.branch-item.left .timeline-date-simple,.branch-item.right .timeline-date-simple{left:28px!important;right:auto!important;transform:none!important;margin-left:0}}@media (max-width:480px){h1{font-size:1.8rem}.lead{font-size:1rem}#about p{font-size:.95rem;line-height:1.6}.social-icons a{font-size:18px;margin:0 8px;height:35px;width:35px}.btn-cv{padding:6px 12px;font-size:.9rem}.timeline-card{padding:20px;border-radius:12px}.branch-card{width:calc(100% - 50px);margin-left:40px;padding:18px}ul#repo-list li{padding:18px;margin:18px 0}ul#repo-list p{font-size:.85rem;line-height:1.6}.tech-tags{flex-wrap:wrap;gap:5px}.tech-tag{font-size:.65rem;padding:2px 6px;white-space:nowrap}.timeline-title{font-size:1rem}.timeline-date-badge{font-size:.75rem;padding:3px 10px}.timeline-point{width:33.333%}.timeline-line{left:30px;right:30px}.timeline-start,.timeline-end{font-size:.7rem;padding:5px 10px}.point-marker{width:12px;height:12px;margin-bottom:10px}.timeline-point.active .point-marker{width:16px;height:16px}.point-title{font-size:.75rem;max-width:80px}.branch-date-label{font-size:.6rem;left:-20px}.branch-title{font-size:1rem}.contact-button{padding:5px 10px;font-size:.75rem}.timeline-date-simple{font-size:.7rem}}@media (min-width:768px) and (max-width:992px){h1{font-size:2.2rem}section{padding:70px 20px}ul#repo-list li{padding:18px}}@media (min-width:992px){.nav-transparent{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:all 0.3s ease;padding:20px 0;box-shadow:none!important}.nav-transparent.scrolled{background:transparent!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;box-shadow:0 4px 24px 0 rgb(0 0 0 / .18)!important;padding:12px 0;border-bottom:1px solid rgb(255 255 255 / .04)}.navbar .nav-link{padding:.5rem 1rem;margin:0 5px;position:relative;color:rgb(243 246 252 / .85);transition:color 0.3s ease}.navbar .nav-link::after{content:none}.navbar .nav-link:hover{color:#fff;text-shadow:0 0 8px rgb(255 255 255 / .6)}}@media(prefers-reduced-motion){.hidden{transition:none}.show{transition-delay:0.4s}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}.contact-section{padding:100px 20px;}.contact-form-container{max-width:700px;margin:0 auto}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column}.form-group label{font-size:0.9rem;font-weight:600;margin-bottom:8px;color:var(--text-color);letter-spacing:0.3px}.form-group input,.form-group textarea{padding:12px 16px;background:rgba(var(--bg-color-rgb),0.3);border:1px solid var(--card-border);border-radius:8px;color:var(--text-color);font-size:0.95rem;font-family:inherit;transition:all 0.3s ease;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);background:rgba(var(--bg-color-rgb),0.5);box-shadow:0 0 0 3px rgba(116,116,124,0.1)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--secondary-text);opacity:0.6}.submit-btn{padding:14px 32px;background:linear-gradient(135deg,var(--accent-color),var(--link-color));color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s cubic-bezier(.19,1,.22,1);display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 12px rgba(0,0,0,0.15);align-self:flex-start}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.25)}.submit-btn:active{transform:translateY(0)}.submit-btn i{transition:transform 0.3s ease}.submit-btn:hover i{transform:translateX(3px)}.form-status{margin-top:10px;padding:12px 16px;border-radius:8px;font-size:0.9rem;display:none}.form-status.success{display:block;background:rgba(76,175,80,0.2);border:1px solid rgba(76,175,80,0.4);color:#4caf50}.form-status.error{display:block;background:rgba(244,67,54,0.2);border:1px solid rgba(244,67,54,0.4);color:#f44336}html[data-theme="light"] .form-group input,html[data-theme="light"] .form-group textarea{background:rgba(255,255,255,0.8);border-color:rgba(0,0,0,0.1)}html[data-theme="light"] .form-group input:focus,html[data-theme="light"] .form-group textarea:focus{border-color:var(--accent-color);background:rgba(255,255,255,1);box-shadow:0 0 0 3px rgba(85,85,89,0.1)}
