@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#38bdf8;--primary-hover:#7dd3fc;--primary-dim:#38bdf81f;--accent-color:#c084fc;--accent-hover:#d8b4fe;--accent-dim:#c084fc1f;--bg-color:#080810;--bg-secondary:#0e0e1a;--bg-card:#0e0e1ad9;--bg-card-hover:#141424f7;--text-main:#f0f0f8;--text-secondary:#88a;--text-tertiary:#c0c0d8;--border-color:#ffffff12;--border-accent:#38bdf847;--error-color:#fb7185;--transition:all .3s ease;--glow:0 0 24px #38bdf82e;--glow-strong:0 0 48px #38bdf84d;--glow-accent:0 0 24px #c084fc2e}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Fira Code,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.6;overflow-x:hidden}.scroll-progress{background:linear-gradient(90deg,var(--primary-color),var(--accent-color),var(--primary-color));height:3px;box-shadow:0 0 10px var(--primary-color),0 0 20px #38bdf866;z-index:9999;background-size:200% 100%;transition:width .1s linear;animation:3s linear infinite shimmer-bar;position:fixed;top:0;left:0}@keyframes shimmer-bar{0%{background-position:200% 0}to{background-position:-200% 0}}.matrix-char{color:var(--primary-color);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.95;z-index:9999;text-shadow:0 0 6px var(--primary-color),0 0 14px #38bdf899,0 0 28px #c084fc33;font-family:Fira Code,Courier New,monospace;font-size:14px;animation:.55s ease-out forwards matrix-fall;position:fixed}@keyframes matrix-fall{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(28px)scale(.3)}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}header{-webkit-backdrop-filter:blur(16px);z-index:1000;border-bottom:1px solid var(--border-color);transition:var(--transition);background-color:#0a0a0fd9;position:sticky;top:0}header.scrolled{box-shadow:0 4px 24px #0006}.nav-container{justify-content:space-between;align-items:center;height:70px;display:flex}.logo a{transition:var(--transition);letter-spacing:-.5px;background:linear-gradient(135deg,var(--primary-color)0%,var(--accent-color)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Fira Code,monospace;font-size:1.4rem;font-weight:700;text-decoration:none}.logo a:hover{filter:brightness(1.15)}nav ul{gap:2rem;list-style:none;display:flex}nav ul li a{color:var(--text-secondary);transition:var(--transition);font-family:Fira Code,monospace;font-size:.9rem;font-weight:500;text-decoration:none;position:relative}nav ul li a:hover,nav ul li a:focus{color:var(--text-main)}nav ul li a:after{content:"";background:linear-gradient(90deg,var(--primary-color),var(--accent-color));width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}nav ul li a:hover:after,nav ul li a:focus:after{width:100%}.mobile-menu-toggle{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;transition:var(--transition);background:0 0;border-radius:6px;padding:8px 12px;font-size:1.4rem;display:none}.mobile-menu-toggle:hover{border-color:var(--primary-color);color:var(--primary-color)}.mobile-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;z-index:999;border-bottom:1px solid var(--border-color);background:#0a0a0ff7;width:100%;height:0;transition:height .3s,opacity .3s;display:none;position:fixed;top:70px;left:0;overflow:hidden}.mobile-menu.active{opacity:1;height:auto}.mobile-menu ul{flex-direction:column;gap:1.2rem;padding:24px;list-style:none;display:flex}.mobile-menu ul li a{color:var(--text-main);transition:var(--transition);border-bottom:1px solid var(--border-color);padding:10px 0;font-family:Fira Code,monospace;font-size:1.1rem;font-weight:500;text-decoration:none;display:block}.mobile-menu ul li a:hover{color:var(--primary-color);padding-left:8px}.hero-section{background-color:var(--bg-color);justify-content:center;align-items:center;min-height:100vh;padding-top:70px;display:flex;position:relative;overflow:hidden}.hero-section:before{content:"";pointer-events:none;background-image:linear-gradient(#38bdf80a 1px,#0000 1px),linear-gradient(90deg,#38bdf80a 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.hero-section:after{content:"";pointer-events:none;background:radial-gradient(circle,#38bdf812 0%,#0000 70%);border-radius:50%;width:700px;height:700px;animation:8s ease-in-out infinite orb-pulse;position:absolute;top:40%;left:15%;transform:translate(-50%,-50%)}.hero-orb-2{pointer-events:none;background:radial-gradient(circle,#c084fc12 0%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:10s ease-in-out infinite reverse orb-pulse;position:absolute;top:60%;right:5%;transform:translate(50%,-50%)}@keyframes orb-pulse{0%,to{opacity:.7;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.12)}}.content-container{padding:4rem 24px}.hero-content-wrapper{align-items:flex-start;gap:3rem;width:100%;max-width:1200px;display:flex}.profile-content{flex:1}.hero-eyebrow{color:var(--primary-color);letter-spacing:2px;opacity:.85;margin-bottom:1rem;font-family:Fira Code,monospace;font-size:.9rem}.hero-eyebrow:before{content:"> "}.profile-content h1{background:linear-gradient(135deg,#fff 0%,var(--text-tertiary)60%,var(--primary-color)100%);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-family:Space Grotesk,Inter,sans-serif;font-size:3.8rem;font-weight:700;line-height:1.1}.profile-content h2{color:var(--text-secondary);white-space:nowrap;border-right:2px solid var(--primary-color);width:0;margin-bottom:1.5rem;font-family:Fira Code,monospace;font-size:1.5rem;font-weight:400;animation:3.5s steps(40,end) .5s forwards typing,.75s step-end infinite blink;overflow:hidden}@keyframes typing{0%{width:0}to{width:33ch}}@keyframes blink{50%{border-color:#0000}}.profile-content>p{color:var(--text-tertiary);max-width:55ch;margin-bottom:2rem;font-size:1rem;line-height:1.8}.profile-buttons{flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;display:flex}.profile-button{color:var(--text-main);border:1px solid var(--border-color);transition:var(--transition);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:.5rem;padding:.65rem 1.3rem;font-family:Fira Code,monospace;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.profile-button i{font-size:1.1rem}.profile-button:hover,.profile-button:focus{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-dim);transform:translateY(-2px);box-shadow:0 6px 20px #64ffda1f}.scroll-down{text-align:left}.scroll-down a{color:var(--text-secondary);font-size:1.5rem;text-decoration:none;transition:color .3s;animation:2.5s infinite bounce;display:inline-block}.scroll-down a:hover{color:var(--primary-color)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.profile-image{width:480px;min-width:380px;height:440px;transition:var(--transition);border-radius:12px;flex-shrink:0;position:relative;overflow:hidden}.profile-image:hover{box-shadow:0 20px 40px #00000080,var(--glow);transform:translateY(-6px)}.terminal-box{color:var(--text-main);white-space:pre-line;cursor:text;-webkit-user-select:text;user-select:text;background:#06060cf5;border:1px solid #64ffda4d;border-radius:12px;outline:none;width:100%;height:100%;padding:0;font-family:Fira Code,Courier New,monospace;font-size:.85rem;line-height:1.4;position:absolute;inset:0;overflow-y:auto;box-shadow:inset 0 0 30px #00000080,0 0 30px #64ffda14}.terminal-topbar{z-index:1;background:#ffffff0a;border-bottom:1px solid #ffffff0f;align-items:center;gap:6px;padding:10px 14px;display:flex;position:sticky;top:0}.terminal-dot{border-radius:50%;width:12px;height:12px}.terminal-dot.red{background:#ff5f57}.terminal-dot.yellow{background:#ffbd2e}.terminal-dot.green{background:#28c840}.terminal-title{text-align:center;color:var(--text-secondary);flex:1;font-family:Fira Code,monospace;font-size:.75rem}.terminal-content{min-height:calc(100% - 40px);padding:12px 14px}.terminal-box::-webkit-scrollbar{width:6px}.terminal-box::-webkit-scrollbar-track{background:0 0}.terminal-box::-webkit-scrollbar-thumb{background:#64ffda4d;border-radius:3px}.terminal-box::-webkit-scrollbar-thumb:hover{background:#64ffda80}.terminal-line{align-items:center;min-height:1.4em;margin-bottom:2px;display:flex}.prompt{color:var(--primary-color);white-space:nowrap;font-weight:600}.prompt-path{color:var(--accent-color)}.terminal-input{color:var(--text-main);margin-left:4px}.cursor{color:var(--primary-color);margin-left:1px;font-weight:700;display:inline-block}.terminal-output{color:var(--text-tertiary);white-space:pre-wrap;word-wrap:break-word;margin:4px 0;line-height:1.5}.terminal-command{color:var(--accent-color);margin:4px 0}.about-section{background-color:var(--bg-secondary);color:var(--text-main);padding:6rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-tag{color:var(--primary-color);letter-spacing:3px;text-transform:uppercase;opacity:.8;margin-bottom:.75rem;font-family:Fira Code,monospace;font-size:.8rem;display:block}.section-title{color:var(--text-main);letter-spacing:-.5px;font-family:Space Grotesk,Inter,sans-serif;font-size:2.4rem;font-weight:700;display:inline-block;position:relative}.section-title:after{content:"";background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:2px;width:72px;height:3px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%);box-shadow:0 0 12px #38bdf866}.about-wrapper{flex-wrap:wrap;justify-content:space-between;gap:4rem;display:flex}.about-left{flex:1;min-width:300px}.about-left h3{color:var(--primary-color);margin-bottom:1rem;font-family:Fira Code,monospace;font-size:1.3rem}.about-left p{color:var(--text-tertiary);margin-bottom:1rem;font-size:.95rem;line-height:1.9}.about-right{flex:1;min-width:300px}.about-right h3{color:var(--primary-color);margin-bottom:1rem;font-family:Fira Code,monospace;font-size:1.3rem}.education-card{background:var(--bg-card);border:1px solid var(--border-color);transition:var(--transition);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1.2rem 1.5rem;display:flex}.education-card:hover{border-color:var(--border-accent);transform:translate(4px);box-shadow:0 4px 20px #64ffda0f}.education-icon{background:var(--primary-dim);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.education-icon i{color:var(--primary-color);font-size:1.1rem}.education-details h4{color:var(--text-main);margin-bottom:.25rem;font-size:.95rem;font-weight:600}.education-details p{color:var(--text-secondary);font-family:Fira Code,monospace;font-size:.85rem}.education-details span{color:var(--accent-color)}.skills-section{background-color:var(--bg-color);text-align:center;padding:6rem 0}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1.25rem;width:100%;max-width:1000px;margin:3rem auto 0;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border-color);transition:var(--transition);cursor:default;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1rem;display:flex;position:relative;overflow:hidden}.skill-card:before{content:"";opacity:0;background:linear-gradient(135deg,#38bdf80f 0%,#0000 60%);border-radius:14px;transition:opacity .3s;position:absolute;inset:0}.skill-card:hover:before{opacity:1}.skill-card:hover{border-color:var(--border-accent);background:var(--bg-card-hover);box-shadow:0 16px 40px #0006,var(--glow);transform:translateY(-8px)}.skill-card i{font-size:2.4rem;transition:transform .3s}.skill-card:hover i{transform:scale(1.1)}.skill-card span{color:var(--text-secondary);font-family:Fira Code,monospace;font-size:.8rem;font-weight:500}.skill-card:hover span{color:var(--primary-color)}.featured-projects{background-color:var(--bg-secondary);padding:6rem 0}.featured-projects__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:3rem;display:flex}.see-all-button{color:var(--primary-color);border:1px solid var(--border-accent);transition:var(--transition);border-radius:8px;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-family:Fira Code,monospace;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.see-all-button:hover{background:var(--primary-dim);color:var(--primary-hover)}.see-all-button svg{width:16px;height:16px;transition:transform .3s}.see-all-button:hover svg{transform:translate(4px)}.projects-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.project-item{background:var(--bg-card);border:1px solid var(--border-color);transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.project-item:before{content:"";background:linear-gradient(90deg,var(--primary-color),var(--accent-color));opacity:0;z-index:1;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.project-item:hover:before{opacity:1}.project-item:hover{border-color:var(--border-accent);box-shadow:0 24px 60px #00000080,var(--glow);transform:translateY(-10px)}.project-image{background:#111118;height:200px;position:relative;overflow:hidden}.project-image img{object-fit:cover;opacity:.9;width:100%;height:100%;transition:transform .5s}.project-item:hover .project-image img{opacity:1;transform:scale(1.06)}.project-image:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0a0a0f99);height:50%;position:absolute;bottom:0;left:0;right:0}.project-details{flex-direction:column;flex:1;gap:.7rem;padding:1.5rem;display:flex}.project-year-type{color:var(--primary-color);letter-spacing:.5px;font-family:Fira Code,monospace;font-size:.78rem;font-weight:500}.project-title{color:var(--text-main);transition:var(--transition);font-size:1.3rem;font-weight:600}.project-item:hover .project-title{color:var(--primary-color)}.project-tech{flex-wrap:wrap;gap:.4rem;display:flex}.project-tech span{color:var(--text-secondary);transition:var(--transition);background:#64ffda0f;border:1px solid #64ffda1f;border-radius:20px;padding:.25rem .65rem;font-family:Fira Code,monospace;font-size:.72rem}.project-item:hover .project-tech span{color:var(--text-tertiary);background:#64ffda1a}.project-description{color:var(--text-secondary);flex:1;font-size:.88rem;line-height:1.6}.project-link{color:var(--primary-color);transition:var(--transition);align-items:center;gap:.35rem;margin-top:auto;font-family:Fira Code,monospace;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.project-link:after{content:"→";opacity:0;transition:var(--transition);transform:translate(-5px)}.project-link:hover{color:var(--primary-hover)}.project-link:hover:after{opacity:1;transform:translate(3px)}.contact{background-color:var(--bg-color);text-align:center;padding:6rem 0;position:relative}.contact:before{content:"";pointer-events:none;background:radial-gradient(at 30%,#38bdf80d 0%,#0000 60%),radial-gradient(at 70%,#c084fc0d 0%,#0000 60%);position:absolute;inset:0}.contact-header{margin-bottom:3rem}.contact-header h2{color:var(--text-main);letter-spacing:-.5px;font-family:Space Grotesk,Inter,sans-serif;font-size:2.4rem;font-weight:700;display:inline-block;position:relative}.contact-header h2:after{content:"";background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:2px;width:72px;height:3px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%);box-shadow:0 0 12px #38bdf866}.contact-header p{color:var(--text-tertiary);max-width:500px;margin:2rem auto 0;font-size:.95rem;line-height:1.8}.contact-button{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;cursor:pointer;transition:var(--transition);letter-spacing:.5px;border:none;border-radius:8px;align-items:center;gap:.5rem;margin-top:2rem;padding:.85rem 2rem;font-family:Fira Code,monospace;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.contact-button:hover{opacity:.88;transform:translateY(-2px);box-shadow:0 8px 24px #64ffda40}.contact-divider{border:none;border-top:1px solid var(--border-color);margin:3rem 0}.contact-buttons p{color:var(--text-secondary);margin-bottom:1.5rem;font-family:Fira Code,monospace;font-size:.9rem}.social-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.social-button{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);transition:var(--transition);border-radius:8px;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-family:Fira Code,monospace;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex}.social-button:hover{border-color:var(--border-accent);color:var(--primary-color);background:var(--primary-dim);transform:translateY(-2px)}.social-button i{font-size:1.1rem}.modal{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;display:none;position:fixed;inset:0}.modal.active{justify-content:center;align-items:center;padding:20px;display:flex}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:2rem;animation:.3s modalSlide;position:relative;overflow-y:auto;box-shadow:0 25px 60px #0009}@keyframes modalSlide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.close-modal{cursor:pointer;color:var(--text-secondary);transition:var(--transition);z-index:1;font-size:1.4rem;position:absolute;top:1rem;right:1.25rem}.close-modal:hover{color:var(--primary-color)}.contact__form h3{color:var(--text-main);margin-bottom:1.5rem;font-family:Fira Code,monospace;font-size:1.4rem;font-weight:600}.contact__form h3:before{content:"// ";color:var(--primary-color)}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-secondary);letter-spacing:.5px;margin-bottom:.4rem;font-family:Fira Code,monospace;font-size:.8rem;display:block}.form-group input,.form-group textarea{border:1px solid var(--border-color);width:100%;color:var(--text-main);transition:var(--transition);resize:vertical;background:#ffffff0a;border-radius:8px;outline:none;padding:.75rem 1rem;font-family:Fira Code,monospace;font-size:.9rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);background:#64ffda08;box-shadow:0 0 0 3px #64ffda14}.form-group.error input,.form-group.error textarea{border-color:var(--error-color)}.error-message{color:var(--error-color);margin-top:.3rem;font-family:Fira Code,monospace;font-size:.78rem;display:none}.form-group.error .error-message{display:block}.submit-button{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;cursor:pointer;width:100%;transition:var(--transition);letter-spacing:.5px;border:none;border-radius:8px;padding:.85rem;font-family:Fira Code,monospace;font-size:.9rem;font-weight:600}.submit-button:hover{opacity:.88;transform:translateY(-1px)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.popup{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;opacity:0;z-index:3000;border-radius:10px;padding:.85rem 1.5rem;font-family:Fira Code,monospace;font-size:.9rem;font-weight:600;transition:all .4s;position:fixed;bottom:2rem;right:2rem;transform:translateY(100px);box-shadow:0 8px 24px #64ffda4d}.popup.show{opacity:1;transform:translateY(0)}.footer{background:var(--bg-secondary);border-top:1px solid #0000;border-image:linear-gradient(90deg,transparent,var(--primary-color),var(--accent-color),transparent)1;text-align:center;padding:2.5rem 0;position:relative}.footer .social-links{margin-bottom:1.5rem}.footer .social-button{padding:.65rem 1rem}.footer p{color:var(--text-secondary);margin-top:.5rem;font-family:Fira Code,monospace;font-size:.82rem}.footer .heart{color:#4ade80}.all-projects-page{background:var(--bg-color);min-height:100vh;padding:5rem 0 6rem}.all-projects-page .section-header{margin-bottom:3rem}@media (max-width:900px){.hero-content-wrapper{flex-direction:column}.profile-image{width:100%;min-width:unset;height:380px}.profile-content h1{font-size:2.8rem}.profile-content h2{font-size:1.2rem}}@media (max-width:768px){nav{display:none}.mobile-menu-toggle,.mobile-menu{display:block}.profile-content h1{font-size:2.4rem}.about-wrapper{flex-direction:column}.featured-projects__header{flex-direction:column;align-items:flex-start}.projects-list{grid-template-columns:1fr}.profile-content h2{white-space:normal;border-right:none;width:auto;animation:none}}@media (max-width:480px){.profile-content h1{font-size:2rem}.profile-buttons{flex-direction:column}.profile-button{justify-content:center}.modal-content{padding:1.5rem}}
