:root{--bg: #ffffff;--bg-tint: #f7f6f3;--surface: #ffffff;--surface-hover: #faf9f7;--ink: #2f2c28;--ink-soft: #56524b;--muted: #8a857c;--faint: #b9b4aa;--line: #ededea;--line-strong: #e2e0db;--accent: #3d6b9e;--accent-strong: #2f5680;--accent-tint: #eef2f7;--done: #5c9070;--done-tint: #edf4ef;--t-green-bg: #ecf2ec;--t-green-fg: #4d7156;--t-amber-bg: #f6efda;--t-amber-fg: #786334;--t-orange-bg: #f6e9dd;--t-orange-fg: #8a5733;--t-red-bg: #f5e4e1;--t-red-fg: #8a4743;--t-gray-bg: #f0efec;--t-gray-fg: #6a665e;--r-sm: 6px;--r: 8px;--r-lg: 12px;--shadow: 0 1px 2px rgba(40, 38, 34, .04), 0 2px 6px rgba(40, 38, 34, .04);--maxw: 72rem;--measure: 46rem;--header-h: 3.5rem;--font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Helvetica, Arial, sans-serif;--serif: ui-serif, Georgia, Cambria, "Times New Roman", serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-tint)}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}h1,h2,h3,h4{color:var(--ink);line-height:1.25;font-weight:600}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.measure{max-width:var(--measure)}.eyebrow{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.lede{font-size:1.12rem;line-height:1.6;color:var(--ink-soft);max-width:40rem}.site-header{position:sticky;top:0;z-index:50;background:#ffffffd1;backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;gap:1.5rem;height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem;color:var(--ink);letter-spacing:-.01em}.brand:hover{text-decoration:none}.brand .mark{width:1.4rem;height:1.4rem;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:var(--r-sm);font-weight:700;font-size:.85rem}.nav{display:flex;gap:.35rem;margin-left:auto;font-size:.9rem}.nav a{color:var(--ink-soft);padding:.4rem .65rem;border-radius:var(--r-sm)}.nav a:hover{color:var(--ink);background:var(--surface-hover);text-decoration:none}.nav a[aria-current=page]{color:var(--ink);background:var(--bg-tint)}.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.45rem .5rem;cursor:pointer;flex-direction:column;gap:4px}.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--ink-soft);border-radius:2px}@media(max-width:760px){.nav-toggle{display:flex}.nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:.4rem;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:.7rem .75rem}}.site-footer{border-top:1px solid var(--line);margin-top:5rem;padding:2.5rem 0;color:var(--muted);font-size:.85rem}.site-footer .foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--ink);color:#fff;font-weight:500;font-size:.92rem;padding:.6rem 1.1rem;border-radius:var(--r);border:1px solid var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.btn:hover{text-decoration:none;background:#44403a}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{background:var(--surface-hover)}.btn-sm{padding:.45rem .8rem;font-size:.86rem}.page-intro{padding:3.5rem 0 2rem;border-bottom:1px solid var(--line);margin-bottom:2.5rem}.page-intro h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,5vw,2.9rem);letter-spacing:-.015em;margin:.6rem 0 .9rem}.home-intro{padding:4.5rem 0 1rem;border:0}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.card{display:flex;flex-direction:column;gap:.55rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem 1.35rem;color:inherit;transition:border-color .15s,box-shadow .15s,background .15s}a.card:hover{text-decoration:none;border-color:var(--line-strong);box-shadow:var(--shadow)}.card-title{font-size:1.08rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}.card-desc{color:var(--ink-soft);font-size:.92rem;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:auto;padding-top:.4rem;color:var(--muted);font-size:.82rem}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--line)}.card-foot-meta{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.card-cue{color:var(--accent-strong);font-size:.86rem;font-weight:500;white-space:nowrap}.section-label{display:flex;align-items:baseline;gap:.6rem;margin:2.25rem 0 .75rem}.section-lede{margin:-.35rem 0 1rem;color:var(--text-muted, #555);max-width:52ch;line-height:1.5}.concept-list{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.concept-list li+li{border-top:1px solid var(--line)}.concept-list a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:.9rem 1.1rem;color:var(--ink)}.concept-list a:hover{text-decoration:none;background:var(--surface-hover)}.concept-list .seq{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.85rem;min-width:1.5rem;text-align:right}.concept-list .ttl{font-weight:500}.concept-list li.is-done .ttl:after{content:"✓";color:var(--done);margin-left:.45rem;font-size:.85em}.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.16rem .55rem;border-radius:999px;background:var(--t-gray-bg);color:var(--t-gray-fg);text-transform:capitalize}.badge.foundation,.badge.beginner{background:var(--t-green-bg);color:var(--t-green-fg)}.badge.intermediate{background:var(--t-amber-bg);color:var(--t-amber-fg)}.badge.advanced{background:var(--t-orange-bg);color:var(--t-orange-fg)}.badge.expert{background:var(--t-red-bg);color:var(--t-red-fg)}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-size:.78rem;color:var(--ink-soft);background:var(--bg-tint);border:1px solid var(--line);padding:.12rem .5rem;border-radius:var(--r-sm)}.breadcrumbs{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted);flex-wrap:wrap}.breadcrumbs a{color:var(--muted)}.breadcrumbs a:hover{color:var(--ink)}.breadcrumbs .sep{color:var(--faint)}.progress{display:flex;align-items:center;gap:.7rem}.progress-track{flex:1;height:6px;background:var(--bg-tint);border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:0%;background:var(--accent);border-radius:999px;transition:width .4s ease}.progress.is-complete .progress-fill{background:var(--done)}.progress-label{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums;min-width:3.2rem;text-align:right}.track-card{display:flex;flex-direction:column;gap:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.4rem;color:inherit;transition:border-color .15s,box-shadow .15s}.track-card:hover{text-decoration:none;border-color:var(--line-strong);box-shadow:var(--shadow)}.track-title{font-size:1.08rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}.track-sub{font-size:.85rem;color:var(--muted);margin-bottom:.3rem}.domain-group{margin-bottom:3rem}.domain-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:.7rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line)}.domain-group-head h2{font-family:var(--serif);font-size:1.45rem;letter-spacing:-.01em;margin:0}.domain-group-head h2 a{color:var(--ink)}.domain-group-head h2 a:hover{color:var(--accent-strong);text-decoration:none}.domain-group-head .meta{color:var(--muted);font-size:.85rem}.journey{list-style:none;counter-reset:step;padding:0;margin:2rem 0 3rem;max-width:var(--measure)}.journey-step{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:.7rem;background:var(--surface)}.journey-step.is-done{background:var(--done-tint);border-color:#d6e6db}.step-num{width:1.9rem;height:1.9rem;border-radius:50%;background:var(--bg-tint);border:1px solid var(--line-strong);display:grid;place-items:center;font-size:.85rem;font-weight:600;color:var(--muted)}.journey-step.is-done .step-num{background:var(--done);border-color:var(--done);color:#fff}.step-body{min-width:0}.step-title{font-weight:600;color:var(--ink);margin-right:.5rem}.step-title:hover{color:var(--accent-strong)}.step-reason{margin:.3rem 0 0;color:var(--ink-soft);font-size:.9rem;line-height:1.55}.step-check{color:var(--done);font-weight:700;opacity:0}.journey-step.is-done .step-check{opacity:1}.mark-complete{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;font-size:.8rem;font-weight:500;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:all .15s}.mark-complete:hover{border-color:var(--done);color:var(--done)}.mark-complete.is-done{background:var(--done-tint);border-color:#cfe5d6;color:var(--done)}.learning{display:grid;grid-template-columns:1fr;gap:2.5rem;padding:1.75rem 0 1rem}@media(min-width:1040px){.learning{grid-template-columns:minmax(0,1fr) 15rem}}.article{min-width:0;max-width:var(--measure)}.article-head{margin-bottom:1.75rem}.article-head h1{font-family:var(--serif);font-size:clamp(1.9rem,4.5vw,2.6rem);letter-spacing:-.015em;margin:.7rem 0 .4rem}.article-head .summary{color:var(--ink-soft);font-size:1.05rem;line-height:1.6;margin:.4rem 0 0}.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin-top:.9rem}.read-time{color:var(--muted);font-size:.85rem}.article-tags{margin-top:1rem}.panel{border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem 1.25rem;margin:1.5rem 0;background:var(--surface)}.panel>h2{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .7rem;font-weight:600}.panel ul{list-style:none;margin:0;padding:0}.panel li+li{margin-top:.6rem}.panel .item-title{font-weight:500}.panel .reason{color:var(--ink-soft);font-size:.88rem;line-height:1.5;margin-top:.1rem}.panel.next-up{background:var(--accent-tint);border-color:#dde7f1}.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:2.5rem;border-top:1px solid var(--line);padding-top:1.75rem}.prevnext .slot:empty{display:none}.prevnext a{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink)}.prevnext a:hover{text-decoration:none;border-color:var(--line-strong);background:var(--surface-hover)}.prevnext .next{text-align:right}.prevnext .dir{font-size:.75rem;color:var(--muted)}.prevnext .t{font-weight:600}@media(max-width:560px){.prevnext{grid-template-columns:1fr}}.toc{position:sticky;top:calc(var(--header-h) + 1.25rem);align-self:start;font-size:.86rem;max-height:calc(100vh - var(--header-h) - 3rem);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.toc::-webkit-scrollbar{width:0;height:0;display:none}.toc h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .7rem;font-weight:600}.toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.toc a{display:block;padding:.28rem 0 .28rem .85rem;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);line-height:1.4}.toc a:hover{color:var(--ink);text-decoration:none}.toc a.active{color:var(--ink);border-left-color:var(--accent)}.toc .depth-3 a{padding-left:1.6rem;font-size:.82rem}@media(max-width:1039px){.toc{display:none}}.callout{display:flex;gap:.75rem;border:1px solid var(--line);background:var(--bg-tint);border-radius:var(--r);padding:.9rem 1.05rem;margin:1.4rem 0;font-size:.95rem;line-height:1.6}.callout .ico{flex:none;font-size:1.05rem;line-height:1.5}.callout.note{background:var(--accent-tint);border-color:#dde7f1}.callout.tip{background:var(--done-tint);border-color:#d6e6db}.callout>div>:first-child{margin-top:0}.callout>div>:last-child{margin-bottom:0}.search-wrap{max-width:var(--measure);margin:0 0 3rem;--pf-text: var(--ink);--pf-text-secondary: var(--ink-soft);--pf-text-muted: var(--muted);--pf-background: var(--surface);--pf-border: var(--line);--pf-border-focus: var(--line-strong);--pf-hover: var(--surface-hover);--pf-mark: var(--ink);--pf-font: var(--font);--pf-border-radius: var(--r);--pf-shadow-sm: none;--pf-shadow-md: none;--pf-outline-focus: transparent;--pf-outline-width: 2px;--pf-outline-offset: 2px}.empty{border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:2.5rem;text-align:center;color:var(--muted);background:var(--bg-tint)}.prose{font-size:1.02rem;line-height:1.75;color:var(--ink)}.prose>:first-child{margin-top:0}.prose p,.prose li{color:var(--ink)}.prose h2{font-size:1.45rem;margin:2.5rem 0 .8rem;padding-top:.4rem;letter-spacing:-.01em;border-top:1px solid var(--line);padding-top:1.5rem}.prose h3{font-size:1.18rem;margin:1.9rem 0 .6rem}.prose h4{font-size:1.02rem;margin:1.5rem 0 .5rem;color:var(--ink-soft)}.prose a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line-strong)}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{font-weight:650}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin:.3rem 0}.prose li::marker{color:var(--faint)}.prose code{font-family:var(--mono);font-size:.86em;background:var(--bg-tint);border:1px solid var(--line);padding:.08em .36em;border-radius:var(--r-sm)}.prose pre{background:var(--bg-tint)!important;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;overflow:auto;font-size:.86rem;line-height:1.6}.prose pre code{background:transparent;border:0;padding:0;font-size:inherit}.prose pre.mermaid{border:0;background:transparent!important;text-align:center;padding:0;margin:0;width:100%;height:100%;overflow:visible}.prose blockquote{border-left:3px solid var(--line-strong);margin:1.3rem 0;padding:.1rem 0 .1rem 1.1rem;color:var(--ink-soft)}.prose table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:.55rem .75rem;text-align:left;vertical-align:top}.prose th{background:var(--bg-tint);font-weight:600}.prose tr:nth-child(2n) td{background:#fcfbfa}.prose img{max-width:100%;height:auto;border-radius:var(--r)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.25rem 0}.home-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface-hover);padding:2.25rem 1.5rem;text-align:center}.empty-title{margin:0 0 .4rem;font-weight:600;color:var(--ink)}.empty-note{margin:0 auto;max-width:30rem;color:var(--muted);font-size:.95rem;line-height:1.6}.track-step-tag{display:inline-block;margin-right:.55rem;padding:.05rem .45rem;border-radius:var(--r-sm);background:var(--accent-tint);color:var(--accent-strong);font-size:.66rem;font-weight:600;letter-spacing:.04em;vertical-align:middle}.domain-start{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:1.25rem}.domain-progress{flex:1;min-width:14rem;max-width:26rem}.card-tracks{list-style:none;margin:.15rem 0 0;padding:0;display:grid;gap:.28rem}.card-tracks li{display:flex;align-items:center;gap:.55rem;font-size:.85rem;color:var(--ink-soft);min-width:0}.card-track-num{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--accent-tint);color:var(--accent-strong);font-size:.68rem;font-weight:600;flex:none}.card-track-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-track-count{color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums;flex:none}.card-track-more{color:var(--muted);font-size:.78rem;padding-left:1.75rem}.track-tag{color:var(--muted);font-size:.85rem}.track-tag a{color:var(--ink-soft)}.before-start{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);background:var(--surface-hover);padding:.9rem 1.1rem;margin:0 0 2rem}.before-start-label{margin:0 0 .6rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--muted)}.before-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .6rem}.before-row+.before-row{margin-top:.55rem}.before-kind{font-size:.78rem;color:var(--muted);min-width:6.5rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.chip{display:inline-block;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);font-size:.82rem;line-height:1.3}.chip:hover{border-color:var(--accent);color:var(--accent-strong);text-decoration:none}.chip-req{border-color:var(--accent-tint);background:var(--accent-tint);color:var(--accent-strong);font-weight:500}.sources-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin:2rem 0 0}.sources-panel>summary{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.8rem 1.1rem;cursor:pointer;list-style:none;border-radius:var(--r)}.sources-panel>summary::-webkit-details-marker{display:none}.sources-panel>summary:before{content:"›";display:inline-block;margin-right:.5rem;color:var(--muted);transition:transform .15s ease}.sources-panel[open]>summary:before{transform:rotate(90deg)}.sources-summary-label{font-weight:600;color:var(--ink);flex:1}.sources-count{color:var(--muted);font-size:.8rem}.sources-body{padding:0 1.1rem 1.1rem;border-top:1px solid var(--line)}.coverage-note{margin:.9rem 0 1rem;color:var(--ink-soft);font-size:.92rem}.claim-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.claim{font-size:.88rem;line-height:1.55;color:var(--ink-soft);padding-left:.9rem;border-left:2px solid var(--line)}.claim-status{display:inline-block;margin-left:.4rem;padding:.02rem .4rem;border-radius:var(--r-sm);background:var(--t-gray-bg);color:var(--t-gray-fg);font-size:.68rem;white-space:nowrap;vertical-align:middle}.cited-sources{margin-top:1.1rem}.cited-label{margin:0 0 .4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted)}.cited-sources ul{margin:0;padding-left:1.1rem;font-size:.85rem}.cited-sources li{margin:.2rem 0}.cited-org{color:var(--muted)}.mermaid-wrapper{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin:1.5rem 0;overflow:hidden;position:relative}.mermaid-stage{position:relative;min-height:120px;padding:1.25rem 1rem;overflow:hidden;display:flex;align-items:center;justify-content:center}.mermaid-stage pre.mermaid svg{max-width:100%;height:auto;display:block;overflow:visible}:is(.mermaid-stage,.mermaid-fullscreen-stage) text{font-family:inherit!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .node rect,:is(.mermaid-stage,.mermaid-fullscreen-stage) .node polygon,:is(.mermaid-stage,.mermaid-fullscreen-stage) .node path{rx:6px;ry:6px}:is(.mermaid-stage,.mermaid-fullscreen-stage) .nodeLabel,:is(.mermaid-stage,.mermaid-fullscreen-stage) .node .label{color:var(--ink)!important;fill:var(--ink)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgePath .path,:is(.mermaid-stage,.mermaid-fullscreen-stage) path.flowchart-link,:is(.mermaid-stage,.mermaid-fullscreen-stage) .flowchart-link{stroke:var(--muted)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) marker path,:is(.mermaid-stage,.mermaid-fullscreen-stage) .marker,:is(.mermaid-stage,.mermaid-fullscreen-stage) .arrowMarkerPath{fill:var(--muted)!important;stroke:var(--muted)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel,:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel p,:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel span,:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel .labelBkg{color:var(--ink-soft)!important;background:var(--surface)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel span,:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel .labelBkg{border-radius:var(--r-sm)!important;box-shadow:0 0 0 1px var(--line)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel rect,:is(.mermaid-stage,.mermaid-fullscreen-stage) .edgeLabel foreignObject{fill:var(--surface)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .cluster rect{fill:var(--bg-tint)!important;stroke:var(--line)!important;rx:8px;ry:8px}:is(.mermaid-stage,.mermaid-fullscreen-stage) .cluster-label,:is(.mermaid-stage,.mermaid-fullscreen-stage) .cluster text,:is(.mermaid-stage,.mermaid-fullscreen-stage) .cluster .nodeLabel{color:var(--ink-soft)!important;fill:var(--ink-soft)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .note{fill:var(--bg-tint)!important;stroke:var(--line)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .noteText,:is(.mermaid-stage,.mermaid-fullscreen-stage) .noteText tspan{fill:var(--ink)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .actor{fill:var(--surface)!important;stroke:var(--line-strong)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) text.actor,:is(.mermaid-stage,.mermaid-fullscreen-stage) text.actor>tspan{fill:var(--ink)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .actor-line{stroke:var(--line)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .messageLine0,:is(.mermaid-stage,.mermaid-fullscreen-stage) .messageLine1{stroke:var(--muted)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .messageText{fill:var(--ink-soft)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .labelBox{fill:var(--surface)!important;stroke:var(--line-strong)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .labelText,:is(.mermaid-stage,.mermaid-fullscreen-stage) .labelText>tspan{fill:var(--ink-soft)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .loopLine{stroke:var(--line-strong)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .loopText,:is(.mermaid-stage,.mermaid-fullscreen-stage) .loopText>tspan{fill:var(--muted)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .statediagram-state rect,:is(.mermaid-stage,.mermaid-fullscreen-stage) .statediagram-cluster rect{fill:var(--surface)!important;stroke:var(--line-strong)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .statediagram-state .nodeLabel,:is(.mermaid-stage,.mermaid-fullscreen-stage) .stateLabel{fill:var(--ink)!important;color:var(--ink)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) .statediagram .transition{stroke:var(--muted)!important}:is(.mermaid-stage,.mermaid-fullscreen-stage) circle.statediagram-state,:is(.mermaid-stage,.mermaid-fullscreen-stage) .statediagram-state .start-state,:is(.mermaid-stage,.mermaid-fullscreen-stage) [class*=statediagram] .start-state{fill:var(--muted)!important;stroke:var(--muted)!important}.mermaid-fullscreen-btn{position:absolute;bottom:.5rem;right:.5rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;opacity:.55;transition:opacity .2s ease,background .15s ease,color .15s ease}.mermaid-wrapper:hover .mermaid-fullscreen-btn{opacity:.9}.mermaid-fullscreen-btn:hover{opacity:1;background:var(--surface-hover);color:var(--ink)}.mermaid-fullscreen-btn:active{background:var(--line)}.mermaid-fullscreen-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}.mermaid-fullscreen-backdrop{position:absolute;inset:0;background:#fffffff5;backdrop-filter:blur(2px)}.mermaid-fullscreen-stage{position:relative;width:100vw;height:100vh;z-index:1}.mermaid-fullscreen-close{position:absolute;top:1rem;right:1rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:0;border-radius:var(--r);background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #2826220a,0 2px 6px #2826220a;cursor:pointer;transition:background .15s ease}.mermaid-fullscreen-close:hover{background:var(--surface-hover)}.mermaid-fullscreen-stage>div{width:100%;height:100%}.mermaid-fullscreen-stage svg{max-width:none;max-height:none}
