﻿html{background-color:#000;min-height:100%}body{background:#000;color:#aaa;font-family:monospace;max-width:800px;margin:2rem auto;padding:0 1rem;line-height:1.5}a{color:#f05;text-decoration:none;transition:all .3s ease}a:hover{color:#7dcfff;text-shadow:0 0 5px rgba(125,207,255,.8);text-decoration:none;outline:none}header{margin-bottom:2rem}header nav a{margin-right:1rem;font-weight:bold}header hr{border:0;border-bottom:1px solid #f05;margin-top:1rem}h1,h2,h3{margin-top:2rem;color:#fff}pre{background:#111;padding:1rem;border:1px solid #333;overflow-x:auto;background-color:#111 !important}ul{list-style:none;padding:0}ul li{margin-bottom:1rem}ul li span{color:#888;margin-left:.5rem}blockquote{border-left:3px solid #f05;margin-left:0;padding-left:1rem;color:#888;font-style:italic}a.no-underline{text-decoration:none !important}a.no-underline:hover{text-decoration:none !important}.btn-print{background:rgba(0,0,0,0);color:#f05;border:1px solid #f05;font-family:"JetBrains Mono","Fira Code",monospace;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-print:hover{background:#f05;color:#000;box-shadow:0 0 10px #f05}.btn-download{font-family:"JetBrains Mono","Fira Code",monospace;font-size:1rem;text-decoration:none;padding:.5rem 1rem;transition:all .3s ease;background:rgba(255,0,85,.1);color:#f05;border:1px solid #f05;cursor:pointer;display:inline-block}.btn-download:hover{background:rgba(125,207,255,.1);color:#7dcfff;border-color:#7dcfff;box-shadow:0 0 10px rgba(125,207,255,.5),0 0 20px rgba(125,207,255,.3);text-decoration:none}.icon-link{display:inline-block;vertical-align:middle;line-height:0;transition:transform .2s}.icon-link .icon-github,.icon-link .icon-book,.icon-link .icon-paper,.icon-link .icon-mail,.icon-link .icon-linkedin,.icon-link .icon-orcid,.icon-link .icon-researchgate,.icon-link .icon-download,.icon-link img{display:block;transition:all .2s}a:hover .icon-link{transform:scale(1.1);text-decoration:none}a:hover .icon-link .icon-github,a:hover .icon-link .icon-book,a:hover .icon-link .icon-paper,a:hover .icon-link .icon-mail,a:hover .icon-link .icon-linkedin,a:hover .icon-link .icon-orcid,a:hover .icon-link .icon-researchgate,a:hover .icon-link .icon-download,a:hover .icon-link img{filter:drop-shadow(0 0 4px #f05)}.resume-actions{text-align:center;margin-top:2rem;margin-bottom:1rem}header.resume-container,.resume-container header{text-align:center}header.resume-container h1,.resume-container header h1{margin:0}header.resume-container .subtitle,.resume-container header .subtitle{margin:0;font-size:.9rem;color:#aaa;font-weight:normal;margin-bottom:.5rem;opacity:.9;display:flex;flex-wrap:wrap;justify-content:center;gap:0}header.resume-container .subtitle span:not(:last-child)::after,.resume-container header .subtitle span:not(:last-child)::after{content:"//";margin:0 .5rem;color:#888;opacity:.5}header.resume-container .contact-info,.resume-container header .contact-info{font-size:.9rem;color:#888;display:flex;flex-wrap:wrap;gap:0;justify-content:center}header.resume-container .contact-info span,.resume-container header .contact-info span{display:flex;align-items:center}header.resume-container .contact-info span a,.resume-container header .contact-info span a{display:flex;align-items:center}header.resume-container .contact-info span:not(:last-child)::after,.resume-container header .contact-info span:not(:last-child)::after{content:"//";margin:0 .5rem;opacity:.5}.resume-container section h2{color:#fff;background:#222;padding:.5rem}.resume-container section details.entry{margin-bottom:2rem}.resume-container section details.entry summary{cursor:pointer;list-style:none;outline:none}.resume-container section details.entry summary::-webkit-details-marker{display:none}.resume-container section details.entry .entry-header{display:flex;justify-content:space-between;align-items:baseline}.resume-container section details.entry .entry-header h3{margin:0;color:#f05;display:inline-flex;align-items:center}.resume-container section details.entry .entry-header .entry-title::before{content:"›";display:inline-block;margin-right:.5rem;color:#f05;font-weight:bold;font-size:1.5rem;line-height:1;vertical-align:-2px;transition:transform .2s ease,text-shadow .2s ease}.resume-container section details.entry .entry-header .entry-date{font-family:monospace;color:#888;font-size:.9rem}.resume-container section details.entry:hover:not(:has(.entry-logo:hover)) summary .entry-header h3 .entry-title::before{text-shadow:0 0 8px #f05,0 0 15px #f05;transform:scale(1.3)}.resume-container section details.entry:hover:not(:has(.entry-logo:hover)) summary .entry-header h3 .entry-title{text-shadow:0 0 8px #f05,0 0 15px #f05}.resume-container section details.entry:hover:not(:has(.entry-logo:hover)) summary .entry-header h3 .icon-link img{filter:drop-shadow(0 0 8px #f05) drop-shadow(0 0 15px #f05)}.resume-container section details.entry[open] summary .entry-header h3 .entry-title::before{transform:rotate(90deg)}.resume-container section details.entry[open]:hover:not(:has(.entry-logo:hover)) summary .entry-header h3 .entry-title::before{transform:rotate(90deg) scale(1.3)}.resume-container section details.entry .entry-logo .icon-link img,.resume-container section details.entry .entry-logo .icon-link .degree-logo{transition:all .2s ease}.resume-container section details.entry .entry-logo a:hover .icon-link img,.resume-container section details.entry .entry-logo a:focus .icon-link img{filter:drop-shadow(0 0 8px #7aa2f7) drop-shadow(0 0 15px #7aa2f7)}.resume-container section details.entry .entry-logo a:hover .icon-link .degree-logo,.resume-container section details.entry .entry-logo a:focus .icon-link .degree-logo{background-color:#7aa2f7;filter:drop-shadow(0 0 8px #7aa2f7) drop-shadow(0 0 15px #7aa2f7)}.resume-container section details.entry .entry-subheader{font-weight:bold;font-size:.9rem;margin-bottom:.5rem;display:flex;justify-content:space-between}.resume-container section details.entry .entry-subheader .entry-location{color:#888;font-weight:normal}.resume-container section details.entry ul{list-style:square;margin-left:1.5rem;color:#ccc}.resume-container section .publication{margin-bottom:1.5rem}.resume-container section .publication .entry-header{display:flex;justify-content:space-between;align-items:baseline}.resume-container section .publication .entry-header h3{margin:0;font-size:1.1rem;color:#f05}.resume-container section .publication .entry-header .entry-date{font-family:monospace;color:#888;font-size:.9rem}.resume-container section .publication .authors{font-size:.9rem;font-style:italic;color:#888;margin-bottom:.2rem}.resume-container section .publication .journal{font-size:.9rem;font-weight:bold}.resume-container section .publication .journal a{font-size:.9rem}.resume-container section .project-stack{font-style:italic;color:#888;font-size:.9rem;margin-left:.8rem;font-weight:normal}.resume-container section .skills-section{display:flex;flex-direction:column;gap:.8rem}.resume-container section .skills-section .skill-row{display:flex;align-items:baseline}.resume-container section .skills-section .skill-category{font-weight:bold;width:140px;color:#f05;flex-shrink:0}.resume-container section .skills-section .skill-list{color:#ccc}.resume-container section .degree-logo{display:inline-block;height:2.8em;aspect-ratio:1;background-color:#f05;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;vertical-align:middle;border-radius:2px}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glitch-anim{0%{transform:translate(0);text-shadow:none}1%{transform:translate(-2px, 1px);text-shadow:2px 0 red,-2px 0 aqua}2%{transform:translate(-1px, -1px);text-shadow:-2px 0 red,2px 0 aqua}3%{transform:translate(2px, 0);text-shadow:2px 0 red,-2px 0 aqua}4%{transform:translate(1px, 2px);text-shadow:-2px 0 red,2px 0 aqua}5%{transform:translate(0);text-shadow:none}100%{transform:translate(0);text-shadow:none}}@keyframes glitch-intense{0%{text-shadow:4px 0 #7dcfff;transform:translate(-2px, 2px)}20%{text-shadow:-4px 0 #f7768e;transform:translate(2px, -2px)}40%{text-shadow:2px 0 #9ece6a;transform:translate(-2px, -2px)}60%{text-shadow:-2px 0 #e0af68;transform:translate(2px, 2px)}80%{text-shadow:3px 0 #f05;transform:translate(-1px, 1px)}100%{text-shadow:-3px 0 #7aa2f7;transform:translate(1px, -1px)}}@keyframes text-pulse{0%, 100%{opacity:1}50%{opacity:.5}}@keyframes progress-fill{0%{width:0%;opacity:1}50%{width:100%;opacity:1}90%{width:100%;opacity:0}100%{width:0%;opacity:0}}.section-list{list-style:none;padding:0}.section-list .section-item{margin-bottom:2rem;border-left:2px solid #333;padding-left:1rem;transition:border-color .2s ease}.section-list .section-item:hover{border-left-color:#f05}.section-list .section-item .section-date{font-size:.85rem;color:#888;margin-bottom:.2rem;font-family:"JetBrains Mono","Fira Code",monospace}.section-list .section-item .section-title{font-size:1.2rem;font-weight:bold;display:block;margin-bottom:.2rem}.section-list .section-item .section-tags{margin:.3rem 0;display:flex;gap:.5rem;flex-wrap:wrap}.section-list .section-item .section-tags .tag{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.75rem;color:#f05;opacity:.8}.section-list .section-item .section-tags .tag::before{content:"#"}.section-list .section-item .section-summary{margin-top:.5rem;color:#ccc;font-size:.95rem;line-height:1.6}.section-list .section-item .section-link{display:inline-block;margin-top:.5rem;font-size:.9rem;font-family:"JetBrains Mono","Fira Code",monospace}.glitch-text{position:relative;display:inline-block;animation:glitch-anim 3s infinite}.glitch-text:hover{text-shadow:2px 0 red,-2px 0 aqua;animation-duration:.05s}.post-container{max-width:100%;margin:0 auto;animation:fadeIn .5s ease-in-out}.post-header{margin-bottom:2rem}.post-header .breadcrumbs{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.85rem;color:#888;margin-bottom:1rem}.post-header .breadcrumbs a{color:#888}.post-header .breadcrumbs a:hover{color:#f05}.post-header h1{font-size:2.5rem;margin:0 0 .5rem 0;line-height:1.2;color:#fff}.post-header .post-meta{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.8rem;color:#888;display:flex;flex-direction:column;gap:.3rem;margin-top:1rem;border-left:2px solid #f05;padding-left:.8rem}.post-header .post-meta span{display:block}.post-content{font-size:1.1rem;line-height:1.8;color:#aaa}.post-content p{margin-bottom:1.5rem}.post-content a{text-decoration:underline;text-decoration-color:#f05;text-underline-offset:3px}.post-content h2{font-size:1.8rem;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #333}.post-content h3{font-size:1.4rem;margin-top:2rem;margin-bottom:.8rem}.post-content ul,.post-content ol{margin-bottom:1.5rem;padding-left:2rem}.post-content ul li,.post-content ol li{margin-bottom:.5rem}.post-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid #333;font-family:"JetBrains Mono","Fira Code",monospace;color:#888}.post-footer p{margin-bottom:1.5rem;text-align:center;opacity:.5}.post-footer .post-nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.post-footer .post-nav a{color:#f05;font-weight:bold;font-size:.9rem;display:inline-block;transition:transform .2s ease,text-shadow .2s}.post-footer .post-nav a:hover{text-decoration:none}.post-footer .post-nav a[href*=PREV] :hover,.post-footer .post-nav a:first-child:hover{transform:translateX(-5px)}.post-footer .post-nav a:last-child:hover{transform:translateX(5px)}#transition-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;pointer-events:none;display:flex;flex-direction:column;}#transition-overlay.active{pointer-events:all}#transition-overlay.hidden{pointer-events:none}.content-enter{animation:fadeIn .5s ease-in-out}#transition-overlay::after{content:" ";display:block;position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(rgba(18,16,16,0) 50%, rgba(0,0,0,.5) 50%),linear-gradient(90deg, rgba(255,0,0,.2), rgba(0,255,0,.1), rgba(0,0,255,.2));z-index:2;background-size:100% 2px,3px 100%;pointer-events:none;opacity:0;transition:opacity 1s ease-out}#transition-overlay.active::after{opacity:1}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;text-align:center;font-family:"JetBrains Mono","Fira Code",monospace}.error-page .glitch-wrapper{position:relative;margin-bottom:1rem}.error-page h1{font-size:10rem;font-weight:bold;color:#fff;margin:0;line-height:1;letter-spacing:-10px}.error-page h1.intense{animation:glitch-intense .2s infinite alternate-reverse}.error-page .error-message{font-size:1.5rem;color:#aaa;margin-bottom:3rem;text-transform:uppercase;letter-spacing:2px}.error-page .home-link{font-family:"JetBrains Mono","Fira Code",monospace;font-size:1rem;text-decoration:none;padding:.5rem 1rem;transition:all .3s ease;background:rgba(255,0,85,.1);color:#f05;border:1px solid #f05;cursor:pointer;display:inline-block}.error-page .home-link:hover{background:rgba(125,207,255,.1);color:#7dcfff;border-color:#7dcfff;box-shadow:0 0 10px rgba(125,207,255,.5),0 0 20px rgba(125,207,255,.3);text-decoration:none}.under-construction-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;text-align:center;font-family:"JetBrains Mono","Fira Code",monospace;padding:2rem}.under-construction-page .glitch-wrapper{position:relative;margin-bottom:2rem}.under-construction-page h1{font-size:4rem;font-weight:bold;color:#fff;margin:0;line-height:1.2;letter-spacing:-2px;text-transform:uppercase}@media (max-width: 768px){.under-construction-page h1{font-size:2.5rem}}.under-construction-page h1.intense{animation:glitch-intense .2s infinite alternate-reverse}.under-construction-page .construction-message{font-size:1.5rem;color:#aaa;margin-bottom:2rem;text-transform:uppercase;letter-spacing:2px;animation:text-pulse 4s infinite ease-in-out}.under-construction-page .progress-container{width:300px;height:20px;border:2px solid #888;margin-bottom:3rem;position:relative;padding:2px}@media (max-width: 768px){.under-construction-page .progress-container{width:80%}}.under-construction-page .progress-bar{height:100%;background-color:#f05;width:0%;animation:progress-fill 4s infinite linear}.under-construction-page .home-link{font-family:"JetBrains Mono","Fira Code",monospace;font-size:1rem;text-decoration:none;padding:.5rem 1rem;transition:all .3s ease;background:rgba(255,0,85,.1);color:#f05;border:1px solid #f05;cursor:pointer;display:inline-block}.under-construction-page .home-link:hover{background:rgba(125,207,255,.1);color:#7dcfff;border-color:#7dcfff;box-shadow:0 0 10px rgba(125,207,255,.5),0 0 20px rgba(125,207,255,.3);text-decoration:none}