.blog-content{color:var(--foreground);line-height:1.8;font-size:clamp(1rem,.95rem + .25vw,1.125rem);max-width:70ch;margin:0 auto;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{font-weight:700;line-height:1.3;color:var(--foreground);scroll-margin-top:2rem;position:relative}.blog-content h1{font-size:clamp(1.875rem,1.5rem + 1.5vw,2.5rem);margin:2.5rem 0 1.5rem;letter-spacing:-.02em}.blog-content h2{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);margin:2.25rem 0 1.25rem;letter-spacing:-.015em;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.blog-content h3{font-size:clamp(1.25rem,1.1rem + .75vw,1.5rem);margin:2rem 0 1rem;letter-spacing:-.01em}.blog-content h4{font-size:clamp(1.1rem,1rem + .5vw,1.25rem);margin:1.75rem 0 .75rem}.blog-content h2:hover:before,.blog-content h3:hover:before,.blog-content h4:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--primary);opacity:.7;font-weight:400}.blog-content p{margin:1.25rem 0;color:var(--muted-foreground)}.blog-content strong{font-weight:600;color:var(--foreground)}.blog-content em{font-style:italic}.blog-content ol,.blog-content ul{margin:1.25rem 0;padding-left:1.75rem;color:var(--muted-foreground)}.blog-content ul{list-style-type:disc}.blog-content ol{list-style-type:decimal}.blog-content li{margin:.5rem 0;padding-left:.25rem}.blog-content li>ol,.blog-content li>ul{margin:.5rem 0}.blog-content a{color:var(--primary);text-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.15em;transition:all .2s ease}.blog-content a:hover{color:var(--primary-foreground);text-decoration-thickness:.2em}.blog-content a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.blog-content blockquote{border-left:4px solid var(--primary);padding:.75rem 1.25rem;margin:1.75rem 0;background-color:var(--accent);border-radius:0 .5rem .5rem 0;font-style:italic;color:var(--muted-foreground)}.blog-content blockquote p{margin:.5rem 0}.blog-content blockquote cite{display:block;margin-top:.75rem;font-size:.9em;font-style:normal;opacity:.8}.blog-content code{background-color:var(--accent);padding:.2rem .4rem;border-radius:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em;color:var(--foreground)}.blog-content pre{background-color:var(--accent);padding:1.25rem;border-radius:.5rem;overflow-x:auto;margin:1.75rem 0;border:1px solid var(--border);position:relative}.blog-content pre code{background-color:transparent;padding:0;color:var(--foreground);display:block;line-height:1.6;tab-size:2}.blog-content pre:after{content:"Copy";position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;font-size:.75rem;color:var(--muted-foreground);background-color:var(--background);border:1px solid var(--border);border-radius:.25rem;opacity:0;transition:opacity .2s ease;cursor:pointer}.blog-content pre:hover:after{opacity:1}.blog-content img{max-width:100%;height:auto;border-radius:.5rem;margin:1.75rem auto;display:block;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .3s ease}.blog-content img:hover{transform:scale(1.01)}.blog-content figure{margin:2rem 0}.blog-content figcaption{text-align:center;font-size:.9rem;color:var(--muted-foreground);margin-top:.75rem;font-style:italic}.blog-content hr{border:none;height:1px;background-color:var(--border);margin:2.5rem 0;position:relative}.blog-content hr:before{content:"•••";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--background);padding:0 1rem;color:var(--muted-foreground);font-size:.75rem;letter-spacing:.5em}.blog-content table{width:100%;border-collapse:collapse;margin:1.75rem 0;font-size:.95em;overflow-x:auto;display:block}.blog-content table thead{border-bottom:2px solid var(--border)}.blog-content td,.blog-content th{border:1px solid var(--border);padding:.75rem 1rem;text-align:left}.blog-content th{font-weight:600;color:var(--foreground)}.blog-content .callout,.blog-content th,.blog-content tr:nth-child(2n){background-color:var(--accent)}.blog-content .callout{border-radius:.5rem;padding:1.25rem;margin:1.75rem 0;border-left:4px solid}.blog-content .callout.info{border-color:var(--info,#3b82f6)}.blog-content .callout.warning{border-color:var(--warning,#f59e0b)}.blog-content .callout.danger{border-color:var(--danger,#ef4444)}.blog-content .callout-title{font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.blog-content .footnotes{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.9em}.blog-content .footnote-ref{font-size:.75em;vertical-align:super;line-height:0;margin:0 .2em}.blog-content .footnote-backref{text-decoration:none}[data-theme=dark] .blog-content{--accent:hsl(var(--accent));--border:hsl(var(--border))}[data-theme=dark] .blog-content img{box-shadow:0 4px 12px rgba(0,0,0,.25);filter:brightness(.9)}[data-theme=dark] .blog-content pre{box-shadow:0 2px 8px rgba(0,0,0,.3)}@media print{.blog-content{font-size:12pt;line-height:1.6;color:#000}.blog-content a{color:#000;text-decoration:underline}.blog-content code,.blog-content pre{background-color:#f5f5f5;border:1px solid #ddd}.blog-content img{max-width:100%!important;page-break-inside:avoid}.blog-content h2,.blog-content h3,.blog-content h4{page-break-after:avoid}.blog-content blockquote,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content p{orphans:3;widows:3}.blog-content blockquote{border-left:3pt solid #ccc;padding:0 12pt;background:none}}@media (max-width:768px){.blog-content{padding:0 1rem}.blog-content pre{padding:1rem}.blog-content blockquote{padding:.5rem 1rem}.blog-content h2:hover:before,.blog-content h3:hover:before,.blog-content h4:hover:before{display:none}}