html{scroll-behavior:smooth;scroll-padding-top:2rem}.post{width:100%;max-width:100%;margin:0 auto;padding:0 1rem}.post__container{max-width:700px;margin:0 auto;padding:2rem 0}.mermaid{background:transparent!important;margin:2em auto;display:flex;justify-content:center}.mermaid .label{color:#e4e4e7!important;font-family:inherit!important}.mermaid .node rect,.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .node path{fill:#27272a!important;stroke:#52525b!important}.mermaid .edgePath .path{stroke:#71717a!important}.mermaid .arrowheadPath{fill:#71717a!important;stroke:none!important}.mermaid .cluster rect{fill:#18181b!important;stroke:#3f3f46!important}.mermaid .cluster text,.mermaid .label text,.mermaid span{fill:#e4e4e7!important;color:#e4e4e7!important}.mermaid .actor{stroke:#52525b!important;fill:#27272a!important}.mermaid .messageText{fill:#e4e4e7!important;stroke:none!important}.mermaid .messageLine0,.mermaid .messageLine1{stroke:#71717a!important}:root{--h1-min-size: 2rem;--h1-max-size: 3rem;--h2-min-size: 1.75rem;--h2-max-size: 2.5rem;--h3-min-size: 1.5rem;--h3-max-size: 2rem;--h4-min-size: 1.25rem;--h4-max-size: 1.75rem;--h5-min-size: 1rem;--h5-max-size: 1.5rem;--h6-min-size: .875rem;--h6-max-size: 1.25rem;--base-font-size: 1.25rem;--line-height: 1.8}.post__content{line-height:var(--line-height);font-size:var(--base-font-size)}.post__content h1{font-size:clamp(var(--h1-min-size),2.5vw,var(--h1-max-size));margin-top:3.5em;margin-bottom:.8em;scroll-margin-top:2rem}.post__content h2{font-size:clamp(var(--h2-min-size),2vw,var(--h2-max-size));margin-top:2.5em;margin-bottom:.8em;scroll-margin-top:2rem;font-weight:600}.post__content h3{font-size:clamp(var(--h3-min-size),1.75vw,var(--h3-max-size));margin-top:2em;margin-bottom:.8em;scroll-margin-top:2rem;font-weight:600}.post__content h4{font-size:clamp(var(--h4-min-size),1.5vw,var(--h4-max-size));margin-top:1em;margin-bottom:.8em;font-weight:600}.post__content h5{font-size:clamp(var(--h5-min-size),1.25vw,var(--h5-max-size))}.post__content h6{font-size:clamp(var(--h6-min-size),1vw,var(--h6-max-size))}.post__content p{margin-bottom:1em}.post__content a{color:red;text-decoration:none}.post__content a:hover{text-decoration:underline}.post__content ul,.post__content ol{margin-bottom:1.5em;margin-top:1em}.post__content ul{list-style:none;padding-left:0}.post__content ul li{position:relative;padding-left:1.75em;margin-bottom:.5em}.post__content ul li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%}.post__content ul ul{margin-top:.5em;margin-bottom:.5em}.post__content ul ul li:before{width:6px;height:6px;background:#71717a;border-radius:50%}.post__content ul ul ul li:before{width:6px;height:6px;background:transparent;border:1.5px solid #71717a}.post__content ol{list-style:none;padding-left:0;counter-reset:list-counter}.post__content ol li{position:relative;padding-left:2.5em;margin-bottom:.75em;counter-increment:list-counter}.post__content ol li:before{content:counter(list-counter);position:absolute;left:0;top:.1em;width:1.75em;height:1.75em;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.8em;font-weight:600;border-radius:50%;display:flex;align-items:center;justify-content:center}.post__content ol ol{margin-top:.5em;margin-bottom:.5em;counter-reset:nested-counter}.post__content ol ol li{counter-increment:nested-counter}.post__content ol ol li:before{content:counter(nested-counter);width:1.5em;height:1.5em;background:#3f3f46;font-size:.75em}.post__content blockquote{margin:1.5em 10px;padding:.5em 10px;border-left:3px solid #ccc;color:#f7e1a1;font-style:italic}.post__cover,.post__content img{max-width:80%;max-height:500px;-o-object-fit:cover;object-fit:cover;margin:2em auto;display:block;border-radius:8px}.post__content pre{background:linear-gradient(145deg,#1a1a2e,#16162a);border:1px solid rgba(99,102,241,.2);border-radius:12px;padding:1.5em;overflow-x:auto;margin:2em 0;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003,inset 0 1px #ffffff0d}.post__content pre code{background:transparent;padding:0;font-size:.9em;line-height:1.7;color:#e4e4e7}.post__content code{font-family:SF Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:#6366f126;color:#a5b4fc;padding:.2em .5em;border-radius:6px;border:1px solid rgba(99,102,241,.2)}.post__content pre .comment,.post__content pre .prolog,.post__content pre .doctype,.post__content pre .cdata{color:#6b7280}.post__content pre .punctuation{color:#9ca3af}.post__content pre .property,.post__content pre .tag,.post__content pre .boolean,.post__content pre .number,.post__content pre .constant,.post__content pre .symbol{color:#f472b6}.post__content pre .selector,.post__content pre .attr-name,.post__content pre .string,.post__content pre .char,.post__content pre .builtin{color:#34d399}.post__content pre .operator,.post__content pre .entity,.post__content pre .url,.post__content pre .variable{color:#fbbf24}.post__content pre .atrule,.post__content pre .attr-value,.post__content pre .function,.post__content pre .class-name{color:#60a5fa}.post__content pre .keyword{color:#c084fc}.post__content pre .regex,.post__content pre .important{color:#fb923c}@media(max-width:768px){.post__container{padding:.5rem}.post__content blockquote{margin:.5em 0}}.post__date{font-size:.9rem;color:#757575;margin-top:2em;text-align:center}
