:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #1e1a2e;--primary: #c084fc;--secondary: #f472b6;--glass: rgba(255, 255, 255, .04);--text: #ffffff;--text-soft: #d1d5db;--text-purple: #e9d5ff;--page-pad: clamp(1.5rem, 5vw, 5rem);--title-pad: clamp(1.5rem, 5vw, 5rem);--section-gap: clamp(4rem, 8vw, 10rem);--timeline-date-w: clamp(110px, 14vw, 180px);--hero-pad: clamp(1.5rem, 6vw, 6rem);--h1-size: clamp(2.2rem, 6vw, 4.2rem);--h2-size: clamp(1.7rem, 3.5vw, 2.4rem);--body-size: clamp(.92rem, 1.6vw, 1.05rem);--small-size: clamp(.8rem, 1.3vw, .95rem);--radius-card: 12px;--radius-large: 20px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-size:var(--body-size);overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(139,92,246,.12),transparent 30%),radial-gradient(circle at 90% 80%,rgba(236,72,153,.1),transparent 30%)}section{scroll-margin-top:80px}.portfolio-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.navbar{position:fixed;top:0;left:0;width:100%;padding:1.25rem 0;background:#1e1a2ed9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(255,255,255,.05)}.nav-content{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:800;font-size:clamp(1.1rem,2.5vw,1.4rem);letter-spacing:-.5px}.dot{color:var(--primary)}.nav-links{list-style:none;display:flex;gap:clamp(1.2rem,3vw,2.5rem);margin:0;padding:0}.nav-links a{text-decoration:none;color:var(--text-soft);font-size:clamp(.85rem,1.5vw,.95rem);transition:color .3s}.nav-links a:hover{color:var(--primary)}.hero{margin-top:clamp(5rem,10vw,8rem);min-height:85vh;display:flex;align-items:center;position:relative;z-index:2;overflow:hidden}.hero-content{display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,5vw,4rem);width:100%;padding:0 var(--hero-pad)}.hero-text{flex:1}.hero-image-container{flex:0 0 auto;display:flex;justify-content:flex-end}.profile-img{width:clamp(180px,26vw,320px);height:clamp(180px,26vw,320px);object-fit:cover;border-radius:50%;box-shadow:0 0 60px #a855f733}h1{font-size:var(--h1-size);line-height:1.1;margin:0 0 1rem;background:linear-gradient(to right,#fff,#d8b4fe);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.role{color:var(--primary);font-size:clamp(.95rem,2vw,1.25rem);margin-bottom:1.25rem;font-weight:500;line-height:1.4}.hero-bio{color:var(--text-soft);line-height:1.75;font-size:clamp(.92rem,1.8vw,1.1rem);margin-bottom:2.5rem}.hero-buttons{display:flex;gap:1.25rem;flex-wrap:wrap}.cta-button{padding:clamp(.65rem,1.5vw,.9rem) clamp(1.4rem,3vw,2.2rem);border-radius:50px;font-weight:600;cursor:pointer;transition:transform .3s,box-shadow .3s;border:none;font-size:clamp(.85rem,1.5vw,1rem);text-decoration:none;display:inline-flex;align-items:center}.primary{background:linear-gradient(to right,var(--primary),var(--secondary));color:#fff}.secondary{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff}.cta-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #0003}.section{margin:var(--section-gap) 0;position:relative;z-index:1}.section-title{font-size:var(--h2-size);margin:0 auto 3rem;text-align:left;max-width:1200px;padding:0 var(--title-pad)}.gradient-text{background:linear-gradient(to right,#c084fc,#f472b6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.about-content{max-width:1200px;margin:0 auto;padding:0 var(--page-pad)}.about-content p{font-size:clamp(.92rem,1.8vw,1.1rem);line-height:1.85;color:var(--text-soft);margin-bottom:1.5rem}.about-content strong{color:var(--primary);font-weight:600}.timeline{max-width:1200px;margin:0 auto;padding-left:var(--page-pad);padding-right:1.5rem;position:relative}.timeline:before{content:"";position:absolute;left:calc(var(--page-pad) + var(--timeline-date-w));top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,rgba(192,132,252,.55) 15%,rgba(192,132,252,.55) 85%,transparent);z-index:0}.timeline-item{display:flex;align-items:flex-start;margin-bottom:4rem;position:relative;z-index:1}.timeline-dot{position:absolute;left:calc(var(--timeline-date-w) - 8px);top:12px;width:16px;height:16px;background:var(--primary);border:3px solid var(--bg);border-radius:50%;z-index:2;flex-shrink:0}.timeline-dot:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--primary);opacity:0;animation:pulse-ring 2.5s ease-out infinite}.timeline-left{width:var(--timeline-date-w);flex-shrink:0;padding-right:1.5rem}.timeline-date{color:var(--text-soft);font-weight:600;font-size:var(--small-size);white-space:nowrap;padding-top:12px}.spotlight-card{position:relative;overflow:hidden}.spotlight-glow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s ease;z-index:0;border-radius:inherit}.spotlight-card:hover .spotlight-glow{opacity:1}.spotlight-card>*:not(.spotlight-glow){position:relative;z-index:1}.timeline-card{flex:1;background:var(--glass);border:1px solid rgba(255,255,255,.08);padding:clamp(1rem,2.5vw,1.5rem) clamp(1rem,3vw,2rem);border-radius:var(--radius-card);margin-left:40px;transition:transform .3s,border-color .3s,background .3s}.timeline-card:hover{transform:translateY(-6px);border-color:var(--primary);background:#ffffff0f}.timeline-card h3{margin:0 0 .3rem;font-size:clamp(1rem,2vw,1.15rem)}.timeline-card h4{color:var(--text-soft);font-weight:500;margin:0 0 1rem;font-size:var(--small-size)}.timeline-card ul{padding-left:1.2rem;margin:0}.timeline-card li{margin-bottom:.6rem;color:var(--text-soft);line-height:1.65;font-size:var(--small-size)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(260px,40%,400px),1fr));gap:clamp(1.5rem,3vw,2.5rem);padding:0 var(--page-pad);max-width:1200px;margin:2rem auto 0}.project-card{background:#ffffff08;border-radius:var(--radius-large);border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:transform .4s ease,border-color .4s ease}.project-card:hover{transform:translateY(-10px);border-color:var(--primary);background:#ffffff0d}.project-image-wrapper{position:relative;width:100%;height:clamp(140px,18vw,200px);background:#12101c}.project-img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .3s}.project-card:hover .project-img{opacity:1}.project-github-link{position:absolute;top:14px;right:14px;z-index:5}.project-github-link i{font-size:1.8rem;color:#fff;background:#00000080;padding:8px;border-radius:50%;transition:.3s}.project-github-link i:hover{color:var(--primary);background:#fff;transform:scale(1.1)}.project-info{padding:clamp(1rem,2vw,1.5rem)}.project-info h3{margin:0 0 10px;font-size:clamp(1.05rem,2vw,1.35rem)}.project-info p{color:var(--text-soft);font-size:var(--small-size);line-height:1.65;margin-bottom:.5rem}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.25rem}.tags span{background:#ffffff08;padding:6px 12px;border-radius:10px;font-size:clamp(.75rem,1.2vw,.85rem);color:var(--text-purple);border:1px solid rgba(192,132,252,.12);display:flex;align-items:center;gap:6px;transition:background .3s,border-color .3s,transform .3s}.tags span:hover{background:#c084fc1a;border-color:var(--primary);transform:translateY(-2px)}.colored{filter:drop-shadow(0 0 2px rgba(0,0,0,.2))}.contact-container{max-width:1200px;margin:0 auto;padding:0 var(--page-pad);display:flex;gap:clamp(2rem,5vw,4rem)}.contact-info{flex:1}.contact-info>p{color:var(--text-soft);font-size:clamp(.92rem,1.8vw,1.1rem);line-height:1.75;margin-bottom:2rem}.social-links{display:flex;flex-direction:column;gap:1rem}.social-item{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-soft);font-size:clamp(.95rem,1.8vw,1.1rem);transition:color .3s,transform .3s}.social-item:hover{color:var(--primary);transform:translate(5px)}.resume-link-contact{margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06);color:var(--primary)!important;font-weight:600}.resume-link-contact:hover{color:var(--secondary)!important;transform:translate(8px)!important}.contact-form-wrapper{flex:1.5}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group input,.form-group textarea{width:100%;padding:clamp(.7rem,1.5vw,1rem) clamp(.9rem,2vw,1.5rem);background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-family:inherit;font-size:clamp(.85rem,1.5vw,1rem);transition:border-color .3s,background .3s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);background:#ffffff0f}.success-message{background:#c084fc0d;border:1px dashed var(--primary);padding:clamp(2rem,5vw,3rem);border-radius:var(--radius-large);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.success-message h3{font-size:clamp(1.4rem,3vw,1.8rem);color:var(--primary)}button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.footer{text-align:center;padding:clamp(3rem,6vw,6rem) 0;border-top:1px solid rgba(255,255,255,.05);color:var(--text-soft)}.scroll-top{position:fixed;bottom:clamp(20px,4vw,40px);right:clamp(20px,4vw,40px);width:48px;height:48px;background:var(--primary);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:transform .3s,background .3s}.scroll-top:hover{transform:translateY(-5px);background:var(--secondary)}@keyframes pulse-ring{0%{transform:scale(1);opacity:.7}to{transform:scale(2.8);opacity:0}}@keyframes shine{0%{background-position:100% center}to{background-position:0% center}}.shiny-text{background:linear-gradient(to right,var(--text) 0%,var(--text) 35%,#fff 50%,var(--primary) 58%,var(--text) 68%,var(--text) 100%);background-size:300% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shine 4s linear infinite}@media(min-width:1400px){.portfolio-container,.nav-content,.section-title,.timeline,.projects-grid,.about-content,.contact-container{max-width:1400px}}@media(max-width:900px){.hero-content{flex-direction:column;text-align:center;align-items:center;padding-top:clamp(5rem,12vw,8rem);padding-bottom:2rem}.hero-image-container{order:-1;justify-content:center}.hero-buttons{justify-content:center}.hero-text{width:100%}.role{line-height:1.6}.nav-links{gap:1.2rem}}@media(max-width:680px){.nav-links{display:none}.nav-content{justify-content:center}.timeline:before{display:none}.timeline-item{flex-direction:column;gap:.4rem}.timeline-left{width:100%;padding:0}.timeline-date{padding-top:0}.timeline-dot{display:none}.timeline-card{margin-left:0}.contact-container{flex-direction:column}.projects-grid{grid-template-columns:1fr}}@media(max-width:420px){.hero-buttons{flex-direction:column;align-items:stretch;width:100%}.cta-button{justify-content:center;width:100%}.profile-img{width:clamp(160px,60vw,220px);height:clamp(160px,60vw,220px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{display:inline-block;width:2px;height:1em;background:var(--primary);margin-left:3px;vertical-align:text-bottom;border-radius:1px;animation:blink 1s step-end infinite}.skills-container{max-width:1200px;margin:0 auto;padding:0 var(--page-pad);display:flex;flex-direction:column;gap:2rem}.skills-category-label{font-size:clamp(.72rem,1.2vw,.82rem);font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .75rem}.skills-badges{display:flex;flex-wrap:wrap;gap:clamp(.5rem,1.2vw,.85rem)}.skill-badge{display:flex;align-items:center;gap:.55rem;padding:clamp(.5rem,1.2vw,.7rem) clamp(.9rem,2vw,1.25rem);background:var(--glass);border:1px solid rgba(255,255,255,.08);border-radius:50px;font-size:clamp(.8rem,1.4vw,.92rem);color:var(--text-soft);cursor:default;transition:background .3s,border-color .3s,color .3s,transform .3s}.skill-badge:hover{background:#c084fc1a;border-color:var(--primary);color:var(--text);transform:translateY(-3px)}.skill-badge i{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1}.skill-initials{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.4rem;padding:0 4px;background:#c084fc2e;border-radius:5px;font-size:.62rem;font-weight:800;letter-spacing:.03em;color:var(--primary)}
