.hljs{background-color:#f6f8fa;color:#334155;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:0;border:1px solid #e2e8f0}.hljs code{background-color:transparent;padding:0;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem}.code-block-wrapper{position:relative;margin:1rem 0}.code-block-wrapper .copy-btn{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;background:#e5e5e5;border:none;border-radius:.25rem;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .2s}.code-block-wrapper:hover .copy-btn{opacity:1}.code-block-wrapper .copy-btn:hover{background:#d5d5d5}.mermaid{display:flex;justify-content:center;margin:1rem 0;background:#fafafa;border-radius:.5rem;padding:1rem}.article-content{color:#374151}.article-content h1{font-size:1.75rem;font-weight:700;margin:1.5rem 0 1rem;color:#18181b}.article-content h2{font-size:1.375rem;font-weight:600;margin:1.25rem 0 .75rem;color:#27272a}.article-content h3{font-size:1.125rem;font-weight:600;margin:1rem 0 .5rem;color:#3f3f46}.article-content p{margin:.75rem 0;line-height:1.75;color:#52525b}.article-content ul,.article-content ol{margin:.75rem 0;padding-left:1.5rem}.article-content ul{list-style-type:disc}.article-content ol{list-style-type:decimal}.article-content li{margin:.25rem 0;color:#52525b}.article-content blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:4px solid #e5e5e5;background:#fafafa;color:#71717a}.article-content code{padding:.125rem .375rem;background:#f4f4f5;border-radius:.25rem;font-size:.875em;color:#a1a1aa}.article-content a{color:#6366f1;text-decoration:underline}.article-content a:hover{color:#4f46e5}.article-content img{max-width:100%;border-radius:.5rem;margin:1rem 0}.article-content hr{margin:1.5rem 0;border:none;border-top:1px solid #e5e5e5}.article-content table{width:100%;border-collapse:collapse;margin:1rem 0}.article-content th,.article-content td{padding:.5rem;border:1px solid #e5e5e5;text-align:left}.article-content th{background:#fafafa;font-weight:600}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}
