*{box-sizing:border-box;margin:0;padding:0}:root{--bg-color:#fbfaf2;--text-color:#2d2a20;--border-color:#e8e5d9;--link-color:#4a4538;--link-hover:#6b5f4f;--nav-bg:#f0eee0;--code-bg:#f5f3e8}@media (prefers-color-scheme:dark){:root{--bg-color:#1a1a1a;--text-color:#e0e0e0;--border-color:#333;--link-color:#ccc;--link-hover:#fff;--nav-bg:#0a0a0a;--code-bg:#2a2a2a}}body{color:var(--text-color);background-color:var(--bg-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6}nav{background-color:var(--nav-bg);border-bottom:1px solid var(--border-color);padding:1rem 0}.nav-container{justify-content:space-between;align-items:center;max-width:800px;margin:0 auto;padding:0 2rem;display:flex}.site-title{color:var(--text-color);font-size:1.2rem;font-weight:600;text-decoration:none}.nav-links{align-items:center;gap:2rem;margin:0 0 0 auto;list-style:none;display:flex}.nav-links a{color:var(--link-color);font-size:1rem;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--text-color)}.github-link svg{vertical-align:middle;width:20px;height:20px;transition:color .2s;display:inline-block}.github-link:hover svg{color:var(--text-color)}.nav-links li{margin-bottom:0}main{max-width:800px;margin:0 auto;padding:3rem 2rem}h1{margin-bottom:1.5rem;font-size:2rem;font-weight:600}h2{margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;font-weight:600}h3{margin-bottom:.5rem;font-size:1.2rem;font-weight:600}p{margin-bottom:1rem}ul{margin-bottom:1rem;margin-left:2rem}li{margin-bottom:.5rem}a{color:var(--link-color);text-decoration:underline}a:hover{color:var(--link-hover)}strong{font-weight:600}.publication{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}.publication:last-child{border-bottom:none}.pub-details{color:var(--link-color);margin-bottom:.5rem;font-style:italic}.pub-link{font-size:.9rem}footer{border-top:1px solid var(--border-color);background-color:var(--nav-bg);margin-top:4rem}.footer-container{max-width:800px;margin:0 auto;padding:2rem}footer h3{margin-bottom:.75rem;font-size:1rem}footer p{margin-bottom:0;font-size:.9rem}@media (max-width:600px){.nav-container{gap:1rem}main{padding:2rem 1rem}h1{font-size:1.75rem}h2{font-size:1.3rem}}