@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@300&display=swap";.intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0c0c16;display:flex;justify-content:center;align-items:center;z-index:9999;opacity:1;transition:opacity .8s ease-out}.intro-overlay.fade-out{opacity:0;pointer-events:none}.intro-name{font-family:Playfair Display,serif;font-size:4em;color:#64ffda;opacity:0;transform:translateY(30px);animation:fadeInUp 1.5s ease-out forwards;text-align:center;line-height:1.2}.intro-title{font-family:Playfair Display,serif;font-size:1.5em;color:#8892b0;opacity:0;transform:translateY(30px);animation:fadeInUp 1.5s ease-out .5s forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}body,html{margin:0;padding:0;height:100%;overflow:hidden;font-family:JetBrains Mono,monospace;background:#0c0c16;color:#a8b2d1}.portfolio-space{height:100vh;display:flex;justify-content:center;align-items:center;perspective:1000px;opacity:0;transition:opacity 1s ease-out}.portfolio-space.visible{opacity:1}.hex-container{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;transform-style:preserve-3d}.hex-panel{position:absolute;width:800px;height:500px;transform-style:preserve-3d;transition:all .8s cubic-bezier(.4,0,.2,1);opacity:0;transform:scale(.9) translateZ(-200px);pointer-events:none;margin-right:150px;background:#1a1e2e;border-radius:8px;border:2px solid #64ffda;overflow:hidden}.hex-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:30px;background:#232733;border-bottom:1px solid #64ffda;z-index:20}.terminal-buttons{position:absolute;top:10px;left:10px;display:flex;gap:8px;z-index:100}.terminal-button{width:12px;height:12px;border-radius:50%;border:1px solid rgba(100,255,218,.3)}.terminal-button:nth-child(1){background:#ff5f56}.terminal-button:nth-child(2){background:#ffbd2e}.terminal-button:nth-child(3){background:#27c93f}.hex-panel.active{opacity:1;transform:scale(1) translateZ(0);pointer-events:auto;box-shadow:0 0 30px #64ffda1a}.hex-panel .hex-content{opacity:1;transition:opacity .4s ease,transform .8s cubic-bezier(.4,0,.2,1);padding:40px 30px;transform-style:preserve-3d;margin-top:30px;height:calc(100% - 70px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#64ffda #1a1e2e;position:relative}.hex-panel:not(.active) .hex-content{opacity:0;transform:translateY(-100%)}.hex-panel.active .hex-content{transform:translateY(0)}.hex-content::-webkit-scrollbar{width:8px}.hex-content::-webkit-scrollbar-track{background:#1a1e2e}.hex-content::-webkit-scrollbar-thumb{background:#64ffda;border-radius:4px}.hex-panel h2{font-size:1.5em;margin-bottom:30px;color:#64ffda;font-weight:700;position:relative;font-family:JetBrains Mono,monospace}.hex-panel h2:before{content:"$ ";color:#64ffda;opacity:.7}.hex-panel p{font-size:1.1em;line-height:1.8;color:#8892b0;margin-bottom:20px;opacity:0;transform:translateY(20px);transition:all .5s ease}.hex-panel p:before{content:"> ";color:#64ffda;opacity:.7}.hex-panel.active p{opacity:1;transform:translateY(0);transition-delay:.3s}.hex-panel.active p:nth-child(2){transition-delay:.5s}.hex-panel p a{transition:color .3s ease}.hex-panel p a:hover{color:#64ffda!important}.nav-buttons{position:fixed;right:40px;top:50%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;gap:20px}.nav-button{background:#232739e6;border:2px solid #64ffda;color:#64ffda;padding:12px 25px;font-size:.9em;cursor:pointer;transition:all .4s ease;font-family:JetBrains Mono,monospace;text-transform:lowercase;letter-spacing:1px;position:relative;overflow:hidden;width:120px;text-align:left}.nav-button:hover{background:#64ffda1a;transform:translate(-5px)}.nav-button.active{background:#64ffda26;box-shadow:0 0 20px #64ffda1a}.particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.particle{position:absolute;pointer-events:none;opacity:.1;animation:float 20s infinite linear}.tech-icon{width:24px;height:24px;color:#64ffda;transform-origin:center;animation:spin 10s infinite linear}@keyframes float{0%{transform:translateY(0) translate(0)}to{transform:translateY(-100vh) translate(100vw)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.framework-tabs{display:flex;gap:15px;margin-bottom:0;border-bottom:1px solid rgba(100,255,218,.2);padding:8px 0 5px;position:relative;z-index:11;background:#1a1e2e}.framework-tab{background:none;border:2px solid #64ffda;color:#64ffda;padding:6px 12px;cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .3s ease}.framework-tab.active{background:#64ffda1a}.project-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px;position:sticky;top:30px;background:#1a1e2e;padding:12px 0 8px;z-index:9;border-bottom:1px solid rgba(100,255,218,.2);transition:transform .6s cubic-bezier(.4,0,.2,1);justify-content:flex-start;align-items:center;max-height:80px;overflow:hidden}.project-tab{background:#1a1e2ecc;border:1px solid rgba(100,255,218,.3);color:#64ffda;padding:6px 12px;font-size:.85em;cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:4px;white-space:nowrap;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);flex-shrink:0}.project-tab:hover{background:#64ffda1a;border-color:#64ffda;transform:translateY(-1px);box-shadow:0 4px 12px #64ffda26}.project-tab.active{background:#64ffda26;border-color:#64ffda;box-shadow:0 0 20px #64ffda33;transform:translateY(-1px)}.project-tab.active:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#64ffda,transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{opacity:0}50%{opacity:1}to{opacity:0}}.project-group{display:none;opacity:0;transform:translateY(20px);transition:all .4s ease;position:absolute;width:100%;margin-bottom:30px}.project-group.active{display:block;opacity:1;transform:translateY(0);position:relative}.projects-container{height:calc(100% - 70px);overflow-y:auto;position:relative;padding-bottom:20px;margin-top:5px}.project-detail{background:#1a1e2ecc;border:1px solid rgba(100,255,218,.2);padding:25px 20px;border-radius:4px;margin-bottom:20px;display:none;margin-top:10px;position:relative;z-index:1;opacity:0;transform:translateY(30px) scale(.98);transition:all .6s cubic-bezier(.4,0,.2,1)}.project-detail.active{display:block;opacity:1;transform:translateY(0) scale(1)}.project-detail.transitioning-out{opacity:0;transform:translateY(-20px) scale(.98);transition:all .4s cubic-bezier(.4,0,.2,1)}.project-detail.transitioning-in{opacity:0;transform:translateY(30px) scale(.98);animation:slideInProject .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideInProject{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.project-detail .project-header{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1) .1s}.project-detail.active .project-header{opacity:1;transform:translateY(0)}.project-detail .project-preview{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1) .2s}.project-detail.active .project-preview{opacity:1;transform:translateY(0)}.project-detail .project-tech{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1) .3s}.project-detail.active .project-tech{opacity:1;transform:translateY(0)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-top:5px}.project-header h3{color:#64ffda;margin:0;font-size:1.2em}.project-links{display:flex;gap:15px;margin-top:5px}.project-links a{color:#64ffda;text-decoration:none;font-size:.9em;padding:6px 12px;border:1px solid #64ffda;border-radius:4px;transition:all .3s ease;white-space:nowrap}.project-links a:hover{background:#64ffda1a}.project-preview{display:flex;gap:20px;margin:15px 0;align-items:flex-start}.image-carousel{flex:1;position:relative;cursor:pointer;margin-bottom:30px}.carousel-image{width:100%;height:200px;object-fit:cover;border-radius:4px;border:1px solid rgba(100,255,218,.2);transition:all .3s ease}.carousel-nav{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#1a1e2ecc;padding:5px 10px;border-radius:15px}.carousel-dot{width:8px;height:8px;border-radius:50%;background:#64ffda4d;cursor:pointer;transition:all .3s ease}.carousel-dot.active{background:#64ffda}.project-description{flex:1;color:#8892b0;font-size:.95em;line-height:1.6}.project-description p{margin:0 0 10px}.project-description ul{list-style-type:none;padding:0;margin:10px 0}.project-description li{margin-bottom:8px;padding-left:20px;position:relative}.project-description li:before{content:"→";color:#64ffda;position:absolute;left:0}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0c0c16f2;display:none;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal.active{display:flex}.modal-container{position:relative;display:flex;align-items:center;justify-content:center;max-width:95%;max-height:95%}.modal-image{max-width:90vw;max-height:90vh;object-fit:contain;border:2px solid #64ffda;border-radius:8px;box-shadow:0 0 30px #64ffda4d;transition:all .4s cubic-bezier(.4,0,.2,1)}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:#1a1e2ee6;border:2px solid #64ffda;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#64ffda;font-size:18px;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1001}.modal-nav:hover{background:#64ffda33;transform:translateY(-50%) scale(1.1);box-shadow:0 0 20px #64ffda66}.modal-nav:active{transform:translateY(-50%) scale(.95)}.modal-prev{left:20px}.modal-next{right:20px}.modal-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#1a1e2ee6;color:#64ffda;padding:8px 16px;border-radius:20px;border:1px solid rgba(100,255,218,.3);font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-modal{position:absolute;top:20px;right:20px;color:#64ffda;font-size:30px;cursor:pointer;background:#1a1e2ee6;border:2px solid #64ffda;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-modal:hover{background:#ff5f5633;border-color:#ff5f56;color:#ff5f56;transform:scale(1.1)}.project-tech{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap}.tech-tag{background:#64ffda1a;color:#64ffda;padding:4px 8px;border-radius:4px;font-size:.85em}.project-detail.active{display:block}.filter-container{position:sticky;top:0;z-index:10;background:#1a1e2e;margin:-5px -30px 0;padding:5px 30px;border-bottom:1px solid rgba(100,255,218,.2)}.resume-section{margin-bottom:40px}.resume-section h3{color:#64ffda;font-size:1.2em;margin:25px 0 20px;padding-bottom:10px;border-bottom:1px solid rgba(100,255,218,.2)}.resume-item{margin-bottom:25px;padding-left:20px;position:relative}.resume-item:before{content:">";position:absolute;left:0;color:#64ffda;opacity:.7}.resume-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.resume-header h4{color:#ccd6f6;margin:0;font-size:1.1em}.resume-header .date{color:#64ffda;font-size:.9em;white-space:nowrap;margin-left:15px}.institution{color:#8892b0;font-size:.95em;margin-bottom:5px}.description{color:#8892b0;font-size:.9em;line-height:1.6;margin:8px 0 0}#resume .hex-content p,#resume .resume-item{opacity:0;transform:translateY(20px);transition:all .5s ease}#resume.active .hex-content p,#resume.active .resume-item{opacity:1;transform:translateY(0)}#resume .resume-item:nth-child(1){transition-delay:.1s}#resume .resume-item:nth-child(2){transition-delay:.2s}#resume .resume-item:nth-child(3){transition-delay:.3s}#resume .resume-item:nth-child(4){transition-delay:.4s}#resume .resume-item:nth-child(5){transition-delay:.5s}.download-cv{display:inline-flex;align-items:center;gap:8px;background:#64ffda1a;color:#64ffda;border:2px solid #64ffda;padding:10px 20px;text-decoration:none;font-family:JetBrains Mono,monospace;transition:all .3s ease;margin-top:20px;position:relative;overflow:hidden}.download-cv:hover{background:#64ffda33;transform:translateY(-2px)}.download-cv:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:#64ffda1a;transform:translate(-50%,-50%) scale(0);transition:transform .5s ease;border-radius:50%}.download-cv:hover:before{transform:translate(-50%,-50%) scale(2)}.download-icon{display:inline-flex;align-items:center;justify-content:center}.download-icon svg{transition:transform .3s ease}.download-cv:hover .download-icon svg{transform:translateY(2px)}@media screen and (max-width:1200px){.hex-panel{width:700px;height:500px;margin-right:100px}.nav-buttons{right:20px}}@media screen and (max-width:992px){.hex-panel{width:600px;height:500px;margin-right:80px}.nav-buttons{right:10px}.nav-button{padding:10px 20px;width:100px;font-size:.8em}.project-preview{flex-direction:column}.image-carousel{margin-bottom:40px}.project-tabs-container{gap:10px}.tab-nav-arrow{width:35px;height:35px}.project-tab{padding:6px 12px;font-size:.85em;white-space:nowrap;min-width:max-content}}@media screen and (max-width:768px){.intro-name{font-size:3em}.intro-title{font-size:1.2em}.hex-panel{width:calc(100% - 40px);height:calc(100% - 120px);margin:20px}.nav-buttons{position:fixed;bottom:0;right:0;left:0;top:auto;transform:none;flex-direction:row;justify-content:space-around;background:#1a1e2ef2;padding:10px;border-top:1px solid #64ffda;gap:5px}.nav-button{width:auto;padding:8px 15px;font-size:.8em}.nav-button:before{display:none}.hex-content{padding:30px 20px;margin-top:30px;height:calc(100% - 60px)}.framework-tabs{flex-wrap:wrap}.project-tabs-container{gap:8px;padding:5px 0}.tab-nav-arrow{width:30px;height:30px;border-width:1px}.tab-nav-arrow svg{width:16px;height:16px}.project-tabs-slider{-webkit-mask-image:linear-gradient(to right,transparent 0px,black 15px,black calc(100% - 15px),transparent 100%);mask-image:linear-gradient(to right,transparent 0px,black 15px,black calc(100% - 15px),transparent 100%)}.project-tab{padding:4px 10px;font-size:.8em;border-width:1px}.project-header{flex-direction:column;gap:10px}.project-links{justify-content:flex-start}.carousel-image{height:150px}.resume-header{flex-direction:column;align-items:flex-start;gap:5px}.resume-header .date{margin-left:0}}@media screen and (max-width:480px){.intro-name{font-size:2.5em}.intro-title{font-size:1em}.hex-panel{margin:10px}.hex-content{padding:20px 15px}.framework-tab,.project-tab{padding:4px 8px;font-size:.75em}.project-links a{padding:4px 8px;font-size:.8em}.nav-button{padding:6px 12px;font-size:.75em}.terminal-buttons{top:5px}.terminal-button{width:8px;height:8px}h2{font-size:1.3em}.hex-panel p{font-size:.9em}.project-description{font-size:.85em}.tech-tag{font-size:.75em;padding:3px 6px}.download-cv{padding:8px 15px;font-size:.9em}.project-tabs-container{gap:5px}.tab-nav-arrow{width:28px;height:28px}.tab-nav-arrow svg{width:14px;height:14px}.project-tab{padding:3px 8px;font-size:.7em;min-width:max-content}}@media screen and (max-height:600px){.hex-panel{height:calc(100% - 80px)}.hex-content{height:calc(100% - 40px)}.nav-buttons{padding:5px}.nav-button{padding:5px 10px}}@media screen and (max-width:320px){.intro-name{font-size:2em}.intro-title{font-size:.9em}.hex-panel{margin:5px}.hex-content{padding:15px 10px}.nav-button{padding:4px 8px;font-size:.7em}h2{font-size:1.2em}}@media screen and (max-aspect-ratio:1/1){.portfolio-space{height:calc(100vh - 60px)}.hex-panel{margin-bottom:60px}}@media(hover:none){.nav-button,.framework-tab,.project-tab,.project-links a,.download-cv{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.carousel-dot{min-width:24px;min-height:24px;margin:0 4px}.modal-nav,.close-modal{min-width:50px;min-height:50px}}@media screen and (max-width:768px){.modal-image{max-width:95%;max-height:80vh}.close-modal{top:10px;right:10px;width:40px;height:40px;font-size:24px}.modal-nav{width:40px;height:40px;font-size:16px}.modal-prev{left:10px}.modal-next{right:10px}.modal-counter{bottom:10px;padding:6px 12px;font-size:12px}}@media screen and (max-width:767px){.portfolio-space,.particles{display:none!important}.mobile-portfolio-space{min-height:100vh;background:#0c0c16;opacity:0;transition:opacity 1s ease-out}.mobile-portfolio-space.visible{opacity:1}.mobile-layout{height:100vh;display:flex;flex-direction:column;background:#0c0c16;overflow:hidden}.mobile-header{padding:20px 20px 16px;text-align:center;background:linear-gradient(180deg,#0c0c16,#0c0c16cc);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-header-name{font-family:Playfair Display,serif;font-size:2em;color:#64ffda;margin:0 0 8px;font-weight:300}.mobile-header-title{font-size:.9em;color:#8892b0;margin:0;font-family:JetBrains Mono,monospace}.mobile-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 16px;padding-bottom:calc(80px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;min-height:0}.mobile-section{animation:fadeInUp .4s ease-out;width:100%;box-sizing:border-box}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-card{background:#1a1e2e;border:1px solid rgba(100,255,218,.2);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;box-sizing:border-box;width:100%;overflow:hidden}.mobile-card:active{transform:scale(.98)}.hero-card{background:linear-gradient(135deg,#64ffda1a,#1a1e2e);border-color:#64ffda4d}.mobile-card-title{font-size:1.5em;color:#64ffda;margin:0 0 12px;font-family:JetBrains Mono,monospace;font-weight:700}.mobile-card-subtitle{font-size:1.2em;color:#ccd6f6;margin:0 0 16px;font-family:JetBrains Mono,monospace;font-weight:600}.mobile-card-text{font-size:1em;color:#8892b0;line-height:1.6;margin:0}.skills-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.skill-chip{background:#64ffda1a;color:#64ffda;padding:8px 16px;border-radius:20px;font-size:.9em;border:1px solid rgba(100,255,218,.3);font-family:JetBrains Mono,monospace}.mobile-download-cv{display:inline-flex;align-items:center;gap:10px;background:#64ffda1a;color:#64ffda;border:2px solid #64ffda;padding:14px 24px;text-decoration:none;font-family:JetBrains Mono,monospace;border-radius:8px;transition:all .3s ease;width:100%;max-width:100%;box-sizing:border-box;justify-content:center;font-size:1em;font-weight:600}.mobile-download-cv:active{background:#64ffda33;transform:scale(.98)}.mobile-download-cv .download-icon{display:inline-flex;align-items:center}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:#1a1e2ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(100,255,218,.2);padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:1000;height:60px}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;color:#8892b0;cursor:pointer;transition:all .3s ease;padding:8px;min-height:44px;font-family:JetBrains Mono,monospace}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-icon{font-size:24px;transition:transform .3s ease}.mobile-nav-label{font-size:.7em;text-transform:uppercase;letter-spacing:.5px}.mobile-nav-item.active{color:#64ffda}.mobile-nav-item.active .mobile-nav-icon{transform:scale(1.1)}.mobile-nav-item.active .mobile-nav-label{font-weight:600}.mobile-framework-tabs{display:flex;gap:12px;margin-top:16px}.mobile-framework-tab{flex:1;background:#1a1e2ecc;border:2px solid rgba(100,255,218,.3);color:#8892b0;padding:12px 16px;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.95em;cursor:pointer;transition:all .3s ease;font-weight:600}.mobile-framework-tab.active{background:#64ffda26;border-color:#64ffda;color:#64ffda}.mobile-framework-tab:active{transform:scale(.98)}.mobile-projects-grid{display:flex;flex-direction:column;gap:20px}.mobile-project-card{background:#1a1e2e;border:1px solid rgba(100,255,218,.2);border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000004d;transition:all .3s ease}.mobile-project-card:active{transform:scale(.98)}.mobile-project-image-container{position:relative;width:100%;height:200px;overflow:hidden;cursor:pointer}.mobile-project-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.mobile-project-image-container:active .mobile-project-image{transform:scale(1.05)}.mobile-project-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#64ffda;font-family:JetBrains Mono,monospace;font-weight:600}.mobile-project-image-container:active .mobile-project-image-overlay{opacity:1}.mobile-project-content{padding:16px}.mobile-project-title{font-size:1.2em;color:#64ffda;margin:0 0 12px;font-family:JetBrains Mono,monospace;font-weight:600}.mobile-project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.mobile-tech-tag{background:#64ffda1a;color:#64ffda;padding:4px 10px;border-radius:4px;font-size:.75em;border:1px solid rgba(100,255,218,.3);font-family:JetBrains Mono,monospace}.mobile-project-toggle{width:100%;background:#64ffda1a;border:1px solid rgba(100,255,218,.3);color:#64ffda;padding:10px 16px;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.9em;cursor:pointer;transition:all .3s ease;margin-top:8px}.mobile-project-toggle:active{background:#64ffda33;transform:scale(.98)}.mobile-project-expanded{margin-top:12px;padding-top:12px;border-top:1px solid rgba(100,255,218,.2)}.mobile-project-description{color:#8892b0;font-size:.95em;line-height:1.6;margin-bottom:12px}.mobile-project-features{margin-bottom:12px}.mobile-project-features h4{color:#ccd6f6;font-size:.95em;margin-bottom:8px;font-family:JetBrains Mono,monospace}.mobile-project-features ul{list-style:none;padding:0;margin:0}.mobile-project-features li{color:#8892b0;font-size:.85em;line-height:1.6;padding-left:16px;position:relative;margin-bottom:6px}.mobile-project-features li:before{content:"→";position:absolute;left:0;color:#64ffda}.mobile-project-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.mobile-project-link{background:#64ffda1a;border:1px solid rgba(100,255,218,.3);color:#64ffda;padding:8px 14px;border-radius:6px;text-decoration:none;font-size:.85em;font-family:JetBrains Mono,monospace;transition:all .3s ease}.mobile-project-link:active{background:#64ffda33;transform:scale(.98)}.mobile-timeline{display:flex;flex-direction:column;gap:20px;margin-top:16px}.mobile-timeline-item{display:flex;gap:16px;position:relative;padding-left:20px}.mobile-timeline-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#64ffda4d}.mobile-timeline-item:after{content:"";position:absolute;left:-4px;top:8px;width:10px;height:10px;border-radius:50%;background:#64ffda;border:2px solid #0c0c16}.mobile-timeline-date{min-width:80px;color:#64ffda;font-size:.85em;font-family:JetBrains Mono,monospace;font-weight:600;padding-top:4px}.mobile-timeline-content{flex:1}.mobile-timeline-title{color:#ccd6f6;font-size:1em;margin:0 0 4px;font-family:JetBrains Mono,monospace;font-weight:600}.mobile-timeline-institution{color:#8892b0;font-size:.9em;margin:0 0 6px}.mobile-timeline-description{color:#8892b0;font-size:.85em;line-height:1.6;margin:0}.mobile-contact-grid{display:flex;flex-direction:column;gap:12px}.mobile-contact-card{display:flex;align-items:center;gap:16px;background:#1a1e2e;border:1px solid rgba(100,255,218,.2);border-radius:12px;padding:16px;text-decoration:none;transition:all .3s ease;box-shadow:0 2px 8px #0003}.mobile-contact-card:active{transform:scale(.98);background:#1a1e2ee6;border-color:#64ffda66}.mobile-contact-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-contact-info{flex:1}.mobile-contact-label{color:#64ffda;font-size:1em;margin:0 0 4px;font-family:JetBrains Mono,monospace;font-weight:600;text-transform:capitalize}.mobile-contact-value{color:#8892b0;font-size:.85em;margin:0;word-break:break-word}.mobile-contact-arrow{color:#64ffda;font-size:1.2em;flex-shrink:0}}
