:root{--color-bg: #fafaf8;--color-text: #1a1a1a;--color-text-secondary: #6b6b6b;--color-border: #e0ddd8;--color-accent: #2d2d2d;--font-serif: "Georgia", "Times New Roman", serif;--font-sans: -apple-system, "Helvetica Neue", "Arial", sans-serif;--font-mono: "SF Mono", "Menlo", "Consolas", monospace;--max-width: 640px;--spacing-unit: 1.5rem}@media(prefers-color-scheme:dark){:root{--color-bg: #141413;--color-text: #e8e6e1;--color-text-secondary: #8a8a8a;--color-border: #2a2928;--color-accent: #d4d0c8}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-serif);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;padding:calc(var(--spacing-unit) * 3) var(--spacing-unit)}main{max-width:var(--max-width);margin:0 auto}h1{font-family:var(--font-sans);font-weight:600;font-size:1.6rem;letter-spacing:-.02em;line-height:1.3;margin-bottom:calc(var(--spacing-unit) * .5)}h2{font-family:var(--font-sans);font-weight:600;font-size:1.1rem;letter-spacing:-.01em;line-height:1.4;margin-top:calc(var(--spacing-unit) * 2);margin-bottom:var(--spacing-unit)}h3{font-family:var(--font-sans);font-weight:500;font-size:1rem;margin-top:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * .5)}p{margin-bottom:var(--spacing-unit)}a{color:var(--color-text);text-decoration-color:var(--color-border);text-underline-offset:3px;transition:text-decoration-color .2s}a:hover{text-decoration-color:var(--color-text)}blockquote{border-left:2px solid var(--color-border);padding-left:var(--spacing-unit);color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--spacing-unit)}code{font-family:var(--font-mono);font-size:.85em;background:var(--color-border);padding:.15em .35em;border-radius:3px}pre{background:var(--color-border);padding:var(--spacing-unit);border-radius:4px;overflow-x:auto;margin-bottom:var(--spacing-unit)}pre code{background:none;padding:0;font-size:.82em;line-height:1.6}hr{border:none;border-top:1px solid var(--color-border);margin:calc(var(--spacing-unit) * 2) 0}ul,ol{padding-left:1.2em;margin-bottom:var(--spacing-unit)}li{margin-bottom:.4em}.site-header{margin-bottom:calc(var(--spacing-unit) * 3)}.site-name{font-family:var(--font-sans);font-weight:600;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--color-text)}.site-nav{margin-top:calc(var(--spacing-unit) * .5)}.site-nav a{font-family:var(--font-sans);font-size:.82rem;color:var(--color-text-secondary);text-decoration:none;margin-right:var(--spacing-unit)}.site-nav a:hover{color:var(--color-text)}.site-footer{margin-top:calc(var(--spacing-unit) * 4);padding-top:var(--spacing-unit);border-top:1px solid var(--color-border);font-family:var(--font-sans);font-size:.78rem;color:var(--color-text-secondary)}.subtitle{font-family:var(--font-sans);font-size:.92rem;color:var(--color-text-secondary);font-weight:400;margin-bottom:calc(var(--spacing-unit) * 2);line-height:1.6}.post-list{list-style:none;padding:0}.post-entry{margin-bottom:calc(var(--spacing-unit) * 1.5)}.post-entry-date{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-secondary);display:block;margin-bottom:.2em}.post-entry-title{font-family:var(--font-sans);font-weight:500;font-size:1rem}.post-entry-title a{text-decoration:none}.post-entry-title a:hover{text-decoration:underline;text-underline-offset:3px}.post-entry-excerpt{font-size:.9rem;color:var(--color-text-secondary);margin-top:.3em}.post-date{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .5)}.post-title{margin-bottom:calc(var(--spacing-unit) * 2)}.post-body p:first-child{margin-top:0}.post-body img{max-width:100%;height:auto;border-radius:4px;margin-bottom:var(--spacing-unit);image-rendering:-webkit-optimize-contrast}.post-entry-project,.post-project{font-family:var(--font-sans);font-size:.72rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-border);padding:.1em .45em;border-radius:3px;margin-left:.5em;letter-spacing:.02em}.post-project a{color:var(--color-text-secondary);text-decoration:none}.post-project a:hover{color:var(--color-text)}.section{margin-bottom:calc(var(--spacing-unit) * 3)}
