.blog-container{max-width:820px;margin:0 auto;padding:2rem 1rem}.blog-article{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#2c3e50;line-height:1.8;font-size:16px}.blog-article h1{font-size:2.5rem;font-weight:800;margin:2.5rem 0 2rem;padding-bottom:.5rem;border-bottom:3px solid #e2e8f0}.blog-article h2{font-size:2rem;font-weight:700;margin:2.5rem 0 1.5rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0;position:relative}.blog-article h3{font-size:1.5rem;font-weight:600;margin:2rem 0 1rem;color:#3182ce}.blog-article h4{font-size:1.25rem;font-weight:600;margin:1.5rem 0 .75rem}.blog-article p{margin:1.5rem 0;line-height:1.8}.blog-article a{color:#3182ce;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.blog-article a:hover{border-bottom-color:#3182ce}.blog-article pre{background-color:#2d2d2d!important;color:#e2e8f0;padding:0!important;border-radius:.5rem;overflow-x:auto;margin:1.5rem 0;font-size:.9rem;line-height:1.6}.blog-article pre[class*=language-]{padding:0!important;margin:1.5rem 0!important}.blog-article pre code{display:block;padding:1.5rem!important}.blog-article .line-numbers .line-numbers-rows{border-right:1px solid #444!important}.blog-article pre.line-numbers{position:relative;padding-left:3.8em!important;counter-reset:linenumber}.blog-article code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.blog-article :not(pre)>code{background-color:#f1f5f9;color:#e11d48;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em;font-weight:500}.blog-article blockquote{border-left:4px solid #3182ce;background-color:#f7fafc;padding:1rem 1.5rem;margin:1.5rem 0;font-style:italic;color:#4a5568}.blog-article ol,.blog-article ul{margin:1.5rem 0;padding-left:2rem}.blog-article li{margin:.5rem 0;line-height:1.8}.blog-article table{width:100%;border-collapse:collapse;margin:1.5rem 0}.blog-article td,.blog-article th{border:1px solid #e2e8f0;padding:.75rem;text-align:left}.blog-article th{background-color:#f7fafc;font-weight:600}.blog-article img{max-width:100%;height:auto;margin:2rem auto;display:block;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.blog-meta{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0;font-size:.875rem;color:#718096}.blog-category{display:inline-block;padding:.25rem .75rem;background-color:#3182ce;color:white;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}@media (max-width:768px){.blog-container{padding:1rem}.blog-article h1{font-size:2rem}.blog-article h2{font-size:1.5rem}.blog-article pre{padding:1rem;font-size:.8rem}}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}