:root{--sumi: #0F0E0B;--sumi-light: #1A1815;--sumi-lighter: #2A2722;--washi: #F5F0E8;--washi-dim: #D8D3CB;--washi-muted: #A09A8E;--seal: #C0392B;--seal-hover: #A93226;--max-width: 1100px;--font-serif: "Playfair Display", "Georgia", serif;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "DM Mono", "Menlo", "Monaco", monospace;--color-bg: var(--sumi);--color-bg-surface: var(--sumi-light);--color-bg-raised: var(--sumi-lighter);--color-fg: var(--washi);--color-fg-dim: var(--washi-dim);--color-fg-muted: var(--washi-muted);--color-border: rgba(245, 240, 232, .1);--color-border-mid: rgba(245, 240, 232, .2);--btn-primary-bg: var(--washi);--btn-primary-fg: var(--sumi);--btn-primary-hover: #fff;--btn-secondary-fg: var(--washi);--btn-secondary-border: var(--washi-muted);--btn-secondary-border-hover: var(--washi)}@media(prefers-color-scheme:light){:root{--color-bg: var(--washi);--color-bg-surface: #EDE8DC;--color-bg-raised: #E4DED5;--color-fg: var(--sumi);--color-fg-dim: #3A3730;--color-fg-muted: #6B6560;--color-border: rgba(15, 14, 11, .1);--color-border-mid: rgba(15, 14, 11, .2);--btn-primary-bg: var(--sumi);--btn-primary-fg: var(--washi);--btn-primary-hover: #1A1815;--btn-secondary-fg: var(--sumi);--btn-secondary-border: var(--washi-muted);--btn-secondary-border-hover: var(--sumi)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-fg);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .2s ease,color .2s ease;overflow-x:hidden}body{min-height:100vh;overflow-x:hidden;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.2}a{color:var(--color-fg);text-decoration:none}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.btn{display:inline-block;padding:.9rem 2.25rem;font-family:var(--font-sans);font-size:.95rem;font-weight:500;border-radius:4px;transition:all .2s ease;cursor:pointer;border:none;letter-spacing:.01em}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.btn-primary:hover{background:var(--btn-primary-hover)}.btn-secondary{background:transparent;color:var(--btn-secondary-fg);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{border-color:var(--btn-secondary-border-hover)}::selection{background:var(--seal);color:var(--washi)}.blog-nav{border-bottom:1px solid var(--color-border);padding:1.5rem 2rem;display:flex;align-items:baseline;justify-content:space-between}.blog-nav-site{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-fg-muted);text-decoration:none;transition:color .15s}.blog-nav-site:hover{color:var(--seal)}.blog-nav-links{display:flex;gap:1.75rem;list-style:none}.blog-nav-links a{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-fg-muted);text-decoration:none;transition:color .15s}.blog-nav-links a:hover{color:var(--color-fg)}.prose{font-family:var(--font-serif);font-size:1.1rem;font-weight:400;line-height:1.8;color:var(--color-fg)}.prose p{margin-bottom:1.6em}.prose p:last-child{margin-bottom:0}.prose h2{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;margin:2.5em 0 .75em;padding-top:2em;border-top:1px solid var(--color-border);color:var(--color-fg)}.prose h3{font-size:1.15rem;font-weight:500;font-style:italic;margin:2em 0 .5em;color:var(--color-fg)}.prose em{font-style:italic}.prose strong{font-weight:600}.prose blockquote{border-left:2px solid var(--seal);margin:2em 0;padding:.25em 1.5em;font-style:italic;font-size:1.2rem;color:var(--color-fg-muted)}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--color-bg-surface);padding:.1em .4em;border-radius:2px}.prose a{color:var(--color-fg);text-underline-offset:3px;text-decoration-line:underline;text-decoration-color:var(--seal);transition:color .15s}.prose a:hover{color:var(--seal)}.prose ul,.prose ol{padding-left:1.5em;margin-bottom:1.6em}.prose li{margin-bottom:.4em}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5em 0}.blog-tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-fg-muted);border:1px solid var(--color-border-mid);padding:.15rem .5rem;border-radius:2px}@media(max-width:768px){html{font-size:16px}.container{padding:0 1.25rem}.blog-nav{padding:1.25rem}}
