{"format":"murdoku-puzzle/1","id":"souk","version":1,"difficulty":"easy","level":4,"size":{"rows":8,"cols":8},"languages":["en","hu","de","fr","es","it","nl","pl","pt","ro","ca","cs","fi","vi","tr","el","ru","uk","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"The Spice Souk","tagline":"The spice souk of Marrakech · a scorching afternoon · the fountain kept running","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-28","story":"Marrakech, a scorching afternoon in the medina. Between the heaps of paprika and turmeric, the carpets and the glowing brass lanterns, the narrow alleys of the souk were full of haggling voices and the smell of mint tea. Violette, a perfumer from Paris, had come to buy saffron and had arranged to meet someone in the quiet riad at the heart of the market. There, by the tiled fountain, she was found dead. Merchants and visitors describe where they were – find the one who was alone with her.","rules":{"standard":["Every <b>row</b> and every <b>column</b> holds exactly <b>one person</b>. As soon as you place someone, cross out their whole row and column.","<b>“Beside”</b> = directly left, right, above or below, and <b>in the same area</b>. Squares with objects (the spice sacks, the scales, the chest, the orange trees, the lanterns, the barrel, the tea tray, the fountain and the handcart) cannot be occupied; the carpets, the poufs and the stool can.","The murderer was <b>alone with the victim</b>: nobody else was in that area."],"special":[]},"roleNames":{"merchant":"merchant","visitor":"visitor","victim":"victim"},"personGroups":[{"id":"merchants","name":"The merchants","persons":["A","B","C","D"]},{"id":"visitors","name":"Visitors","persons":["E","F","G","V"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Spice Market","cells":[[1,1],[1,2],[2,1],[2,2],[2,3],[3,1],[3,2]],"fill":"#f2dbbf","pattern":"tiles","labelAt":[2,1],"name":"Spice Market"},{"id":"Alley","cells":[[1,3],[1,4],[2,4],[3,3],[3,4],[3,5],[4,2],[4,3],[4,5],[4,6],[5,3],[5,6],[6,2],[6,3],[6,6],[7,1],[7,2],[7,5],[7,6],[8,1],[8,5]],"fill":"#eee4d0","pattern":"marble","labelAt":[5,3],"name":"Alley"},{"id":"Carpet Bazaar","cells":[[1,5],[1,6],[1,7],[1,8],[2,5],[2,6],[2,7],[2,8],[3,6],[3,7]],"fill":"#efd5cf","pattern":"tiles","labelAt":[2,6],"name":"Carpet Bazaar"},{"id":"Riad","cells":[[3,8],[4,7],[4,8],[5,7],[5,8],[6,7],[6,8],[7,7],[7,8],[8,6],[8,7],[8,8]],"fill":"#d6eae2","pattern":"tiles","labelAt":[6,8],"name":"Riad"},{"id":"Lantern Workshop","cells":[[4,4],[5,4],[5,5],[6,4],[6,5],[7,3],[7,4],[8,2],[8,3],[8,4]],"fill":"#f0e5c2","pattern":"planks","labelAt":[6,4],"name":"Lantern Workshop"},{"id":"Tea Stall","cells":[[4,1],[5,1],[5,2],[6,1]],"fill":"#e5d9ea","pattern":"carpet","labelAt":[5,2],"name":"Tea Stall"}],"objectTypes":{"carpet":{"occupiable":true,"name":"carpet","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#b3252f\"/><path d=\"M23 9 l10 14 -10 14 -10 -14 z\" fill=\"none\" stroke=\"#e0b050\" stroke-width=\"2\"/><circle cx=\"23\" cy=\"23\" r=\"3\" fill=\"#e0b050\"/>"},"pouf":{"occupiable":true,"name":"pouf","icon":"<circle cx=\"23\" cy=\"23\" r=\"16\" fill=\"#c8843a\" stroke=\"#6b3f14\" stroke-width=\"1.5\"/><path d=\"M23 7 v32 M7 23 h32 M11.7 11.7 l22.6 22.6 M34.3 11.7 l-22.6 22.6\" stroke=\"#9a5a22\" stroke-width=\"1\"/><circle cx=\"23\" cy=\"23\" r=\"9.5\" fill=\"#d99a52\" stroke=\"#f2d49a\" stroke-width=\"1.4\" stroke-dasharray=\"2.2 1.8\"/><circle cx=\"23\" cy=\"23\" r=\"2.6\" fill=\"#6b3f14\"/>"},"stool":{"occupiable":true,"name":"stool","icon":"<circle cx=\"23\" cy=\"23\" r=\"11\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"23\" r=\"5\" fill=\"#d9d5cc\"/>"},"barrel":{"occupiable":false,"name":"barrel","icon":"<path d=\"M11 8 q-4 15 0 30 h24 q4 -15 0 -30 z\" fill=\"#a5733f\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"14\" width=\"28\" height=\"3\" fill=\"#4a4a4a\"/><rect x=\"9\" y=\"29\" width=\"28\" height=\"3\" fill=\"#4a4a4a\"/><line x1=\"18\" y1=\"8\" x2=\"17\" y2=\"38\" stroke=\"#7a5230\"/><line x1=\"28\" y1=\"8\" x2=\"29\" y2=\"38\" stroke=\"#7a5230\"/>"},"cart":{"occupiable":false,"name":"handcart","icon":"<rect x=\"8\" y=\"12\" width=\"30\" height=\"16\" rx=\"2\" fill=\"#8a5a34\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><circle cx=\"15\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><circle cx=\"31\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><path d=\"M38 20 h6\" stroke=\"#3f2d1d\" stroke-width=\"2.5\"/>"},"chest":{"occupiable":false,"name":"chest","icon":"<rect x=\"7\" y=\"18\" width=\"32\" height=\"22\" rx=\"3\" fill=\"#8a5a2a\" stroke=\"#4d2f12\" stroke-width=\"1.5\"/><path d=\"M7 20 q0 -10 16 -10 q16 0 16 10 z\" fill=\"#a5733f\" stroke=\"#4d2f12\" stroke-width=\"1.5\"/><rect x=\"7\" y=\"18\" width=\"32\" height=\"4\" fill=\"#f0c95a\"/><rect x=\"19\" y=\"22\" width=\"8\" height=\"8\" rx=\"1.5\" fill=\"#f0c95a\" stroke=\"#7a5d10\"/><circle cx=\"23\" cy=\"26\" r=\"1.5\" fill=\"#4d2f12\"/>"},"fountain":{"occupiable":false,"name":"fountain","icon":"<ellipse cx=\"23\" cy=\"33\" rx=\"18\" ry=\"8\" fill=\"#9fd3ea\" stroke=\"#4a7c95\" stroke-width=\"1.5\"/><rect x=\"19\" y=\"14\" width=\"8\" height=\"18\" fill=\"#b9b6ae\" stroke=\"#5b5852\"/><ellipse cx=\"23\" cy=\"14\" rx=\"10\" ry=\"4\" fill=\"#9fd3ea\" stroke=\"#4a7c95\"/><path d=\"M23 4 q-6 6 -4 10 M23 4 q6 6 4 10\" fill=\"none\" stroke=\"#7fb8d0\" stroke-width=\"2\"/>"},"mlantern":{"occupiable":false,"name":"lantern","icon":"<circle cx=\"23\" cy=\"24\" r=\"15\" fill=\"#f7d774\" opacity=\".22\"/><path d=\"M23 1 v7\" stroke=\"#6b5a2a\" stroke-width=\"1.4\"/><path d=\"M18.5 9 h9 l-4.5 -4 z\" fill=\"#b8902a\" stroke=\"#6b5a2a\" stroke-width=\".8\"/><path d=\"M15.5 13 q7.5 -7 15 0 l2 17 q-9.5 6 -19 0 z\" fill=\"#c9a03a\" stroke=\"#6b5a2a\" stroke-width=\"1.4\"/><g fill=\"#fff0a8\"><path d=\"M23 15 l1.3 2.6 2.8 .4 -2 2 .5 2.8 -2.6 -1.4 -2.6 1.4 .5 -2.8 -2 -2 2.8 -.4 z\"/><circle cx=\"18.5\" cy=\"25.5\" r=\"1.4\"/><circle cx=\"27.5\" cy=\"25.5\" r=\"1.4\"/><circle cx=\"23\" cy=\"28.5\" r=\"1.4\"/></g><path d=\"M16.5 32 h13 l-6.5 8 z\" fill=\"#b8902a\" stroke=\"#6b5a2a\" stroke-width=\"1.2\"/><circle cx=\"23\" cy=\"41.5\" r=\"1.4\" fill=\"#6b5a2a\"/>"},"plant":{"occupiable":false,"name":"orange tree","icon":"<path d=\"M15 28 h16 l-2 12 h-12 z\" fill=\"#c2643a\" stroke=\"#7a3d20\" stroke-width=\"1.2\"/><ellipse cx=\"15\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(-30 15 17)\"/><ellipse cx=\"31\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(30 31 17)\"/><ellipse cx=\"23\" cy=\"13\" rx=\"6\" ry=\"11\" fill=\"#57a35e\"/>"},"scales":{"occupiable":false,"name":"scales","icon":"<rect x=\"8\" y=\"30\" width=\"30\" height=\"8\" rx=\"2\" fill=\"#5a6068\"/><rect x=\"21\" y=\"12\" width=\"4\" height=\"18\" fill=\"#5a6068\"/><path d=\"M8 14 h30\" stroke=\"#5a6068\" stroke-width=\"3\"/><path d=\"M10 14 l-3 9 h10 l-3 -9\" fill=\"#b9c3cc\" stroke=\"#5a6068\"/><path d=\"M36 14 l-3 9 h10 l-3 -9\" fill=\"#b9c3cc\" stroke=\"#5a6068\"/>"},"spices":{"occupiable":false,"name":"spice sack","icon":"<path d=\"M14 27 l9 -21 l9 21 z\" fill=\"#6f8f2a\"/><path d=\"M13 30 q0 -5 10 -5 q10 0 10 5 z\" fill=\"#c8a06a\" stroke=\"#6b4a2a\" stroke-width=\"1.1\"/><path d=\"M4 36 l8 -16 l8 16 z\" fill=\"#d9481c\"/><path d=\"M26 36 l8 -16 l8 16 z\" fill=\"#e8b21c\"/><path d=\"M3 42 q0 -7 9 -7 q9 0 9 7 z\" fill=\"#c8a06a\" stroke=\"#6b4a2a\" stroke-width=\"1.2\"/><path d=\"M25 42 q0 -7 9 -7 q9 0 9 7 z\" fill=\"#c8a06a\" stroke=\"#6b4a2a\" stroke-width=\"1.2\"/><path d=\"M5 40 h14 M27 40 h14\" stroke=\"#a07a4a\" stroke-width=\".8\"/>"},"teapot":{"occupiable":false,"name":"tea tray","icon":"<ellipse cx=\"23\" cy=\"35\" rx=\"19\" ry=\"7.5\" fill=\"#c9a03a\" stroke=\"#7a5a1a\" stroke-width=\"1.4\"/><ellipse cx=\"23\" cy=\"34\" rx=\"15\" ry=\"5\" fill=\"#e3c465\"/><path d=\"M15 23 q-5 0 -5 5 q0 4 5 4\" fill=\"none\" stroke=\"#5a6068\" stroke-width=\"1.8\"/><path d=\"M29 26 q6 -3 9 -10\" fill=\"none\" stroke=\"#5a6068\" stroke-width=\"2.2\" stroke-linecap=\"round\"/><path d=\"M15 33 q0 -13 8 -14 q8 1 8 14 z\" fill=\"#d6dbe0\" stroke=\"#5a6068\" stroke-width=\"1.3\"/><path d=\"M20.5 19.5 l2.5 -6 l2.5 6 z\" fill=\"#d6dbe0\" stroke=\"#5a6068\" stroke-width=\"1\"/><circle cx=\"23\" cy=\"12.5\" r=\"1.7\" fill=\"#5a6068\"/><path d=\"M17 27 h12\" stroke=\"#b8a04a\" stroke-width=\"1.2\"/><rect x=\"6\" y=\"30\" width=\"4.5\" height=\"6\" rx=\"1\" fill=\"#2a8a6a\" opacity=\".9\"/><rect x=\"35.5\" y=\"30\" width=\"4.5\" height=\"6\" rx=\"1\" fill=\"#b83a5a\" opacity=\".9\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"spices"},{"cell":[1,2],"type":"spices"},{"cell":[1,6],"type":"carpet"},{"cell":[1,8],"type":"carpet"},{"cell":[2,5],"type":"carpet"},{"cell":[2,7],"type":"carpet"},{"cell":[3,1],"type":"scales"},{"cell":[3,7],"type":"chest"},{"cell":[3,8],"type":"plant"},{"cell":[4,1],"type":"pouf"},{"cell":[4,4],"type":"mlantern"},{"cell":[4,6],"type":"barrel"},{"cell":[5,1],"type":"teapot"},{"cell":[5,7],"type":"fountain"},{"cell":[6,1],"type":"pouf"},{"cell":[6,5],"type":"mlantern"},{"cell":[7,3],"type":"mlantern"},{"cell":[7,4],"type":"stool"},{"cell":[8,1],"type":"cart"},{"cell":[8,8],"type":"plant"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Amina","gender":"F","role":"merchant","color":"#c62828","avatar":{"bg":"#e65100","skin":"#d9a57a","hair":"#1c1a1a","style":"long","shirt":"#c0392b","scarf":"#e0b050","earrings":true},"clue":"She was <b>not</b> beside the <b>scales</b>.","job":"the spice seller","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Amina\"><rect width=\"80\" height=\"80\" fill=\"#e65100\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#1c1a1a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#c0392b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#d9a57a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#d9a57a\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#e0b050\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"merchant","constraints":[{"type":"not_beside","obj":"scales"}]},{"id":"B","name":"Brahim","gender":"M","role":"merchant","color":"#2e7d32","avatar":{"bg":"#1565c0","skin":"#c68a5e","hair":"#1c1a1a","style":"short","shirt":"#f4efe6","beard":true,"turban":"#f4efe6"},"clue":"He was the <b>only man</b> on a <b>carpet</b>.","job":"the carpet merchant","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Brahim\"><rect width=\"80\" height=\"80\" fill=\"#1565c0\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#c68a5e\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#c68a5e\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#1c1a1a\"/><path d=\"M24 31 Q25 7 40 7 Q55 7 56 31 Q48 20 40 20 Q32 20 24 31 Z\" fill=\"#f4efe6\"/><path d=\"M27 20 Q40 30 53 20\" fill=\"none\" stroke=\"rgba(0,0,0,.12)\" stroke-width=\"2\"/><path d=\"M32 12 Q40 4 50 12\" fill=\"none\" stroke=\"rgba(0,0,0,.12)\" stroke-width=\"2\"/></svg>","solverRole":"merchant","constraints":[{"type":"only_on","obj":"carpet","gender":"M"}]},{"id":"C","name":"Chafik","gender":"M","role":"merchant","color":"#1565c0","avatar":{"bg":"#5d4037","skin":"#c68a5e","hair":"#3a2a1c","style":"short","shirt":"#264653","mustache":true,"mustacheColor":"#1c1a1a"},"clue":"He was beside a <b>lantern</b>. He was the <b>easternmost person in his area</b>.","job":"the lantern maker","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Chafik\"><rect width=\"80\" height=\"80\" fill=\"#5d4037\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#264653\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#c68a5e\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#c68a5e\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#3a2a1c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#1c1a1a\"/></svg>","solverRole":"merchant","constraints":[{"type":"beside","obj":"mlantern"},{"type":"extreme_in_area","dir":"E"}]},{"id":"D","name":"Dounia","gender":"F","role":"merchant","color":"#6a1b9a","avatar":{"bg":"#6a1b9a","skin":"#d9a57a","hair":"#1c1a1a","style":"bun","shirt":"#2e7d32","necklace":true},"clue":"The <b>barrel</b> was somewhere in her <b>row</b>. She was <b>not</b> in the <b>Alley</b>.","job":"who runs the tea stall","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dounia\"><rect width=\"80\" height=\"80\" fill=\"#6a1b9a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2e7d32\"/><path d=\"M31 58 Q40 66 49 58\" fill=\"none\" stroke=\"#f3e2b3\" stroke-width=\"2\" stroke-dasharray=\"2 2\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#d9a57a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#d9a57a\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#1c1a1a\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"merchant","constraints":[{"type":"row_has","obj":"barrel"},{"type":"not_area","areas":["Alley"]}]},{"id":"E","name":"Emrys","gender":"M","role":"visitor","color":"#e65100","avatar":{"bg":"#2f4858","skin":"#f1c8a5","hair":"#b7482c","style":"short","shirt":"#d9c7a0","beard":true,"glasses":true},"clue":"He was in the <b>last row</b>.","job":"a Welsh travel writer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Emrys\"><rect width=\"80\" height=\"80\" fill=\"#2f4858\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#d9c7a0\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#b7482c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#b7482c\"/></svg>","solverRole":"visitor","constraints":[{"type":"row","rows":[8]}]},{"id":"F","name":"Fiammetta","gender":"F","role":"visitor","color":"#00838f","avatar":{"bg":"#ad1457","skin":"#f3d3b5","hair":"#5a3a22","style":"curly","shirt":"#f2a53a","headband":"#2a8a6a"},"clue":"She was the <b>only woman</b> beside a <b>lantern</b>.","job":"an Italian painter","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Fiammetta\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f2a53a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f3d3b5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f3d3b5\"/><path d=\"M25 34 q-3 -8 4 -10 q0 -8 8 -7 q3 -4 8 -1 q6 -3 9 3 q7 0 5 8 q4 4 -1 9 q-6 -14 -16 -12 q-9 -1 -17 10 Z\" fill=\"#5a3a22\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#2a8a6a\"/></svg>","solverRole":"visitor","constraints":[{"type":"only_beside","obj":"mlantern","gender":"F"}]},{"id":"G","name":"Griffin","gender":"M","role":"visitor","color":"#ad1457","avatar":{"bg":"#35607a","skin":"#e7b98f","hair":"#8a8278","style":"slick","shirt":"#5d4037","mustache":true,"mustacheColor":"#8a8278","cap":true},"clue":"He was in the <b>Alley</b>.","job":"an antiques collector","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Griffin\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5d4037\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#8a8278\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#8a8278\"/><path d=\"M24 24 Q24 11 40 11 Q56 11 56 24 Z\" fill=\"#22406f\"/><rect x=\"22\" y=\"22\" width=\"36\" height=\"5\" rx=\"2\" fill=\"#12213a\"/><circle cx=\"40\" cy=\"18\" r=\"2.6\" fill=\"#f0b429\"/></svg>","solverRole":"visitor","constraints":[{"type":"area","areas":["Alley"]}]},{"id":"V","name":"Violette","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f6d8c0","hair":"#d9b464","style":"bob","shirt":"#b83a5a","necklace":true},"clue":"<b>The victim.</b> She was found in the <b>Riad</b>, beside the <b>fountain</b> – alone with the murderer.","job":"a perfumer from Paris","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Violette\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#b83a5a\"/><path d=\"M31 58 Q40 66 49 58\" fill=\"none\" stroke=\"#f3e2b3\" stroke-width=\"2\" stroke-dasharray=\"2 2\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#d9b464\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"visitor","constraints":[{"type":"area","areas":["Riad"]},{"type":"beside","obj":"fountain"}]}],"victim":"V","murderer":"E","solution":{"B":[1,8],"A":[2,2],"G":[3,3],"D":[4,1],"C":[5,5],"V":[6,7],"F":[7,4],"E":[8,6]},"walkthrough":[{"place":["C","V","F"],"cand":{"A":[[1,3],[1,6],[1,8],[2,2],[2,3],[2,6],[2,8],[3,3],[3,6]],"B":[[1,6],[1,8]],"D":[[4,1],[4,8]],"E":[[8,2],[8,3],[8,6]],"G":[[1,3],[3,3]]},"text":"Violette was found beside the fountain in the Riad: at R4C7, R5C8 or R6C7 – and the murderer was alone with her there, so the Riad holds exactly two people. The barrel (R4C6) was in Dounia’s row, so row 4 is hers and Violette is not at R4C7; Emrys was in the last row, so row 8 is his. Chafik and Fiammetta were both beside a lantern. The squares beside a lantern are R5C4, R5C5, R6C4, R7C4 and R8C3, all in the Lantern Workshop, and R8C3 is in Emrys’s row. Chafik was the easternmost person in his area, so Fiammetta must be west of him – and of the remaining squares only R5C5 is not in column 4: <b>Chafik is at R5C5</b>. Row 5 is his, so <b>Violette is at R6C7</b>. Fiammetta is in column 4, where R5C4 and R6C4 are in the rows of Chafik and Violette: <b>Fiammetta is at R7C4</b>, sitting on the stool."},{"place":["D"],"cand":{"A":[[1,3],[1,6],[1,8],[2,2],[2,3],[2,6],[2,8],[3,3],[3,6]],"B":[[1,6],[1,8]],"E":[[8,2],[8,3],[8,6]],"G":[[1,3],[3,3]]},"text":"Dounia was not in the Alley, so in row 4 she is at R4C1 in the Tea Stall or at R4C8 in the Riad (R4C7 is in Violette’s column). Who can be in column 1? Its free squares are R2C1, R4C1, R6C1 and R7C1, and R6C1 and R7C1 are in the rows of Violette and Fiammetta. R2C1 is in the Spice Market, beside the scales: Amina was not beside the scales, and nobody else can get there – Brahim was on a carpet, Griffin in the Alley, and Dounia and Emrys are in rows 4 and 8. So column 1 is Dounia’s: <b>Dounia is at R4C1</b>, sitting on a pouf in the Tea Stall."},{"place":["E","B"],"cand":{"A":[[2,2],[2,3],[3,3]],"G":[[3,3]]},"text":"Rows 4 to 7 are taken and R3C8 is an orange tree, so the Riad’s only free squares are in row 8: R8C6 and R8C7 – and R8C7 is in Violette’s column. Row 8 is Emrys’s, so the only person who can be alone with Violette in the Riad is Emrys: <b>Emrys is at R8C6</b> – he is the murderer. Brahim was the only man on a carpet, so he was on a carpet himself: R1C6 is in Emrys’s column, R2C5 in Chafik’s and R2C7 in Violette’s. <b>Brahim is at R1C8</b>."},{"place":["G","A"],"text":"Griffin was in the Alley. Rows 1 and 4 to 8 are taken, so he is in row 2 or 3; the Alley squares there are R2C4, R3C3, R3C4 and R3C5, and R2C4 and R3C4 are in Fiammetta’s column, R3C5 in Chafik’s. <b>Griffin is at R3C3</b>. Amina takes the last free row and column: <b>Amina is at R2C2</b>, in the Spice Market – not beside the scales. Everyone is placed."},{"final":true,"text":"Case closed: Violette was alone in the Riad with the Welsh travel writer. <b>Emrys is the murderer!</b>"}],"solver":{"rules":[],"occupiable":["carpet","pouf","stool"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-28"}}