:root{--color-background: #ffffff;--color-text: #000000;--color-muted: #555555;--color-border: #000000;--section-gap: 100px}@media (prefers-color-scheme: dark){:root{--color-background: #000000;--color-text: #ffffff;--color-muted: #aaaaaa;--color-border: #ffffff}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--color-text);background:var(--color-background);line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--font-family-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--nav-height: 60px;--title-height: 76px}.App{min-height:100vh}main{max-width:800px;margin:0 auto;padding:0 var(--spacing-md)}.navigation{position:sticky;top:0;z-index:100;background:var(--color-background);border-bottom:1px solid var(--color-border)}.nav-container{max-width:800px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.nav-logo a{color:var(--color-text);text-decoration:none;font-size:1.1rem;font-weight:700}.nav-menu{display:flex;list-style:none;gap:var(--spacing-md)}.nav-link{color:var(--color-text);text-decoration:none;font-size:.95rem}.nav-link:hover{text-decoration:underline}section{padding:var(--spacing-2xl) 0;border-bottom:1px solid var(--color-border)}section:last-of-type{border-bottom:none}.section-title{position:sticky;top:var(--nav-height);z-index:5;background:var(--color-background);font-size:2rem;font-weight:700;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.hero{padding-top:var(--spacing-xl)}.hero-title{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-xs)}.hero-subtitle{font-size:1.2rem;color:var(--color-muted);margin-bottom:var(--spacing-md)}.hero-description{margin-bottom:var(--spacing-lg);max-width:600px}.hero-links{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.hero-link{color:var(--color-text);text-decoration:underline}.about-grid{display:grid;gap:var(--spacing-xl)}.about-card h3{font-size:1.2rem;margin-bottom:var(--spacing-sm)}.education-info h4{font-size:1.1rem;margin-bottom:var(--spacing-xs)}.degree,.gpa,.graduation{color:var(--color-muted)}.coursework{display:grid;gap:var(--spacing-md)}.course-category h4,.skill-category h4{font-size:1rem;margin-bottom:var(--spacing-xs);color:var(--color-muted)}.course-category ul{list-style:none}.course-category li:before{content:"— "}.skill-category{margin-bottom:var(--spacing-sm)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.skill-tag{padding:.15rem .6rem;border:1px solid var(--color-border);font-size:.85rem}.experience-section{margin-bottom:var(--spacing-xl)}.experience-category-title{font-size:1.3rem;margin-bottom:var(--spacing-lg)}.experience-card{border-top:1px solid var(--color-border);padding-top:var(--spacing-md);margin-bottom:var(--spacing-lg)}.experience-header{position:sticky;top:calc(var(--nav-height) + var(--title-height));z-index:4;background:var(--color-background);display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:var(--spacing-sm)}.experience-title h4{font-size:1.1rem}.experience-title h5{color:var(--color-muted);font-size:1rem;font-weight:400}.experience-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:right;color:var(--color-muted);font-size:.9rem}.experience-responsibilities{list-style:none}.experience-responsibilities li:before{content:"— "}.projects-grid{display:grid;gap:var(--spacing-xl)}.project-card{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.project-header{position:sticky;top:calc(var(--nav-height) + var(--title-height));z-index:4;background:var(--color-background);display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:var(--spacing-sm)}.project-title{font-size:1.2rem}.project-status{color:var(--color-muted);font-size:.85rem;white-space:nowrap}.project-description{margin-bottom:var(--spacing-md)}.project-technologies h4,.project-features h4{font-size:1rem;margin-bottom:var(--spacing-xs);color:var(--color-muted)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.tech-tag{padding:.15rem .6rem;border:1px solid var(--color-border);font-size:.8rem}.project-features ul{list-style:none;margin-bottom:var(--spacing-md)}.project-features li:before{content:"— "}.project-link,.project-link-placeholder{color:var(--color-text);text-decoration:underline}.project-link-placeholder{color:var(--color-muted);text-decoration:none;font-style:italic}.notes-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.note-preview{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.note-preview-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap}.note-preview-title{font-size:1.2rem}.note-preview-title a{color:var(--color-text);text-decoration:none}.note-preview-title a:hover{text-decoration:underline}.note-preview-date{color:var(--color-muted);font-size:.85rem;white-space:nowrap}.note-preview-excerpt{color:var(--color-muted);margin:var(--spacing-xs) 0 var(--spacing-sm)}.note-read-link{color:var(--color-text);text-decoration:underline;font-size:.9rem}.note-post{padding:var(--spacing-2xl) 0;max-width:700px}.note-back-link{display:inline-block;color:var(--color-text);text-decoration:underline;margin-bottom:var(--spacing-lg)}.note-post-title{font-size:2rem;margin-bottom:var(--spacing-xs)}.note-post-date{color:var(--color-muted);margin-bottom:var(--spacing-xl)}.note-post-body{line-height:1.7}.note-post-body h1,.note-post-body h2,.note-post-body h3{margin:var(--spacing-lg) 0 var(--spacing-sm)}.note-post-body p,.note-post-body ul,.note-post-body ol,.note-post-body pre,.note-post-body blockquote{margin-bottom:var(--spacing-md)}.note-post-body ul,.note-post-body ol{padding-left:var(--spacing-lg)}.note-post-body a{color:var(--color-text)}.note-post-body code{font-family:var(--font-family-mono);border:1px solid var(--color-border);padding:.1rem .3rem;font-size:.9em}.note-post-body pre{border:1px solid var(--color-border);padding:var(--spacing-sm);overflow-x:auto}.note-post-body pre code{border:none;padding:0}.note-post-body blockquote{border-left:2px solid var(--color-border);padding-left:var(--spacing-sm);color:var(--color-muted)}.contact-description{margin-bottom:var(--spacing-lg);max-width:600px}.contact-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-item{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);padding-top:var(--spacing-md);gap:var(--spacing-md)}.contact-info h4{font-size:1rem;color:var(--color-muted);margin-bottom:var(--spacing-xs)}.contact-link{color:var(--color-text);text-decoration:none}.contact-link:hover{text-decoration:underline}.social-link,.social-link-placeholder{color:var(--color-text);text-decoration:underline;white-space:nowrap}.social-link-placeholder{color:var(--color-muted);text-decoration:none;font-style:italic}@media (max-width: 600px){.hero-title{font-size:2rem}.section-title{font-size:1.6rem}.experience-meta{align-items:flex-start;text-align:left}.contact-item{flex-direction:column;align-items:flex-start}}
