{"format":"murdoku-puzzle/1","id":"foghorn","version":1,"difficulty":"hard","level":7,"size":{"rows":12,"cols":12},"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":"Foghorn","tagline":"Gull’s Reach fishing harbour · dawn · thick fog","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-15","story":"Dawn at the fishing harbour of Gull’s Reach, in thick fog. When the foghorn sounds, the night watchman Valentine is found dead in a moored boat in the outer basin. Twelve people were in the harbour: fishers, harbour staff and early visitors – and in the fog each of them could see only two squares far. Read the statements, find everyone’s square on the plan and unmask the murderer: the killer was alone with Valentine in the outer basin, on another boat, and nobody but Valentine saw them.","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>. The harbour is open air: the dashed lines are the borders of the areas of the puzzle. Water squares and squares with an object (rocks, bollards, crates, stalls…) cannot be occupied; the <b>moored boats</b> and the benches can.","Directions refer to rows and columns, not to the same line: <i>“he was north of her”</i> = in a row further up, in any column; <i>“east of him”</i> = in a column further right, in any row.","The murderer was <b>alone with the victim</b>: nobody else was in that area."],"special":["<b>Fog:</b> everyone could see exactly <b>two squares</b> in every direction – the 5×5 block around their own square; area borders do not block the view. <i>“I saw two people”</i> counts the others standing inside that block (people in the same row or column never stand inside it, of course).","<b>Nobody saw the murderer:</b> apart from the victim, no one was within two squares of the murderer."]},"roleNames":{"fisher":"fisher","staff":"harbour staff","guest":"visitor","victim":"victim"},"personGroups":[{"id":"fishers","name":"Fishers","persons":["A","B","C","D"]},{"id":"staff","name":"Harbour staff","persons":["E","F","G","H","V"]},{"id":"guests","name":"Visitors","persons":["I","J","K"]}],"map":{"groups":[{"id":"harbour","name":"GULL’S REACH HARBOUR","style":"open"}],"gaps":[],"areas":[{"id":"Rock","cells":[[1,1],[1,2],[1,3],[2,1],[2,2],[2,3],[3,1],[3,2],[3,3]],"fill":"#d3d7da","group":"harbour","labelAt":[3,2],"name":"Lighthouse Rock"},{"id":"Breakwater","cells":[[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],[1,12],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[2,11],[2,12]],"fill":"#cfd5d9","pattern":"tiles","group":"harbour","labelAt":[2,8],"name":"Breakwater"},{"id":"Inner","cells":[[3,4],[3,5],[3,6],[3,7],[4,4],[4,5],[4,6],[4,7],[5,4],[5,5],[5,6],[5,7],[6,4],[6,5],[6,6],[6,7]],"fill":"#a9cfe3","group":"harbour","labelAt":[4,5.5],"name":"Inner Basin"},{"id":"Outer","cells":[[3,8],[3,9],[3,10],[3,11],[3,12],[4,8],[4,9],[4,10],[4,11],[4,12],[5,8],[5,9],[5,10],[5,11],[5,12],[6,8],[6,9],[6,10],[6,11],[6,12]],"fill":"#9fc8de","group":"harbour","labelAt":[5,10],"name":"Outer Basin"},{"id":"Quay","cells":[[4,1],[4,2],[4,3],[5,1],[5,2],[5,3],[6,1],[6,2],[6,3],[7,1],[7,2],[7,3],[8,1],[8,2],[8,3],[7,4],[7,5],[7,6],[7,7],[7,8],[7,9],[7,10],[7,11],[7,12],[8,4],[8,5],[8,6],[8,7],[8,8],[8,9],[8,10],[8,11],[8,12]],"fill":"#d9d4c7","pattern":"tiles","group":"harbour","labelAt":[8,7],"name":"Quay & Slipway"},{"id":"Market","cells":[[9,1],[9,2],[9,3],[9,4],[10,1],[10,2],[10,3],[10,4],[11,1],[11,2],[11,3],[11,4],[12,1],[12,2],[12,3],[12,4]],"fill":"#e7ddc9","pattern":"boards","group":"harbour","labelAt":[11,2.5],"name":"Fish Market"},{"id":"Nets","cells":[[9,5],[9,6],[9,7],[9,8],[10,5],[10,6],[10,7],[10,8],[11,5],[11,6],[11,7],[11,8],[12,5],[12,6],[12,7],[12,8]],"fill":"#dcd8c6","group":"harbour","labelAt":[10,6.5],"name":"Net Yard"},{"id":"Office","cells":[[9,9],[9,10],[9,11],[9,12],[10,9],[10,10],[10,11],[10,12],[11,9],[11,10],[11,11],[11,12],[12,9],[12,10],[12,11],[12,12]],"fill":"#d5dbd0","pattern":"tiles","group":"harbour","labelAt":[11,10.5],"name":"Harbour Office Yard"}],"objectTypes":{"boat":{"occupiable":true,"name":"moored boat","icon":"<path d=\"M5 25 q18 13 36 0 l-3 -9 h-30 z\" fill=\"#8a5a34\" stroke=\"#3f2d1d\" stroke-width=\"1.4\"/><rect x=\"12\" y=\"10\" width=\"22\" height=\"6\" rx=\"2\" fill=\"#d9d5cc\" stroke=\"#8c8a82\"/><rect x=\"21\" y=\"1\" width=\"4\" height=\"9\" fill=\"#3f2d1d\"/><path d=\"M5 25 q18 5 36 0\" fill=\"none\" stroke=\"#3f2d1d\" stroke-width=\"1\"/>"},"bench":{"occupiable":true,"name":"bench","icon":"<rect x=\"7\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"35.8\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"4\" y=\"8\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.3\"/><rect x=\"4\" y=\"17.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"32.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/>"},"water":{"occupiable":false,"name":"water","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#3f7d9c\"/><path d=\"M-2 12 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 24 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 36 q6 -5 12 0 t12 0 t12 0 t12 0\" fill=\"none\" stroke=\"#2b5e79\" stroke-width=\"3.2\"/><path d=\"M-2 15 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 27 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 39 q6 -5 12 0 t12 0 t12 0 t12 0\" fill=\"none\" stroke=\"rgba(255,255,255,.42)\" stroke-width=\"1.5\"/>"},"dinghy":{"occupiable":false,"name":"beached dinghy","icon":"<path d=\"M8 22 q15 16 30 0 l-2 -7 h-26 z\" fill=\"#c9c3b8\" stroke=\"#3f2d1d\" stroke-width=\"1.4\"/><path d=\"M8 22 q15 5 30 0\" fill=\"none\" stroke=\"#3f2d1d\" stroke-width=\"1\"/><rect x=\"14\" y=\"18\" width=\"18\" height=\"3\" fill=\"#8a5a34\"/><path d=\"M6 36 h34\" stroke=\"#8a8f96\" stroke-width=\"2\" stroke-dasharray=\"4 3\"/>"},"lighthouse":{"occupiable":false,"name":"lighthouse","icon":"<path d=\"M17 40 L19 8 h8 l2 32 z\" fill=\"#f4efe6\" stroke=\"#3b3b3b\" stroke-width=\"1.4\"/><rect x=\"17.5\" y=\"20\" width=\"11\" height=\"5\" fill=\"#c0392b\"/><rect x=\"17.5\" y=\"30\" width=\"11\" height=\"5\" fill=\"#c0392b\"/><rect x=\"16\" y=\"3\" width=\"14\" height=\"6\" rx=\"1.5\" fill=\"#f2c94c\" stroke=\"#3b3b3b\" stroke-width=\"1.2\"/><rect x=\"13\" y=\"39\" width=\"20\" height=\"4\" fill=\"#3b3b3b\"/>"},"rock":{"occupiable":false,"name":"rocks","icon":"<path d=\"M6 36 q2 -14 12 -20 q10 -8 20 2 q6 6 4 18 z\" fill=\"#8f939a\" stroke=\"#4c5057\" stroke-width=\"1.5\"/><path d=\"M14 28 q6 -8 14 -6\" fill=\"none\" stroke=\"#b7bbc2\" stroke-width=\"2\"/>"},"bollard":{"occupiable":false,"name":"bollard","icon":"<rect x=\"16\" y=\"12\" width=\"14\" height=\"28\" rx=\"3\" fill=\"#4a4f55\" stroke=\"#22262a\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"12\" rx=\"9\" ry=\"4\" fill=\"#6b7178\" stroke=\"#22262a\" stroke-width=\"1.5\"/><path d=\"M8 34 q15 -12 30 -2\" fill=\"none\" stroke=\"#c9a46b\" stroke-width=\"3\"/><path d=\"M8 38 q15 -12 30 -2\" fill=\"none\" stroke=\"#a8843f\" stroke-width=\"3\"/>"},"lamp":{"occupiable":false,"name":"lamp post","icon":"<circle cx=\"23\" cy=\"12\" r=\"9\" fill=\"#f7e9a8\" opacity=\".5\"/><rect x=\"21\" y=\"16\" width=\"4\" height=\"24\" fill=\"#2f3b4a\"/><rect x=\"14\" y=\"39\" width=\"18\" height=\"4\" rx=\"1.5\" fill=\"#2f3b4a\"/><circle cx=\"23\" cy=\"12\" r=\"5\" fill=\"#f2c94c\" stroke=\"#2f3b4a\" stroke-width=\"1.4\"/>"},"winch":{"occupiable":false,"name":"winch","icon":"<rect x=\"8\" y=\"26\" width=\"30\" height=\"12\" rx=\"2\" fill=\"#5a6068\"/><circle cx=\"23\" cy=\"22\" r=\"9\" fill=\"#8a8f96\" stroke=\"#2b2f33\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"22\" r=\"3\" fill=\"#2b2f33\"/><path d=\"M32 22 h10\" stroke=\"#2b2f33\" stroke-width=\"2\"/>"},"crate":{"occupiable":false,"name":"crate","icon":"<rect x=\"6\" y=\"10\" width=\"34\" height=\"30\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"6\" y1=\"20\" x2=\"40\" y2=\"20\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"6\" y1=\"30\" x2=\"40\" y2=\"30\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"17\" y1=\"10\" x2=\"17\" y2=\"40\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"29\" y1=\"10\" x2=\"29\" y2=\"40\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/>"},"cart":{"occupiable":false,"name":"hand cart","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\"/>"},"counter":{"occupiable":false,"name":"stall counter","icon":"<rect x=\"0\" y=\"10\" width=\"46\" height=\"26\" fill=\"#a97c50\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"0\" y=\"10\" width=\"46\" height=\"7\" fill=\"#c9a06f\"/>"},"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\"/>"},"icebox":{"occupiable":false,"name":"ice box","icon":"<rect x=\"6\" y=\"14\" width=\"34\" height=\"24\" rx=\"3\" fill=\"#dfe6ea\" stroke=\"#5a6068\" stroke-width=\"1.4\"/><rect x=\"6\" y=\"14\" width=\"34\" height=\"6\" fill=\"#b9c3cc\"/><g fill=\"#3498db\"><path d=\"M12 30 l4 -6 l4 6 z\"/><path d=\"M22 30 l4 -6 l4 6 z\"/></g>"},"nets":{"occupiable":false,"name":"net rack","icon":"<rect x=\"6\" y=\"8\" width=\"34\" height=\"30\" fill=\"#e8eef2\" stroke=\"#6e4d2c\" stroke-width=\"2\"/><path d=\"M6 8 L40 38 M40 8 L6 38 M6 23 L40 23 M23 8 L23 38 M14 8 L14 38 M32 8 L32 38 M6 15 L40 15 M6 31 L40 31\" stroke=\"#5a7a8a\" stroke-width=\"1\"/>"},"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\"/>"},"anchor":{"occupiable":false,"name":"anchor","icon":"<circle cx=\"23\" cy=\"8\" r=\"4\" fill=\"none\" stroke=\"#3a4148\" stroke-width=\"3\"/><line x1=\"23\" y1=\"12\" x2=\"23\" y2=\"40\" stroke=\"#3a4148\" stroke-width=\"4\"/><line x1=\"12\" y1=\"19\" x2=\"34\" y2=\"19\" stroke=\"#3a4148\" stroke-width=\"3.5\"/><path d=\"M8 30 q6 12 15 12 q9 0 15 -12\" fill=\"none\" stroke=\"#3a4148\" stroke-width=\"4\" stroke-linecap=\"round\"/><path d=\"M8 30 l-2 6 M38 30 l2 6\" stroke=\"#3a4148\" stroke-width=\"3\"/>"},"hut":{"occupiable":false,"name":"harbour office","icon":"<path d=\"M5 20 L23 6 L41 20 Z\" fill=\"#8a5a34\" stroke=\"#3f2d1d\" stroke-width=\"1.4\"/><rect x=\"9\" y=\"20\" width=\"28\" height=\"20\" fill=\"#e6d3b3\" stroke=\"#3f2d1d\" stroke-width=\"1.4\"/><rect x=\"19\" y=\"27\" width=\"8\" height=\"13\" fill=\"#3f2d1d\"/>"},"flagpole":{"occupiable":false,"name":"flagpole","icon":"<rect x=\"22\" y=\"4\" width=\"2.5\" height=\"38\" fill=\"#3b3b3b\"/><path d=\"M24.5 6 h14 l-4 5 l4 5 h-14 z\" fill=\"#c0392b\"/><rect x=\"16\" y=\"40\" width=\"15\" height=\"4\" rx=\"1.5\" fill=\"#3b3b3b\"/>"},"bicycle":{"occupiable":false,"name":"bicycle","icon":"<circle cx=\"13\" cy=\"30\" r=\"8\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"2\"/><circle cx=\"33\" cy=\"30\" r=\"8\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"2\"/><path d=\"M13 30 L20 16 h10 l3 14 M20 16 l6 14 h-13 M30 16 l-4 -4\" fill=\"none\" stroke=\"#c0392b\" stroke-width=\"2.2\" stroke-linejoin=\"round\"/>"}},"wallTypes":{},"objects":[{"cell":[2,2],"type":"lighthouse"},{"cell":[1,1],"type":"rock"},{"cell":[3,1],"type":"rock"},{"cell":[2,3],"type":"bench"},{"cell":[1,5],"type":"bollard"},{"cell":[1,8],"type":"bollard"},{"cell":[1,11],"type":"bollard"},{"cell":[2,6],"type":"lamp"},{"cell":[2,10],"type":"lamp"},{"cell":[3,4],"type":"water"},{"cell":[3,5],"type":"water"},{"cell":[3,7],"type":"water"},{"cell":[3,8],"type":"water"},{"cell":[3,9],"type":"water"},{"cell":[3,10],"type":"water"},{"cell":[3,12],"type":"water"},{"cell":[4,4],"type":"water"},{"cell":[4,5],"type":"water"},{"cell":[4,6],"type":"water"},{"cell":[4,7],"type":"water"},{"cell":[4,8],"type":"water"},{"cell":[4,10],"type":"water"},{"cell":[4,11],"type":"water"},{"cell":[4,12],"type":"water"},{"cell":[5,4],"type":"water"},{"cell":[5,6],"type":"water"},{"cell":[5,7],"type":"water"},{"cell":[5,8],"type":"water"},{"cell":[5,9],"type":"water"},{"cell":[5,10],"type":"water"},{"cell":[5,11],"type":"water"},{"cell":[5,12],"type":"water"},{"cell":[6,4],"type":"water"},{"cell":[6,5],"type":"water"},{"cell":[6,6],"type":"water"},{"cell":[6,8],"type":"water"},{"cell":[6,9],"type":"water"},{"cell":[6,10],"type":"water"},{"cell":[6,12],"type":"water"},{"cell":[3,6],"type":"boat"},{"cell":[5,5],"type":"boat"},{"cell":[6,7],"type":"boat"},{"cell":[3,11],"type":"boat"},{"cell":[4,9],"type":"boat"},{"cell":[6,11],"type":"boat"},{"cell":[4,3],"type":"winch"},{"cell":[4,1],"type":"crate"},{"cell":[6,2],"type":"dinghy"},{"cell":[8,3],"type":"crate"},{"cell":[7,4],"type":"bollard"},{"cell":[7,8],"type":"bollard"},{"cell":[7,12],"type":"bollard"},{"cell":[8,6],"type":"lamp"},{"cell":[8,10],"type":"lamp"},{"cell":[8,12],"type":"cart"},{"cell":[10,2],"type":"counter"},{"cell":[10,3],"type":"counter"},{"cell":[9,4],"type":"scales"},{"cell":[12,4],"type":"icebox"},{"cell":[12,1],"type":"crate"},{"cell":[9,6],"type":"nets"},{"cell":[9,7],"type":"nets"},{"cell":[11,5],"type":"barrel"},{"cell":[12,8],"type":"barrel"},{"cell":[11,8],"type":"anchor"},{"cell":[10,11],"type":"hut"},{"cell":[10,12],"type":"hut"},{"cell":[9,10],"type":"flagpole"},{"cell":[12,10],"type":"bench"},{"cell":[12,12],"type":"bicycle"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Alfred","gender":"M","role":"fisher","color":"#c62828","avatar":{"bg":"#3a5a7a","skin":"#e9c6a4","hair":"#8a8a8a","style":"short","shirt":"#c9a227","souwester":"#e0b040","beard":true},"clue":"He was in the <b>Inner Basin</b>. He <b>saw exactly one person – a fisher</b>.","job":"trawlerman","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Alfred\"><rect width=\"80\" height=\"80\" fill=\"#3a5a7a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#c9a227\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e9c6a4\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e9c6a4\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#8a8a8a\"/><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=\"#8a8a8a\"/><path d=\"M23 30 Q23 12 40 12 Q57 12 57 30 Q49 22 40 22 Q31 22 23 30 Z\" fill=\"#e0b040\"/><path d=\"M17 30 Q40 22 63 30 L63 35 Q40 27 17 35 Z\" fill=\"#e0b040\" stroke=\"rgba(0,0,0,.18)\"/></svg>","solverRole":"fisher","constraints":[{"type":"area","areas":["Inner"]},{"type":"seen","n":1,"role":"fisher"}]},{"id":"B","name":"Brenda","gender":"F","role":"fisher","color":"#2e7d32","avatar":{"bg":"#5b3a6e","skin":"#f4d3b6","hair":"#b7482c","style":"bun","shirt":"#2f6f5a","souwester":"#e0b040"},"clue":"She was in the <b>Fish Market</b>.","job":"skipper","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Brenda\"><rect width=\"80\" height=\"80\" fill=\"#5b3a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f6f5a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f4d3b6\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4d3b6\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#b7482c\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 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\"/><path d=\"M23 30 Q23 12 40 12 Q57 12 57 30 Q49 22 40 22 Q31 22 23 30 Z\" fill=\"#e0b040\"/><path d=\"M17 30 Q40 22 63 30 L63 35 Q40 27 17 35 Z\" fill=\"#e0b040\" stroke=\"rgba(0,0,0,.18)\"/></svg>","solverRole":"fisher","constraints":[{"type":"area","areas":["Market"]}]},{"id":"C","name":"Cyril","gender":"M","role":"fisher","color":"#1565c0","avatar":{"bg":"#4b4b6d","skin":"#f1c8a5","hair":"#3b2418","style":"short","shirt":"#22406f","souwester":"#e0b040","mustache":true},"clue":"<b>Exactly two rows north</b> of him was a <b>man</b>.","job":"deckhand","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Cyril\"><rect width=\"80\" height=\"80\" fill=\"#4b4b6d\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><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=\"#3b2418\"/><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=\"#3a2a1c\"/><path d=\"M23 30 Q23 12 40 12 Q57 12 57 30 Q49 22 40 22 Q31 22 23 30 Z\" fill=\"#e0b040\"/><path d=\"M17 30 Q40 22 63 30 L63 35 Q40 27 17 35 Z\" fill=\"#e0b040\" stroke=\"rgba(0,0,0,.18)\"/></svg>","solverRole":"fisher","constraints":[{"type":"rel_any","dir":"N","exact":2,"gender":"M"}]},{"id":"D","name":"Dorothy","gender":"F","role":"fisher","color":"#6a1b9a","avatar":{"bg":"#3f6d5a","skin":"#8a5a3c","hair":"#1a1210","style":"ponytail","shirt":"#7a4d9a","souwester":"#e0b040"},"clue":"She <b>saw Alfred</b>.","job":"oyster fisher","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dorothy\"><rect width=\"80\" height=\"80\" fill=\"#3f6d5a\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#1a1210\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a4d9a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#8a5a3c\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#8a5a3c\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 Z\" fill=\"#1a1210\"/><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=\"M23 30 Q23 12 40 12 Q57 12 57 30 Q49 22 40 22 Q31 22 23 30 Z\" fill=\"#e0b040\"/><path d=\"M17 30 Q40 22 63 30 L63 35 Q40 27 17 35 Z\" fill=\"#e0b040\" stroke=\"rgba(0,0,0,.18)\"/></svg>","solverRole":"fisher","constraints":[{"type":"saw","q":"A"}]},{"id":"E","name":"Edgar","gender":"M","role":"staff","color":"#e65100","avatar":{"bg":"#2c3e58","skin":"#f0cdb0","hair":"#1c1a1a","style":"slick","shirt":"#22406f","cap":true,"glasses":true},"clue":"He was in the <b>Harbour Office Yard</b>.","job":"customs officer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Edgar\"><rect width=\"80\" height=\"80\" fill=\"#2c3e58\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 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\"/><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=\"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":"staff","constraints":[{"type":"area","areas":["Office"]}]},{"id":"F","name":"Fern","gender":"F","role":"staff","color":"#00838f","avatar":{"bg":"#7a3a2a","skin":"#f4d5bb","hair":"#c9c3b8","style":"bob","shirt":"#1f8a8a","cap":true},"clue":"She was beside a <b>bollard</b>.","job":"harbour master","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Fern\"><rect width=\"80\" height=\"80\" fill=\"#7a3a2a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#c9c3b8\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1f8a8a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f4d5bb\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4d5bb\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#c9c3b8\"/><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=\"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":"staff","constraints":[{"type":"beside","obj":"bollard"}]},{"id":"G","name":"Gareth","gender":"M","role":"staff","color":"#ad1457","avatar":{"bg":"#3f3f3f","skin":"#d9a57a","hair":"#3b2418","style":"bald","shirt":"#e67e22","beanie":"#e67e22","beard":true},"clue":"He was beside a <b>bollard</b>. He <b>saw nobody</b>.","job":"crane operator","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gareth\"><rect width=\"80\" height=\"80\" fill=\"#3f3f3f\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#e67e22\"/><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 30 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#3b2418\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#3b2418\"/><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=\"#3b2418\"/><path d=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#e67e22\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#e67e22\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"bollard"},{"type":"seen","n":0}]},{"id":"H","name":"Hilda","gender":"F","role":"staff","color":"#5d4037","avatar":{"bg":"#33526e","skin":"#f6d8c0","hair":"#6b3f22","style":"curly","shirt":"#8a5a2a","apron":true,"earrings":true},"clue":"She was in a <b>corner of her area</b>. She <b>saw exactly one person – a fisher</b>.","job":"fishmonger","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Hilda\"><rect width=\"80\" height=\"80\" fill=\"#33526e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8a5a2a\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><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=\"#6b3f22\"/><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=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"staff","constraints":[{"type":"corner_of_area"},{"type":"seen","n":1,"role":"fisher"}]},{"id":"I","name":"Ike","gender":"M","role":"guest","color":"#827717","avatar":{"bg":"#8c3a5a","skin":"#e9c6a4","hair":"#d9b464","style":"short","shirt":"#7a6a3c","beanie":"#3f6d5a"},"clue":"He was <b>alone in his area</b>.","job":"angler","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ike\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a6a3c\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e9c6a4\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e9c6a4\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 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=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#3f6d5a\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#3f6d5a\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"alone"}]},{"id":"J","name":"Jenny","gender":"F","role":"guest","color":"#283593","avatar":{"bg":"#5a2a2a","skin":"#f1cfb2","hair":"#1c1a1a","style":"ponytail","shirt":"#c8536a","headband":"#f2d24a"},"clue":"She was on the <b>Lighthouse Rock</b>. She <b>saw nobody</b>.","job":"jogger","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Jenny\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#1c1a1a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#c8536a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1cfb2\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1cfb2\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f2d24a\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Rock"]},{"type":"seen","n":0}]},{"id":"K","name":"Kurt","gender":"M","role":"guest","color":"#33691e","avatar":{"bg":"#2f5d7c","skin":"#e4b998","hair":"#8a8a8a","style":"short","shirt":"#33691e","glasses":true,"scarf":"#c9a227"},"clue":"He was in the <b>top row</b>, <b>alone in his area</b>.","job":"birdwatcher","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Kurt\"><rect width=\"80\" height=\"80\" fill=\"#2f5d7c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#33691e\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#8a8a8a\"/><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=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#c9a227\"/></svg>","solverRole":"guest","constraints":[{"type":"row","rows":[1]},{"type":"alone"}]},{"id":"V","name":"Valentine","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#3a4a3a","skin":"#e4b998","hair":"#cfcfd2","style":"slick","shirt":"#22406f","cap":true,"mustache":true,"mustacheColor":"#bdbdbd"},"clue":"<b>The victim.</b> He was found in a <b>moored boat</b> – alone with the murderer.","job":"night watchman","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Valentine\"><rect width=\"80\" height=\"80\" fill=\"#3a4a3a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#cfcfd2\"/><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=\"#bdbdbd\"/><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\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"staff","constraints":[{"type":"on","obj":"boat"}]}],"victim":"V","murderer":"C","solution":{"K":[1,12],"J":[2,3],"A":[3,6],"V":[4,9],"D":[5,5],"C":[6,11],"F":[7,7],"G":[8,4],"H":[9,1],"I":[10,8],"B":[11,2],"E":[12,10]},"walkthrough":[{"cand":{"K":[[1,4],[1,6],[1,7],[1,9],[1,10],[1,12]],"J":[[2,1],[2,3]]},"text":"Start in the north. Kurt stands in the top row and is alone in his zone; Jenny is on the Lighthouse Rock, so Kurt cannot be there: he is on the <b>Breakwater</b> (R1C4, R1C6, R1C7, R1C9, R1C10 or R1C12), and nobody else is on the Breakwater. The person of row 2 is therefore on the Rock, on R2C1 or R2C3. Jenny saw nobody – from R3C2 or R3C3 she would see that person – so <b>Jenny is in row 2</b> (R2C1 or R2C3), and R3C2 and R3C3, within her sight either way, stay empty: the person of <b>row 3 stands on a boat</b>, R3C6 or R3C11."},{"cand":{"K":[[1,4],[1,6],[1,7],[1,9],[1,10],[1,12]],"J":[[2,1],[2,3]],"F":[[7,5],[7,7],[7,9],[7,11],[8,4],[8,8]],"G":[[7,5],[7,7],[7,9],[7,11],[8,4],[8,8]],"A":[[3,6],[5,5],[6,7]]},"text":"Fern and Gareth stand beside a bollard. The Breakwater’s bollard squares lie in rows 1–2 (Kurt’s and Jenny’s), so both are on the Quay, on R7C5, R7C7, R7C9, R7C11, R8C4 or R8C8 – one in row 7, one in row 8 – and the Quay cannot hold Valentine’s pair. Ike is alone in his zone: not on the Rock, the Breakwater or the Quay, not in the Fish Market (Brenda), the Office Yard (Edgar) or the Inner Basin (Alfred) – he is in the <b>Net Yard</b> or alone on an Outer-Basin boat. Cyril cannot stand in row 4: two rows north of him stood a man, but row 2 is Jenny’s. Dorothy saw Alfred, so she stands within two squares of his boat: R3C6, R5C5 or R6C7."},{"cand":{"K":[[1,4],[1,6],[1,7],[1,9],[1,10],[1,12]],"J":[[2,1],[2,3]],"F":[[7,5],[7,7],[7,9],[7,11],[8,4],[8,8]],"G":[[7,5],[7,7],[7,9],[7,11],[8,4],[8,8]],"A":[[3,6],[5,5]]},"text":"Where is Alfred? Suppose <b>R6C7</b>. Row 4 has only R4C2 and R4C9 free; R4C2 is out of everyone’s reach (Cyril: row 4; Dorothy: five squares from Alfred; the others are tied to their zones), so R4C9 – within Alfred’s sight – holds the one fisher he saw: <b>Dorothy</b>. Now Valentine: in the Outer Basin he could only lie on R3C11 (R6C11 is Alfred’s row), alone with Dorothy – the murderer, whom Alfred saw. In the Inner Basin he would be Alfred’s victim on R3C6 (R5C5 is within Alfred’s sight, and he saw only a fisher) – and Dorothy saw the murderer. Both impossible."},{"place":["A","D"],"cand":{"K":[[1,9],[1,10],[1,12]],"J":[[2,1],[2,3]],"F":[[7,7],[7,9],[7,11],[8,4],[8,8]],"G":[[7,7],[7,9],[7,11],[8,4],[8,8]]},"text":"Suppose <b>R5C5</b> instead. R4C2 is again out of reach, and Ike alone on R4C9 would push Valentine into the Inner Basin, within Alfred’s sight – so <b>Valentine lies on R4C9</b> and his murderer on the other Outer boat, in column 11. Fern and Gareth need bollard squares outside Alfred’s sight: R7C5 is Alfred’s column, R7C7 within his sight, R7C9 Valentine’s column, R7C11 the murderer’s – both would be left for row 8. Impossible. So <b>Alfred R3C6</b>, and the one person within two squares of him is Dorothy on the only square that fits: <b>Dorothy R5C5</b>. Kurt, no fisher, must stay out of Alfred’s sight: R1C9, R1C10 or R1C12."},{"place":["C","V"],"cand":{"K":[[1,10],[1,12]],"J":[[2,1],[2,3]],"F":[[7,7],[8,4],[8,8]],"G":[[7,7],[8,4],[8,8]]},"text":"The Inner Basin holds Alfred and Dorothy, so Valentine lies in the <b>Outer Basin</b>: R4C9 or R6C11 (R3C11 is Alfred’s row). His companion – the murderer – can only be <b>Cyril</b>: everyone else is tied to another zone, and Ike would not be alone. Two rows north of Cyril stood a man: from R4C9 that would be Jenny’s row, so <b>Cyril R6C11 – the murderer</b> – and <b>Valentine R4C9</b>. Nobody saw Cyril: the Quay east of column 8 stays empty (columns 9 and 11 are taken anyway)."},{"place":["F","G","H","J","B","I"],"cand":{"K":[[1,10],[1,12]]},"text":"Gareth saw nobody: R7C7 lies within two squares of Dorothy, so <b>Gareth is in row 8</b> (R8C4 or R8C8) and <b>Fern R7C7</b>. Ike, alone, is in the Net Yard now that the Outer Basin is full. Hilda stands in a corner with exactly one fisher in sight – Brenda, the only fisher near the yards: R8C1 is Gareth’s row, the Net Yard corners are Ike’s zone, the Office corners are too far from the Market – <b>Hilda R9C1</b>, and <b>Jenny R2C3</b> (column 1 is taken). Column 2 has no free square outside the Market, so Brenda is in column 2, within Hilda’s sight: <b>Brenda R11C2</b>. Column 4 is then Gareth’s: <b>Gareth R8C4</b>; column 8 falls to Ike: <b>Ike R10C8</b>."},{"place":["E","K"],"final":true,"text":"Edgar, in the Office Yard, has rows 9–11 and columns 9 and 11 taken: <b>Edgar R12C10</b> – and with column 10 gone, <b>Kurt R1C12</b>. Case closed: Cyril was alone with Valentine on the Outer-Basin boats, unseen by anyone in the fog."}],"solver":{"rules":[{"type":"unseen_murderer"}],"groups":{"Waterfront":["Rock","Breakwater","Quay"],"Basins":["Inner","Outer"],"Yards":["Market","Nets","Office"]},"occupiable":["boat","bench"],"sight":2},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-15"}}