@keyframes mermaid_overlayFadeIn__xzxi2{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(16px)}}@keyframes mermaid_overlayFadeOut__7zFj0{0%{opacity:1;backdrop-filter:blur(16px)}to{opacity:0;backdrop-filter:blur(0)}}@keyframes mermaid_contentEnter__MieWW{0%{opacity:0}to{opacity:1}}@keyframes mermaid_fadeIn__whumg{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mermaid_shimmer__qOJ25{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes mermaid_pulse__4CwR_{0%,to{opacity:.4}50%{opacity:.75}}.mermaid_mermaidWrapper__F3675{width:100%;margin:2.5rem auto;display:flex;flex-direction:column;align-items:center;position:relative}.mermaid_previewWrapper__m_mi5{width:100%;max-width:820px;position:relative;border-radius:var(--radius-lg,.75rem);transition:box-shadow .2s ease,border-color .2s ease;border:1px solid transparent}.mermaid_previewInteractive__KYnCl{cursor:pointer;border-color:hsl(var(--border)/.2)}.mermaid_previewInteractive__KYnCl:hover{border-color:hsl(var(--border)/.5);box-shadow:0 0 0 3px hsl(var(--primary)/.06)}.mermaid_previewInteractive__KYnCl:focus-visible{outline:2px solid hsl(var(--primary)/.5);outline-offset:2px}.mermaid_hoverHint__rvjnb{position:absolute;bottom:10px;left:50%;transform:translateX(-50%) translateY(4px);display:flex;align-items:center;gap:5px;padding:4px 10px;background:hsl(var(--card)/.85);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border)/.3);border-radius:999px;font-size:.7rem;letter-spacing:.01em;pointer-events:none;user-select:none;backdrop-filter:blur(6px);opacity:0;transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.mermaid_previewInteractive__KYnCl:hover .mermaid_hoverHint__rvjnb{opacity:1;transform:translateX(-50%) translateY(0)}.mermaid_diagramContainer___Cv4W{width:100%;padding:1.25rem .5rem;display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:inherit}.mermaid_diagramContainer___Cv4W svg{max-width:100%;height:auto;display:block}.mermaid_skeleton__5c8eh{width:100%;max-width:820px;padding:1.5rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.mermaid_skeletonLine__EIG59{width:100%;height:12px;background:linear-gradient(90deg,hsl(var(--muted)/.4) 25%,hsl(var(--muted)/.65) 50%,hsl(var(--muted)/.4) 75%);background-size:200% 100%;animation:mermaid_shimmer__qOJ25 1.5s infinite;border-radius:6px}.mermaid_caption__VzP1S{margin-top:.875rem;font-size:.8125rem;font-weight:400;text-align:center;max-width:600px;line-height:1.5;color:hsl(var(--muted-foreground)/.8)}.mermaid_fadeIn__whumg{animation:mermaid_fadeIn__whumg .45s ease-out both}.mermaid_hidden__wbJUX{opacity:0;visibility:hidden;position:absolute;pointer-events:none;z-index:-1}.mermaid_overlay__8EDej{position:fixed;inset:0;z-index:9999;background:hsl(var(--background)/.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.mermaid_overlayOpen__Rvqh5{animation:mermaid_overlayFadeIn__xzxi2 .24s ease-out both}.mermaid_overlayClosing__VCf3I{animation:mermaid_overlayFadeOut__7zFj0 .2s ease-in both;pointer-events:none}.mermaid_modalContent__5FDJm{position:relative;width:min(90vw,1100px);will-change:transform;animation:mermaid_contentEnter__MieWW .22s ease-out both;user-select:none;-webkit-user-select:none}.mermaid_overlayClosing__VCf3I .mermaid_modalContent__5FDJm{animation:none}.mermaid_modalContent__5FDJm svg{max-width:100%;height:auto;display:block;border-radius:var(--radius-md,.5rem)}.mermaid_draggable__6z80y{cursor:grab}.mermaid_dragging__mWcPo{cursor:grabbing!important;transition:none!important}.mermaid_modalDiagram__qNcQZ{display:flex;align-items:center;justify-content:center}.mermaid_modalDiagram__qNcQZ svg{width:100%;height:auto;display:block;max-height:85vh;filter:drop-shadow(0 8px 40px hsl(var(--foreground)/.08))}.mermaid_closeButton__1u41P{position:fixed;top:16px;right:16px;z-index:10000;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md,.5rem);border:1px solid hsl(var(--border)/.35);background:hsl(var(--card)/.85);color:hsl(var(--muted-foreground));cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.mermaid_closeButton__1u41P:hover{background:hsl(var(--muted)/.9);border-color:hsl(var(--border)/.6);color:hsl(var(--foreground))}.mermaid_closeButton__1u41P:active{transform:scale(.93)}.mermaid_overlayClosing__VCf3I .mermaid_closeButton__1u41P{opacity:0;pointer-events:none;transition:opacity .15s ease}.mermaid_zoomControls__1MMhn{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;display:flex;align-items:center;gap:4px;padding:5px 8px;background:hsl(var(--card)/.85);border:1px solid hsl(var(--border)/.4);border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 24px hsl(var(--foreground)/.06);animation:mermaid_fadeIn__whumg .25s ease both;opacity:.9;transition:opacity .15s ease}.mermaid_zoomControls__1MMhn:hover{opacity:1}.mermaid_overlayClosing__VCf3I .mermaid_zoomControls__1MMhn{opacity:0;pointer-events:none;transition:opacity .15s ease}.mermaid_zoomButton__0FeR3{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s ease,color .12s ease;padding:0}.mermaid_zoomButton__0FeR3:hover{background:hsl(var(--muted)/.7);color:hsl(var(--foreground))}.mermaid_zoomButton__0FeR3:active{transform:scale(.9)}.mermaid_zoomButton__0FeR3:disabled{opacity:.3;cursor:not-allowed}.mermaid_zoomPercentage__K_mKB{font-size:.7rem;color:hsl(var(--muted-foreground));min-width:34px;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:0 2px}.mermaid_modalHint___ZULd{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:10000;font-size:.7rem;color:hsl(var(--muted-foreground)/.7);pointer-events:none;user-select:none;white-space:nowrap;letter-spacing:.02em;animation:mermaid_fadeIn__whumg .3s ease .5s both}.mermaid_overlayClosing__VCf3I .mermaid_modalHint___ZULd{opacity:0;transition:opacity .15s ease}.mermaid_errorMessage__uvYbE{width:100%;max-width:720px;padding:1.25rem;border-radius:var(--radius-lg,.75rem);background:hsl(var(--destructive)/.08);border:1px solid hsl(var(--destructive)/.2);text-align:center}.mermaid_errorMessage__uvYbE p{font-size:.875rem;color:hsl(var(--destructive-foreground,var(--destructive)));margin-bottom:.75rem;font-weight:500}.mermaid_errorMessage__uvYbE pre{text-align:left;font-size:.72rem;padding:.75rem;background:hsl(var(--muted)/.3);border-radius:var(--radius-sm,.25rem);overflow-x:auto;color:hsl(var(--muted-foreground));max-height:180px;white-space:pre-wrap;word-break:break-all}@media (max-width:768px){.mermaid_mermaidWrapper__F3675{margin:2rem auto}.mermaid_diagramContainer___Cv4W{padding:1rem .25rem}.mermaid_caption__VzP1S{font-size:.75rem;margin-top:.75rem}.mermaid_skeletonLine__EIG59{height:10px}.mermaid_closeButton__1u41P{top:12px;right:12px;width:34px;height:34px}.mermaid_modalHint___ZULd{top:14px;font-size:.65rem}.mermaid_zoomControls__1MMhn{display:none}}[data-theme=dark] .mermaid_overlay__8EDej{background:hsl(var(--background)/.9)}[data-theme=dark] .mermaid_modalDiagram__qNcQZ svg{filter:drop-shadow(0 8px 40px rgba(0,0,0,.4)) saturate(.85) brightness(1.05)}[data-theme=dark] .mermaid_diagramContainer___Cv4W[data-theme=dark] .mermaid svg{filter:saturate(.8) brightness(1.05)}[data-theme=dark] .mermaid_closeButton__1u41P{background:hsl(var(--card)/.8);border-color:hsl(var(--border)/.4)}[data-theme=dark] .mermaid_zoomControls__1MMhn{background:hsl(var(--card)/.8);border-color:hsl(var(--border)/.5)}@media (prefers-reduced-motion:reduce){.mermaid_fadeIn__whumg,.mermaid_modalContent__5FDJm,.mermaid_overlayClosing__VCf3I,.mermaid_overlayOpen__Rvqh5,.mermaid_skeletonLine__EIG59,.mermaid_zoomControls__1MMhn{animation:none!important;transition:none!important}.mermaid_overlayClosing__VCf3I{opacity:0}}.PostHeader_title__K1K15{mask:url(/static/images/title_bg.png);mask-size:cover}