.mermaid-container{--hagilight-mermaid-ink:var(--hagilight-mermaid-foreground,#17212b);--hagilight-mermaid-muted-ink:var(--hagilight-mermaid-muted-foreground,#64748b);--hagilight-mermaid-line:var(--hagilight-mermaid-border,#e2e8f0);--hagilight-mermaid-trace-down:var(--hagilight-mermaid-mm-down,var(--hagilight-mermaid-primary,#2563eb));--hagilight-mermaid-trace-up:var(--hagilight-mermaid-mm-up,var(--hagilight-mermaid-status-warning,#d97706));--hagilight-mermaid-surface:var(--hagilight-mermaid-card,#fff);--hagilight-mermaid-hover:var(--hagilight-mermaid-accent,#f1f5f9);--hagilight-mermaid-group:var(--hagilight-mermaid-muted,#f1f5f9);--hagilight-mermaid-danger:var(--hagilight-mermaid-destructive,#dc2626);--hagilight-mermaid-code-font:var(--hagilight-mermaid-app-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);flex-direction:column;max-width:100%;min-height:100px;margin:1rem 0;display:flex;position:relative;overflow:hidden}.mermaid-container[data-mermaid-mode=dark]{--hagilight-mermaid-ink:var(--hagilight-mermaid-foreground,#f8fafc);--hagilight-mermaid-muted-ink:var(--hagilight-mermaid-muted-foreground,#94a3b8);--hagilight-mermaid-line:var(--hagilight-mermaid-border,#334155);--hagilight-mermaid-trace-down:var(--hagilight-mermaid-mm-down,var(--hagilight-mermaid-primary,#60a5fa));--hagilight-mermaid-trace-up:var(--hagilight-mermaid-mm-up,var(--hagilight-mermaid-status-warning,#fbbf24));--hagilight-mermaid-surface:var(--hagilight-mermaid-card,#1f2937);--hagilight-mermaid-hover:var(--hagilight-mermaid-accent,#334155);--hagilight-mermaid-group:var(--hagilight-mermaid-muted,#1e293b);--hagilight-mermaid-danger:var(--hagilight-mermaid-destructive,#f87171)}.mermaid-container .mermaid-diagram-container{box-sizing:border-box;scrollbar-gutter:stable;justify-content:center;align-items:center;width:100%;max-width:100%;padding:1rem 0;display:flex;overflow:auto visible}.mermaid-container .mermaid-diagram-container svg{width:100%;min-width:0;max-width:100%;height:auto;overflow:visible}.mermaid-container.mermaid-preset-default .mermaid-enhanced-svg .mermaid-subgraph{fill:color-mix(in srgb, var(--hagilight-mermaid-group,#f1f5f9) 30%, transparent);stroke:var(--hagilight-mermaid-line,#e2e8f0);stroke-width:1.25px}.mermaid-container.mermaid-preset-default .mermaid-enhanced-svg .mermaid-node-core{filter:drop-shadow(0 2px 3px color-mix(in srgb, var(--hagilight-mermaid-ink,#17212b) 18%, transparent))}.mermaid-container.mermaid-preset-default .mermaid-diagram-container svg text{paint-order:stroke fill;stroke:var(--hagilight-mermaid-halo,#fff);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.mermaid-container[data-mermaid-mode=dark].mermaid-preset-default .mermaid-diagram-container svg text{stroke:var(--hagilight-mermaid-halo,#111827)}.mermaid-container.mermaid-preset-default .mermaid-diagram-container svg :is(text.slice,text.taskText,text.journey-section,text.task,text.treemapLabel,text.treemapValue,text.treemapSectionLabel,text.treemapSectionValue,g.timeline-node text,g.branchLabel text){stroke:none}.mermaid-container .mermaid-enhanced-svg .mermaid-node,.mermaid-container .mermaid-enhanced-svg .mermaid-subgraph,.mermaid-container .mermaid-enhanced-svg .mermaid-edge-label{transition:opacity .16s,filter .16s}.mermaid-container .mermaid-enhanced-svg .mermaid-edge{transition:opacity .16s,stroke .16s,stroke-width .16s}.mermaid-container .mermaid-enhanced-svg .mermaid-node[role=button],.mermaid-container .mermaid-enhanced-svg .mermaid-entity[role=button]{cursor:pointer}.mermaid-container .mermaid-enhanced-svg .mermaid-node:focus,.mermaid-container .mermaid-enhanced-svg .mermaid-entity:focus{outline:none}.mermaid-container .mermaid-enhanced-svg .mermaid-node:focus-visible,.mermaid-container .mermaid-enhanced-svg .mermaid-entity:focus-visible{outline:2px solid var(--hagilight-mermaid-trace-down,#2563eb);outline-offset:3px}.mermaid-container .mermaid-tracing .mermaid-trace-dim{opacity:.3}.mermaid-container .mermaid-tracing .mermaid-trace-focus{filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--hagilight-mermaid-ink,#17212b) 24%, transparent))}.mermaid-container .mermaid-tracing .mermaid-trace-focus>:is(rect,polygon,circle,ellipse,path){stroke:var(--hagilight-mermaid-trace-down,#2563eb)!important;stroke-width:2.5px!important}.mermaid-container .mermaid-tracing .mermaid-trace-up>:is(rect,polygon,circle,ellipse,path){stroke:var(--hagilight-mermaid-trace-up,#d97706)!important;stroke-width:2px!important}.mermaid-container .mermaid-tracing .mermaid-trace-down>:is(rect,polygon,circle,ellipse,path){stroke:var(--hagilight-mermaid-trace-down,#2563eb)!important;stroke-width:2px!important}.mermaid-container .mermaid-tracing .mermaid-edge.mermaid-trace-edge-up{stroke:var(--hagilight-mermaid-trace-up,#d97706)!important;stroke-width:2px!important}.mermaid-container .mermaid-tracing .mermaid-edge.mermaid-trace-edge-down{stroke:var(--hagilight-mermaid-trace-down,#2563eb)!important;stroke-width:2px!important}.mermaid-container .mermaid-trace-hop{pointer-events:none}.mermaid-container .mermaid-trace-hop rect{fill:var(--hagilight-mermaid-surface,#fff)!important;stroke-width:1.5px!important}.mermaid-container .mermaid-trace-hop-down rect{stroke:var(--hagilight-mermaid-trace-down,#2563eb)!important}.mermaid-container .mermaid-trace-hop-up rect{stroke:var(--hagilight-mermaid-trace-up,#d97706)!important}.mermaid-container .mermaid-diagram-container .mermaid-trace-hop text{font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600;fill:var(--hagilight-mermaid-ink,#17212b)!important;stroke:none!important}.mermaid-container .mermaid-trace-layer{pointer-events:none}.mermaid-container .mermaid-trace-comet{fill:none;stroke-width:3.5px;stroke-linecap:butt}.mermaid-container .mermaid-trace-comet-down{stroke:var(--hagilight-mermaid-trace-down,#2563eb)}.mermaid-container .mermaid-trace-comet-up{stroke:var(--hagilight-mermaid-trace-up,#d97706)}.mermaid-container .mermaid-toolbar{align-items:center;gap:.5rem;min-height:1.75rem;padding:.5rem .5rem 0;display:flex}.mermaid-container .mermaid-toolbar+.mermaid-diagram-container{padding-top:.25rem}.mermaid-container .mermaid-trace-status{flex:1;min-width:0;display:flex}.mermaid-container .mermaid-trace-chip{border:1px solid var(--hagilight-mermaid-line,#e2e8f0);background:var(--hagilight-mermaid-surface,#fff);min-width:0;color:var(--hagilight-mermaid-ink,#17212b);font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;gap:.5rem;padding:.125rem .5rem;font-size:.75rem;line-height:1.25rem;animation:.16s cubic-bezier(.16,1,.3,1) backwards mermaid-chip-in;display:flex}.mermaid-container .mermaid-trace-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.mermaid-container .mermaid-trace-chip-count{color:var(--hagilight-mermaid-muted-ink,#64748b);white-space:nowrap;flex-shrink:0;align-items:center;gap:.25rem;display:inline-flex}.mermaid-container .mermaid-trace-chip-count:before{background:var(--hagilight-mermaid-trace-down,#2563eb);content:"";border-radius:9999px;width:.375rem;height:.375rem}.mermaid-container .mermaid-trace-chip-up:before{background:var(--hagilight-mermaid-trace-up,#d97706)}.mermaid-container .mermaid-trace-chip-pin,.mermaid-container .mermaid-trace-chip-clear svg,.mermaid-container .mermaid-replay svg,.mermaid-container .mermaid-expand svg{flex-shrink:0;width:.875rem;height:.875rem}.mermaid-container .mermaid-trace-chip-pin{color:var(--hagilight-mermaid-muted-ink,#64748b)}.mermaid-container .mermaid-trace-chip-clear,.mermaid-container .mermaid-replay,.mermaid-container .mermaid-expand{color:var(--hagilight-mermaid-muted-ink,#64748b);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.mermaid-container .mermaid-trace-chip-clear{width:1.25rem;height:1.25rem}.mermaid-container .mermaid-trace-chip-clear:hover,.mermaid-container .mermaid-replay:hover,.mermaid-container .mermaid-expand:hover{background:var(--hagilight-mermaid-hover,#f1f5f9);color:var(--hagilight-mermaid-ink,#17212b)}.mermaid-container .mermaid-trace-chip-clear:focus-visible,.mermaid-container .mermaid-replay:focus-visible,.mermaid-container .mermaid-expand:focus-visible{outline:2px solid var(--hagilight-mermaid-trace-down,#2563eb);outline-offset:1px}.mermaid-container .mermaid-replay,.mermaid-container .mermaid-expand{flex-shrink:0;width:1.75rem;height:1.75rem;transition:background-color .16s,color .16s}.mermaid-container .mermaid-replay svg,.mermaid-container .mermaid-expand svg{transition:transform .26s cubic-bezier(.16,1,.3,1)}.mermaid-container .mermaid-expand:hover svg{transform:scale(1.14)}.mermaid-container .mermaid-replay:hover svg{transform:rotate(-60deg)}.mermaid-container .mermaid-replay:active svg,.mermaid-container .mermaid-expand:active svg{transform:scale(.88)}@media (pointer:coarse){.mermaid-container .mermaid-replay,.mermaid-container .mermaid-expand{width:2.25rem;height:2.25rem}}@media (width<=480px){.mermaid-container .mermaid-toolbar{align-items:flex-start;min-height:2.75rem}.mermaid-container .mermaid-trace-chip{flex-wrap:wrap;row-gap:0}.mermaid-container .mermaid-trace-chip-name{max-width:100%}}@keyframes mermaid-chip-in{0%{opacity:0;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.mermaid-container .mermaid-enhanced-svg .mermaid-node,.mermaid-container .mermaid-enhanced-svg .mermaid-subgraph,.mermaid-container .mermaid-enhanced-svg .mermaid-edge,.mermaid-container .mermaid-enhanced-svg .mermaid-edge-label,.mermaid-container .mermaid-replay,.mermaid-container .mermaid-expand,.mermaid-container .mermaid-replay svg,.mermaid-container .mermaid-expand svg,.mermaid-container .mermaid-part{transition:none}.mermaid-container .mermaid-trace-chip{animation:none}}.mermaid-container .mermaid-enhanced-svg .mermaid-part{transition:opacity .18s,filter .18s}.mermaid-container .mermaid-focusing .mermaid-focus-dim{opacity:.28}.mermaid-container .mermaid-focusing .mermaid-focus-on{filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--hagilight-mermaid-ink,#17212b) 24%, transparent))}.mermaid-container[data-mermaid-mode] .mermaid-focusing svg[aria-roledescription] .mermaid-focus-on:is(rect,circle,ellipse,polygon,path,line),.mermaid-container[data-mermaid-mode] .mermaid-focusing svg[aria-roledescription] .mermaid-focus-on :is(rect,circle,ellipse,polygon,path,line){stroke:var(--hagilight-mermaid-trace-down,#2563eb)!important;stroke-width:2px!important}.mermaid-container .mermaid-trace-chip-place:before{content:none}.mermaid-container.mermaid-fit-contain{height:100%;margin:0}.mermaid-container.mermaid-fit-contain .mermaid-diagram-container{flex:1 1 0;min-height:0;padding:.25rem;overflow:hidden}.mermaid-container.mermaid-fit-contain .mermaid-diagram-container svg{width:100%;height:100%}.mermaid-container .mermaid-viewer{width:100%;max-width:none;height:100%;max-height:none;color:var(--hagilight-mermaid-ink,#17212b);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.mermaid-container .mermaid-viewer::backdrop{backdrop-filter:blur(14px);background:#ffffffd6;animation:.28s ease-out backwards mermaid-viewer-fade}.mermaid-container[data-mermaid-mode=dark] .mermaid-viewer::backdrop{background:#0b1220d6}.mermaid-container .mermaid-viewer[data-state=closing]::backdrop{animation:.24s ease-in reverse both mermaid-viewer-fade}.mermaid-container .mermaid-viewer-stage{cursor:grab;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;position:absolute;inset:0;overflow:hidden}.mermaid-container .mermaid-viewer-stage[data-dragging]{cursor:grabbing}.mermaid-container .mermaid-viewer .mermaid-viewer-canvas{transform-origin:0 0;width:auto;max-width:none;padding:0;display:block;position:absolute;top:0;left:0;overflow:visible}.mermaid-container .mermaid-viewer .mermaid-viewer-canvas svg{max-width:none;display:block}.mermaid-container .mermaid-viewer-bar{pointer-events:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:opacity .16s;animation:.38s cubic-bezier(.16,1,.3,1) .14s backwards mermaid-viewer-rise;display:flex;position:absolute;top:0;left:0;right:0}.mermaid-container .mermaid-viewer-bar>*{pointer-events:auto}.mermaid-container .mermaid-viewer-bar .mermaid-trace-status{pointer-events:none}.mermaid-container .mermaid-viewer-bar .mermaid-trace-chip{pointer-events:auto}.mermaid-container .mermaid-viewer[data-state=closing] .mermaid-viewer-bar,.mermaid-container .mermaid-viewer[data-state=closing] .mermaid-viewer-hint{opacity:0}.mermaid-container .mermaid-viewer-zoom,.mermaid-container .mermaid-viewer-close{border:1px solid var(--hagilight-mermaid-line,#e2e8f0);background:var(--hagilight-mermaid-surface,#fff);border-radius:10px}.mermaid-container .mermaid-viewer-zoom{flex-shrink:0;align-items:center;gap:.125rem;padding:.125rem;display:flex}.mermaid-container .mermaid-viewer-button{min-width:2rem;height:2rem;color:var(--hagilight-mermaid-muted-ink,#64748b);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 .375rem;font-size:.75rem;transition:background-color .16s,color .16s,transform .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.mermaid-container .mermaid-viewer-button svg{width:1rem;height:1rem}.mermaid-container .mermaid-viewer-button:hover{background:var(--hagilight-mermaid-hover,#f1f5f9);color:var(--hagilight-mermaid-ink,#17212b)}.mermaid-container .mermaid-viewer-button:active{transform:scale(.92)}.mermaid-container .mermaid-viewer-button:focus-visible{outline:2px solid var(--hagilight-mermaid-trace-down,#2563eb);outline-offset:1px}.mermaid-container .mermaid-viewer-close{flex-shrink:0;min-width:2.25rem;height:2.25rem}.mermaid-container .mermaid-viewer-percent{min-width:3.25rem;color:var(--hagilight-mermaid-ink,#17212b);font-variant-numeric:tabular-nums;text-align:center;font-size:.75rem}.mermaid-container .mermaid-viewer-hint{color:var(--hagilight-mermaid-muted-ink,#64748b);text-align:center;pointer-events:none;margin:0;font-size:.75rem;transition:opacity .16s;animation:.38s cubic-bezier(.16,1,.3,1) .24s backwards mermaid-viewer-rise;position:absolute;bottom:.75rem;left:1rem;right:1rem}@media (pointer:coarse){.mermaid-container .mermaid-viewer-hint{display:none}}@media (width<=520px){.mermaid-container .mermaid-viewer-bar{padding:.5rem}.mermaid-container .mermaid-viewer-actual,.mermaid-container .mermaid-viewer-percent{display:none}}@keyframes mermaid-viewer-fade{0%{opacity:0}}@keyframes mermaid-viewer-rise{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.mermaid-container .mermaid-viewer::backdrop,.mermaid-container .mermaid-viewer-bar,.mermaid-container .mermaid-viewer-hint{animation:none}.mermaid-container .mermaid-viewer-button{transition:none}}.mermaid-container svg[aria-roledescription=gantt] g.grid .tick line{stroke:var(--hagilight-mermaid-line,#e2e8f0)!important}.mermaid-container svg[aria-roledescription=gantt] g.grid .tick text{fill:var(--hagilight-mermaid-muted-ink,#64748b)!important;stroke:none!important}.mermaid-container svg[aria-roledescription=timeline] .lineWrapper line{stroke:var(--hagilight-mermaid-muted-ink,#64748b)!important}.mermaid-container svg[aria-roledescription=treeView] text.treeView-node-label{fill:var(--hagilight-mermaid-ink,#17212b)!important;color:var(--hagilight-mermaid-ink,#17212b)!important}.mermaid-container svg[aria-roledescription=treeView] line.treeView-node-line{stroke:var(--hagilight-mermaid-muted-ink,#64748b)!important}.mermaid-container .mermaid-loading{background:var(--hagilight-mermaid-surface,#fff);border:1px solid var(--hagilight-mermaid-line,#e2e8f0);color:var(--hagilight-mermaid-muted-ink,#64748b);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.mermaid-container .mermaid-spinner{border:3px solid var(--hagilight-mermaid-line,#e2e8f0);border-top:3px solid var(--hagilight-mermaid-trace-down,#2563eb);border-radius:50%;width:32px;height:32px;animation:1s linear infinite mermaid-spin}@keyframes mermaid-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mermaid-container .mermaid-error-container{background:#dc26261a;border:1px solid #ef44444d;border-radius:8px;align-items:flex-start;gap:12px;padding:16px;display:flex;box-shadow:0 1px 3px #0000000d}.mermaid-container .mermaid-error-icon{color:var(--hagilight-mermaid-danger,#dc2626);flex-shrink:0;margin-top:2px}.mermaid-container .mermaid-error-icon svg{width:24px;height:24px}.mermaid-container .mermaid-error-content{flex:1;min-width:0}.mermaid-container .mermaid-error-title{color:var(--hagilight-mermaid-ink,#17212b);margin:0 0 8px;font-size:1rem;font-weight:600;line-height:1.5}.mermaid-container .mermaid-engine-notice{border:1px dashed var(--hagilight-mermaid-muted-ink,#64748b);color:var(--hagilight-mermaid-muted-ink,#64748b);border-radius:6px;margin:0 0 8px;padding:8px 12px;font-size:.8125rem;line-height:1.5}.mermaid-container .mermaid-error-message{color:var(--hagilight-mermaid-muted-ink,#64748b);word-break:break-word;margin:0 0 12px;font-size:.875rem;line-height:1.5}.mermaid-container .mermaid-error-details{margin:0}.mermaid-container .mermaid-error-details summary{cursor:pointer;color:var(--hagilight-mermaid-ink,#17212b);background:var(--hagilight-mermaid-group,#f1f5f9);border:1px solid var(--hagilight-mermaid-line,#e2e8f0);border-radius:4px;outline:none;padding:4px 8px;font-size:.8125rem;transition:all .2s}.mermaid-container .mermaid-error-details summary:hover{background:var(--hagilight-mermaid-hover,#f1f5f9)}.mermaid-container .mermaid-error-details[open]{margin-top:8px}.mermaid-container .mermaid-error-details[open] summary{border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:-1px}.mermaid-container .mermaid-error-code{color:#e2e8f0;font-family:var(--hagilight-mermaid-code-font,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre-wrap;word-break:break-word;background:#1a202c;border-radius:0 0 4px 4px;margin:0;padding:12px;font-size:.75rem;line-height:1.4;overflow-x:auto}@media (width<=1023px){.mermaid-container .mermaid-diagram-container{justify-content:flex-start;padding-inline:.25rem}.mermaid-container .mermaid-diagram-container svg{width:100%}.mermaid-container .mermaid-error-container{flex-direction:column;align-items:stretch;gap:8px}.mermaid-container .mermaid-error-icon{align-self:center}}
