digraph trivium {
    bgcolor="transparent"
    rankdir=LR
    pad=0.4
    nodesep=1.0

    node [
        fontname="Helvetica"
        fontsize=14
        style="filled"
        shape=box
        penwidth=2
    ]

    edge [
        penwidth=3
        fontsize=11
    ]

    // The universal logic
    input [
        label="INPUTS\n\n0 · false · off\nraw · seed · question"
        fillcolor="#37474F"
        fontcolor="white"
        color="#263238"
        shape=box
        width=2.2
        height=1.2
    ]

    process [
        label="PROCESS\n\nlogic · math\ntransformation"
        fillcolor="#5C6BC0"
        fontcolor="white"
        color="#303F9F"
        shape=diamond
        width=2.4
        height=1.6
    ]

    output [
        label="OUTPUTS\n\n1 · true · on\nproduct · fruit · answer"
        fillcolor="#43A047"
        fontcolor="white"
        color="#2E7D32"
        shape=box
        width=2.2
        height=1.2
    ]

    input -> process [label="  feed  " color="#5C6BC0" fontcolor="#303F9F"]
    process -> output [label="  yield  " color="#43A047" fontcolor="#2E7D32"]
    output -> input [
        label="feedback loop\noutput becomes input"
        style=dashed
        color="#FF9800"
        fontcolor="#E65100"
        constraint=false
    ]
}
