flowchart LR
INPUT(["drug_a + drug_b"])
ENCODE["encode_pair
193 trits"]
A["A bundle
193 → 256 → 5
gate"]
B["B bundle
193 → 64 → 5
specialist"]
DISPATCH{{"cascade
dispatch"}}
OUT(["BitNetResult
+ repro_hash"])
INPUT --> ENCODE
ENCODE --> A
ENCODE --> B
A -->|"if contra"| DISPATCH
B -->|"else argmax"| DISPATCH
DISPATCH --> OUT
classDef io fill:#EFF6FF,stroke:#2563eb,color:#1e3a8a,stroke-width:2px
classDef enc fill:#F0FDFA,stroke:#0F766E,color:#134E4A,stroke-width:2px
classDef bundleA fill:#FEF2F2,stroke:#dc2626,color:#7f1d1d,stroke-width:2px
classDef bundleB fill:#EFF6FF,stroke:#2563eb,color:#1e3a8a,stroke-width:2px
classDef disp fill:#FEF3C7,stroke:#d97706,color:#7c2d12,stroke-width:2px
classDef result fill:#F0FDF4,stroke:#16a34a,color:#14532d,stroke-width:2px
class INPUT,OUT io
class ENCODE enc
class A bundleA
class B bundleB
class DISPATCH disp