:root{--bg-dark: #0f1115;--bg-panel: #161b22;--text-main: #c9d1d9;--text-bold: #ffffff;--accent: #58a6ff;--accent-glow: rgba(88, 166, 255, 0.15);--secondary: #238636;--border: #30363d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:'Inter', sans-serif;line-height:1.8;font-size:16px}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:2000}.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;padding:8px 12px;background:var(--bg-panel);border:1px solid var(--accent);border-radius:6px}strong,b{color:var(--accent);font-weight:700}h1,h2,h3{color:#fff;margin-top:2rem;margin-bottom:1rem}h1{font-size:2.5rem;background:linear-gradient(90deg, #58a6ff, #bc8cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.navbar{background:rgba(15,17,21,0.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;padding:1rem 0}.nav-container{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 20px}.nav-brand-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;line-height:1;margin-right:20px}.brand-img{width:32px;height:auto;margin-bottom:4px;filter:drop-shadow(0 0 5px rgba(88,166,255,0.4));transition:transform 0.3s ease}.brand-text{font-family:'JetBrains Mono', monospace;font-weight:800;font-size:0.85rem;color:#fff;letter-spacing:1px;text-transform:uppercase}.nav-brand-stack:hover .brand-img{transform:scale(1.1)}.nav-brand-stack:hover .brand-text{color:var(--accent)}.navbar{padding:0.5rem 0}.nav-links a{color:var(--text-main);text-decoration:none;margin-left:30px;font-size:0.95rem;transition:color 0.3s}.nav-links a:hover{color:var(--accent)}.main-content{padding:40px 20px}.container{max-width:1000px;margin:0 auto}pre,code{font-family:'JetBrains Mono', monospace;background-color:#1a1e24;border-radius:6px;font-size:0.9em}ul{margin-left:20px}li{margin-bottom:10px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.footer{text-align:center;padding:40px;color:#484f58;font-size:0.8rem;border-top:1px solid var(--border);margin-top:60px}#particles-js{position:fixed !important;top:0;left:0;width:100%;height:100%;z-index:-10;background-color:var(--bg-dark);pointer-events:auto}body,.main-content,.container{background-color:transparent !important}#particles-js canvas{display:block;vertical-align:bottom}.profile-container{display:flex;flex-wrap:wrap;gap:60px;margin-top:40px;align-items:flex-start}.profile-sidebar{flex:1;min-width:250px;text-align:center}.profile-pic{width:200px;height:200px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);box-shadow:0 0 20px rgba(88,166,255,0.3);margin-bottom:20px}.profile-name{font-size:2rem;color:#fff;margin-bottom:5px}.profile-role{font-size:1rem;color:var(--text-main);font-weight:300;margin-bottom:20px}.social-icons{display:flex;justify-content:center;gap:15px;margin-top:20px}.social-icons a{color:var(--text-main);font-size:1.8rem;transition:all 0.3s ease}.social-icons a:hover{transform:translateY(-3px) scale(1.1);color:var(--accent);text-shadow:0 0 10px var(--accent-glow)}.profile-content{flex:2;min-width:300px}.section-title{font-size:2rem;color:#fff;border-bottom:2px solid var(--border);padding-bottom:10px;margin-bottom:20px}.info-grid{display:flex;gap:40px;margin-top:30px}.info-column{flex:1}.info-column h3{color:#fff;font-size:1.2rem;margin-bottom:15px}ul.clean-list{list-style:none;margin:0;padding:0}ul.clean-list li{margin-bottom:10px;display:flex;align-items:center;gap:10px}ul.clean-list i{color:var(--text-main);font-size:0.9em}.lang-switcher{margin-left:20px;display:inline-flex;gap:10px;border-left:1px solid var(--border);padding-left:20px}.lang-btn{appearance:none;background:transparent;border:none;cursor:pointer;font-size:0.8rem;color:var(--text-main);font-weight:600;font-family:inherit;transition:color 0.3s}.lang-btn:hover,.lang-btn.active{color:var(--accent)}.lang-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.timeline{position:relative;max-width:900px;margin:40px auto;padding-left:30px}.timeline::before{content:'';position:absolute;top:0;bottom:0;left:6px;width:2px;background:var(--border);border-radius:2px}.timeline-item{position:relative;margin-bottom:40px}.timeline-dot{position:absolute;left:-30px;top:0;width:14px;height:14px;border-radius:50%;background-color:var(--bg-dark);border:2px solid var(--accent);box-shadow:0 0 10px var(--accent-glow);z-index:1;transition:all 0.3s ease}.timeline-item:hover .timeline-dot{background-color:var(--accent);transform:scale(1.3);box-shadow:0 0 20px var(--accent)}.timeline-content{background-color:var(--bg-panel);padding:25px;border-radius:8px;border:1px solid var(--border);box-shadow:0 4px 6px rgba(0,0,0,0.3);transition:transform 0.3s ease}.timeline-item:hover .timeline-content{transform:translateX(5px);border-color:var(--accent)}.role-title{font-size:1.3rem;color:#fff;font-weight:700;margin-bottom:5px}.company-name{font-size:1rem;color:var(--accent);font-family:'JetBrains Mono', monospace;margin-bottom:5px}.job-date{font-size:0.85rem;color:#6e7681;margin-bottom:15px;display:block;font-style:italic}.job-details li{margin-bottom:8px;color:var(--text-main);font-size:0.95rem}.pub-section{margin-bottom:50px}.pub-category-title{font-size:1.5rem;color:#fff;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:25px;margin-top:40px}.pub-item{margin-bottom:25px;padding-left:15px;border-left:2px solid transparent;transition:all 0.2s ease}.pub-item:hover{border-left:2px solid var(--accent);background:rgba(255,255,255,0.02)}.pub-text{color:var(--text-main);font-size:1rem;line-height:1.6}.author-highlight{color:#fff;font-weight:700;border-bottom:1px dotted var(--accent)}.journal-name{font-style:italic;color:#aab2bf}.pub-badges{margin-top:8px;display:flex;gap:10px}.badge-link{display:inline-block;font-size:0.75rem;font-family:'JetBrains Mono', monospace;padding:3px 8px;border:1px solid var(--accent);border-radius:4px;color:var(--accent) !important;text-decoration:none;transition:all 0.2s ease}.badge-link:hover{background-color:var(--accent);color:#fff !important;text-decoration:none;transform:translateY(-2px)}.project-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:30px;margin-top:40px}.project-card{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:25px;transition:all 0.3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}.project-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 10px 30px rgba(0,0,0,0.3)}.project-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg, var(--accent), #bc8cff);opacity:0;transition:opacity 0.3s}.project-card:hover::before{opacity:1}.project-title{font-size:1.2rem;color:#fff;margin-bottom:10px;font-weight:700}.project-desc{font-size:0.95rem;color:var(--text-main);flex-grow:1;margin-bottom:20px}.tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tech-tag{font-size:0.75rem;font-family:'JetBrains Mono', monospace;color:var(--accent);background:rgba(88,166,255,0.1);padding:4px 8px;border-radius:4px;border:1px solid rgba(88,166,255,0.2)}.project-links{margin-top:20px;border-top:1px solid var(--border);padding-top:15px;display:flex;gap:15px}.project-link-icon{color:var(--text-main);font-size:1.1rem;transition:color 0.2s}.project-link-icon:hover{color:var(--accent)}.talks-year-group{margin-bottom:60px}.year-label{font-size:2rem;color:var(--accent);font-weight:800;border-bottom:2px solid var(--border);padding-bottom:10px;margin-bottom:30px;display:inline-block}.talk-card{background-color:var(--bg-panel);border-left:4px solid var(--accent);padding:25px;margin-bottom:25px;border-radius:0 8px 8px 0;transition:transform 0.2s ease, box-shadow 0.2s ease}.talk-card:hover{transform:translateX(10px);box-shadow:0 5px 15px rgba(0,0,0,0.3);background-color:#1c2129}.talk-title{font-size:1.3rem;color:#fff;margin-bottom:10px;font-weight:700}.talk-meta{font-family:'JetBrains Mono', monospace;font-size:0.85rem;color:#8b949e;margin-bottom:15px;display:flex;gap:15px;flex-wrap:wrap}.talk-meta span{display:flex;align-items:center;gap:6px}.talk-details-list{margin-top:15px;padding-left:20px;color:var(--text-main)}.talk-details-list li{margin-bottom:5px}.talk-links{margin-top:20px;display:flex;gap:15px}.talk-btn{font-size:0.8rem;padding:6px 12px;border:1px solid var(--border);border-radius:4px;color:var(--accent);text-decoration:none;transition:all 0.2s;display:inline-flex;align-items:center;gap:8px}.talk-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-youtube:hover{background-color:#ff0000;border-color:#ff0000;color:#fff;box-shadow:0 0 15px rgba(255,0,0,0.4)}.btn-zenodo:hover{background-color:#ffffff;border-color:#ffffff;color:#000;box-shadow:0 0 15px rgba(255,255,255,0.2)}.btn-github:hover{background-color:#2dba4e;border-color:#2dba4e;color:#fff}.btn-facebook:hover{background-color:#1877F2;border-color:#1877F2;color:#fff;box-shadow:0 0 15px rgba(24,119,242,0.4)}@supports not (backdrop-filter: blur(10px)){.navbar{background:rgba(15,17,21,0.97)}}@supports not (display: grid){.project-grid,.blog-grid,.contact-container{display:flex;flex-wrap:wrap;gap:20px}.project-card,.blog-card,.contact-info-card,.contact-form-wrapper{flex:1 1 320px}}@supports not (display: flex){.nav-container,.profile-container,.info-grid,.social-icons,.project-links,.talk-links{display:block}.nav-links a{display:inline-block;margin:0 16px 8px 0}.project-links .project-link-icon,.talk-links .talk-btn{display:inline-block;margin-right:12px;margin-top:8px}}html.no-css-supports .navbar,html.no-backdrop-filter .navbar{background:rgba(15,17,21,0.97)}html.no-css-supports .project-grid,html.no-css-supports .blog-grid,html.no-css-supports .contact-container,html.no-css-grid .project-grid,html.no-css-grid .blog-grid,html.no-css-grid .contact-container{display:flex;flex-wrap:wrap;gap:20px}html.no-css-supports .project-card,html.no-css-supports .blog-card,html.no-css-supports .contact-info-card,html.no-css-supports .contact-form-wrapper,html.no-css-grid .project-card,html.no-css-grid .blog-card,html.no-css-grid .contact-info-card,html.no-css-grid .contact-form-wrapper{flex:1 1 320px}html.no-css-supports .nav-container,html.no-css-supports .profile-container,html.no-css-supports .info-grid,html.no-css-supports .social-icons,html.no-css-supports .project-links,html.no-css-supports .talk-links,html.no-css-flex .nav-container,html.no-css-flex .profile-container,html.no-css-flex .info-grid,html.no-css-flex .social-icons,html.no-css-flex .project-links,html.no-css-flex .talk-links{display:block}.contact-container{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;margin-top:40px;align-items:start}@media (max-width: 768px){.contact-container{grid-template-columns:1fr;gap:40px}}.contact-info-card{background:var(--bg-panel);padding:30px;border-radius:12px;border:1px solid var(--border)}.contact-method{margin-bottom:25px}.contact-label{font-size:0.85rem;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;display:block;font-weight:700}.contact-value{font-size:1.1rem;color:#fff;font-family:'JetBrains Mono', monospace;text-decoration:none}.contact-value:hover{text-decoration:underline;color:var(--accent)}.contact-form-group{margin-bottom:25px;position:relative}.form-input,.form-textarea{width:100%;background:transparent;border:none;border-bottom:2px solid var(--border);padding:15px 0;color:#fff;font-size:1rem;font-family:'Inter', sans-serif;transition:all 0.3s ease}.form-textarea{resize:vertical;min-height:120px}.form-input:focus,.form-textarea:focus{outline:none;border-bottom-color:var(--accent);box-shadow:0 10px 20px -10px var(--accent-glow)}.form-label-float{position:absolute;top:15px;left:0;color:#8b949e;pointer-events:none;transition:all 0.3s ease}.form-input:focus ~ .form-label-float,.form-input:valid ~ .form-label-float,.form-textarea:focus ~ .form-label-float,.form-textarea:valid ~ .form-label-float{top:-10px;font-size:0.8rem;color:var(--accent)}.submit-btn{background:transparent;border:2px solid var(--accent);color:var(--accent);padding:12px 30px;font-size:1rem;font-weight:700;cursor:pointer;border-radius:4px;transition:all 0.3s;text-transform:uppercase;letter-spacing:1px}.submit-btn:hover{background:var(--accent);color:#fff;box-shadow:0 0 20px var(--accent-glow)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:30px;margin-top:40px}.blog-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:25px;transition:transform 0.3s ease, border-color 0.3s ease;display:flex;flex-direction:column}.blog-card:hover{transform:translateY(-5px);border-color:var(--accent)}.blog-title{font-size:1.2rem;color:#fff;margin-bottom:10px;line-height:1.4}.blog-excerpt{color:var(--text-main);font-size:0.9rem;flex-grow:1;margin-bottom:20px}.blog-date{font-size:0.8rem;color:#6e7681;font-family:'JetBrains Mono', monospace}.read-more-btn{color:var(--accent);text-decoration:none;font-weight:700;font-size:0.9rem;display:inline-flex;align-items:center;gap:5px}.read-more-btn:hover{text-decoration:underline}.post-container{max-width:700px;margin:0 auto 60px auto}.post-header{text-align:center;margin-bottom:40px;border-bottom:1px solid var(--border);padding-bottom:20px}.post-title{font-size:2.5rem;color:#fff;margin-bottom:10px}.post-meta{color:#8b949e;font-family:'JetBrains Mono', monospace;font-size:0.9rem}.post-content{color:var(--text-main);line-height:1.8;font-size:1.1rem}.post-content h2{color:#fff;margin-top:40px;margin-bottom:20px}.post-content h3{color:#fff;margin-top:30px;margin-bottom:15px}.post-content p{margin-bottom:20px}.post-content ul,.post-content ol{margin-bottom:20px;padding-left:20px}.post-content code{background:rgba(255,255,255,0.1);padding:2px 5px;border-radius:4px;font-family:'JetBrains Mono', monospace;color:var(--accent)}.post-content blockquote{border-left:4px solid var(--accent);padding-left:20px;color:#8b949e;font-style:italic}.post-content img{max-width:100%;border-radius:8px;margin:20px 0}.back-link{display:inline-block;margin-bottom:30px;color:var(--text-main);text-decoration:none;transition:color 0.2s}.back-link:hover{color:var(--accent)}.lang-block{display:none;animation:fadeIn 0.5s ease}.lang-block.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.blog-meta-lang{display:none}.blog-meta-lang.active{display:block}.terminal-window{background-color:#0d1117;border:1px solid #30363d;border-radius:8px;overflow:hidden;margin-top:20px;margin-bottom:20px;box-shadow:0 4px 10px rgba(0,0,0,0.5)}.terminal-header{background-color:#161b22;padding:8px 15px;display:flex;align-items:center;border-bottom:1px solid #30363d}.terminal-button{width:10px;height:10px;border-radius:50%;margin-right:6px}.terminal-button.red{background-color:#ff5f56}.terminal-button.yellow{background-color:#ffbd2e}.terminal-button.green{background-color:#27c93f}.terminal-title{color:#8b949e;font-family:'JetBrains Mono', monospace;font-size:0.75rem;margin-left:10px}.terminal-body{padding:15px;font-family:'JetBrains Mono', monospace;font-size:0.8rem;line-height:1.5;overflow-x:auto;color:#c9d1d9}.syntax-keyword{color:#ff7b72}.syntax-type{color:#ffc233}.syntax-function{color:#d2a8ff}.syntax-comment{color:#8b949e;font-style:italic}.showcase-container{display:flex;gap:30px;margin-top:20px;align-items:flex-start}.showcase-visual{flex:1;display:flex;flex-direction:column;gap:15px}.showcase-visual img{width:100%;height:auto;border-radius:8px;border:1px solid var(--border);box-shadow:0 4px 10px rgba(0,0,0,0.5);transition:transform 0.3s ease}.showcase-visual img:hover{transform:scale(1.02);border-color:var(--accent)}.showcase-terminal{flex:1.5;position:sticky;top:20px}@media (max-width: 768px){.showcase-container{flex-direction:column}.showcase-terminal{position:static;width:100%}}
