.post-content{max-width:650px;margin:0 auto}.post-header{margin-bottom:2rem}.post-header .post-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;color:var(--muted-text);font-size:.85rem;font-family:var(--font-mono)}.post-heading{color:var(--primary-text);font-family:var(--font-serif);font-size:2.5rem;font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:.75rem 0 0;text-wrap:balance}.post-featured-image{border:1px solid var(--border);border-radius:4px;margin:2rem 0;overflow:hidden}.post-featured-image .optimized-image{max-height:400px;object-fit:cover}.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.post-navigation .nav-button{display:flex;flex-direction:column;gap:.35rem;color:var(--primary-text);text-decoration:none}.post-navigation .nav-button.next{grid-column:2;text-align:right}.post-navigation .nav-label{color:var(--muted-text);font-size:.8rem}.post-navigation .nav-title{font-family:var(--font-serif);font-size:1.1rem;line-height:1.35}.post-navigation .nav-button:hover .nav-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}@media (max-width: 768px){.post-heading{font-size:1.75rem}.post-featured-image{margin:1.5rem 0}.post-featured-image .optimized-image{max-height:250px}.post-navigation{grid-template-columns:1fr}.post-navigation .nav-button.next{grid-column:1;text-align:left}}.post-body{background-color:var(--primary-bg);border:none;padding:0;margin:2rem 0;line-height:1.6;font-size:1rem}.post-body h1,.post-body h2,.post-body h3,.post-body h4,.post-body h5,.post-body h6{color:var(--primary-text);font-family:var(--font-serif);margin-top:2.5rem;margin-bottom:1rem;font-weight:400;line-height:1.3;letter-spacing:-.02em}.post-body h1{font-size:2.5rem;margin-top:0}.post-body h2{font-size:2rem}.post-body h3{font-size:1.5rem}.post-body p{color:var(--secondary-text);margin-bottom:1.5rem;text-align:left}.post-body a{color:var(--link-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.post-body a:hover{color:var(--link-hover-color);opacity:1}.post-body blockquote{background-color:transparent;border-left:2px solid var(--border);padding:0 0 0 1.5rem;margin:1.5rem 0;font-style:italic;color:var(--secondary-text)}.post-body blockquote p{margin-bottom:0}.post-body code{background-color:var(--secondary-bg);color:var(--primary-text);padding:.2rem .4rem;border-radius:3px;font-family:var(--font-mono);font-size:.9em;border:none}.post-body pre{background-color:#2e3440;border:none;padding:1.5rem;margin:0;overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.6}.post-body pre code{background:none;border:none;padding:0;color:#d8dee9;font-size:inherit}.post-body ul,.post-body ol{padding-left:2rem;margin-bottom:1.5rem;color:var(--secondary-text)}.post-body li{margin-bottom:.5rem}.post-body img{max-width:100%;height:auto;margin:1.5rem 0;border:1px solid var(--border)}.post-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;background-color:transparent}.post-body th,.post-body td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.post-body th{color:var(--primary-text);font-weight:400}.post-body td{color:var(--secondary-text)}.post-body hr{border:none;height:1px;background:var(--border);margin:2rem 0}@media (max-width: 768px){.post-body{padding:0;margin:1.5rem 0}.post-body h1{font-size:1.75rem}.post-body h2{font-size:1.35rem}.post-body h3{font-size:1.15rem}.post-body pre{padding:1rem;font-size:.8rem}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#2e3440}.hljs,.hljs-subst{color:#d8dee9}.hljs-selector-tag{color:#81a1c1}.hljs-selector-id{color:#8fbcbb;font-weight:700}.hljs-selector-class,.hljs-selector-attr{color:#8fbcbb}.hljs-selector-pseudo{color:#88c0d0}.hljs-addition{background-color:#a3be8c80}.hljs-deletion{background-color:#bf616a80}.hljs-built_in,.hljs-type,.hljs-class{color:#8fbcbb}.hljs-function{color:#88c0d0}.hljs-function>.hljs-title{color:#88c0d0}.hljs-keyword,.hljs-literal,.hljs-symbol{color:#81a1c1}.hljs-number{color:#b48ead}.hljs-regexp{color:#ebcb8b}.hljs-string{color:#a3be8c}.hljs-title{color:#8fbcbb}.hljs-params{color:#d8dee9}.hljs-bullet{color:#81a1c1}.hljs-code{color:#8fbcbb}.hljs-emphasis{font-style:italic}.hljs-formula{color:#8fbcbb}.hljs-strong{font-weight:700}.hljs-link:hover{text-decoration:underline}.hljs-quote,.hljs-comment{color:#4c566a}.hljs-doctag{color:#8fbcbb}.hljs-meta,.hljs-meta-keyword{color:#5e81ac}.hljs-meta-string{color:#a3be8c}.hljs-attr{color:#8fbcbb}.hljs-attribute{color:#d8dee9}.hljs-builtin-name,.hljs-name{color:#81a1c1}.hljs-section{color:#88c0d0}.hljs-tag{color:#81a1c1}.hljs-variable,.hljs-template-variable{color:#d8dee9}.hljs-template-tag{color:#5e81ac}.abnf .hljs-attribute{color:#88c0d0}.abnf .hljs-symbol{color:#ebcb8b}.apache .hljs-attribute{color:#88c0d0}.apache .hljs-section{color:#81a1c1}.arduino .hljs-built_in{color:#88c0d0}.aspectj .hljs-meta{color:#d08770}.aspectj>.hljs-title{color:#88c0d0}.bnf .hljs-attribute{color:#8fbcbb}.clojure .hljs-name{color:#88c0d0}.clojure .hljs-symbol{color:#ebcb8b}.coq .hljs-built_in{color:#88c0d0}.cpp .hljs-meta-string{color:#8fbcbb}.css .hljs-built_in{color:#88c0d0}.css .hljs-keyword{color:#d08770}.diff .hljs-meta,.ebnf .hljs-attribute{color:#8fbcbb}.glsl .hljs-built_in{color:#88c0d0}.groovy .hljs-meta:not(:first-child){color:#d08770}.haxe .hljs-meta,.java .hljs-meta{color:#d08770}.ldif .hljs-attribute{color:#8fbcbb}.lisp .hljs-name,.lua .hljs-built_in,.moonscript .hljs-built_in,.nginx .hljs-attribute{color:#88c0d0}.nginx .hljs-section{color:#5e81ac}.pf .hljs-built_in,.processing .hljs-built_in{color:#88c0d0}.scss .hljs-keyword,.stylus .hljs-keyword{color:#81a1c1}.swift .hljs-meta{color:#d08770}.vim .hljs-built_in{color:#88c0d0;font-style:italic}.yaml .hljs-meta{color:#d08770}.optimized-image-container{position:relative;overflow:hidden;background:var(--secondary-bg)}.optimized-image{position:relative;width:100%;height:auto;display:block}.optimized-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--secondary-bg) 0%,var(--border) 50%,var(--secondary-bg) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;display:flex;align-items:center;justify-content:center}.optimized-image-placeholder.error{background:var(--secondary-bg);color:var(--muted-text);font-size:.875rem;animation:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.optimized-image-container img{object-fit:cover}@media (prefers-reduced-motion: reduce){.optimized-image-placeholder{animation:none}}
