:root{--bg: #e1ecd8;--surface: #e0eff6;--surface-secondary: #daf0e7;--primary: #007b55;--secondary: #00b389;--text-primary: #1a242f;--text-secondary: #4a646e;--error: #d9534f;--link: #0088cc}.dark{--bg: #0f2027;--surface: #203a43;--surface-secondary: #192f36;--primary: #00ff99;--secondary: #66ffaa;--text-primary: #e0f7f1;--text-secondary: #a0dcc9;--error: #ff4c4c;--link: #33cfff}body{background-color:var(--bg);color:var(--primary);font-family:Fira Code,monospace;margin:0 auto}a{color:var(--link)}.card{background-color:var(--surface);border-radius:8px;padding:1rem}nav{padding:.5rem 0}.page-container{display:flex;flex-direction:column;width:90%;margin:0 auto;align-items:center}.header{display:flex;align-items:flex-start;justify-content:space-between;margin-right:1rem;margin-bottom:.25rem}.header-left{display:flex;flex-direction:column;align-items:flex-start}.header-title{box-sizing:border-box;font-weight:700;font-size:25px;color:var(--primary);margin:1rem 1rem 0rem;padding-left:.5rem;border-left:15px solid var(--primary)}.nav-links{display:flex;align-items:center}.toggle-theme{display:inline-block;padding:.5em 1em;margin:1.25rem 1rem;border:1px solid var(--primary);color:var(--primary);cursor:pointer;background-color:transparent;font-weight:700}.toggle-theme:hover{color:var(--text-primary);border-color:var(--primary);border-bottom-width:4px;transition:border-color .3s ease,border-bottom-width .3s ease}.header a{margin:1rem;color:var(--primary);text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent;transition:border-color .3s ease,border-bottom-width .3s ease}.header a:hover,.header a.active{color:var(--primary);border-bottom-color:var(--primary);border-bottom-width:4px;font-weight:700}.button-link{display:inline-block;padding:.5em 1em;margin:0 1rem;border:1px solid var(--primary);color:var(--text-primary);cursor:pointer;background-color:transparent;font-weight:700}.button-link:hover{color:var(--primary);border-color:var(--primary);border-bottom-width:4px;transition:border-color .3s ease,border-bottom-width .3s ease}.greeting-container{font-family:Fira Code,monospace;font-size:2rem;color:var(--primary);padding:2rem 3rem;max-width:700px;margin:3rem auto;text-align:center;white-space:pre-wrap}.greeting-container code{display:inline-block}.greeting-cursor{border-right:2px solid var(--primary);margin-left:2px}@keyframes blink{50%{border-color:transparent}}.blinking-cursor{animation:blink 1s step-end infinite}.about-container{margin:5rem}.image-container{display:flex;justify-content:center;align-items:center;padding:1rem}.profile-image{width:100%;height:auto;border-radius:8px;object-fit:cover}#about{display:flex;flex-direction:row;align-items:center}#contact{display:flex;justify-content:center;padding:2rem 0}.project-tags,a{color:var(--text-primary)}a:hover{color:var(--text-secondary)}.projects-container{display:flex;flex-direction:column}.project-card{display:flex;flex-direction:column;margin-bottom:0rem}.project-tags{margin-bottom:.5rem}.project-content{display:flex;flex-direction:row;align-items:center}.project-image{min-width:20rem;max-width:400px;width:100%;height:auto;border-radius:8px;object-fit:contain;margin:0 auto;display:block}.writing-container{display:flex;flex-direction:row;gap:2rem;align-items:flex-start}.main-content{flex:1}.table-of-contents{position:sticky;top:20px;align-self:flex-start;background:var(--surface-secondary);padding:1rem;width:max-content;box-shadow:0 2px 6px #0000001a}.project-card{background-color:var(--surface-secondary);border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 6px #0000001a}
