.blog-content{font-size:1.125rem;line-height:1.75;position:relative}.blog-content p{margin-bottom:1.5rem}.blog-content h2{font-size:1.875rem;font-weight:700;margin-top:2.5rem;margin-bottom:1.25rem;scroll-margin-top:100px;border-bottom:1px solid hsl(var(--border));padding-bottom:.5rem}.blog-content h3{font-size:1.5rem;font-weight:600;margin-top:2rem;margin-bottom:1rem;scroll-margin-top:100px}.blog-content h4{font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem}.blog-content ol,.blog-content ul{margin-bottom:1.5rem;padding-left:1.5rem}.blog-content ul{list-style-type:disc}.blog-content ol{list-style-type:decimal}.blog-content li{margin-bottom:.5rem}.blog-content pre{margin-bottom:1.5rem;border-radius:.375rem;overflow:visible;position:relative;background-color:hsl(var(--muted));border:1px solid hsl(var(--border));box-shadow:0 2px 4px rgba(0,0,0,.05)}.blog-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.6}.blog-content pre code{color:hsl(var(--foreground));background:none;overflow-x:auto;white-space:pre}.blog-content .overflow-x-auto,.blog-content pre{max-width:100%}.blog-content .language-java,.blog-content .language-javascript,.blog-content .language-json,.blog-content .language-python{color:hsl(var(--foreground))}.blog-content .language-java .comment,.blog-content .language-javascript .comment,.blog-content .language-python .comment{color:hsl(var(--muted-foreground));font-style:italic}.blog-content .language-java .keyword,.blog-content .language-javascript .keyword,.blog-content .language-python .keyword{color:hsl(var(--primary));font-weight:600}.blog-content .language-java .string,.blog-content .language-javascript .string,.blog-content .language-json .property,.blog-content .language-python .string{color:hsl(130,40%,50%)}.blog-content .language-java .function,.blog-content .language-javascript .function,.blog-content .language-python .function{color:hsl(210,70%,60%)}.blog-content .language-java .number,.blog-content .language-javascript .number,.blog-content .language-json .number,.blog-content .language-python .number{color:hsl(35,70%,50%)}.blog-content li code,.blog-content p code,.blog-content td code{background-color:hsl(var(--muted));padding:.2em .4em;border-radius:3px;font-size:.875em;white-space:nowrap}.blog-content pre .language-label{position:absolute;top:0;right:0;background:hsl(var(--muted-foreground)/.2);color:hsl(var(--muted-foreground));padding:.25rem .5rem;font-size:.75rem;border-bottom-left-radius:.25rem;user-select:none}.blog-content a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px;transition:all .2s ease}.blog-content a:hover{text-decoration:none;opacity:.8}.blog-content blockquote{border-left:4px solid hsl(var(--primary));margin-left:0;margin-right:0;font-style:italic;margin-bottom:1.5rem;background-color:hsl(var(--primary)/.05);padding:1rem 1rem 1rem 2rem;border-radius:.375rem}.blog-content hr{margin:2rem 0;border:0;border-top:1px solid hsl(var(--border))}.blog-content .lead{font-size:1.25rem;font-weight:500;margin-bottom:2rem;color:hsl(var(--foreground)/.9)}.blog-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.blog-content table td,.blog-content table th{padding:.75rem;border:1px solid hsl(var(--border))}.blog-content table th{background-color:hsl(var(--muted));font-weight:600}.blog-content table tr:nth-child(2n){background-color:hsl(var(--muted)/.3)}.blog-content .tldr{background-color:hsl(var(--primary)/.1);border:1px solid hsl(var(--primary)/.2);border-radius:.5rem;padding:1.5rem;margin-bottom:2rem}.blog-content .tldr h2{margin-top:0;font-size:1.5rem;margin-bottom:1rem;border-bottom:none;padding-bottom:0}.blog-content .tldr p:last-child{margin-bottom:0}.blog-content .bg-muted\/10{transition:all .2s ease-in-out}.blog-content .bg-muted\/10:hover{background-color:hsl(var(--muted)/.15);box-shadow:0 4px 12px rgba(0,0,0,.08)}.blog-content pre code:not(.language-java):not(.language-javascript):not(.language-python):not(.language-json){font-family:monospace;line-height:1.2;white-space:pre}@media (max-width:640px){.blog-content{font-size:1rem}.blog-content h2{font-size:1.5rem}.blog-content h3{font-size:1.25rem}.blog-content .lead,.blog-content h4{font-size:1.125rem}}.blog-content ::selection{background-color:hsl(var(--primary)/.2)}html{scroll-behavior:smooth}.blog-content pre code{display:block;padding:1rem;line-height:1.5}.blog-content .bg-muted\/20:hover,.blog-content .bg-primary\/10:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);transition:all .2s ease}.blog-content .scroll-to-top{position:fixed;bottom:2rem;right:2rem;z-index:50;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.blog-content .scroll-to-top.visible{opacity:1;visibility:visible}.blog-content .support-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-weight:500;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.blog-content .support-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.blog-content .support-button:active:not(:disabled){transform:translateY(0)}.blog-content .support-button:disabled{cursor:not-allowed;opacity:.7}.blog-content .overflow-hidden{overflow:hidden}.blog-content .overflow-hidden pre{margin-bottom:0}.blog-content .overflow-hidden pre code{white-space:pre}