digraph equipment {
  bgcolor="#1a1a2e"
  rankdir=TB
  node [fontname="Helvetica" fontsize=10 style=filled shape=box]
  edge [style=invis]

  label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">equipment for a 50g test batch</FONT></B>>
  labelloc=t

  subgraph cluster_chem {
    label="CHEMISTRY" fontcolor="#2196F3" fontsize=11 fontname="Helvetica Bold"
    color="#2196F3" style=dashed

    e1 [label="stainless steel pot\n2-5 liter\nNOT aluminum" fillcolor="#1565C0" fontcolor="white"]
    e2 [label="hot plate\n80-100°C capable" fillcolor="#1976D2" fontcolor="white"]
    e3 [label="digital thermometer\n0-200°C" fillcolor="#1E88E5" fontcolor="white"]
    e4 [label="pH strips\nrange 1-14" fillcolor="#42A5F5" fontcolor="white"]
    e5 [label="vacuum filter setup\nBuchner funnel + flask" fillcolor="#64B5F6" fontcolor="#1a1a2e"]
    e1 -> e2 -> e3 -> e4 -> e5
  }

  subgraph cluster_press {
    label="PRESSING" fontcolor="#FF9800" fontsize=11 fontname="Helvetica Bold"
    color="#FF9800" style=dashed

    p1 [label="metal mold\naluminum soap mold works" fillcolor="#E65100" fontcolor="white"]
    p2 [label="oven (140-200°C)\nor rosin press ($200-500)" fillcolor="#F57C00" fontcolor="white"]
    p3 [label="bench vise or\nhydraulic press\nfor clamping force" fillcolor="#FF9800" fontcolor="white"]
    p4 [label="heat-resistant gloves\nrated 200°C+" fillcolor="#FFC107" fontcolor="#1a1a2e"]
    p1 -> p2 -> p3 -> p4
  }

  subgraph cluster_safety {
    label="SAFETY" fontcolor="#F44336" fontsize=11 fontname="Helvetica Bold"
    color="#F44336" style=dashed

    s1 [label="chemical splash goggles\nnot just safety glasses" fillcolor="#B71C1C" fontcolor="white"]
    s2 [label="nitrile gloves\nelbow length" fillcolor="#C62828" fontcolor="white"]
    s3 [label="ventilated workspace\nfume hood or outdoors" fillcolor="#D32F2F" fontcolor="white"]
    s4 [label="2% vinegar nearby\nfor NaOH spill neutralization" fillcolor="#E53935" fontcolor="white"]
    s1 -> s2 -> s3 -> s4
  }

  cost [label="total equipment cost\n$500-2,000\nfor basic workshop setup" fillcolor="#263238" fontcolor="#CDDC39" shape=note]
}
