.Roadmap-module__mH7gjW__fullShell{height:100svh;color:var(--pf-ink);flex-direction:column;display:flex;overflow:hidden}.Roadmap-module__mH7gjW__topBar{border-bottom:1px solid var(--pf-rule);align-items:center;gap:24px;padding:14px 24px;display:flex}.Roadmap-module__mH7gjW__mapTitle{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:500}.Roadmap-module__mH7gjW__back,.Roadmap-module__mH7gjW__repoLink{color:var(--pf-ink);font-family:var(--pf-mono);font-size:var(--pf-fs-mono);letter-spacing:var(--pf-track-mono);text-transform:uppercase;text-decoration:none}.Roadmap-module__mH7gjW__repoLink{color:var(--pf-ink-muted);margin-left:auto}.Roadmap-module__mH7gjW__back:hover,.Roadmap-module__mH7gjW__repoLink:hover{color:var(--pf-ink);text-underline-offset:3px;text-decoration:underline}.Roadmap-module__mH7gjW__map{flex-direction:column;flex:1;min-height:0;display:flex}.Roadmap-module__mH7gjW__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 24px;display:flex}.Roadmap-module__mH7gjW__toggleGroup{border:1px solid var(--pf-rule);border-radius:8px;display:inline-flex;overflow:hidden}.Roadmap-module__mH7gjW__toggleBtn{appearance:none;color:var(--pf-ink-muted);font-family:var(--pf-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:9px 20px;font-size:13px}.Roadmap-module__mH7gjW__toggleBtn+.Roadmap-module__mH7gjW__toggleBtn{border-left:1px solid var(--pf-rule)}.Roadmap-module__mH7gjW__toggleOn{background:var(--pf-ink);color:var(--pf-cream)}.Roadmap-module__mH7gjW__legend{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.Roadmap-module__mH7gjW__legendItem{color:var(--pf-ink-muted);font-family:var(--pf-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.Roadmap-module__mH7gjW__legendDrag{color:var(--pf-ink-faint);font-family:var(--pf-mono);letter-spacing:.05em;text-transform:uppercase;font-size:12.5px}.Roadmap-module__mH7gjW__swatchDone,.Roadmap-module__mH7gjW__swatchPlanned{border-radius:4px;width:22px;height:14px}.Roadmap-module__mH7gjW__swatchDone{border:1.5px solid var(--pf-ink);background:#fff}.Roadmap-module__mH7gjW__swatchPlanned{border:1.5px dashed var(--pf-ink-faint)}.Roadmap-module__mH7gjW__swatchDep{border-top:2px dashed var(--pf-ink-faint);width:24px;height:0}.Roadmap-module__mH7gjW__viewport{flex:1;min-height:0;position:relative}.Roadmap-module__mH7gjW__canvas{border-top:1px solid var(--pf-rule);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fbf8f2;position:absolute;inset:0;overflow:hidden}.Roadmap-module__mH7gjW__canvas:active{cursor:grabbing}.Roadmap-module__mH7gjW__layer{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.Roadmap-module__mH7gjW__zoomGroup{border:1px solid var(--pf-rule);border-radius:8px;align-items:center;display:inline-flex;overflow:hidden}.Roadmap-module__mH7gjW__zoomBtn,.Roadmap-module__mH7gjW__zoomVal{appearance:none;color:var(--pf-ink-muted);font-family:var(--pf-mono);cursor:pointer;background:0 0;border:none}.Roadmap-module__mH7gjW__zoomBtn{padding:7px 14px;font-size:16px;line-height:1}.Roadmap-module__mH7gjW__zoomVal{letter-spacing:.04em;border-inline:1px solid var(--pf-rule);min-width:56px;padding:9px 10px;font-size:12.5px}.Roadmap-module__mH7gjW__zoomBtn:hover,.Roadmap-module__mH7gjW__zoomVal:hover{color:var(--pf-ink);background:var(--pf-cream-2)}.Roadmap-module__mH7gjW__mapSvg{display:block}.Roadmap-module__mH7gjW__tickText,.Roadmap-module__mH7gjW__laneLabel,.Roadmap-module__mH7gjW__nowLabel,.Roadmap-module__mH7gjW__gateLabel,.Roadmap-module__mH7gjW__futureLabel{font-family:var(--pf-mono);letter-spacing:.06em;text-transform:uppercase}.Roadmap-module__mH7gjW__tickText{fill:var(--pf-ink-faint);font-size:15px}.Roadmap-module__mH7gjW__laneLabel{fill:var(--pf-ink-muted);font-size:16px}.Roadmap-module__mH7gjW__gridLine{stroke:var(--pf-rule-soft);stroke-width:1px}.Roadmap-module__mH7gjW__futureZone{fill:var(--pf-cream-2);opacity:.4}.Roadmap-module__mH7gjW__futureLabel{fill:var(--pf-ink-faint);font-size:15px}.Roadmap-module__mH7gjW__nowLine{stroke:var(--pf-ink);stroke-width:1.5px;stroke-dasharray:6 5;opacity:.55}.Roadmap-module__mH7gjW__nowLabel{fill:var(--pf-ink);font-size:15px}.Roadmap-module__mH7gjW__gateRect{fill:none;stroke:var(--pf-ink-muted);stroke-width:1.5px;stroke-dasharray:8 6}.Roadmap-module__mH7gjW__gateLabel{fill:var(--pf-ink);font-size:16px}.Roadmap-module__mH7gjW__thread{stroke:var(--pf-ink-ghost);stroke-width:2px}.Roadmap-module__mH7gjW__threadPlanned{stroke:var(--pf-ink-ghost);stroke-width:2px;stroke-dasharray:5 5}.Roadmap-module__mH7gjW__depEdge{fill:none;stroke:var(--pf-ink-faint);stroke-width:1.7px;stroke-dasharray:4 4}.Roadmap-module__mH7gjW__depArrow{fill:var(--pf-ink-faint)}.Roadmap-module__mH7gjW__nodeGroup{cursor:pointer;outline:none}.Roadmap-module__mH7gjW__nodeGroup:focus-visible rect{stroke-width:2.5px}.Roadmap-module__mH7gjW__nodeDone{fill:#fff;stroke:var(--pf-ink);stroke-width:1.4px}.Roadmap-module__mH7gjW__nodeGroup:hover .Roadmap-module__mH7gjW__nodeDone{fill:var(--pf-cream-2)}.Roadmap-module__mH7gjW__nodePlanned{fill:#fbf8f2;stroke:var(--pf-ink-faint);stroke-width:1.4px;stroke-dasharray:5 4}.Roadmap-module__mH7gjW__nodeGroup:hover .Roadmap-module__mH7gjW__nodePlanned{stroke:var(--pf-ink-muted)}.Roadmap-module__mH7gjW__nodeDoneSecondary{fill:var(--pf-cream-2);stroke:var(--pf-ink-faint);stroke-width:1.1px}.Roadmap-module__mH7gjW__nodeGroup:hover .Roadmap-module__mH7gjW__nodeDoneSecondary{fill:#fff;stroke:var(--pf-ink-muted)}.Roadmap-module__mH7gjW__nodePlannedSecondary{fill:#0000;stroke:var(--pf-ink-ghost);stroke-width:1.1px;stroke-dasharray:4 3}.Roadmap-module__mH7gjW__nodeGroup:hover .Roadmap-module__mH7gjW__nodePlannedSecondary{stroke:var(--pf-ink-faint)}.Roadmap-module__mH7gjW__nodeSelected{fill:var(--pf-ink);stroke:var(--pf-ink);stroke-width:1.4px}.Roadmap-module__mH7gjW__nodeText,.Roadmap-module__mH7gjW__nodeTextPlanned,.Roadmap-module__mH7gjW__nodeTextSecondary,.Roadmap-module__mH7gjW__nodeTextPlannedSecondary,.Roadmap-module__mH7gjW__nodeTextSelected{font-family:var(--pf-mono);letter-spacing:.01em;pointer-events:none;font-size:15px}.Roadmap-module__mH7gjW__nodeText{fill:var(--pf-ink)}.Roadmap-module__mH7gjW__nodeTextPlanned,.Roadmap-module__mH7gjW__nodeTextSecondary{fill:var(--pf-ink-muted)}.Roadmap-module__mH7gjW__nodeTextPlannedSecondary{fill:var(--pf-ink-faint)}.Roadmap-module__mH7gjW__nodeTextSelected{fill:var(--pf-cream)}.Roadmap-module__mH7gjW__popup{z-index:10;border:1px solid var(--pf-ink);cursor:auto;background:#fff;border-radius:12px;padding:18px 20px 20px;position:absolute;overflow-y:auto;box-shadow:6px 6px #14141414}.Roadmap-module__mH7gjW__popupHead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.Roadmap-module__mH7gjW__popupDate{color:var(--pf-ink-faint);font-family:var(--pf-mono);letter-spacing:.05em;text-transform:uppercase;font-size:13px}.Roadmap-module__mH7gjW__tagGate{background:var(--pf-ink);color:var(--pf-cream);font-family:var(--pf-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 10px;font-size:11.5px}.Roadmap-module__mH7gjW__popupClose{appearance:none;color:var(--pf-ink-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:22px;line-height:1}.Roadmap-module__mH7gjW__popupClose:hover{color:var(--pf-ink)}.Roadmap-module__mH7gjW__popupTitle{letter-spacing:-.01em;margin:0 0 8px;font-size:20px;font-weight:500}.Roadmap-module__mH7gjW__popupBody{color:var(--pf-ink);margin:0;font-size:14.5px;line-height:1.6}.Roadmap-module__mH7gjW__popupLinks{flex-direction:column;gap:6px;margin-top:12px;display:flex}.Roadmap-module__mH7gjW__popupLinks a{color:var(--pf-ink-muted);font-family:var(--pf-mono);letter-spacing:.03em;width:fit-content;font-size:12.5px;text-decoration:none}.Roadmap-module__mH7gjW__popupLinks a:hover{color:var(--pf-ink);text-underline-offset:3px;text-decoration:underline}.Roadmap-module__mH7gjW__mapCaption{z-index:5;max-width:620px;color:var(--pf-ink-faint);font-family:var(--pf-mono);letter-spacing:.03em;pointer-events:none;background:#fbf8f2e0;border-radius:8px;margin:0;padding:8px 12px;font-size:12px;line-height:1.6;position:absolute;bottom:12px;left:16px}
