digraph troubleshooting {
  bgcolor="#1a1a2e"
  rankdir=TB
  node [fontname="Helvetica" fontsize=10 style=filled shape=box]
  edge [color="#888888" fontname="Helvetica" fontsize=9 fontcolor="#aaaaaa"]

  label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">what goes wrong &amp; how to fix it</FONT></B>>
  labelloc=t

  subgraph cluster_problems {
    label="" color=transparent

    p1 [label="CRUMBLES\nafter pressing" fillcolor="#B71C1C" fontcolor="white"]
    f1 [label="too dry, low pressure,\nor temperature too low\n→ add glycerol (15%+)\n→ increase pressure\n→ verify 140-150°C" fillcolor="#263238" fontcolor="#4CAF50"]

    p2 [label="SPONGY\nporous texture" fillcolor="#B71C1C" fontcolor="white"]
    f2 [label="moisture remained\nsteam created voids\n→ dry overnight at 60°C\n→ verify weight is stable\nbefore pressing" fillcolor="#263238" fontcolor="#4CAF50"]

    p3 [label="BROWN\nafter extraction" fillcolor="#B71C1C" fontcolor="white"]
    f3 [label="lignin remains\ninsufficient delignification\n→ repeat NaOH bath\n→ add bleaching step\n→ check NaOH concentration" fillcolor="#263238" fontcolor="#4CAF50"]

    p4 [label="DISSOLVES\nin water" fillcolor="#B71C1C" fontcolor="white"]
    f4 [label="no crosslinking\nglycerol is water-soluble\n→ add citric acid (5%)\n→ cure at 140°C\n→ or reduce glycerol" fillcolor="#263238" fontcolor="#4CAF50"]

    p5 [label="BRITTLE\nshatters on impact" fillcolor="#B71C1C" fontcolor="white"]
    f5 [label="too little plasticizer\nor cellulose degraded\n→ increase glycerol to 25-30%\n→ use gentler NaOH (<7.5%)" fillcolor="#263238" fontcolor="#4CAF50"]

    p6 [label="LOW YIELD\n(<20% cellulose)" fillcolor="#B71C1C" fontcolor="white"]
    f6 [label="NaOH too concentrated\nor temperature too high\n→ use 5% NaOH protocol\n→ stay under 80°C\n→ use bast fiber not hurd" fillcolor="#263238" fontcolor="#4CAF50"]

    p1 -> f1
    p2 -> f2
    p3 -> f3
    p4 -> f4
    p5 -> f5
    p6 -> f6
  }
}
