.header-section{margin-bottom:3rem}.header-content{display:flex;flex-direction:column;gap:.5rem}.subtitle{color:var(--color-text-secondary);font-size:1rem;font-weight:400}section{margin-bottom:2rem}section:first-of-type{margin-top:0}.section-container{max-width:700px;margin:0 auto}.section-title{margin-top:1.5rem;margin-bottom:1rem;font-size:1.5em;font-weight:600;line-height:1.25;color:var(--color-text);border-bottom:1px solid var(--color-border);padding-bottom:.3em}.section-title:first-child{margin-top:0}.about-section p{margin-bottom:1rem;line-height:1.7}.about-section p:last-child{margin-bottom:0}.projects-grid{display:grid;gap:2rem;margin-top:1.5rem}.project-card{text-decoration:none;color:inherit;display:block;padding:0}.project-card:hover .project-title{color:var(--color-accent)}.project-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.project-description{color:var(--color-text-secondary);margin-bottom:.75rem;line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{color:var(--color-text-secondary);font-size:.875rem}.blog-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.blog-card{text-decoration:none;color:inherit;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:0}.blog-card:hover .blog-title{color:var(--color-accent)}.blog-title{font-size:1.125rem;font-weight:600;margin:0;color:var(--color-text);flex:1}.blog-date{color:var(--color-text-secondary);font-size:.875rem;white-space:nowrap;flex-shrink:0}.blog-date{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:.5rem}.blog-excerpt{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}.links-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.link-item{color:var(--color-accent);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:opacity .2s ease}.link-item:hover{opacity:.8}.link-item i{width:1.25rem;text-align:center;font-size:1.125rem}@media (max-width: 768px){.header-section{margin-bottom:2rem}section{margin-bottom:2rem}.section-title{font-size:1.25em;margin-top:1.25rem}.blog-card{flex-direction:column;align-items:flex-start;gap:.25rem}.blog-date{font-size:.8125rem}}:root{--color-accent: #2563eb;--color-text: #1a1a1a;--color-text-secondary: #4b5563;--color-bg: #ffffff;--color-bg-secondary: #fafafa;--color-border: #e5e7eb}:root.dark{--color-accent: #3b82f6;--color-text: #f9fafb;--color-text-secondary: #9ca3af;--color-bg: #111827;--color-bg-secondary: #1f2937;--color-border: #374151}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.content{max-width:700px;margin:0 auto;padding:2rem 1.5rem}h1{font-size:2rem;font-weight:600;line-height:1.2;color:var(--color-text);margin-bottom:.5rem}h2{font-size:1.5em;font-weight:600;line-height:1.25;color:var(--color-text);margin-top:1.5rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border);padding-bottom:.3em}h2:first-child{margin-top:0}h3{font-size:1.125rem;font-weight:600;line-height:1.4;color:var(--color-text)}p{margin-bottom:1rem;color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.dark-mode-toggle{position:fixed;top:1.5rem;right:1.5rem;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);font-size:1.25rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100}.dark-mode-toggle:hover{background:var(--color-bg-secondary);border-color:var(--color-accent)}.dark-mode-toggle:focus{outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width: 768px){.content{padding:1.5rem 1rem}h1{font-size:1.75rem}h2{font-size:1.25em;margin-top:1.25rem}.dark-mode-toggle{top:1rem;right:1rem;width:2.25rem;height:2.25rem;font-size:1.125rem}}
