.flowchart{overflow:visible}.mermaid-svg-wrapper svg{background-color:#0000;max-width:100%;height:auto;margin-inline:auto;display:block}.mermaid-container{background-color:color-mix(in srgb, var(--accent-color) 2%, var(--bg,#fff));background-image:radial-gradient(color-mix(in srgb, var(--accent-color) 12%, transparent) 1.2px, transparent 1.2px);border:1px solid color-mix(in srgb, var(--accent-color) 15%, #e2e8f0);cursor:zoom-in;background-size:16px 16px;transition:border-color .3s,box-shadow .3s;position:relative;box-shadow:0 1px 3px #00000005,inset 0 1px 2px #00000003}.mermaid-container:hover{border-color:color-mix(in srgb, var(--accent-color) 25%, #cbd5e1);box-shadow:0 4px 20px #00000008,inset 0 1px 2px #00000003}.mermaid-container:hover .diagram-controls{opacity:1;transform:translateY(0)}.mermaid-container .diagram-controls{opacity:1;transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);transform:translateY(0)}@media (hover:hover){.mermaid-container .diagram-controls{opacity:0;transform:translateY(4px)}}.mermaid-container .diagram-label{--un-tracking:.15em;letter-spacing:.15em;--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold);opacity:.8;text-transform:uppercase;color:color-mix(in srgb, var(--colors-slate-400) var(--un-text-opacity), transparent) !important;font-size:9px!important;font-family:var(--font-mono)!important}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@supports (color:color-mix(in lab, red, red)){.mermaid-container .diagram-label{color:color-mix(in oklab, var(--colors-slate-400) var(--un-text-opacity), transparent) !important}}.mermaid-container .zoom-trigger{corner-shape:squircle;cursor:pointer;--un-backdrop-blur:blur(12px);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);justify-content:center;align-items:center;display:flex;color:color-mix(in srgb, var(--colors-slate-500) var(--un-text-opacity), transparent) !important;padding:calc(var(--spacing) * 1.5)!important;border-radius:var(--radius-lg)!important;background:color-mix(in srgb, var(--accent-color) 4%, #ffffffb3)!important;border:1px solid color-mix(in srgb, var(--accent-color) 12%, #e2e8f0cc)!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 2px 8px #0000000a!important}@supports (color:color-mix(in lab, red, red)){.mermaid-container .zoom-trigger{color:color-mix(in oklab, var(--colors-slate-500) var(--un-text-opacity), transparent) !important}}@property --un-backdrop-blur{syntax:"*";inherits:false}@property --un-backdrop-brightness{syntax:"*";inherits:false}@property --un-backdrop-contrast{syntax:"*";inherits:false}@property --un-backdrop-grayscale{syntax:"*";inherits:false}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false}@property --un-backdrop-invert{syntax:"*";inherits:false}@property --un-backdrop-opacity{syntax:"*";inherits:false}@property --un-backdrop-saturate{syntax:"*";inherits:false}@property --un-backdrop-sepia{syntax:"*";inherits:false}.mermaid-container .zoom-trigger:hover{transform:scale(1.05);background:color-mix(in srgb, var(--accent-color) 8%, #fffffff2)!important;border-color:color-mix(in srgb, var(--accent-color) 30%, #cbd5e1e6)!important;color:var(--accent-color)!important;box-shadow:0 4px 12px #00000014!important}.mermaid-container .zoom-trigger:active{transform:scale(.95)}.mermaid-zoom-toolbar{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);border-width:1px;border-color:color-mix(in srgb, var(--colors-slate-200) 50%, transparent) ;background-color:color-mix(in srgb, var(--colors-white) 70%, transparent) ;opacity:0;gap:calc(var(--spacing) * 3);user-select:none;--un-translate-x:-50%;translate:var(--un-translate-x) var(--un-translate-y);--un-translate-y:calc(var(--spacing) * 10);translate:var(--un-translate-x) var(--un-translate-y);bottom:calc(var(--spacing) * 6);z-index:55;--un-backdrop-blur:blur(16px);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);border-radius:3.40282e38px;align-items:center;transition:translate .3s cubic-bezier(.34,1.56,.64,1),scale .3s cubic-bezier(.34,1.56,.64,1),opacity .3s;display:flex;position:absolute;left:50%;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #0000000d}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@supports (color:color-mix(in lab, red, red)){.mermaid-zoom-toolbar{border-color:color-mix(in oklab, var(--colors-slate-200) 50%, transparent) ;background-color:color-mix(in oklab, var(--colors-white) 70%, transparent) }}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-translate-x{syntax:"*";inherits:false;initial-value:0}@property --un-translate-y{syntax:"*";inherits:false;initial-value:0}@property --un-translate-z{syntax:"*";inherits:false;initial-value:0}.mermaid-zoom-toolbar.visible{opacity:1;--un-translate-y:calc(var(--spacing) * 0);translate:var(--un-translate-x) var(--un-translate-y)}.mermaid-zoom-toolbar .tb-btn{color:color-mix(in srgb, var(--colors-slate-500) var(--un-text-opacity), transparent) ;padding:calc(var(--spacing) * 2);--un-outline-style:none;--un-border-style:none;cursor:pointer;transition-property:all;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));--un-duration:.2s;--un-ease:var(--ease-in-out);transition-duration:.2s;transition-timing-function:var(--ease-in-out);background-color:#0000;border-style:none;border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.mermaid-zoom-toolbar .tb-btn{color:color-mix(in oklab, var(--colors-slate-500) var(--un-text-opacity), transparent) }}@property --un-ease{syntax:"*";inherits:false}.mermaid-zoom-toolbar .tb-btn svg{stroke:currentColor;transition:transform .2s}.mermaid-zoom-toolbar .tb-btn:hover{color:color-mix(in srgb, var(--colors-slate-900) var(--un-text-opacity), transparent) ;background-color:color-mix(in srgb, var(--colors-slate-100) var(--un-bg-opacity), transparent) }@supports (color:color-mix(in lab, red, red)){.mermaid-zoom-toolbar .tb-btn:hover{color:color-mix(in oklab, var(--colors-slate-900) var(--un-text-opacity), transparent) ;background-color:color-mix(in oklab, var(--colors-slate-100) var(--un-bg-opacity), transparent) }}.mermaid-zoom-toolbar .tb-btn:hover svg{--un-scale-x:110%;--un-scale-y:110%;scale:var(--un-scale-x) var(--un-scale-y)}@property --un-scale-x{syntax:"*";inherits:false;initial-value:1}@property --un-scale-y{syntax:"*";inherits:false;initial-value:1}@property --un-scale-z{syntax:"*";inherits:false;initial-value:1}.mermaid-zoom-toolbar .tb-btn:active{transform:scale(.95)}.mermaid-zoom-toolbar .tb-zoom-reset{--un-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);font-size:11px;font-family:var(--font-mono);--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1);gap:calc(var(--spacing) * 1)}.mermaid-zoom-toolbar .tb-zoom-reset span{text-transform:uppercase}.mermaid-zoom-toolbar .tb-divider{background-color:color-mix(in srgb, var(--colors-slate-200) var(--un-bg-opacity), transparent) ;width:1px;height:calc(var(--spacing) * 4)}@supports (color:color-mix(in lab, red, red)){.mermaid-zoom-toolbar .tb-divider{background-color:color-mix(in oklab, var(--colors-slate-200) var(--un-bg-opacity), transparent) }}.mermaid-zoom-close{color:color-mix(in srgb, var(--colors-slate-500) var(--un-text-opacity), transparent) ;--un-outline-style:none;border-width:1px;border-color:color-mix(in srgb, var(--colors-slate-200) 50%, transparent) ;background-color:color-mix(in srgb, var(--colors-white) 70%, transparent) ;width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);cursor:pointer;top:calc(var(--spacing) * 6);right:calc(var(--spacing) * 6);z-index:55;--un-backdrop-blur:blur(16px);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;box-shadow:0 4px 12px #0000000d}@supports (color:color-mix(in lab, red, red)){.mermaid-zoom-close{color:color-mix(in oklab, var(--colors-slate-500) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-slate-200) 50%, transparent) ;background-color:color-mix(in oklab, var(--colors-white) 70%, transparent) }}.mermaid-zoom-close span{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));--un-duration:.2s;transition-duration:.2s}.mermaid-zoom-close:hover{color:color-mix(in srgb, var(--colors-slate-900) var(--un-text-opacity), transparent) ;background-color:color-mix(in srgb, var(--colors-slate-100) var(--un-bg-opacity), transparent) ;--un-scale-x:105%;--un-scale-y:105%;scale:var(--un-scale-x) var(--un-scale-y)}@supports (color:color-mix(in lab, red, red)){.mermaid-zoom-close:hover{color:color-mix(in oklab, var(--colors-slate-900) var(--un-text-opacity), transparent) ;background-color:color-mix(in oklab, var(--colors-slate-100) var(--un-bg-opacity), transparent) }}.mermaid-zoom-close:hover span{rotate:90deg}.mermaid-zoom-close:active{--un-scale-x:95%;--un-scale-y:95%;scale:var(--un-scale-x) var(--un-scale-y)}.mermaid-zoom-overlay.hide-controls .mermaid-zoom-toolbar{opacity:.15;pointer-events:none;--un-translate-y:calc(var(--spacing) * 3);translate:var(--un-translate-x) var(--un-translate-y);--un-scale-x:95%;--un-scale-y:95%;scale:var(--un-scale-x) var(--un-scale-y)}.mermaid-zoom-overlay.hide-controls .mermaid-zoom-close{opacity:.15;pointer-events:none;--un-translate-y:calc(var(--spacing) * -2);translate:var(--un-translate-x) var(--un-translate-y);--un-scale-x:90%;--un-scale-y:90%;scale:var(--un-scale-x) var(--un-scale-y)}.mermaid-container svg,.mermaid-zoom-overlay svg{filter:drop-shadow(0 2px 8px #00000005)}.mermaid-container svg text,.mermaid-zoom-overlay svg text{--un-tracking:-.015em;letter-spacing:-.015em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-stylish), ui-sans-serif, system-ui, sans-serif!important}.mermaid-container svg .node,.mermaid-zoom-overlay svg .node{filter:drop-shadow(0 2px 4px #00000008)!important}.mermaid-container svg .node rect,.mermaid-container svg .node circle,.mermaid-container svg .node polygon,.mermaid-container svg .node path.label-container,.mermaid-zoom-overlay svg .node rect,.mermaid-zoom-overlay svg .node circle,.mermaid-zoom-overlay svg .node polygon,.mermaid-zoom-overlay svg .node path.label-container{fill:#fff!important;stroke:color-mix(in srgb, var(--accent-color) 35%, #94a3b8)!important;stroke-width:1.5px!important;transition:stroke .2s,stroke-width .2s,fill .2s!important}.mermaid-container svg .node rect,.mermaid-zoom-overlay svg .node rect{rx:8px!important;ry:8px!important}.mermaid-container svg .node .nodeLabel,.mermaid-container svg .node .nodeLabel *,.mermaid-container svg .node .label text,.mermaid-zoom-overlay svg .node .nodeLabel,.mermaid-zoom-overlay svg .node .nodeLabel *,.mermaid-zoom-overlay svg .node .label text{color:color-mix(in srgb, var(--colors-slate-800) var(--un-text-opacity), transparent) !important;--un-font-weight:var(--fontWeight-semibold)!important;font-size:13.5px!important;font-weight:var(--fontWeight-semibold)!important;fill:color-mix(in srgb, var(--colors-slate-800) var(--un-fill-opacity), transparent) !important}@supports (color:color-mix(in lab, red, red)){.mermaid-container svg .node .nodeLabel,.mermaid-container svg .node .nodeLabel *,.mermaid-container svg .node .label text,.mermaid-zoom-overlay svg .node .nodeLabel,.mermaid-zoom-overlay svg .node .nodeLabel *,.mermaid-zoom-overlay svg .node .label text{color:color-mix(in oklab, var(--colors-slate-800) var(--un-text-opacity), transparent) !important;fill:color-mix(in oklab, var(--colors-slate-800) var(--un-fill-opacity), transparent) !important}}@property --un-fill-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}.mermaid-container svg .node foreignObject>div,.mermaid-zoom-overlay svg .node foreignObject>div{justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;display:flex!important}.mermaid-container svg .node:hover,.mermaid-zoom-overlay svg .node:hover{cursor:pointer}.mermaid-container svg .node:hover rect,.mermaid-container svg .node:hover circle,.mermaid-container svg .node:hover polygon,.mermaid-container svg .node:hover path.label-container,.mermaid-zoom-overlay svg .node:hover rect,.mermaid-zoom-overlay svg .node:hover circle,.mermaid-zoom-overlay svg .node:hover polygon,.mermaid-zoom-overlay svg .node:hover path.label-container{fill:color-mix(in srgb, var(--accent-color) 4%, #fff)!important;stroke:var(--accent-color)!important;stroke-width:1.75px!important}.mermaid-container svg .cluster rect,.mermaid-zoom-overlay svg .cluster rect{fill:color-mix(in srgb, var(--accent-color) 3%, var(--bg,#fff))!important;stroke:color-mix(in srgb, var(--accent-color) 25%, #cbd5e1)!important;stroke-width:1.5px!important;rx:12px!important;ry:12px!important}.mermaid-container svg .cluster-label foreignObject,.mermaid-zoom-overlay svg .cluster-label foreignObject{overflow:visible!important}.mermaid-container svg .cluster-label div,.mermaid-zoom-overlay svg .cluster-label div{justify-content:center!important;align-items:center!important;height:100%!important;display:flex!important}.mermaid-container svg .cluster-label .nodeLabel,.mermaid-zoom-overlay svg .cluster-label .nodeLabel{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * .75)!important;background-color:color-mix(in oklab, var(--bg,#fff) var(--un-bg-opacity), transparent) !important;--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a)!important;height:auto!important;box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)!important;border:1.5px solid color-mix(in srgb, var(--accent-color) 35%, #94a3b8)!important;border-radius:3.40282e38px!important;align-items:center!important;display:inline-flex!important}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.mermaid-container svg .cluster-label .nodeLabel p,.mermaid-container svg .cluster-label .nodeLabel span,.mermaid-container svg .cluster-label .nodeLabel div,.mermaid-zoom-overlay svg .cluster-label .nodeLabel p,.mermaid-zoom-overlay svg .cluster-label .nodeLabel span,.mermaid-zoom-overlay svg .cluster-label .nodeLabel div{text-transform:uppercase;--un-leading:1.2!important;--un-tracking:.12em!important;letter-spacing:.12em!important;font-size:10px!important;line-height:1.2!important;font-family:var(--font-mono)!important;--un-font-weight:var(--fontWeight-bold)!important;font-weight:var(--fontWeight-bold)!important;margin:calc(var(--spacing) * 0)!important;white-space:nowrap!important;color:color-mix(in srgb, var(--accent-color) 80%, #334155)!important}@property --un-leading{syntax:"*";inherits:false}.mermaid-container svg rect.actor,.mermaid-zoom-overlay svg rect.actor{filter:drop-shadow(0 2px 4px #00000008);fill:#fff!important;stroke:color-mix(in srgb, var(--accent-color) 35%, #94a3b8)!important;stroke-width:1.5px!important;rx:8px!important;ry:8px!important}.mermaid-container svg .actor text,.mermaid-container svg text.actor,.mermaid-zoom-overlay svg .actor text,.mermaid-zoom-overlay svg text.actor{--un-font-weight:var(--fontWeight-semibold)!important;font-size:13.5px!important;font-weight:var(--fontWeight-semibold)!important;fill:color-mix(in srgb, var(--colors-slate-800) var(--un-fill-opacity), transparent) !important;dominant-baseline:central!important}@supports (color:color-mix(in lab, red, red)){.mermaid-container svg .actor text,.mermaid-container svg text.actor,.mermaid-zoom-overlay svg .actor text,.mermaid-zoom-overlay svg text.actor{fill:color-mix(in oklab, var(--colors-slate-800) var(--un-fill-opacity), transparent) !important}}.mermaid-container svg rect.note,.mermaid-zoom-overlay svg rect.note{filter:drop-shadow(0 2px 4px #00000005);fill:color-mix(in srgb, var(--accent-color) 5%, #fffdf5)!important;stroke:color-mix(in srgb, var(--accent-color) 30%, #e2e8f0)!important;stroke-width:1.25px!important;rx:8px!important;ry:8px!important}.mermaid-container svg .noteText,.mermaid-container svg .note-text,.mermaid-container svg text.noteText,.mermaid-zoom-overlay svg .noteText,.mermaid-zoom-overlay svg .note-text,.mermaid-zoom-overlay svg text.noteText{font-size:var(--text-xs-fontSize)!important;line-height:var(--un-leading,var(--text-xs-lineHeight))!important;--un-font-weight:var(--fontWeight-medium)!important;font-weight:var(--fontWeight-medium)!important;fill:color-mix(in srgb, var(--colors-slate-600) var(--un-fill-opacity), transparent) !important}@supports (color:color-mix(in lab, red, red)){.mermaid-container svg .noteText,.mermaid-container svg .note-text,.mermaid-container svg text.noteText,.mermaid-zoom-overlay svg .noteText,.mermaid-zoom-overlay svg .note-text,.mermaid-zoom-overlay svg text.noteText{fill:color-mix(in oklab, var(--colors-slate-600) var(--un-fill-opacity), transparent) !important}}.mermaid-container svg polygon.labelBox,.mermaid-zoom-overlay svg polygon.labelBox{fill:color-mix(in srgb, var(--accent-color) 12%, #fff)!important;stroke:color-mix(in srgb, var(--accent-color) 30%, #e2e8f0)!important;stroke-width:1.25px!important}.mermaid-container svg .loopText,.mermaid-container svg .loop-text,.mermaid-container svg text.loopText,.mermaid-zoom-overlay svg .loopText,.mermaid-zoom-overlay svg .loop-text,.mermaid-zoom-overlay svg text.loopText{--un-font-weight:var(--fontWeight-semibold)!important;font-size:11.5px!important;font-weight:var(--fontWeight-semibold)!important;fill:color-mix(in srgb, var(--colors-slate-800) var(--un-fill-opacity), transparent) !important}@supports (color:color-mix(in lab, red, red)){.mermaid-container svg .loopText,.mermaid-container svg .loop-text,.mermaid-container svg text.loopText,.mermaid-zoom-overlay svg .loopText,.mermaid-zoom-overlay svg .loop-text,.mermaid-zoom-overlay svg text.loopText{fill:color-mix(in oklab, var(--colors-slate-800) var(--un-fill-opacity), transparent) !important}}.mermaid-container svg rect.loopBox,.mermaid-container svg line.loopLine,.mermaid-zoom-overlay svg rect.loopBox,.mermaid-zoom-overlay svg line.loopLine{stroke:color-mix(in srgb, var(--accent-color) 25%, #cbd5e1)!important;stroke-width:1.25px!important}.mermaid-container svg text.messageText,.mermaid-zoom-overlay svg text.messageText{font-size:var(--text-xs-fontSize)!important;line-height:var(--un-leading,var(--text-xs-lineHeight))!important;--un-font-weight:var(--fontWeight-medium)!important;font-weight:var(--fontWeight-medium)!important;fill:color-mix(in srgb, var(--colors-slate-600) var(--un-fill-opacity), transparent) !important}@supports (color:color-mix(in lab, red, red)){.mermaid-container svg text.messageText,.mermaid-zoom-overlay svg text.messageText{fill:color-mix(in oklab, var(--colors-slate-600) var(--un-fill-opacity), transparent) !important}}.mermaid-container svg path.flowchart-link,.mermaid-container svg path.edge-thickness-normal,.mermaid-container svg .connection,.mermaid-container svg .messageLine0,.mermaid-container svg .messageLine1,.mermaid-container svg path.messageLine0,.mermaid-container svg line.actor-line,.mermaid-container svg line[stroke=\#000000],.mermaid-container svg line[stroke=black],.mermaid-container svg line[stroke=\#999],.mermaid-container svg path[stroke=\#000000],.mermaid-container svg path[stroke=black],.mermaid-container svg path[stroke=\#999],.mermaid-zoom-overlay svg path.flowchart-link,.mermaid-zoom-overlay svg path.edge-thickness-normal,.mermaid-zoom-overlay svg .connection,.mermaid-zoom-overlay svg .messageLine0,.mermaid-zoom-overlay svg .messageLine1,.mermaid-zoom-overlay svg path.messageLine0,.mermaid-zoom-overlay svg line.actor-line,.mermaid-zoom-overlay svg line[stroke=\#000000],.mermaid-zoom-overlay svg line[stroke=black],.mermaid-zoom-overlay svg line[stroke=\#999],.mermaid-zoom-overlay svg path[stroke=\#000000],.mermaid-zoom-overlay svg path[stroke=black],.mermaid-zoom-overlay svg path[stroke=\#999]{stroke-width:1.5px!important;stroke:color-mix(in srgb, var(--accent-color) 35%, #94a3b8)!important}.mermaid-container svg marker path,.mermaid-zoom-overlay svg marker path{stroke-width:1px!important;fill:color-mix(in srgb, var(--accent-color) 35%, #94a3b8)!important;stroke:color-mix(in srgb, var(--accent-color) 35%, #94a3b8)!important}.mermaid-container svg foreignObject,.mermaid-zoom-overlay svg foreignObject{overflow:visible!important}.mermaid-container .labelBkg,.mermaid-zoom-overlay .labelBkg{padding-inline:calc(var(--spacing) * 2);corner-shape:squircle;padding-block:calc(var(--spacing) * .75)!important;border-radius:var(--radius-lg)!important;background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent) !important;white-space:nowrap!important;border:1px solid color-mix(in srgb, var(--accent-color) 15%, #e2e8f0)!important;display:inline-block!important;box-shadow:0 2px 4px #0000000a!important}@supports (color:color-mix(in lab, red, red)){.mermaid-container .labelBkg,.mermaid-zoom-overlay .labelBkg{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent) !important}}.mermaid-container .edgeLabel,.mermaid-zoom-overlay .edgeLabel{color:color-mix(in srgb, var(--colors-slate-600) var(--un-text-opacity), transparent) !important;--un-leading:1.3!important;--un-font-weight:var(--fontWeight-semibold)!important;font-size:11px!important;line-height:1.3!important;font-weight:var(--fontWeight-semibold)!important;margin:calc(var(--spacing) * 0)!important}@supports (color:color-mix(in lab, red, red)){.mermaid-container .edgeLabel,.mermaid-zoom-overlay .edgeLabel{color:color-mix(in oklab, var(--colors-slate-600) var(--un-text-opacity), transparent) !important}}.mermaid-container .edgeLabel p,.mermaid-container .edgeLabel span,.mermaid-container .edgeLabel div,.mermaid-zoom-overlay .edgeLabel p,.mermaid-zoom-overlay .edgeLabel span,.mermaid-zoom-overlay .edgeLabel div{color:color-mix(in srgb, var(--colors-slate-600) var(--un-text-opacity), transparent) !important;--un-font-weight:var(--fontWeight-semibold)!important;font-size:11px!important;font-weight:var(--fontWeight-semibold)!important;margin:calc(var(--spacing) * 0)!important}@supports (color:color-mix(in lab, red, red)){.mermaid-container .edgeLabel p,.mermaid-container .edgeLabel span,.mermaid-container .edgeLabel div,.mermaid-zoom-overlay .edgeLabel p,.mermaid-zoom-overlay .edgeLabel span,.mermaid-zoom-overlay .edgeLabel div{color:color-mix(in oklab, var(--colors-slate-600) var(--un-text-opacity), transparent) !important}}.mermaid-container span.edgeLabel,.mermaid-zoom-overlay span.edgeLabel,.mermaid-container span.edgeLabel p,.mermaid-container span.edgeLabel span,.mermaid-zoom-overlay span.edgeLabel p,.mermaid-zoom-overlay span.edgeLabel span{background-color:#0000!important;background-image:none!important}@media (width<=640px){.mermaid-container svg{min-width:600px!important}.mermaid-container .cluster-label .nodeLabel{padding-inline:calc(var(--spacing) * 2);padding-block:2.5px!important}.mermaid-container .cluster-label .nodeLabel p,.mermaid-container .cluster-label .nodeLabel span,.mermaid-container .cluster-label .nodeLabel div{--un-tracking:.08em!important;letter-spacing:.08em!important;font-size:11px!important}}code-block pre code{flex-direction:column;width:100%;min-width:max-content;display:flex}code-block pre .line{padding-inline:calc(var(--spacing) * 4);width:100%;transition-property:all;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));--un-duration:.3s;border-color:#0000;border-left-width:2px;transition-duration:.3s;display:inline-block}code-block pre .line.highlighted{border-color:color-mix(in oklab, var(--accent-color) var(--un-border-opacity), transparent) ;background-color:color-mix(in oklab, var(--accent-color) 10%, transparent) }code-block pre.has-focused:not(:hover) .line:not(.focused){opacity:.4;--un-blur:blur(1px);filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}@property --un-blur{syntax:"*";inherits:false}@property --un-brightness{syntax:"*";inherits:false}@property --un-contrast{syntax:"*";inherits:false}@property --un-grayscale{syntax:"*";inherits:false}@property --un-hue-rotate{syntax:"*";inherits:false}@property --un-invert{syntax:"*";inherits:false}@property --un-saturate{syntax:"*";inherits:false}@property --un-sepia{syntax:"*";inherits:false}@property --un-drop-shadow{syntax:"*";inherits:false}code-block.collapsed{position:relative}code-block.collapsed .code-wrapper{mask-image:linear-gradient(#000 calc(100% - 6rem),#0000 100%)}code-block .show-more-btn{--un-translate-x:-50%;translate:var(--un-translate-x) var(--un-translate-y);bottom:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 1.5);border-width:1px;border-color:color-mix(in srgb, var(--colors-gray-200) var(--un-border-opacity), transparent) ;background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent) ;--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-gray-600) var(--un-text-opacity), transparent) ;--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);transition-property:all;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));--un-duration:.2s;z-index:20;gap:calc(var(--spacing) * 1.5);cursor:pointer;border-radius:3.40282e38px;align-items:center;transition-duration:.2s;display:flex;position:absolute;left:50%}@supports (color:color-mix(in lab, red, red)){code-block .show-more-btn{border-color:color-mix(in oklab, var(--colors-gray-200) var(--un-border-opacity), transparent) ;background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent) ;color:color-mix(in oklab, var(--colors-gray-600) var(--un-text-opacity), transparent) }}code-block .show-more-btn:hover{color:color-mix(in srgb, var(--colors-gray-900) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-gray-300) var(--un-border-opacity), transparent) ;background-color:color-mix(in srgb, var(--colors-gray-50) var(--un-bg-opacity), transparent) ;--un-scale-x:105%;--un-scale-y:105%;scale:var(--un-scale-x) var(--un-scale-y)}@supports (color:color-mix(in lab, red, red)){code-block .show-more-btn:hover{color:color-mix(in oklab, var(--colors-gray-900) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-gray-300) var(--un-border-opacity), transparent) ;background-color:color-mix(in oklab, var(--colors-gray-50) var(--un-bg-opacity), transparent) }}code-block pre{corner-shape:squircle;border-radius:var(--radius-none)!important}code-block pre code{counter-reset:step;counter-increment:step 0}code-block pre code .line:before{content:counter(step);counter-increment:step;text-align:right;color:#738a9466;width:1rem;margin-right:1.5rem;display:inline-block}.footnote-item[data-astro-cid-sdi65u6h]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));--un-duration:.3s;font-size:var(--text-sm-fontSize);color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent) ;line-height:1.5rem;transition-duration:.3s}@supports (color:color-mix(in lab, red, red)){.footnote-item[data-astro-cid-sdi65u6h]{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent) }}.footnote-item[data-astro-cid-sdi65u6h] [data-astro-cid-sdi65u6h]{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent) }@supports (color:color-mix(in lab, red, red)){.footnote-item[data-astro-cid-sdi65u6h] [data-astro-cid-sdi65u6h]{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent) }}@media (width>=64rem){.sticky .footnote-item[data-astro-cid-sdi65u6h]{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 1);border-left-width:2px;border-color:color-mix(in srgb, var(--colors-neutral-300) var(--un-border-opacity), transparent) ;list-style-type:none;position:absolute}@supports (color:color-mix(in lab, red, red)){.sticky .footnote-item[data-astro-cid-sdi65u6h]{border-color:color-mix(in oklab, var(--colors-neutral-300) var(--un-border-opacity), transparent) }}.sticky .footnote-item[data-astro-cid-sdi65u6h]{margin-top:calc(var(--spacing) * 0)!important;margin-bottom:calc(var(--spacing) * 0)!important}}.footnote-item[data-astro-cid-sdi65u6h].active{background-color:color-mix(in srgb, var(--colors-neutral-100) var(--un-bg-opacity), transparent) }@supports (color:color-mix(in lab, red, red)){.footnote-item[data-astro-cid-sdi65u6h].active{background-color:color-mix(in oklab, var(--colors-neutral-100) var(--un-bg-opacity), transparent) }}.footnote-anchor[data-astro-cid-sdi65u6h]{margin-left:auto;text-decoration:none}@media (width>=64rem){.footnote-anchor[data-astro-cid-sdi65u6h]{display:none}}.footnote-ref[data-astro-cid-vh7wf7me]{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));vertical-align:super;display:inline-block}.footnote-ref[data-astro-cid-vh7wf7me] a[data-astro-cid-vh7wf7me]{text-decoration:none;display:inline-block}.footnote-ref[data-astro-cid-vh7wf7me] a[data-astro-cid-vh7wf7me]:hover{text-decoration-line:underline}.footnotes[data-astro-cid-gjrzejig]{overflow-wrap:break-word;word-break:break-word;text-wrap:balance}@media (width>=64rem){.footnotes.sticky{width:var(--prose-right-space);padding-right:calc(var(--spacing) * 4);height:100%;left:100%;top:calc(var(--spacing) * 0);margin-left:var(--side-gap);position:absolute;margin-top:calc(var(--spacing) * 0)!important;padding-left:calc(var(--spacing) * 0)!important}:has(+.footnotes.sticky){margin-bottom:calc(var(--spacing) * 0)!important}}blockquote[data-astro-cid-2ttfmz7b]{border-radius:var(--radius-xl);corner-shape:squircle;background-color:color-mix(in srgb, var(--accent-color) 5%, var(--bg));padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 3);color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent) ;--un-font-weight:var(--fontWeight-normal);font-weight:var(--fontWeight-normal);border-width:0;font-style:normal;position:relative}@supports (color:color-mix(in lab, red, red)){blockquote[data-astro-cid-2ttfmz7b]{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent) }}blockquote[data-astro-cid-2ttfmz7b]:before{content:"“";font-family:var(--font-stylish);--un-font-weight:var(--fontWeight-extrabold);font-weight:var(--fontWeight-extrabold);left:calc(var(--spacing) * 3);font-style:normal;font-size:var(--text-7xl-fontSize);line-height:var(--un-leading,var(--text-7xl-lineHeight));--un-leading:var(--leading-none);line-height:var(--leading-none);color:color-mix(in srgb, var(--accent-color) 25%, #fff);pointer-events:none;user-select:none;z-index:0;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));--un-duration:.3s;transition-duration:.3s;position:absolute;top:-18px}blockquote[data-astro-cid-2ttfmz7b]:hover:before{color:color-mix(in srgb, var(--accent-color) 40%, #fff)}a[data-astro-cid-mfq5xcdm]{text-underline-offset:4px;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:2px}.full-bleed[data-astro-cid-qg3wwz6i]{--view-port-width:calc(100vw - var(--scrollbar-width,0px) - env(safe-area-inset-left) - env(safe-area-inset-right));--left-space:calc((var(--view-port-width) - 100%) / 2);--x-padding:max(var(--container-padding), calc(var(--left-space)));width:var(--view-port-width);margin-left:calc(-1 * var(--left-space))}.gallery-carousel[data-astro-cid-uervjkmq]{--first-w:100cqi;--gallery-height:min(var(--max-h), calc(var(--first-w) / var(--first-aspect)));container-type:inline-size}.gallery-carousel[data-astro-cid-uervjkmq] .scroll-state-wrapper[data-astro-cid-uervjkmq]:first-child{width:var(--first-w)}.gallery-carousel[data-astro-cid-uervjkmq] .scroll-state-wrapper[data-astro-cid-uervjkmq]:first-child .gallery-image[data-astro-cid-uervjkmq] img[data-astro-cid-uervjkmq]{max-height:var(--gallery-height);width:auto;max-width:100%;height:auto;display:block}.gallery-carousel[data-astro-cid-uervjkmq] .gallery-spacer[data-astro-cid-uervjkmq]{min-width:calc(var(--gallery-height) * var(--item-aspect));height:0;position:relative;overflow:visible}.gallery-carousel[data-astro-cid-uervjkmq] .gallery-spacer[data-astro-cid-uervjkmq] .gallery-card[data-astro-cid-uervjkmq]{width:100%;position:absolute;top:0;left:0}.gallery-carousel[data-astro-cid-uervjkmq] .gallery-spacer[data-astro-cid-uervjkmq] .gallery-image[data-astro-cid-uervjkmq] img[data-astro-cid-uervjkmq]{object-fit:cover;object-position:center;width:100%;height:auto;display:block}.gallery-carousel figcaption{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3lh;display:-webkit-box;overflow:hidden}
