@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#1e1e1e,#2a1a3d 50%,#1e1e1e);background-size:200% 200%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header-container{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#1e1e1ef2,#2a1a3df2 50%,#1e1e1ef2);background-size:200% 200%;border:1px solid #a855f74d;border-radius:20px;box-shadow:0 12px 48px #8a2be24d,0 4px 16px #0006;color:#fff;display:flex;font-family:RobotoMono,sans-serif;justify-content:space-between;left:20px;margin:0 auto;max-width:calc(100% - 40px);padding:20px 40px;position:fixed;right:20px;top:20px;z-index:1000}.header-container:before{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:radial-gradient(circle at 50% 0,#8a2be21a 0,#0000 50%);border-radius:20px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}@media(max-width:768px){.header-container{left:12px;max-width:calc(100% - 24px);padding:16px 24px;right:12px;top:12px}.header-container,.header-container:before{border-radius:16px}}.logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e1e1e1,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.1em,2.5vw,1.5em);font-weight:700;letter-spacing:2px;position:relative;text-decoration:none;transition:all .3s ease;z-index:1}.logo:hover{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff 50%,#f0abfc);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;filter:drop-shadow(0 2px 8px rgba(138,43,226,.4))}.nav{align-items:center;display:flex}@media(max-width:768px){.nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#1e1e1efa,#2a1a3dfa);flex-direction:column;height:100%;justify-content:center;position:fixed;right:-100%;top:0;transition:right .3s ease-in-out;width:100%;z-index:999}}.nav.open{right:0}.nav-link{align-items:center;color:#fffc;display:flex;font-family:RobotoMono,sans-serif;font-size:clamp(.9em,1.5vw,1.1em);font-weight:500;margin-left:40px;position:relative;text-decoration:none;transition:all .3s ease;z-index:1}.nav-link:hover{color:#d4a1ff;filter:drop-shadow(0 2px 4px rgba(138,43,226,.3));transform:translateY(-2px)}.nav-link svg{margin-right:8px;transition:transform .3s ease}.nav-link:hover svg{transform:scale(1.1)}@media(max-width:768px){.nav-link{font-size:clamp(1.2em,4vw,1.5em);margin-bottom:24px;margin-left:0}}.hamburger{cursor:pointer;display:none}@media(max-width:768px){.hamburger{align-items:center;display:flex;z-index:1001}}.button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#a855f71a;border:2px solid #a855f7;border-radius:8px;box-shadow:0 4px 12px #8a2be233;color:#d4a1ff;display:flex;font-family:RobotoMono,sans-serif;font-size:clamp(.9em,1.5vw,1.1em);font-weight:500;margin-left:40px;padding:10px 20px;position:relative;text-decoration:none;transition:all .3s ease;z-index:1}.button:hover{background:linear-gradient(135deg,#a855f7,#d4a1ff);border-color:#d4a1ff;box-shadow:0 6px 20px #8a2be266;color:#fff;transform:translateY(-2px)}.button svg{margin-right:8px;transition:transform .3s ease}.button:hover svg{transform:scale(1.1) rotate(5deg)}@media(max-width:768px){.button{font-size:clamp(1.2em,4vw,1.5em);margin-bottom:24px;margin-left:0;padding:12px 24px}}.close-icon{display:block;z-index:1002}.resume-container{align-items:center;color:#fff;display:flex;flex-direction:column;font-family:RobotoMono,sans-serif;margin:0 auto;padding:40px 0;width:80%}.resume-container .content-wrapper{display:flex;flex-direction:column;gap:20px;width:100%}@media(min-width:1025px){.resume-container .content-wrapper{flex-direction:row;gap:60px;justify-content:center}}.left-column{flex:1 1;margin-bottom:20px}@media(min-width:1025px){.left-column{margin-right:0}}@media(max-width:1024px){.left-column{margin-right:0;width:100%}}.right-column{align-items:center;display:flex;flex:1 1;justify-content:center;width:100%}.right-column iframe{border:none;border-radius:12px;box-shadow:0 8px 24px #8a2be233;height:115vh;transition:box-shadow .3s ease;width:100%}.right-column iframe:hover{box-shadow:0 12px 32px #8a2be24d}@media(max-width:1200px){.right-column iframe{height:60vh}}.section-container,.section-title{position:relative}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.8em,4vw,2.5em);font-weight:700;margin-bottom:24px}.line-container{position:relative}.line-container:before{background:linear-gradient(180deg,#a855f7,#d4a1ff);bottom:0;box-shadow:0 0 8px #8a2be280;content:"";position:absolute;top:0;width:2px}.job-container{margin-bottom:20px;padding-left:40px;position:relative}.job-container:before{background:linear-gradient(90deg,#a855f7,#d4a1ff);box-shadow:0 0 4px #8a2be280;content:"";height:2px;left:0;position:absolute;top:1em;width:20px}.job-title{font-size:1.5em;margin:10px 0;position:relative}.company{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-weight:600}.job-dates{color:#d3d3d3;font-size:1em;margin:5px 0 10px}.bullet-point{font-size:1em;list-style-type:none;padding-left:20px;position:relative}.bullet-point:before{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;content:">";font-weight:700;left:0;position:absolute}.projects-container{align-items:center;color:#fff;display:flex;flex-direction:column;font-family:RobotoMono,sans-serif;margin:0 auto;overflow-x:hidden;padding:0 10px;width:80%}@media(max-width:768px){.projects-container{box-sizing:border-box;padding:0 16px;width:100%}}.projects-container .section-title{-webkit-text-fill-color:#0000;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#a855f7,#d4a1ff 50%,#f0abfc);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;box-sizing:border-box;filter:drop-shadow(0 4px 12px rgba(138,43,226,.3));font-size:clamp(2em,5vw,3em);font-weight:700;letter-spacing:-.02em;margin-bottom:30px;text-align:left;width:100%}.projects-container .projects-controls{display:flex;flex-direction:column;gap:20px;margin-bottom:30px;width:100%}.projects-container .projects-controls .search-section{display:flex;flex-direction:column;gap:15px}@media(min-width:768px){.projects-container .projects-controls .search-section{align-items:center;flex-direction:row;justify-content:space-between}}.projects-container .projects-controls .search-section .search-bar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2a2a2a99;border:2px solid #a855f74d;border-radius:12px;box-shadow:0 4px 12px #0003;display:flex;flex:1 1;padding:14px 18px;transition:all .3s ease}.projects-container .projects-controls .search-section .search-bar:focus-within{background:#2a2a2acc;border-color:#a855f7;box-shadow:0 6px 20px #8a2be24d}.projects-container .projects-controls .search-section .search-bar input{background:none;border:none;color:#fff;flex:1 1;font-family:RobotoMono,sans-serif;font-size:1em;outline:none}.projects-container .projects-controls .search-section .search-bar input::placeholder{color:#d3d3d3}.projects-container .projects-controls .search-section .search-bar .search-icon{color:#d4a1ff;font-size:1.2em;margin-right:12px;transition:transform .3s ease}.projects-container .projects-controls .search-section .search-bar:focus-within .search-icon{color:#a855f7;transform:scale(1.1)}.projects-container .projects-controls .search-section .show-all-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#a855f726;border:2px solid #a855f7;border-radius:10px;box-shadow:0 4px 12px #8a2be233;color:#d4a1ff;cursor:pointer;font-family:RobotoMono,sans-serif;font-size:clamp(.9em,1.5vw,1em);font-weight:500;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.projects-container .projects-controls .search-section .show-all-button:hover{transform:translateY(-2px)}.projects-container .projects-controls .search-section .show-all-button.active,.projects-container .projects-controls .search-section .show-all-button:hover{background:linear-gradient(135deg,#a855f7,#d4a1ff);box-shadow:0 6px 20px #8a2be266;color:#fff}.projects-container .projects-controls .filter-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}@media(min-width:768px){.projects-container .projects-controls .filter-tags{justify-content:flex-start}}.projects-container .projects-controls .filter-tags .tag-filter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2a2a2a99;border:2px solid #a855f74d;border-radius:20px;color:#fffc;cursor:pointer;font-family:RobotoMono,sans-serif;font-size:clamp(.85em,1.2vw,.95em);font-weight:500;padding:10px 18px;transition:all .3s ease}.projects-container .projects-controls .filter-tags .tag-filter:hover{border-color:#a855f7;box-shadow:0 4px 12px #8a2be24d;color:#d4a1ff;transform:translateY(-2px)}.projects-container .projects-controls .filter-tags .tag-filter.active{background:linear-gradient(135deg,#a855f7,#d4a1ff);border-color:#d4a1ff;box-shadow:0 4px 12px #8a2be266;color:#fff}.projects-container .projects-display{width:100%}.projects-container .projects-display .no-results{color:#d3d3d3;font-size:1.2em;margin:40px 0;text-align:center}.projects-container .projects-display .big-projects-container{align-items:center;display:flex;flex-direction:column;margin-bottom:40px;width:100%}.projects-container .projects-display .small-projects-container{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;width:100%}@media(max-width:768px){.projects-container .projects-display .small-projects-container{justify-content:center}}.project-container{border:1px solid #a855f733;border-radius:16px;box-shadow:0 8px 24px #8a2be240;margin-bottom:40px;min-height:250px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.project-container:hover{border-color:#d4a1ff66;box-shadow:0 16px 40px #8a2be266;transform:translateY(-8px)}.project-container img,.project-container video{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:1}.project-container .project-content{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(180deg,#1e1e1e40,#1e1e1ecc);display:flex;flex-direction:column;height:100%;padding:24px;position:relative;z-index:2}.project-container .project-content .project-header{margin-bottom:12px;text-align:center}.project-container .project-content .project-header h3{color:#fff;font-size:clamp(1.5em,3vw,2em);font-weight:700;margin-bottom:8px;text-shadow:0 2px 8px #000c}.project-container .project-content .project-header .project-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:0}.project-container .project-content .project-header .project-tags .tag{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#a855f740;border:1px solid #d4a1ff4d;border-radius:12px;color:#d4a1ff;font-size:clamp(.75em,1vw,.85em);font-weight:600;padding:6px 12px;transition:all .3s ease}.project-container .project-content .project-header .project-tags .tag:hover{background:#a855f766;transform:scale(1.05)}.project-container .project-content .project-description{color:#d3d3d3;font-size:1.2em;line-height:1.4;margin-bottom:12px;text-align:center}.project-container .project-content .project-technologies{margin-bottom:12px;text-align:center}.project-container .project-content .project-technologies .tech-uses{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-size:clamp(.85em,1.2vw,.95em);font-weight:700;margin-right:8px}.project-container .project-content .project-technologies .tech-items{display:inline-flex;flex-wrap:wrap;gap:6px}.project-container .project-content .project-technologies .tech-items .tech-item{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2a2a2ab3;border:1px solid #a855f74d;border-radius:8px;color:#ffffffe6;font-size:clamp(.75em,1vw,.85em);padding:4px 10px;transition:all .3s ease}.project-container .project-content .project-technologies .tech-items .tech-item:hover{background:#a855f733;border-color:#d4a1ff80;transform:translateY(-1px)}.project-container .project-content .project-links{display:flex;gap:20px;justify-content:center;margin-top:auto}.project-container .project-content .project-links a{align-items:center;color:#d4a1ff;display:flex;font-size:clamp(1em,1.5vw,1.2em);font-weight:600;gap:8px;text-decoration:none;transition:all .3s ease}.project-container .project-content .project-links a:hover{color:#f0abfc;filter:drop-shadow(0 2px 8px rgba(138,43,226,.5));transform:translateX(4px)}.project-container .project-content .project-links a svg{transition:transform .3s ease}.project-container .project-content .project-links a:hover svg{transform:scale(1.15)}@media(max-width:768px){.project-container{margin-bottom:20px;padding:15px;width:100%}.project-container .project-content .project-header h3{font-size:1.5em}.project-container .project-content .project-description{font-size:1em}.project-container .project-content .project-technologies{text-align:center}}.small-project{border:1px solid #a855f733;border-radius:16px;box-shadow:0 8px 24px #8a2be240;margin-bottom:20px;min-height:300px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:45%}.small-project:hover{border-color:#d4a1ff66;box-shadow:0 16px 40px #8a2be266;transform:translateY(-8px)}.small-project img,.small-project video{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:1}.small-project .project-content{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(180deg,#1e1e1e40,#1e1e1ecc);display:flex;flex-direction:column;height:100%;padding:18px;position:relative;text-align:center;z-index:2}.small-project .project-content .project-header{margin-bottom:2px;text-align:center}.small-project .project-content .project-header h3{color:#fff;font-size:clamp(1.2em,2.5vw,1.5em);font-weight:700;margin-bottom:4px;text-shadow:0 2px 8px #000c}.small-project .project-content .project-header .project-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:2px}.small-project .project-content .project-header .project-tags .tag{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#a855f740;border:1px solid #d4a1ff4d;border-radius:10px;color:#d4a1ff;font-size:clamp(.7em,1vw,.8em);font-weight:600;padding:4px 10px;transition:all .3s ease}.small-project .project-content .project-header .project-tags .tag:hover{background:#a855f766;transform:scale(1.05)}.small-project .project-content .project-description{color:#d3d3d3;font-size:.95em;line-height:1.4;margin-bottom:2px;text-align:center}.small-project .project-content .project-technologies{margin-bottom:2px;margin-top:5px;text-align:center}.small-project .project-content .project-technologies .tech-uses{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;display:inline;font-size:clamp(.75em,1.1vw,.85em);font-weight:700;margin-right:6px}.small-project .project-content .project-technologies .tech-items{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:center}.small-project .project-content .project-technologies .tech-items .tech-item{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2a2a2ab3;border:1px solid #a855f74d;border-radius:6px;color:#ffffffe6;font-size:clamp(.7em,1vw,.75em);padding:3px 8px;transition:all .3s ease}.small-project .project-content .project-technologies .tech-items .tech-item:hover{background:#a855f733;border-color:#d4a1ff80;transform:translateY(-1px)}.small-project .project-content .project-links{display:flex;gap:15px;justify-content:center;margin-top:15px}.small-project .project-content .project-links a{align-items:center;color:#d4a1ff;display:flex;font-size:clamp(.95em,1.3vw,1.05em);font-weight:600;gap:6px;text-decoration:none;transition:all .3s ease}.small-project .project-content .project-links a:hover{color:#f0abfc;filter:drop-shadow(0 2px 8px rgba(138,43,226,.5));transform:translateX(4px)}.small-project .project-content .project-links a svg{transition:transform .3s ease}.small-project .project-content .project-links a:hover svg{transform:scale(1.15)}@media(max-width:1250px){.small-project{width:45%}}@media(max-width:968px){.small-project{width:43%}}@media(max-width:768px){.small-project{margin:0 auto 16px;min-height:260px;width:100%}.small-project .project-content{padding:12px}.small-project .project-content .project-header h3{font-size:1.2em}.small-project .project-content .project-description{font-size:.9em;line-height:1.3}.small-project .project-content .project-technologies .tech-uses{font-size:.75em}.small-project .project-content .project-technologies .tech-items .tech-item{font-size:.7em;padding:1px 4px}.small-project .project-content .project-links a{font-size:.9em;gap:4px}}@media(max-width:480px){.small-project{min-height:240px}.small-project .project-content{padding:10px}.small-project .project-content .project-header h3{font-size:1.1em}.small-project .project-content .project-description{font-size:.85em}.small-project .project-content .project-technologies .tech-uses{font-size:.7em}.small-project .project-content .project-technologies .tech-items .tech-item{font-size:.65em}.small-project .project-content .project-links{gap:10px}.small-project .project-content .project-links a{font-size:.85em}}.coming-soon-project{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#2a2a2a99,#2a1a3d99);border:2px dashed #a855f7;border-radius:16px;box-shadow:0 8px 24px #8a2be233;display:flex;flex-direction:column;margin-bottom:40px;min-height:220px;transition:all .4s ease;width:45%}.coming-soon-project:hover{background:linear-gradient(135deg,#a855f726,#d4a1ff1a);border-color:#d4a1ff;box-shadow:0 12px 32px #8a2be259;transform:translateY(-6px)}.coming-soon-project .project-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:20px;text-align:center}.coming-soon-project .project-content h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.2em,2.5vw,1.5em);font-weight:700;margin-bottom:15px}.coming-soon-project .project-content p{color:#d3d3d3;font-size:.95em;line-height:1.4;margin-bottom:20px}.coming-soon-project .project-content .project-links{display:flex;gap:20px;justify-content:center}.coming-soon-project .project-content .project-links a{align-items:center;color:#d4a1ff;display:flex;font-size:clamp(.95em,1.3vw,1.05em);font-weight:600;gap:8px;text-decoration:none;transition:all .3s ease}.coming-soon-project .project-content .project-links a:hover{color:#f0abfc;filter:drop-shadow(0 2px 8px rgba(138,43,226,.5));transform:translateX(4px)}.coming-soon-project .project-content .project-links a svg{transition:transform .3s ease}.coming-soon-project .project-content .project-links a:hover svg{transform:scale(1.15)}@media(max-width:768px){.coming-soon-project{margin:0 auto 20px;width:100%}}.about-container{color:#fff;font-family:RobotoMono,sans-serif;margin:0 auto;padding:40px 0;width:80%}.about-container h2{-webkit-text-fill-color:#0000;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#a855f7,#d4a1ff 50%,#f0abfc);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;filter:drop-shadow(0 4px 12px rgba(138,43,226,.3));font-family:RobotoMono,sans-serif;font-size:clamp(1.8em,4vw,2.5em);font-weight:700;letter-spacing:-.02em;margin:0 0 30px;padding-top:10px;text-align:left}.about-container .about-intro{align-items:flex-start;display:flex;flex-direction:row;margin-bottom:40px}@media(min-width:769px){.about-container .about-intro{align-items:center}}@media(max-width:768px){.about-container .about-intro{flex-direction:column;text-align:center}}.about-container .about-intro .about-text{flex:1 1;padding-right:0;text-align:left}@media(max-width:768px){.about-container .about-intro .about-text{padding-right:0;text-align:center}}.about-container .about-intro .about-text p{color:#ffffffe6;font-size:clamp(1em,2vw,1.25em);line-height:1.7;margin-bottom:24px}.about-container .about-intro .about-text .purple-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-weight:600}.about-container .about-intro .about-text .purple-text a{-webkit-text-fill-color:#d4a1ff;background:none;-webkit-background-clip:unset;background-clip:initial}.about-container .about-intro .about-text .purple-text a:hover{-webkit-text-fill-color:#f0abfc}.about-container .about-intro .about-text a{color:#d4a1ff;text-decoration:underline;-webkit-text-decoration-color:#d4a1ff80;text-decoration-color:#d4a1ff80;transition:all .3s ease}.about-container .about-intro .about-text a:visited{color:#d4a1ff}.about-container .about-intro .about-text a:hover{color:#f0abfc;filter:drop-shadow(0 2px 4px rgba(138,43,226,.4));-webkit-text-decoration-color:#f0abfc;text-decoration-color:#f0abfc}.about-container .about-intro .about-photo{align-items:center;display:flex;flex:0 0 30%;justify-content:flex-end;padding-left:5%}.about-container .about-intro .about-photo img{background:linear-gradient(135deg,#a855f7,#d4a1ff) padding-box,linear-gradient(135deg,#a855f7,#d4a1ff) border-box;border:3px solid #0000;border-radius:12px;box-shadow:0 8px 24px #8a2be24d;height:auto;transition:all .3s ease;width:100%}.about-container .about-intro .about-photo img:hover{box-shadow:0 12px 32px #8a2be280;transform:translateY(-4px)}@media(max-width:768px){.about-container .about-intro .about-photo{align-items:center;justify-content:center;margin-left:auto;margin-right:auto;margin-top:20px;padding-left:0;width:70%}}.about-container .about-contact,.about-container .about-technologies{margin-bottom:40px}.about-container .about-contact form{display:flex;flex-direction:column}.about-container .about-contact form label{font-family:RobotoMono,sans-serif;margin-bottom:10px}.about-container .about-contact form input,.about-container .about-contact form textarea{border:1px solid #ccc;border-radius:5px;font-family:RobotoMono,sans-serif;font-size:1em;margin-bottom:20px;padding:10px}.about-container .about-contact form button{background-color:#8a2be2;border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:RobotoMono,sans-serif;font-size:1.2em;padding:10px 20px;transition:background-color .3s}.about-container .about-contact form button:hover{background-color:#7a23d1}.about-technologies-container{color:#fff;font-family:RobotoMono,sans-serif;margin:0 auto;padding:20px 0;width:70%}.about-technologies-container .about-technologies h2{color:#fff;font-family:RobotoMono,sans-serif;font-size:2em;margin-bottom:20px;text-align:center}.about-technologies-container .about-technologies .technology-categories{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media(max-width:500px){.about-technologies-container .about-technologies .technology-categories{grid-template-columns:1fr}}.about-technologies-container .about-technologies .technology-categories .technology-category{background-color:#2a2a2a;border-radius:10px;color:#fff;padding:20px}.about-technologies-container .about-technologies .technology-categories .technology-category h3{color:#fff;font-size:1.5em;margin-bottom:30px;text-align:center}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}@media(max-width:500px){.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items{grid-template-columns:repeat(2,1fr)!important}}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item{align-items:center;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:1.2em}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item i{color:#fff;font-size:3em;margin-bottom:10px}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item p{color:#fff;font-family:Inter,sans-serif;margin:0;text-align:center}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item:hover{color:#8a2be2}.footer-container{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#1e1e1e,#2a1a3d 50%,#1e1e1e);background-size:200% 200%;border-top:1px solid #a855f733;color:#fff;display:grid;font-family:RobotoMono,sans-serif;grid-template-columns:repeat(3,1fr);padding:30px 40px;position:relative;text-align:center}.footer-container:before{background:radial-gradient(circle at 50% 100%,#8a2be20d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@media(max-width:768px){.footer-container{display:flex;flex-direction:column;gap:10px;text-align:center}}.footer-container .footer-content{align-items:center;display:flex;flex-direction:column}@media(max-width:768px){.footer-container .footer-content{align-items:center;text-align:center}}.footer-container .purple-heart{-webkit-text-fill-color:#0000;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.footer-container .footer-link{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-weight:600;margin-left:5px;text-decoration:underline;-webkit-text-decoration-color:#d4a1ff80;text-decoration-color:#d4a1ff80;transition:all .3s ease}.footer-container .footer-link:hover{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#d4a1ff,#f0abfc);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 4px rgba(138,43,226,.4));-webkit-text-decoration-color:#f0abfc;text-decoration-color:#f0abfc}.footer-container .social-icons{display:flex;gap:20px;justify-content:flex-end}@media(max-width:768px){.footer-container .social-icons{justify-content:center}}.footer-container .social-icons a{color:#ffffffb3;font-size:clamp(1.3em,2vw,1.6em);position:relative;transition:all .3s ease;z-index:1}.footer-container .social-icons a:hover{color:#d4a1ff;filter:drop-shadow(0 4px 12px rgba(138,43,226,.5));transform:translateY(-3px) scale(1.1)}.footer-container p{color:#fffc;font-size:clamp(.9em,1.2vw,1em);margin:0;position:relative;z-index:1}.footer-container .left-align{text-align:left}@media(max-width:768px){.footer-container .left-align{padding-bottom:5px;text-align:center}}.footer-container .center-align{text-align:center}.footer-container .right-align{text-align:right}@media(max-width:768px){.footer-container .right-align{padding-top:5px;text-align:center}}@font-face{font-family:RobotoMono;font-weight:500;src:url(/static/media/RobotoMono-Medium.275e41b58d96111c1152.ttf) format("truetype")}@font-face{font-family:RobotoMono;font-weight:400;src:url(/static/media/RobotoMono-Regular.94ffabb10cbc81ee42ba.ttf) format("truetype")}@font-face{font-family:Inter;font-weight:400;src:url(/static/media/Inter-Regular.9ca9ba81e9dcaa12b3a1.ttf) format("truetype")}.contribution-map-container{color:#fff;font-family:RobotoMono,sans-serif;margin:0 auto;padding:40px 0;width:80%}.contribution-map-container .contribution-map{align-items:center;color:#fff;display:flex;flex-direction:column;margin-top:40px}.contribution-map-container .contribution-map h2{-webkit-text-fill-color:#0000;align-self:flex-start;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#a855f7,#d4a1ff 50%,#f0abfc);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;filter:drop-shadow(0 4px 12px rgba(138,43,226,.3));font-family:RobotoMono,sans-serif;font-size:clamp(1.8em,4vw,2.5em);font-weight:700;letter-spacing:-.02em;margin-bottom:30px;text-align:left;width:100%}.contribution-map-container .contribution-map .calendar-section{margin-bottom:50px;width:100%}.contribution-map-container .contribution-map .calendar-section:last-child{margin-bottom:0}.contribution-map-container .contribution-map .calendar-section .year-label{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-family:RobotoMono,sans-serif;font-size:clamp(1.5em,3vw,2em);font-weight:700;margin-bottom:20px;text-align:left}.contribution-map-container .contribution-map .calendar-row{display:flex;flex-direction:row;gap:40px;width:100%}.contribution-map-container .contribution-map .calendar-row .calendar-section{flex:1 1;margin-bottom:0;min-width:0}@media(max-width:1024px){.contribution-map-container .contribution-map .calendar-row{flex-direction:column;gap:0}.contribution-map-container .contribution-map .calendar-row .calendar-section{margin-bottom:50px}.contribution-map-container .contribution-map .calendar-row .calendar-section:last-child{margin-bottom:0}}.contribution-map-container .contribution-map .calendar-wrapper{display:flex;justify-content:center;overflow-x:auto;width:100%}:root{--chat-bubble-bottom:24px;--chat-bubble-gap:16px;--chat-bubble-height:100px}.chat-bubble{background:#0d1117;border:1px solid #a855f759;border-radius:12px;bottom:24px;bottom:var(--chat-bubble-bottom);box-shadow:0 8px 24px #00000080,0 0 0 1px #a855f71f;cursor:pointer;font-family:RobotoMono,monospace;position:fixed;right:24px;transition:transform .2s ease,box-shadow .25s ease,border-color .25s ease;width:200px;will-change:transform;z-index:9999}.chat-bubble:hover{border-color:#d4a1ff99;box-shadow:0 12px 32px #8a2be273,0 0 0 1px #d4a1ff4d;transform:translateY(-3px)}.chat-bubble:focus-visible{outline:2px solid #d4a1ff;outline-offset:3px}.chat-bubble.is-running .chat-bubble__status-dot{background:#febc2e;box-shadow:0 0 8px #febc2eb3}.chat-bubble.is-open{border-color:#d4a1ff99}@media(max-width:480px){.chat-bubble{bottom:16px;right:16px;width:170px}}.chat-bubble__header{align-items:center;background:#161b22;border-bottom:1px solid #ffffff0f;border-top-left-radius:12px;border-top-right-radius:12px;display:flex;gap:8px;padding:6px 10px}.chat-bubble__dots{display:flex;gap:4px}.chat-bubble__dot{border-radius:50%;height:8px;width:8px}.chat-bubble__dot--red{background:#ff5f57}.chat-bubble__dot--yellow{background:#febc2e}.chat-bubble__dot--green{background:#28c840}.chat-bubble__title{color:#6e7681;font-size:9px;letter-spacing:.5px;text-transform:uppercase}.chat-bubble__body{min-height:44px;padding:8px 10px}.chat-bubble__line{align-items:center;display:flex;font-size:11px;gap:6px;line-height:1.4}.chat-bubble__prompt{color:#d4a1ff;font-weight:600}.chat-bubble__code{color:#e6edf3;overflow:hidden;white-space:nowrap}.chat-bubble__cursor{animation:chat-bubble-blink 1s steps(1) infinite;color:#d4a1ff}@keyframes chat-bubble-blink{50%{opacity:0}}.chat-bubble__output{color:#00ff9d;font-size:10px;margin-top:4px;min-height:14px;opacity:0;padding-left:16px;transition:opacity .2s ease}.chat-bubble__output.show{opacity:1}.chat-bubble__status{align-items:center;background:#161b22;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #ffffff0f;display:flex;font-size:9px;gap:6px;padding:5px 10px}.chat-bubble__status-dot{background:#00ff9d;border-radius:50%;box-shadow:0 0 6px #00ff9d99;height:6px;transition:background .2s ease,box-shadow .2s ease;width:6px}.chat-bubble__status-text{color:#6e7681;letter-spacing:.5px;text-transform:uppercase}.bpFabContainer,[class*=bpFabContainer]{display:none!important;pointer-events:none!important;visibility:hidden!important}.bpContainer{bottom:140px!important;bottom:calc(var(--chat-bubble-bottom) + var(--chat-bubble-height) + var(--chat-bubble-gap))!important}.speaking-container{color:#fff;font-family:RobotoMono,sans-serif;margin:0 auto;padding:40px 0;width:80%}@media(max-width:768px){.speaking-container{box-sizing:border-box;padding:40px 16px;width:100%}}.speaking-title{-webkit-text-fill-color:#0000;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#a855f7,#d4a1ff 50%,#f0abfc);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;filter:drop-shadow(0 4px 12px rgba(138,43,226,.3));font-size:clamp(1.8em,4vw,2.5em);font-weight:700;letter-spacing:-.02em;margin:0 0 18px;text-align:left}.speaking-intro{align-items:center;display:flex;flex-direction:row;gap:32px;margin-bottom:40px}@media(max-width:768px){.speaking-intro{flex-direction:column;gap:20px;text-align:center}}.speaking-intro__text{flex:1 1}.speaking-intro__text p{color:#ffffffe0;font-size:clamp(1em,1.4vw,1.1em);line-height:1.6;margin:0 0 10px}.speaking-intro__text p:last-child{margin-bottom:0}.speaking-intro__text .purple-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a855f7,#d4a1ff);-webkit-background-clip:text;background-clip:text;font-weight:600}.speaking-intro__text a{color:#d4a1ff;text-decoration:underline;-webkit-text-decoration-color:#d4a1ff80;text-decoration-color:#d4a1ff80;transition:all .2s ease}.speaking-intro__text a:hover{color:#f0abfc;-webkit-text-decoration-color:#f0abfc;text-decoration-color:#f0abfc}.speaking-intro__cta{font-weight:500}.speaking-intro__photo{display:flex;flex:0 0 auto;justify-content:flex-end}@media(max-width:768px){.speaking-intro__photo{justify-content:center;width:100%}}.speaking-intro__photo img{border:1px solid #a855f759;border-radius:14px;box-shadow:0 12px 32px #8a2be24d;display:block;height:auto;max-height:280px;max-width:min(360px,100%);object-fit:contain;transition:transform .3s ease,box-shadow .3s ease;width:auto}.speaking-intro__photo img:hover{box-shadow:0 16px 40px #8a2be273;transform:translateY(-3px)}.speaking-group{margin-bottom:36px}.speaking-group:last-child{margin-bottom:0}.speaking-group__label{color:#d4a1ffd9;font-size:clamp(1em,1.6vw,1.15em);font-weight:600;letter-spacing:.12em;margin:0 0 16px;text-transform:uppercase}.speaking-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media(max-width:1024px){.speaking-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.speaking-grid{grid-template-columns:1fr}}.speaking-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#2a2a2a99,#2a1a3d99);border:1px solid #a855f740;border-radius:16px;box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:10px;padding:20px 22px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.speaking-card:hover{border-color:#d4a1ff8c;box-shadow:0 12px 32px #8a2be259;transform:translateY(-4px)}.speaking-card--past{border-style:dashed;opacity:.88}.speaking-card__head{align-items:center;color:#d4a1ffe6;display:flex;flex-wrap:wrap;font-size:.8em;gap:10px;letter-spacing:.1em;text-transform:uppercase}.speaking-card__icon{color:#d4a1ff;filter:drop-shadow(0 1px 4px rgba(138,43,226,.4));font-size:1em}.speaking-card__date{font-weight:600}.speaking-card__kind{background:#a855f726;border:1px solid #d4a1ff59;border-radius:999px;color:#d4a1ff;font-size:.85em;letter-spacing:.08em;padding:2px 8px}.speaking-card__title{color:#fff;font-size:clamp(1.1em,1.7vw,1.3em);font-weight:700;letter-spacing:-.01em;line-height:1.25;margin:0}.speaking-card__event-line{color:#d4a1ffd9;font-size:.9em;font-weight:500;margin:0}.speaking-card__location{color:#ffffffa6;font-size:.9em;margin:0}.speaking-card__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}.speaking-card__link{align-items:center;background:#a855f71f;border:1px solid #a855f759;border-radius:999px;color:#d4a1ff;display:inline-flex;font-size:.9em;font-weight:600;gap:6px;padding:6px 12px;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease,color .2s ease}.speaking-card__link svg{font-size:.9em}.speaking-card__link:hover{background:#a855f740;border-color:#d4a1ff;color:#f0abfc;transform:translateY(-1px)}.speaking-card__link--video{background:#ff5f571f;border-color:#ff5f5773;color:#ffb3ae}.speaking-card__link--video:hover{background:#ff5f5738;border-color:#ff5f57;color:#ff8a82}.speaking-empty{color:#ffffffbf;font-size:1em}.speaking-empty a{color:#d4a1ff;text-decoration:underline;-webkit-text-decoration-color:#d4a1ff80;text-decoration-color:#d4a1ff80}.speaking-empty a:hover{color:#f0abfc;-webkit-text-decoration-color:#f0abfc;text-decoration-color:#f0abfc}
/*# sourceMappingURL=main.01fee386.css.map*/