digraph broken_cycle {
    bgcolor="transparent"
    rankdir=LR
    pad=0.5
    nodesep=1.0
    ranksep=1.2

    node [
        fontname="Helvetica"
        fontsize=12
        style="filled"
        penwidth=2
        shape=box
        width=2.0
        height=0.9
    ]

    edge [
        fontname="Helvetica"
        fontsize=10
        penwidth=3
    ]

    label="THE BROKEN CYCLE\ninputs without outputs"
    labelloc=t
    fontname="Helvetica"
    fontsize=16
    fontcolor="#C62828"

    petroleum [
        label="PETROLEUM\n\nextracted from\n100 million year\nold deposits"
        fillcolor="#37474F"
        fontcolor="white"
        color="#263238"
    ]

    plastic [
        label="SINGLE-USE\nPLASTIC\n\nused for minutes\nexists for centuries"
        fillcolor="#F44336"
        fontcolor="white"
        color="#B71C1C"
        penwidth=4
    ]

    landfill [
        label="LANDFILL\nOCEAN\nSOIL\n\nno output\nno return\nno cycle"
        fillcolor="#4E342E"
        fontcolor="white"
        color="#3E2723"
    ]

    nowhere [
        label="?\n\nno process exists\nto return this\nto the earth"
        shape=circle
        fillcolor="#B71C1C"
        fontcolor="white"
        color="#7f0000"
        width=1.8
        fixedsize=true
    ]

    petroleum -> plastic [
        label="extract\nrefine\nmold"
        color="#F44336"
        fontcolor="#C62828"
    ]

    plastic -> landfill [
        label="use once\ndiscard"
        color="#F44336"
        fontcolor="#C62828"
    ]

    landfill -> nowhere [
        label="no path back\n400-1000 years\nto degrade"
        color="#B71C1C"
        fontcolor="#7f0000"
    ]

    // The missing return arrow
    nowhere -> petroleum [
        label="THIS ARROW\nDOES NOT EXIST"
        color="#B71C1C"
        fontcolor="#7f0000"
        style=dashed
        penwidth=1
        constraint=false
    ]
}
