:root{--bg: #faf9f6;--text-main: #1c1c1c;--text-muted: #666666;--text-light: #888888;--border-color: #e5e3dd;--border-subtle: #eeece6;--link-color: #1c1c1c;--link-hover: #000000;--code-bg: #f0eee6;--quote-border: #d4d0c5;--max-width: 680px;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-base: clamp(1rem, .96rem + .22vw, 1.0625rem);--line-height-body: 1.75}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light;font-size:16px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text-main);font-family:var(--font-body);font-size:var(--font-base);line-height:var(--line-height-body);min-height:100vh;display:flex;flex-direction:column}#root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:clamp(1.125rem,4vw,1.75rem);padding-right:clamp(1.125rem,4vw,1.75rem)}.site-wrapper{min-height:100vh;display:flex;flex-direction:column;padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(3rem,6vw,4.5rem)}.site-header{margin-bottom:0}.nav-bar{display:flex;justify-content:space-between;align-items:baseline}.nav-brand{font-size:clamp(1.125rem,1.05rem + .35vw,1.25rem);font-weight:600;color:var(--text-main);text-decoration:none;letter-spacing:-.01em}.nav-links{display:flex;gap:1.5rem}.nav-link{color:var(--text-muted);text-decoration:none;font-size:.95rem;transition:color .15s ease}.nav-link:hover,.nav-link.active{color:var(--text-main);text-decoration:underline;text-underline-offset:3px}.header-divider{border:none;border-top:1px solid var(--border-color);margin:clamp(1.25rem,3vw,1.75rem) 0 0 0}.main-content{flex:1}hr,.divider{border:none;border-top:1px solid var(--border-color);margin:clamp(1.75rem,4vw,2.5rem) 0}.post-list{display:flex;flex-direction:column}.post-item{padding:clamp(1.75rem,4vw,2.25rem) 0;border-bottom:1px solid var(--border-color)}.post-meta{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.post-item-title{font-size:clamp(1.25rem,1.15rem + .5vw,1.45rem);font-weight:600;line-height:1.35;letter-spacing:-.015em;margin-bottom:.75rem}.post-item-title a{color:var(--text-main);text-decoration:none}.post-item-title a:hover{text-decoration:underline;text-underline-offset:3px}.post-item-excerpt{color:var(--text-muted);font-size:.975rem;line-height:1.65;margin-bottom:1.1rem}.read-more-link{display:inline-block;font-size:.925rem;font-weight:500;color:var(--text-main);text-decoration:none}.read-more-link:hover{text-decoration:underline;text-underline-offset:3px}.post-header{margin-bottom:clamp(1.75rem,4vw,2.5rem)}.back-link{display:inline-block;font-size:.9rem;color:var(--text-muted);text-decoration:none;margin-bottom:clamp(1.25rem,3vw,1.75rem);transition:color .15s ease}.back-link:hover{color:var(--text-main);text-decoration:underline;text-underline-offset:3px}.post-full-title{font-size:clamp(1.65rem,1.45rem + 1vw,2.25rem);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--text-main);margin-bottom:.6rem}.post-full-meta{font-size:.9rem;color:var(--text-muted)}.prose{font-size:var(--font-base);line-height:var(--line-height-body);color:var(--text-main)}.prose p{margin-bottom:1.5rem}.prose h2{font-size:clamp(1.3rem,1.2rem + .5vw,1.55rem);font-weight:600;line-height:1.35;letter-spacing:-.015em;margin-top:clamp(2rem,4.5vw,2.75rem);margin-bottom:.85rem;color:var(--text-main)}.prose h3{font-size:clamp(1.15rem,1.08rem + .35vw,1.3rem);font-weight:600;line-height:1.4;margin-top:clamp(1.75rem,3.5vw,2.25rem);margin-bottom:.75rem;color:var(--text-main)}.prose ul,.prose ol{margin-top:.5rem;margin-bottom:1.5rem;padding-left:1.35rem}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:2.5px solid var(--quote-border);padding-left:1.15rem;margin:1.75rem 0;color:var(--text-muted);font-style:italic}.prose blockquote p{margin-bottom:.5rem}.prose blockquote p:last-child{margin-bottom:0}.prose hr{margin:clamp(2rem,4vw,2.75rem) 0}.prose strong{font-weight:600;color:var(--text-main)}.prose em{font-style:italic}.prose a{color:var(--text-main);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--link-hover)}.prose code{font-family:var(--font-mono);font-size:.875em;background-color:var(--code-bg);padding:.15em .35em;border-radius:3px}.prose pre{background-color:var(--code-bg);padding:1rem 1.25rem;border-radius:4px;overflow-x:auto;margin:1.5rem 0}.prose pre code{background-color:transparent;padding:0;font-size:.85em;line-height:1.5}.post-pagination{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-top:1rem}.pagination-link{text-decoration:none;display:flex;flex-direction:column;max-width:48%}.pagination-link.next{margin-left:auto;text-align:right}.pagination-label{font-size:.825rem;color:var(--text-light);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}.pagination-title{font-size:.95rem;font-weight:500;color:var(--text-main);line-height:1.4}.pagination-link:hover .pagination-title{text-decoration:underline;text-underline-offset:3px}.about-header{margin-bottom:clamp(1.75rem,4vw,2.5rem)}.about-title{font-size:clamp(1.5rem,1.35rem + .8vw,1.875rem);font-weight:700;letter-spacing:-.02em;color:var(--text-main);margin-bottom:1.5rem}.about-content p{font-size:var(--font-base);line-height:var(--line-height-body);color:var(--text-main);margin-bottom:1.5rem}.about-links{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.about-links-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:.75rem}.social-links{display:flex;flex-wrap:wrap;gap:1.25rem}.social-link{font-size:.95rem;color:var(--text-main);text-decoration:none}.social-link:hover{text-decoration:underline;text-underline-offset:3px}@media (max-width: 540px){.post-pagination{flex-direction:column;gap:1.25rem}.pagination-link{max-width:100%;width:100%}.pagination-link.next{text-align:left;margin-left:0}}
