.RoadmapDiagram-module__jRiuOq__diagram{--rm-marker:var(--space-6);--rm-gutter:var(--space-4);--rm-stub-y:var(--space-5);--rm-line:var(--border-strong)}@media (min-width:640px){.RoadmapDiagram-module__jRiuOq__diagram{--rm-gutter:var(--space-5)}}.RoadmapDiagram-module__jRiuOq__legend{gap:var(--space-2) var(--space-5);margin-bottom:var(--space-6);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-wrap:wrap;display:flex}.RoadmapDiagram-module__jRiuOq__legendItem{align-items:center;gap:var(--space-2);display:inline-flex}.RoadmapDiagram-module__jRiuOq__legendSolid,.RoadmapDiagram-module__jRiuOq__legendDashed{width:var(--space-5);border-top:2px solid var(--brand-text)}.RoadmapDiagram-module__jRiuOq__legendDashed{border-top-style:dashed;border-top-color:var(--text-faint)}.RoadmapDiagram-module__jRiuOq__track{list-style:none}.RoadmapDiagram-module__jRiuOq__stage{grid-template-columns:var(--rm-marker) minmax(0, 1fr);column-gap:var(--rm-gutter);padding-bottom:var(--space-7);display:grid}.RoadmapDiagram-module__jRiuOq__stage:last-child{padding-bottom:0}.RoadmapDiagram-module__jRiuOq__rail{flex-direction:column;align-items:center;height:100%;display:flex}.RoadmapDiagram-module__jRiuOq__marker{width:var(--rm-marker);height:var(--rm-marker);border:1px solid var(--brand);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--brand) 22%, var(--bg));color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;line-height:1;display:grid}.RoadmapDiagram-module__jRiuOq__spine{background:linear-gradient(to bottom, var(--brand) 0%, var(--border-strong) 100%);flex:1;width:2px}.RoadmapDiagram-module__jRiuOq__stage:last-child .RoadmapDiagram-module__jRiuOq__spine{display:none}.RoadmapDiagram-module__jRiuOq__stageHead{padding-top:var(--space-1);padding-bottom:var(--space-5)}.RoadmapDiagram-module__jRiuOq__stageTitle{gap:var(--space-1);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text);flex-direction:column;display:flex}.RoadmapDiagram-module__jRiuOq__stageIndex{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--brand-text)}.RoadmapDiagram-module__jRiuOq__stageSummary{max-width:44rem;margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-muted)}.RoadmapDiagram-module__jRiuOq__branchTag{margin-top:var(--space-3);padding:2px var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-muted);display:inline-block}.RoadmapDiagram-module__jRiuOq__nodes{gap:var(--space-4);flex-direction:column;max-width:50rem;list-style:none;display:flex}.RoadmapDiagram-module__jRiuOq__node{padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);position:relative}.RoadmapDiagram-module__jRiuOq__node:before{content:"";top:var(--rm-stub-y);left:calc(-1 * var(--rm-gutter));width:var(--rm-gutter);border-top:2px solid var(--brand-text);position:absolute}.RoadmapDiagram-module__jRiuOq__stage[data-parallel] .RoadmapDiagram-module__jRiuOq__node:before{border-top-style:dashed;border-top-color:var(--text-faint)}.RoadmapDiagram-module__jRiuOq__nodeTitle{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.RoadmapDiagram-module__jRiuOq__nodeSummary{margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-muted)}.RoadmapDiagram-module__jRiuOq__topics{gap:var(--space-1) var(--space-5);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));list-style:none;display:grid}.RoadmapDiagram-module__jRiuOq__topics li{gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-snug);padding-block:var(--space-1);color:var(--text);display:flex}.RoadmapDiagram-module__jRiuOq__topics li:before{content:"";width:var(--space-1);height:var(--space-1);border-radius:var(--radius-pill);background:var(--brand-text);flex-shrink:0;margin-top:.6em}.RoadmapDiagram-module__jRiuOq__linksLabel{margin-top:var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.RoadmapDiagram-module__jRiuOq__links{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.RoadmapDiagram-module__jRiuOq__link{align-items:baseline;gap:var(--space-2);overflow-wrap:anywhere;max-width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);display:inline-flex}.RoadmapDiagram-module__jRiuOq__link:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.RoadmapDiagram-module__jRiuOq__linkKind{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-text);flex-shrink:0}
.RoadmapMap-module__mA946a__figure{margin-bottom:var(--space-8)}.RoadmapMap-module__mA946a__caption{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.RoadmapMap-module__mA946a__scrollHint{color:var(--text-faint)}@media (min-width:720px){.RoadmapMap-module__mA946a__scrollHint{display:none}}.RoadmapMap-module__mA946a__scroller{border:1px solid var(--border);background:var(--bg-card);padding:var(--space-4) var(--space-2);border-radius:var(--radius-lg);scrollbar-color:var(--border-strong) transparent;max-width:46rem;margin-inline:auto;overflow-x:auto}.RoadmapMap-module__mA946a__svg{width:100%;min-width:34rem;max-width:44rem;height:auto;margin-inline:auto;display:block}.RoadmapMap-module__mA946a__edge{fill:none;stroke:var(--border-strong);stroke-width:1.5px}.RoadmapMap-module__mA946a__box{fill:var(--bg-raised);stroke:var(--border-strong);stroke-width:1px;transition:fill var(--dur-fast) var(--ease), stroke var(--dur-fast) var(--ease)}.RoadmapMap-module__mA946a__index{fill:var(--brand-text);font-size:13px;font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.RoadmapMap-module__mA946a__label{fill:var(--text);font-size:14px;font-weight:var(--weight-medium)}.RoadmapMap-module__mA946a__node{cursor:pointer}.RoadmapMap-module__mA946a__node:hover .RoadmapMap-module__mA946a__box{fill:var(--bg-card-hover);stroke:var(--brand)}.RoadmapMap-module__mA946a__node:focus{outline:none}.RoadmapMap-module__mA946a__node:focus-visible .RoadmapMap-module__mA946a__box{stroke:var(--brand-text);stroke-width:2.5px}
.page-module__cJrpKa__header{padding-bottom:var(--space-6);margin-bottom:var(--space-7);border-bottom:1px solid var(--border)}.page-module__cJrpKa__eyebrow{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.page-module__cJrpKa__level{padding:2px var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--brand) 18%, transparent);color:var(--brand-text);font-weight:var(--weight-medium)}.page-module__cJrpKa__title{font-size:var(--text-3xl);font-weight:var(--weight-black);line-height:var(--leading-tight)}.page-module__cJrpKa__lede{max-width:var(--container-prose);margin-top:var(--space-4);font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--text-muted)}.page-module__cJrpKa__layout{gap:var(--space-7);margin-bottom:var(--space-8);display:grid}@media (min-width:900px){.page-module__cJrpKa__layout{grid-template-columns:minmax(0,1fr) 18rem;align-items:start}}.page-module__cJrpKa__intro{max-width:var(--container-prose);font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--text)}.page-module__cJrpKa__paragraph+.page-module__cJrpKa__paragraph{margin-top:var(--space-5)}.page-module__cJrpKa__side{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card)}.page-module__cJrpKa__facts{gap:var(--space-4);flex-direction:column;display:flex}.page-module__cJrpKa__facts dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.page-module__cJrpKa__facts dd{margin-top:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--text)}.page-module__cJrpKa__sideLink{color:var(--brand-text);text-underline-offset:2px;text-decoration:underline}.page-module__cJrpKa__diagramHeading{margin-bottom:var(--space-5);font-size:var(--text-2xl);font-weight:var(--weight-bold)}
