:root{--primary-color:#4f46e5;--primary-color-dark:#4338ca;--background-light:#fff;--background-dark:#111827;--text-light:#1f2937;--text-dark:#f3f4f6;--text-secondary-light:#4b5563;--text-secondary-dark:#9ca3af;--card-background-light:#fff;--card-background-dark:#1f2937;--border-color-light:#e5e7eb;--border-color-dark:#374151;--tag-background-light:#f3f4f6;--tag-background-dark:#374151}*{box-sizing:border-box;padding:0;margin:0}body{font-family:var(--font-inter),system-ui,-apple-system,sans-serif;background-color:var(--background);color:var(--text);height:100vh}.light,:root{--background:var(--background-light);--text:var(--text-light);--text-secondary:var(--text-secondary-light);--card-background:var(--card-background-light);--border-color:var(--border-color-light);--nav-background:hsla(0,0%,100%,.8);--nav-hover:rgba(0,0,0,.05);--tag-background:var(--tag-background-light)}.dark{--background:var(--background-dark);--text:var(--text-dark);--text-secondary:var(--text-secondary-dark);--card-background:var(--card-background-dark);--border-color:var(--border-color-dark);--nav-background:rgba(17,24,39,.8);--nav-hover:hsla(0,0%,100%,.1);--tag-background:var(--tag-background-dark)}.container{max-width:1280px;width:100%;margin:0 auto;padding:1rem;height:100%}.container,.main{display:flex;flex-direction:column}.main{padding-top:5rem;height:calc(100vh - 5rem - 48px)}.nav{position:fixed;top:0;left:0;right:0;width:100%;background-color:var(--nav-background);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(0,0,0,.1);z-index:50}.nav-content{max-width:1280px;width:100%;margin:0 auto;padding:0 1rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:5rem}.nav-brand{font-size:1.5rem;font-weight:700;text-decoration:none;color:var(--text)}.nav-links{display:flex;gap:1rem;align-items:center}.nav-link{text-decoration:none;color:var(--text);padding:.5rem 1rem;border-radius:.375rem;transition:background-color .2s}.nav-link:hover{background-color:var(--nav-hover)}.theme-toggle{background:none;border:none;color:var(--text);cursor:pointer;padding:.5rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.theme-toggle:hover{background-color:var(--nav-hover)}.hamburger{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:.5rem;border-radius:.375rem;align-items:center;justify-content:center;transition:background-color .2s}.hamburger:hover{background-color:var(--nav-hover)}.nav-mobile-actions{display:none;align-items:center;gap:.25rem}.mobile-menu{display:flex;flex-direction:column;padding:.5rem 1rem 1rem;border-top:1px solid var(--border-color);gap:.25rem}.mobile-menu-link{text-decoration:none;color:var(--text);padding:.75rem 1rem;border-radius:.5rem;transition:background-color .2s;font-size:1rem;font-weight:500}.mobile-menu-link:hover{background-color:var(--nav-hover)}.button{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:.375rem;background-color:var(--primary-color);color:#fff;text-decoration:none;font-weight:500;transition:background-color .2s}.button:hover{background-color:var(--primary-color-dark)}.card{background-color:var(--card-background);border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1rem;height:100%;display:flex;flex-direction:column}.heading{font-size:1.75rem}.heading,.subheading{margin-bottom:.25rem;line-height:1.2;color:var(--text)}.subheading{font-size:1.125rem}.text{margin-bottom:.75rem;line-height:1.4;font-size:.95rem;color:var(--text)}.grid{display:grid;grid-gap:1.5rem;gap:1.5rem;height:100%}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem;margin-top:2rem}.project-card{background-color:var(--card-background);border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1)}.project-image{position:relative;width:100%;padding-top:56.25%;background-color:var(--tag-background);overflow:hidden}.project-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;padding:.5rem;transition:transform .3s ease}.project-image:hover img{transform:scale(1.05)}.project-content{padding:1.5rem}.project-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.project-description{color:var(--text);margin-bottom:1rem;line-height:1.5}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{background-color:var(--tag-background);color:var(--text);padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem}.project-links{display:flex;gap:1rem}.project-link{color:var(--text);transition:color .2s}.project-link:hover{color:var(--primary-color)}.card-title{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.skills-grid{padding:.75rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.skill-item{background-color:var(--tag-background);color:var(--text);padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;text-align:center;border:1px solid var(--border-color);transition:border-color .2s,color .2s}.skill-item:hover{border-color:var(--primary-color);color:var(--primary-color)}.skill-tag{background-color:var(--tag-background);color:var(--text);padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem;border:1px solid var(--border-color)}.resume-container{max-width:1280px;width:100%;margin:0 auto;height:calc(100vh - 4rem);overflow-y:auto}.resume-container,.resume-header{background-color:var(--background)}.resume-header{position:-webkit-sticky;position:sticky;top:0;padding:1rem;display:flex;justify-content:space-between;align-items:center;z-index:10;border-bottom:1px solid var(--border-color)}.resume-content{padding:1rem}.resume-section{margin-bottom:2rem}.section-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.summary-text{line-height:1.6;color:var(--text);margin-bottom:1.5rem}.education-list,.experience-list{display:flex;flex-direction:column;gap:2rem}.education-item,.experience-item{padding:1rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:var(--card-background)}.job-title,.school-name{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.company-name{font-size:1rem;margin-bottom:.25rem}.company-name,.period{color:var(--text-secondary)}.period{font-size:.875rem;margin-bottom:1rem}.job-description{list-style-type:disc;padding-left:1.5rem;color:var(--text)}.job-description li{margin-bottom:.5rem;line-height:1.5}.education-description{color:var(--text);line-height:1.5;margin-top:.5rem}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem;gap:1.5rem}.skill-category{padding:1rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:var(--card-background)}.category-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--text);text-transform:capitalize}.skills-list{display:flex;flex-wrap:wrap;gap:.5rem}.download-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border-radius:.5rem;font-size:.875rem;transition:background-color .2s}.download-button:hover{background-color:var(--primary-color-dark)}.contact-container{max-width:32rem;margin:0 auto}.contact-methods{display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:.5rem;background-color:var(--card-background);transition:transform .2s,box-shadow .2s}.contact-item:hover{transform:translateY(-2px);box-shadow:0 4px 6px rgba(0,0,0,.1)}.contact-icon,.contact-label,.contact-link{color:var(--text)}.contact-link{text-decoration:none;transition:color .2s}.contact-link:hover{color:var(--primary-color)}.about-content{display:flex;flex-direction:column;gap:.75rem;height:100%}.profile-image-container{width:120px;height:120px;border-radius:50%;overflow:hidden;margin-bottom:.25rem;box-shadow:0 4px 6px rgba(0,0,0,.1);flex-shrink:0;border:3px solid var(--primary-color);outline:3px solid var(--background);outline-offset:-3px}.profile-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.profile-image:hover{transform:scale(1.05)}.resume-container::-webkit-scrollbar{width:8px}.resume-container::-webkit-scrollbar-track{background:var(--background)}.resume-container::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}.resume-container::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.social-links{display:flex;gap:.75rem}.social-link{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--tag-background);border:1px solid var(--border-color);transition:background-color .2s,transform .2s,border-color .2s;color:var(--text)}.social-link:hover{background-color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-2px)}.social-link:hover .contact-icon{color:#fff}.footer{position:fixed;bottom:0;width:100%;padding:1rem;text-align:center;height:48px;background-color:var(--background);border-top:1px solid var(--border-color)}.posts-container{width:45vw;margin:40px auto}.posts-container ul{list-style-type:none;padding:0;margin:0}.posts-container li{display:flex;align-items:baseline;margin-bottom:.75rem;padding:.25rem 0;flex-wrap:nowrap}.posts-container li:after{background-image:radial-gradient(circle,currentcolor 1px,transparent 1.5px);background-position:bottom;background-size:1ex 3.5px;background-repeat:space no-repeat;content:"";flex-grow:1;height:1.1em;order:2;margin:0 .5rem}.post-year{font-size:1.2rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}.post-title{font-weight:500;order:1}.post-title a{text-decoration:none;transition:color .2s ease}.post-title a:hover{color:#0070f3;text-decoration:underline}.post-date{order:3;font-size:.9rem}.heading{font-size:2rem;margin-bottom:1.5rem;font-weight:700}.post{max-width:90vw;margin:40px auto}.post-header{border-bottom:1px solid var(--border-color)}.post-meta{display:flex;align-items:center;justify-content:space-between;width:100%}.post-date,.post-reading-time:before{margin-right:1.5rem}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem}.post-tag{background-color:#f3f4f6;color:#4b5563;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;text-decoration:none;transition:background-color .2s ease;cursor:none}.post-content{padding-top:16px;padding-bottom:100px}.post-content p,.post-content pre{margin-bottom:1.5rem}.post-content ol,.post-content ul{margin-left:1.5rem;margin-bottom:1.5rem}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-cols-2{grid-template-columns:1fr}.profile-image-container{width:100px;height:100px;margin:0 auto}.about-content{text-align:center;align-items:center}.heading{font-size:1.5rem}.subheading{font-size:1rem}.text{font-size:.9rem}}@media (max-width:640px){.projects-grid{grid-template-columns:1fr}.nav-links{display:none}.hamburger,.nav-mobile-actions{display:flex}.posts-container{width:90%}.contact-container{padding:0 1rem}.resume-header{flex-wrap:wrap;gap:.5rem}}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.20%;descent-override:22.48%;line-gap-override:0.00%;size-adjust:107.40%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}