@font-face{font-family:Orbitron;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0acc7fdf55eb3220-s.p.532ccaa1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0acc7fdf55eb3220-s.p.532ccaa1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0acc7fdf55eb3220-s.p.532ccaa1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:900;font-display:swap;src:url(../media/0acc7fdf55eb3220-s.p.532ccaa1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron Fallback;src:local(Arial);ascent-override:81.5%;descent-override:19.59%;line-gap-override:0.0%;size-adjust:124.05%}.orbitron_20c2194c-module__D43-Nq__className{font-family:Orbitron,Orbitron Fallback;font-style:normal}.orbitron_20c2194c-module__D43-Nq__variable{--font-primary:"Orbitron","Orbitron Fallback"}
@font-face{font-family:Electrolize;font-style:normal;font-weight:400;font-display:swap;src:url(../media/19669a82afbe6afb-s.p.8899b467.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Electrolize Fallback;src:local(Arial);ascent-override:88.87%;descent-override:26.83%;line-gap-override:0.0%;size-adjust:102.51%}.electrolize_3afcc898-module__ziJ48q__className{font-family:Electrolize,Electrolize Fallback;font-style:normal;font-weight:400}.electrolize_3afcc898-module__ziJ48q__variable{--font-secondary:"Electrolize","Electrolize Fallback"}
:root{--color-primary-dark:#bbb;--color-primary-main:#eee;--color-primary-light:#fff;--color-secondary-dark:#19a0b3;--color-secondary-main:#27e1fa;--color-secondary-light:#7eecfb;--color-tertiary-dark:#b5a005;--color-tertiary-main:#fae127;--color-tertiary-light:#feec67;--color-bg-dark:#000;--color-bg-main:#020c1b;--color-bg-light:#112240;--color-text-main:#ccc;--color-heading-main:#eee;--font-primary:"Orbitron",sans-serif;--font-secondary:"Electrolize",sans-serif;--anim-time:.4s;--anim-ease:cubic-bezier(.215,.61,.355,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg-dark);color:var(--color-text-main);font-family:var(--font-secondary);min-height:100vh;line-height:1.6;overflow-x:hidden}.page-wrapper{flex-direction:column;display:flex}@media (min-width:1025px){.page-wrapper{display:block}}main{z-index:10;pointer-events:none;width:35%;min-height:100vh;position:relative}main *{pointer-events:auto}.container{max-width:100%;margin:0;padding:0 40px}@media (max-width:768px){.container{padding:0 20px}}header{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020c1be6;border-bottom:1px solid #27e1fa33;width:100%;padding:5px 0;position:fixed;top:0;left:0}.header-content{justify-content:space-between;align-items:center;display:flex}.logo-container{align-items:center;display:flex}.logo-img{object-fit:contain;filter:drop-shadow(0 0 10px #27e1fa4d);width:80px;height:80px}nav ul{gap:30px;list-style:none;display:flex}nav a,.nav-link{color:var(--color-primary-dark);font-family:var(--font-primary);letter-spacing:2px;transition:color var(--anim-time)var(--anim-ease);cursor:pointer;font-size:.9rem;text-decoration:none;position:relative}nav a:after,.nav-link:after{content:"";background:var(--color-secondary-main);width:0;height:2px;transition:width var(--anim-time)var(--anim-ease);position:absolute;bottom:-5px;left:0}nav a:hover,.nav-link:hover,nav a.active,.nav-link.active{color:var(--color-secondary-main)}nav a:hover:after,.nav-link:hover:after,nav a.active:after,.nav-link.active:after{width:100%}.hero{z-index:5;pointer-events:none;background:linear-gradient(to right,var(--color-bg-dark)0%,var(--color-bg-dark)50%,#000000d9 65%,#0009 75%,#00000059 85%,#00000026 92%,transparent 100%);flex-direction:column;justify-content:center;align-items:flex-start;width:55%;height:100vh;padding:0 60px;display:flex;position:fixed;top:0;left:0}.hero *{pointer-events:none!important}.hero h1{font-family:var(--font-primary);color:var(--color-secondary-main);text-shadow:0 0 20px #27e1fa80;margin-bottom:20px;font-size:3.5rem;line-height:1.2}.hero p{color:var(--color-primary-dark);max-width:500px;font-size:1.1rem;line-height:1.8}.hero-separator{background:var(--color-secondary-main);height:2px;box-shadow:0 0 15px var(--color-secondary-main);margin:30px 0;position:relative;overflow:visible}.hero-separator:after{content:"";background:inherit;filter:blur(4px);opacity:.7;width:100%;height:4px;position:absolute;top:-1px;left:0}.hero-description{border-left:2px solid var(--color-secondary-dark);opacity:.9;margin-left:5px;padding-left:15px;font-style:italic;color:var(--color-text-main)!important;font-size:.95rem!important}.glitch-text{display:inline-block;position:relative}.glitch-text:before,.glitch-text:after{content:attr(data-text);width:100%;height:100%;position:absolute;top:0;left:0}.glitch-text:before{text-shadow:-2px 0 #ff00de;clip:rect(44px,450px,56px,0);animation:5s linear infinite alternate-reverse glitch-anim;left:2px}.glitch-text:after{text-shadow:-2px 0 #00fff9,2px 2px #ff00de;animation:1s linear infinite alternate-reverse glitch-anim2;left:-2px}@keyframes glitch-anim{0%{clip:rect(31px,9999px,94px,0)}20%{clip:rect(60px,9999px,5px,0)}40%{clip:rect(87px,9999px,31px,0)}60%{clip:rect(25px,9999px,65px,0)}80%{clip:rect(73px,9999px,14px,0)}to{clip:rect(45px,9999px,78px,0)}}@keyframes glitch-anim2{0%{clip:rect(65px,9999px,119px,0)}20%{clip:rect(36px,9999px,77px,0)}40%{clip:rect(100px,9999px,40px,0)}60%{clip:rect(19px,9999px,94px,0)}80%{clip:rect(52px,9999px,26px,0)}to{clip:rect(88px,9999px,13px,0)}}.btn,button.btn,a.btn{border:1px solid var(--color-secondary-main);color:var(--color-secondary-main);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all var(--anim-time)var(--anim-ease);background:0 0;padding:12px 30px;font-size:.9rem;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.btn:before,button.btn:before,a.btn:before{content:"";background:var(--color-secondary-main);width:100%;height:100%;transition:left var(--anim-time)var(--anim-ease);z-index:-1;position:absolute;top:0;left:-100%}.btn:hover,button.btn:hover,a.btn:hover{color:var(--color-bg-dark);border-color:var(--color-secondary-main);box-shadow:0 0 20px #27e1fa66}.btn:hover:before,button.btn:hover:before,a.btn:hover:before{left:0}#globe-viz{z-index:1;pointer-events:auto;touch-action:none;width:65%;height:calc(100% - 90px);position:fixed;top:90px;left:35%}#globe-viz canvas{cursor:grab;pointer-events:auto;touch-action:none;width:100%;height:100%;display:block}#globe-viz canvas:active{cursor:grabbing}section{opacity:0;padding:0;transition:opacity .5s ease-in-out;display:none}section.active{opacity:1;display:block}#portfolio{width:35%;max-width:35%}@media (max-width:768px){#portfolio{width:100%;max-width:100%}}.section-title{text-align:center;width:100%;color:var(--color-heading-main);font-size:2.5rem;font-family:var(--font-primary);letter-spacing:2px;margin-bottom:30px;display:block;position:relative}.section-title:before,.section-title:after{content:"";background:var(--color-secondary-dark);width:50px;height:2px;position:absolute;top:50%}.section-title:before{margin-right:20px;right:100%}.section-title:after{margin-left:20px;left:100%}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;display:grid}.portfolio-card{border:1px solid var(--color-bg-light);transition:all var(--anim-time)var(--anim-ease);background:#020c1bcc;padding:20px;position:relative;overflow:hidden}.portfolio-card:before{content:"";background:var(--color-secondary-main);transform-origin:0;width:100%;height:2px;transition:transform var(--anim-time)var(--anim-ease);position:absolute;top:0;left:0;transform:scaleX(0)}.portfolio-card:hover{border-color:var(--color-secondary-main);transform:translateY(-5px);box-shadow:0 5px 15px #00000080}.portfolio-card:hover:before{transform:scaleX(1)}.card-title{font-family:var(--font-primary);color:var(--color-primary-main);margin-bottom:10px;font-size:1.2rem}.card-desc{color:var(--color-primary-dark);margin-bottom:20px;font-size:.9rem}.card-link{color:var(--color-secondary-main);text-transform:uppercase;letter-spacing:1px;font-size:.9rem;display:inline-block}.card-link:hover{color:var(--color-tertiary-main)}#resume{z-index:5;background:linear-gradient(to right,var(--color-bg-dark)0%,var(--color-bg-dark)50%,#000000d9 65%,#0009 75%,#00000059 85%,#00000026 92%,transparent 100%);scrollbar-width:none;-ms-overflow-style:none;width:50%;height:100vh;padding:90px 60px 60px;position:fixed;top:0;left:0;overflow-y:auto}#resume::-webkit-scrollbar{display:none}.resume-container{border:1px solid var(--color-bg-light);background:#020c1bd9;width:100%;max-width:100%;margin:0;padding:40px}.resume-header{border-bottom:1px solid var(--color-secondary-dark);justify-content:space-between;align-items:flex-end;margin-bottom:30px;padding-bottom:20px;display:flex}.resume-name{color:var(--color-secondary-main);font-size:2.5rem}.resume-role{color:var(--color-primary-dark);font-size:1.2rem}.resume-section{margin-bottom:30px}.resume-section h3{color:var(--color-secondary-light);border-left:3px solid var(--color-secondary-main);margin-bottom:15px;padding-left:10px;font-size:1.5rem}.resume-item{margin-bottom:20px}.resume-item h4{color:var(--color-primary-main);font-size:1.1rem}.resume-item .meta{color:var(--color-secondary-dark);margin-bottom:5px;font-size:.9rem;display:block}.resume-item p{color:var(--color-text-main);font-size:.95rem}.resume-item ul{color:var(--color-text-main);margin-left:20px}.resume-location{color:var(--color-primary-dark);font-size:.9rem}.resume-contact{text-align:right}.resume-contact p{margin-bottom:5px;font-size:.9rem}.download-btn-container{text-align:center;margin-top:40px;padding-bottom:40px}footer{text-align:center;color:var(--color-primary-dark);border-top:1px solid #27e1fa1a;margin-top:80px;padding:40px 0;font-size:.9rem}.fade-in-up{animation:.8s cubic-bezier(.215,.61,.355,1) forwards fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{overflow:hidden auto}main{z-index:5;pointer-events:auto;width:100%;padding-top:90px;position:relative;overflow:visible}.hero{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;align-items:center;width:100%;max-width:100%;min-height:auto;padding:40px 20px;position:relative}.hero h1{font-size:2.5rem}.header-content{flex-direction:column;gap:20px}nav ul{gap:15px}#resume{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;width:100%;max-width:100%;height:auto;min-height:auto;padding:60px 20px;position:relative;overflow-y:visible}.resume-container{padding:30px 20px}#about,#portfolio{width:100%;height:auto;position:relative;overflow-y:visible}#globe-viz{z-index:1;width:100%;height:65vh;margin-bottom:20px;position:relative;top:0;left:0;right:auto}#globe-viz canvas{max-width:100%;height:100%}.globe-section-divider{background:linear-gradient(to right,transparent,var(--color-secondary-main),transparent);opacity:.3;max-width:80%;height:2px;margin:20px auto}.modal-layout-container{flex-direction:column!important}.info-column{flex:auto!important;max-height:40%!important;padding-right:0!important;overflow-y:auto!important}.preview-column{flex:auto!important;min-height:50%!important}.project-modal{width:98vw!important;height:98vh!important;padding:10px!important}.modal-header{margin-bottom:10px!important}.project-modal h2{font-size:1.3rem!important}.project-modal h3{font-size:.85rem!important}.project-modal p{font-size:.8rem!important}.project-modal .tags span{padding:4px 8px!important;font-size:.65rem!important}.project-modal button{font-size:1.2rem!important}.project-modal .btn{padding:8px 16px!important;font-size:.8rem!important}.hover-card-title{font-size:.95rem!important}.hover-card-description{font-size:.75rem!important}.hover-card-tag{padding:2px 6px!important;font-size:.65rem!important}.project-hover-card{min-width:220px!important;max-width:260px!important;padding:12px 16px!important}}.modal{z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#000;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal-content{border:1px solid var(--color-secondary-main);text-align:center;background-color:#0a0a0ae6;width:90%;max-width:400px;padding:40px;position:relative;box-shadow:0 0 20px #27e1fa33}.modal-content:before{content:"";background:linear-gradient(45deg,var(--color-secondary-main),transparent,var(--color-tertiary-main));z-index:-1;opacity:.5;position:absolute;inset:-2px}.modal-content h2{color:var(--color-secondary-main);font-family:var(--font-primary);letter-spacing:2px;margin-bottom:10px}.modal-content p{color:#aaa;margin-bottom:20px}#password-input{width:100%;color:var(--color-secondary-main);font-family:var(--font-secondary);text-align:center;background:#00000080;border:1px solid #333;outline:none;margin-bottom:20px;padding:10px;font-size:1.2rem;transition:border-color .3s}#password-input:focus{border-color:var(--color-secondary-main);box-shadow:0 0 10px #27e1fa4d}.error-msg{min-height:20px;margin-top:10px;font-size:.9rem;color:#f44!important}@media print{:root{--color-secondary-dark:#14849b;--color-secondary-main:#14849b;--color-secondary-light:#14849b}header,nav,footer,.download-btn-container,.section-title,#globe-viz,#globe-overlay{display:none!important}body{color:#000!important;background:#fff!important}#resume{opacity:1!important;background:#fff!important;width:100%!important;height:auto!important;padding:20px!important;display:block!important;position:relative!important;overflow:visible!important}.resume-container{page-break-inside:avoid;background:#fff!important;border:none!important;max-width:100%!important;margin:0!important;padding:20px!important}.resume-name,.resume-section h3,nav a.active,nav a:hover,a,.btn,.modal-content h2,#password-input{color:#14849b!important}.resume-section h3{color:#14849b!important;border-left-color:#14849b!important}.resume-header{border-bottom-color:#14849b!important}nav a:after,.portfolio-card:before{background:#14849b!important}.btn,.modal-content,#password-input:focus{border-color:#14849b!important}.resume-item,.resume-section{page-break-inside:avoid}.resume-contact p,.resume-item p,.resume-item ul li{color:#333!important}.resume-role,.resume-location{color:#666!important}.resume-item .meta{color:#555!important}.resume-item h4{color:#000!important}}.globe-point{background:var(--color-secondary-main);cursor:pointer;width:20px;height:20px;box-shadow:0 0 10px var(--color-secondary-main);pointer-events:auto;z-index:10;border-radius:50%;transition:transform .3s;position:relative;transform:translate(-50%,-50%)}.globe-point.large{width:30px;height:30px;box-shadow:0 0 15px var(--color-secondary-main)}.globe-point:hover{background:var(--color-tertiary-main);box-shadow:0 0 20px var(--color-tertiary-main);z-index:100;transform:translate(-50%,-50%)scale(1.5)}.globe-point:after{content:"";border:1px solid var(--color-secondary-main);pointer-events:none;border-radius:50%;width:100%;height:100%;animation:2s infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.globe-point:hover:after{border-color:var(--color-tertiary-main)}@keyframes pulse{0%{opacity:1;width:100%;height:100%}to{opacity:0;width:300%;height:300%}}.globe-tooltip{border:1px solid var(--color-secondary-main);color:var(--color-secondary-main);white-space:nowrap;opacity:0;background:#000c;border-radius:4px;padding:5px 10px;font-size:.8rem;transition:opacity .3s;position:absolute;top:-40px;left:50%;transform:translate(-50%);pointer-events:none!important}.globe-point:hover .globe-tooltip{opacity:1}#globe-viz .scene-container{pointer-events:none!important}#globe-viz .scene-tooltip,#globe-viz .scene-label{pointer-events:auto;z-index:10}.project-hover-card{border:2px solid var(--color-secondary-main);z-index:1001;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0ff2;border-radius:12px;min-width:280px;max-width:320px;padding:16px 20px;animation:.6s cubic-bezier(.16,1,.3,1) fadeInHoverCard;position:fixed;box-shadow:0 8px 32px #00ffff4d,0 0 20px #0ff3,inset 0 0 20px #00ffff0d}@keyframes fadeInHoverCard{0%{opacity:0;transform:scale(.8)translateY(-20px)}60%{transform:scale(1.02)translateY(2px)}to{opacity:1;transform:scale(1)translateY(0)}}.hover-card-content{flex-direction:column;gap:8px;display:flex}.hover-card-title{color:var(--color-secondary-main);margin:0;font-size:1.2rem;font-weight:600;line-height:1.3}.hover-card-description{color:#ffffffd9;margin:0;font-size:.9rem;line-height:1.5}.hover-card-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.hover-card-tag{border:1px solid var(--color-secondary-main);color:var(--color-secondary-main);animation:3s ease-in-out infinite tagGlow;animation-delay:calc(var(--tag-index,0)*.2s);background:#00ffff26;border-radius:4px;padding:3px 8px;font-size:.75rem}@keyframes tagGlow{0%,to{box-shadow:0 0 2px #00ffff4d}50%{box-shadow:0 0 8px #0ff9,0 0 12px #00ffff4d}}.leader-line{filter:drop-shadow(0 0 4px var(--color-secondary-main))}.leader-glow{opacity:.3}.leader-circle,.leader-node{animation:2s ease-in-out infinite leaderPulse}@keyframes leaderPulse{0%,to{filter:drop-shadow(0 0 4px var(--color-secondary-main))}50%{filter:drop-shadow(0 0 8px var(--color-secondary-main))drop-shadow(0 0 12px var(--color-secondary-main))}}.typing-cursor{background-color:var(--color-secondary-main);vertical-align:text-bottom;width:3px;height:1em;box-shadow:0 0 10px var(--color-secondary-main);margin-left:2px;animation:.8s infinite cursorBlink,2s ease-in-out infinite cursorGlow;display:inline-block}@keyframes cursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes cursorGlow{0%,to{box-shadow:0 0 10px var(--color-secondary-main)}50%{box-shadow:0 0 20px var(--color-secondary-main),0 0 30px var(--color-secondary-main)}}#about{z-index:5;background:linear-gradient(to right,var(--color-bg-dark)0%,var(--color-bg-dark)50%,#000000d9 65%,#0009 75%,#00000059 85%,#00000026 92%,transparent 100%);scrollbar-width:none;-ms-overflow-style:none;width:50%;height:100vh;padding:90px 60px 60px;position:fixed;top:0;left:0;overflow-y:auto}#about::-webkit-scrollbar{display:none}.about-container{border:1px solid var(--color-bg-light);background:#020c1bd9;width:100%;max-width:100%;margin:0;padding:40px}.about-content{max-width:100%}.about-title{font-family:var(--font-primary);color:var(--color-secondary-main);text-align:center;letter-spacing:4px;text-shadow:0 0 20px #27e1fa80;margin-bottom:30px;font-size:3rem}.about-section{margin-bottom:30px}.about-section h2{font-family:var(--font-primary);color:var(--color-secondary-light);letter-spacing:2px;margin-bottom:15px;font-size:1.8rem}.about-section h3{font-family:var(--font-primary);color:var(--color-secondary-light);border-left:3px solid var(--color-secondary-main);margin-bottom:15px;padding-left:10px;font-size:1.4rem}.about-section p{color:var(--color-text-main);margin-bottom:15px;font-size:1rem;line-height:1.8}.about-section.tech-stack{margin-top:40px}.tech-list{margin-left:0;padding-left:0;list-style:none}.tech-list li{color:var(--color-text-main);margin-bottom:12px;padding-left:20px;font-size:.95rem;line-height:1.8;position:relative}.tech-list li:before{content:"▸";color:var(--color-secondary-main);font-weight:700;position:absolute;left:0}.tech-list li strong{color:var(--color-secondary-light);margin-right:5px;font-weight:600}.closing-text{color:var(--color-primary-dark);text-align:center;margin-top:40px;font-size:1.1rem;font-style:italic}@media (max-width:1024px){#about{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;width:100%;max-width:100%;height:auto;min-height:auto;padding:180px 20px 60px;position:relative;overflow-y:visible}.about-container{padding:30px 20px}.about-title{font-size:2rem}.about-section h2{font-size:1.4rem}.about-section h3{font-size:1.2rem}}
