{"format":"murdoku-puzzle/1","id":"frozen-fair","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":"The Frozen Fair","tagline":"Millpond Winter Fair · the last evening · fireworks at nine","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-15","story":"Last evening of the Millpond Winter Fair. As the fireworks begin, the rink master Virgil is found dead on the bench of the skate hut. Twelve people were on the fairground: skaters, fair staff and visitors. Read the statements, find everyone’s square on the plan and unmask the murderer: the killer was alone with Virgil in the skate hut – and then slipped out of the fair without being seen.","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 an object (trees, lanterns, the snowman, counters, barrels…) cannot be occupied; <b>path squares</b>, benches, sleds and the stool can – the gravel path is part of the Park, everything else there is snow.","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":["After the crime the murderer <b>left the fair through one of the two gates</b> (the main gate in the north or the car-park gate at the end of the boardwalk) <b>without meeting anyone</b>: every area they walked through was <b>empty</b>. Areas connect only where a <b>door or opening</b> is drawn. The area of the crime itself is where the murderer started – it does not have to be empty.","<b>“Glided straight to the Christmas tree”</b> = the skater was on the ice in the <b>same row or column as the tree</b>, with nothing but <b>empty ice</b> between them – no object in the way."]},"roleNames":{"skater":"skater","staff":"fair staff","visitor":"visitor","victim":"victim"},"personGroups":[{"id":"skaters","name":"Skaters","persons":["A","B","C","D","E"]},{"id":"staff","name":"Fair staff","persons":["F","G","H","V"]},{"id":"visitors","name":"Visitors","persons":["I","J","K"]}],"map":{"groups":[{"id":"fair","name":"MILLPOND WINTER FAIR","style":"open"}],"gaps":[],"areas":[{"id":"Park","cells":[[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],[1,12],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[2,11],[2,12],[3,1],[3,2],[3,3],[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],[9,1],[9,2],[9,3],[10,1],[10,2],[10,3],[11,1],[11,2],[11,3],[12,1],[12,2],[12,3]],"fill":"#f3f6f9","pattern":"snow","group":"fair","labelAt":[12,2],"name":"Park"},{"id":"Rink","cells":[[3,4],[3,5],[3,6],[3,7],[3,8],[4,4],[4,5],[4,6],[4,7],[4,8],[5,4],[5,5],[5,6],[5,7],[5,8],[6,4],[6,5],[6,6],[6,7],[6,8],[7,4],[7,5],[7,6],[7,7],[7,8],[8,4],[8,5],[8,6],[8,7],[8,8]],"fill":"#d6ebf5","pattern":"ice","group":"fair","labelAt":[7,6],"name":"Ice Rink"},{"id":"Hut","cells":[[3,9],[3,10],[3,11],[3,12],[4,9],[4,10],[4,11],[4,12],[5,9],[5,10],[5,11],[5,12]],"fill":"#e5d3b3","pattern":"boards","group":"fair","labelAt":[4,10.5],"name":"Skate Hut"},{"id":"Tent","cells":[[6,9],[6,10],[6,11],[6,12],[7,9],[7,10],[7,11],[7,12],[8,9],[8,10],[8,11],[8,12]],"fill":"#efe1c9","pattern":"boards","group":"fair","labelAt":[6,10.5],"name":"Warming Tent"},{"id":"Tavern","cells":[[9,4],[9,5],[9,6],[9,7],[9,8],[10,4],[10,5],[10,6],[10,7],[10,8],[11,4],[11,5],[11,6],[11,7],[11,8],[12,4],[12,5],[12,6],[12,7],[12,8]],"fill":"#e6d0ad","pattern":"boards","group":"fair","labelAt":[11,6],"name":"Mulled-Wine Tavern"},{"id":"Boardwalk","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":"#d5bd98","pattern":"boards","group":"fair","labelAt":[10,10.5],"name":"Boardwalk"}],"objectTypes":{"path":{"occupiable":true,"name":"gravel path","icon":"<rect x=\"1\" y=\"1\" width=\"44\" height=\"44\" fill=\"#d9d1c0\"/><g fill=\"#b3a68f\"><circle cx=\"9\" cy=\"12\" r=\"1.6\"/><circle cx=\"22\" cy=\"8\" r=\"1.3\"/><circle cx=\"35\" cy=\"14\" r=\"1.6\"/><circle cx=\"14\" cy=\"26\" r=\"1.4\"/><circle cx=\"30\" cy=\"27\" r=\"1.7\"/><circle cx=\"8\" cy=\"38\" r=\"1.3\"/><circle cx=\"24\" cy=\"39\" r=\"1.5\"/><circle cx=\"39\" cy=\"35\" r=\"1.3\"/><circle cx=\"20\" cy=\"18\" r=\"1\"/><circle cx=\"37\" cy=\"24\" r=\"1\"/></g>"},"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\"/>"},"sled":{"occupiable":true,"name":"sled","icon":"<path d=\"M6 34 q0 5 5 5 h28 q4 0 4 -4\" fill=\"none\" stroke=\"#8a8f96\" stroke-width=\"2.5\"/><rect x=\"8\" y=\"20\" width=\"30\" height=\"5\" rx=\"2\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.2\"/><rect x=\"8\" y=\"27\" width=\"30\" height=\"5\" rx=\"2\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.2\"/><line x1=\"13\" y1=\"25\" x2=\"13\" y2=\"34\" stroke=\"#6e4d2c\" stroke-width=\"2\"/><line x1=\"33\" y1=\"25\" x2=\"33\" y2=\"34\" stroke=\"#6e4d2c\" stroke-width=\"2\"/>"},"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\"/>"},"fireworks":{"occupiable":false,"name":"fireworks rack","icon":"<rect x=\"6\" y=\"30\" width=\"34\" height=\"10\" rx=\"2\" fill=\"#6b4a2b\" stroke=\"#3f2d1d\" stroke-width=\"1.2\"/><g stroke=\"#8a6a3a\" stroke-width=\"2\"><line x1=\"12\" y1=\"30\" x2=\"12\" y2=\"8\"/><line x1=\"23\" y1=\"30\" x2=\"23\" y2=\"5\"/><line x1=\"34\" y1=\"30\" x2=\"34\" y2=\"8\"/></g><path d=\"M9 12 l3 -8 l3 8 z\" fill=\"#c0392b\"/><path d=\"M20 9 l3 -8 l3 8 z\" fill=\"#2e86c1\"/><path d=\"M31 12 l3 -8 l3 8 z\" fill=\"#d4ac0d\"/><rect x=\"9.5\" y=\"12\" width=\"5\" height=\"8\" fill=\"#e74c3c\"/><rect x=\"20.5\" y=\"9\" width=\"5\" height=\"9\" fill=\"#3498db\"/><rect x=\"31.5\" y=\"12\" width=\"5\" height=\"8\" fill=\"#f4d03f\"/>"},"fir":{"occupiable":false,"name":"fir tree","icon":"<rect x=\"21\" y=\"34\" width=\"4\" height=\"8\" fill=\"#6b4a2b\"/><path d=\"M23 4 L34 20 L28 20 L38 34 L8 34 L18 20 L12 20 Z\" fill=\"#2f6b3a\"/><path d=\"M23 4 L29 13 Q26 14 23 12 Q20 14 17 13 Z\" fill=\"#eef6f8\"/><path d=\"M14 27 Q23 25 32 27 L30 22 Q23 24 16 22 Z\" fill=\"#eef6f8\" opacity=\".9\"/>"},"lantern":{"occupiable":false,"name":"lantern","icon":"<circle cx=\"23\" cy=\"13\" r=\"10\" fill=\"#f7d774\" opacity=\".45\"/><rect x=\"21\" y=\"18\" width=\"4\" height=\"22\" fill=\"#3b3b3b\"/><rect x=\"15\" y=\"39\" width=\"16\" height=\"4\" rx=\"1.5\" fill=\"#3b3b3b\"/><path d=\"M17 8 h12 l2 10 h-16 z\" fill=\"#f2c94c\" stroke=\"#3b3b3b\" stroke-width=\"1.4\"/><rect x=\"20\" y=\"4\" width=\"6\" height=\"4\" fill=\"#3b3b3b\"/>"},"snowman":{"occupiable":false,"name":"snowman","icon":"<circle cx=\"23\" cy=\"32\" r=\"11\" fill=\"#fbfbfb\" stroke=\"#b9c3cc\" stroke-width=\"1.2\"/><circle cx=\"23\" cy=\"16\" r=\"8\" fill=\"#fbfbfb\" stroke=\"#b9c3cc\" stroke-width=\"1.2\"/><rect x=\"16\" y=\"5\" width=\"14\" height=\"3\" fill=\"#2b2b2b\"/><rect x=\"18.5\" y=\"0.5\" width=\"9\" height=\"5\" fill=\"#2b2b2b\"/><circle cx=\"20\" cy=\"14\" r=\"1.2\" fill=\"#2b2b2b\"/><circle cx=\"26\" cy=\"14\" r=\"1.2\" fill=\"#2b2b2b\"/><path d=\"M23 16 l7 2 l-7 2 z\" fill=\"#e67e22\"/><path d=\"M15 22 q8 4 16 0 l1 3 q-9 4 -18 0 z\" fill=\"#c0392b\"/><circle cx=\"23\" cy=\"29\" r=\"1.3\" fill=\"#2b2b2b\"/><circle cx=\"23\" cy=\"34\" r=\"1.3\" fill=\"#2b2b2b\"/>"},"xmastree":{"occupiable":false,"name":"Christmas tree","icon":"<rect x=\"20\" y=\"36\" width=\"6\" height=\"6\" fill=\"#6b4a2b\"/><path d=\"M23 4 L33 17 L28 17 L37 29 L31 29 L40 38 L6 38 L15 29 L9 29 L18 17 L13 17 Z\" fill=\"#2f7a3a\"/><path d=\"M23 0.5 l1.8 3.6 l4 .5 l-2.9 2.8 l.7 4 l-3.6 -1.9 l-3.6 1.9 l.7 -4 l-2.9 -2.8 l4 -.5 z\" fill=\"#f1c40f\"/><circle cx=\"20\" cy=\"18\" r=\"2\" fill=\"#e74c3c\"/><circle cx=\"28\" cy=\"24\" r=\"2\" fill=\"#3498db\"/><circle cx=\"16\" cy=\"30\" r=\"2\" fill=\"#f1c40f\"/><circle cx=\"31\" cy=\"34\" r=\"2\" fill=\"#e74c3c\"/><circle cx=\"23\" cy=\"30\" r=\"2\" fill=\"#ecf0f1\"/>"},"penguin":{"occupiable":false,"name":"penguin skating aid","icon":"<ellipse cx=\"23\" cy=\"27\" rx=\"11\" ry=\"14\" fill=\"#2b2b2b\"/><ellipse cx=\"23\" cy=\"30\" rx=\"7\" ry=\"10\" fill=\"#fbfbfb\"/><circle cx=\"23\" cy=\"12\" r=\"7\" fill=\"#2b2b2b\"/><circle cx=\"20.5\" cy=\"11\" r=\"1.3\" fill=\"#fff\"/><circle cx=\"25.5\" cy=\"11\" r=\"1.3\" fill=\"#fff\"/><path d=\"M23 13 l4 2 l-4 2 z\" fill=\"#e67e22\"/><rect x=\"13\" y=\"40\" width=\"8\" height=\"3\" rx=\"1\" fill=\"#e67e22\"/><rect x=\"25\" y=\"40\" width=\"8\" height=\"3\" rx=\"1\" fill=\"#e67e22\"/>"},"cone":{"occupiable":false,"name":"cone","icon":"<path d=\"M23 6 L33 38 L13 38 Z\" fill=\"#e67e22\"/><rect x=\"9\" y=\"37\" width=\"28\" height=\"5\" rx=\"1.5\" fill=\"#2b2b2b\"/><path d=\"M18.5 21 h9 l1.5 5 h-12 z\" fill=\"#fbfbfb\"/><path d=\"M16 30 h14 l1.5 5 h-17 z\" fill=\"#fbfbfb\"/>"},"counter":{"occupiable":false,"name":"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\"/>"},"skates":{"occupiable":false,"name":"skate rack","icon":"<rect x=\"5\" y=\"6\" width=\"36\" height=\"34\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"8\" y=\"10\" width=\"30\" height=\"10\" fill=\"#e6cfa8\"/><rect x=\"8\" y=\"24\" width=\"30\" height=\"10\" fill=\"#d4b98f\"/><g fill=\"#fff\" stroke=\"#3b3b3b\" stroke-width=\"1\"><path d=\"M10 18 v-6 h6 l3 4 v2 z\"/><path d=\"M22 18 v-6 h6 l3 4 v2 z\"/><path d=\"M10 32 v-6 h6 l3 4 v2 z\"/><path d=\"M22 32 v-6 h6 l3 4 v2 z\"/></g><g stroke=\"#8a8f96\" stroke-width=\"1.5\"><line x1=\"10\" y1=\"19.5\" x2=\"19\" y2=\"19.5\"/><line x1=\"22\" y1=\"19.5\" x2=\"31\" y2=\"19.5\"/><line x1=\"10\" y1=\"33.5\" x2=\"19\" y2=\"33.5\"/><line x1=\"22\" y1=\"33.5\" x2=\"31\" y2=\"33.5\"/></g>"},"stove":{"occupiable":false,"name":"stove","icon":"<rect x=\"9\" y=\"8\" width=\"28\" height=\"30\" rx=\"3\" fill=\"#5a5a5a\" stroke=\"#2b2b2b\" stroke-width=\"1.5\"/><circle cx=\"17\" cy=\"20\" r=\"4\" fill=\"#8a8a8a\"/><circle cx=\"29\" cy=\"20\" r=\"4\" fill=\"#8a8a8a\"/><circle cx=\"23\" cy=\"28\" r=\"4\" fill=\"#8a8a8a\"/><path d=\"M16 8 q2 -6 5 -3 q3 -6 6 0 q3 -4 4 2\" fill=\"none\" stroke=\"#e0362e\" stroke-width=\"2\"/>"},"table":{"occupiable":false,"name":"table","icon":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"32\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"22\" rx=\"3\" fill=\"#d1a675\"/>"},"kettle":{"occupiable":false,"name":"mulled-wine kettle","icon":"<ellipse cx=\"23\" cy=\"37\" rx=\"14\" ry=\"4.5\" fill=\"#8a5a2a\"/><path d=\"M8 20 q0 18 15 18 q15 0 15 -18 z\" fill=\"#b8702e\" stroke=\"#6b3f14\" stroke-width=\"1.5\"/><rect x=\"7\" y=\"17\" width=\"32\" height=\"5\" rx=\"2\" fill=\"#d08a44\" stroke=\"#6b3f14\" stroke-width=\"1.2\"/><path d=\"M15 14 q2 -4 0 -8 M23 13 q2 -4 0 -8 M31 14 q2 -4 0 -8\" fill=\"none\" stroke=\"#c9ced3\" stroke-width=\"1.6\" stroke-linecap=\"round\"/>"},"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\"/>"},"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\"/>"},"signpost":{"occupiable":false,"name":"signpost to the car park","icon":"<rect x=\"21\" y=\"14\" width=\"4\" height=\"28\" fill=\"#6b4a2b\"/><path d=\"M8 10 h26 l5 5 l-5 5 h-26 z\" fill=\"#e9d7a8\" stroke=\"#6b4a2b\" stroke-width=\"1.3\"/><text x=\"19\" y=\"19\" font-size=\"8\" font-weight=\"700\" fill=\"#3b2a14\" text-anchor=\"middle\" font-family=\"Oswald,sans-serif\">P</text>"}},"wallTypes":{"door":{"name":"door / opening between areas","icon":"<rect x=\"8\" y=\"17\" width=\"30\" height=\"10\" rx=\"2\" fill=\"#8a5a34\" stroke=\"#3f2d1d\"/><circle cx=\"34\" cy=\"22\" r=\"1.6\" fill=\"#f0b429\"/>"},"gate":{"name":"gate out of the fair","icon":"<rect x=\"8\" y=\"10\" width=\"30\" height=\"26\" rx=\"2\" fill=\"#b7352c\" stroke=\"#3f1d1a\" stroke-width=\"1.4\"/><path d=\"M16 23 h12 m-4 -5 l5 5 l-5 5\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>"}},"objects":[{"cell":[1,2],"type":"path"},{"cell":[2,2],"type":"path"},{"cell":[3,2],"type":"path"},{"cell":[4,2],"type":"path"},{"cell":[5,2],"type":"path"},{"cell":[6,2],"type":"path"},{"cell":[7,2],"type":"path"},{"cell":[8,2],"type":"path"},{"cell":[9,2],"type":"path"},{"cell":[10,2],"type":"path"},{"cell":[11,2],"type":"path"},{"cell":[12,2],"type":"path"},{"cell":[2,3],"type":"path"},{"cell":[2,4],"type":"path"},{"cell":[2,5],"type":"path"},{"cell":[2,6],"type":"path"},{"cell":[2,7],"type":"path"},{"cell":[2,8],"type":"path"},{"cell":[2,9],"type":"path"},{"cell":[2,10],"type":"path"},{"cell":[1,11],"type":"fireworks"},{"cell":[1,4],"type":"fir"},{"cell":[1,7],"type":"fir"},{"cell":[1,9],"type":"lantern"},{"cell":[1,1],"type":"bench"},{"cell":[3,1],"type":"lantern"},{"cell":[4,1],"type":"fir"},{"cell":[5,1],"type":"sled"},{"cell":[6,1],"type":"bench"},{"cell":[7,3],"type":"lantern"},{"cell":[9,1],"type":"snowman"},{"cell":[10,1],"type":"sled"},{"cell":[11,3],"type":"fir"},{"cell":[12,1],"type":"lantern"},{"cell":[6,7],"type":"xmastree"},{"cell":[3,8],"type":"penguin"},{"cell":[8,5],"type":"cone"},{"cell":[3,9],"type":"counter"},{"cell":[3,10],"type":"counter"},{"cell":[4,12],"type":"skates"},{"cell":[5,12],"type":"skates"},{"cell":[5,9],"type":"bench"},{"cell":[7,10],"type":"stove"},{"cell":[6,12],"type":"bench"},{"cell":[8,9],"type":"bench"},{"cell":[7,12],"type":"table"},{"cell":[12,5],"type":"counter"},{"cell":[12,6],"type":"counter"},{"cell":[12,7],"type":"counter"},{"cell":[12,8],"type":"kettle"},{"cell":[9,4],"type":"barrel"},{"cell":[9,8],"type":"barrel"},{"cell":[10,6],"type":"table"},{"cell":[11,4],"type":"bench"},{"cell":[10,8],"type":"stool"},{"cell":[9,12],"type":"lamp"},{"cell":[12,9],"type":"lamp"},{"cell":[12,12],"type":"signpost"}],"wallFeatures":[{"cell":[1,2],"side":"N","type":"gate"},{"cell":[12,11],"side":"S","type":"gate"},{"cell":[2,10],"side":"S","type":"door"},{"cell":[4,9],"side":"W","type":"door"},{"cell":[5,11],"side":"S","type":"door"},{"cell":[8,11],"side":"S","type":"door"},{"cell":[5,4],"side":"W","type":"door"},{"cell":[9,6],"side":"N","type":"door"},{"cell":[10,4],"side":"W","type":"door"},{"cell":[11,8],"side":"E","type":"door"}],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Amos","gender":"M","role":"skater","color":"#c62828","avatar":{"bg":"#3a5a7a","skin":"#e9c6a4","hair":"#3b2418","style":"short","shirt":"#b03a2e","beanie":"#c0392b","scarf":"#f4efe6"},"clue":"He was the <b>northernmost person on the ice</b>.","job":"hockey player","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Amos\"><rect width=\"80\" height=\"80\" fill=\"#3a5a7a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#b03a2e\"/><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=\"#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=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#c0392b\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#c0392b\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"extreme_in_area","dir":"N"}]},{"id":"B","name":"Bonnie","gender":"F","role":"skater","color":"#2e7d32","avatar":{"bg":"#5b3a6e","skin":"#f4d3b6","hair":"#d9b464","style":"long","shirt":"#2f6f5a","earmuffs":"#f2a7c4","scarf":"#2f6f5a"},"clue":"She <b>glided straight to the Christmas tree</b>.","job":"figure skater","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Bonnie\"><rect width=\"80\" height=\"80\" fill=\"#5b3a6e\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#d9b464\"/><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\"/><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=\"M27 30 Q40 15 53 30\" fill=\"none\" stroke=\"#f2a7c4\" stroke-width=\"3\"/><circle cx=\"26\" cy=\"35\" r=\"5\" fill=\"#f2a7c4\"/><circle cx=\"54\" cy=\"35\" r=\"5\" fill=\"#f2a7c4\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#2f6f5a\"/></svg>","solverRole":"guest","constraints":[{"type":"glide","obj":"xmastree"}]},{"id":"C","name":"Clive","gender":"M","role":"skater","color":"#1565c0","avatar":{"bg":"#4b4b6d","skin":"#f1c8a5","hair":"#8a5a2a","style":"slick","shirt":"#22406f","scarf":"#c9a227"},"clue":"He was <b>exactly two rows north of Bonnie</b>.","job":"ski instructor","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Clive\"><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 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#8a5a2a\"/><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=\"#c9a227\"/></svg>","solverRole":"guest","constraints":[{"type":"rel","q":"B","dir":"N","exact":2}]},{"id":"D","name":"Dakota","gender":"F","role":"skater","color":"#6a1b9a","avatar":{"bg":"#3f6d5a","skin":"#8a5a3c","hair":"#1a1210","style":"curly","shirt":"#7a4d9a","beanie":"#f0b429","earrings":true},"clue":"She was in a <b>corner of the rink</b>. <b>Exactly one column west</b> of her was a <b>man</b>.","job":"student","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dakota\"><rect width=\"80\" height=\"80\" fill=\"#3f6d5a\"/><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=\"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=\"#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=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#f0b429\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#f0b429\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"guest","constraints":[{"type":"corner_of_area"},{"type":"rel_any","dir":"W","exact":1,"gender":"M"}]},{"id":"E","name":"Elliot","gender":"M","role":"skater","color":"#e65100","avatar":{"bg":"#2c3e58","skin":"#f0cdb0","hair":"#1c1a1a","style":"short","shirt":"#d97b2a","beanie":"#2f6f5a","glasses":true},"clue":"He was beside a <b>lantern</b>.","job":"postman","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Elliot\"><rect width=\"80\" height=\"80\" fill=\"#2c3e58\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#d97b2a\"/><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 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\"/><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 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#2f6f5a\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#2f6f5a\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"beside","obj":"lantern"}]},{"id":"F","name":"Freya","gender":"F","role":"staff","color":"#00838f","avatar":{"bg":"#7a3a2a","skin":"#f4d5bb","hair":"#b7482c","style":"bun","shirt":"#1f8a8a","apron":true},"clue":"She was the <b>only person beside a counter</b>.","job":"tavern keeper","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Freya\"><rect width=\"80\" height=\"80\" fill=\"#7a3a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1f8a8a\"/><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=\"#f4d5bb\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4d5bb\"/><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\"/></svg>","solverRole":"staff","constraints":[{"type":"only_beside","obj":"counter"}]},{"id":"G","name":"Gilbert","gender":"M","role":"staff","color":"#ad1457","avatar":{"bg":"#3f3f3f","skin":"#e4b998","hair":"#8a8a8a","style":"bald","shirt":"#4a4a4a","beard":true,"earmuffs":"#3b3b3b"},"clue":"He was beside the <b>fireworks rack</b>.","job":"fireworks master","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gilbert\"><rect width=\"80\" height=\"80\" fill=\"#3f3f3f\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#4a4a4a\"/><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 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#8a8a8a\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 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=\"M27 30 Q40 15 53 30\" fill=\"none\" stroke=\"#3b3b3b\" stroke-width=\"3\"/><circle cx=\"26\" cy=\"35\" r=\"5\" fill=\"#3b3b3b\"/><circle cx=\"54\" cy=\"35\" r=\"5\" fill=\"#3b3b3b\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"fireworks"}]},{"id":"H","name":"Heidi","gender":"F","role":"staff","color":"#5d4037","avatar":{"bg":"#33526e","skin":"#f6d8c0","hair":"#6b3f22","style":"ponytail","shirt":"#8a5a2a","beanie":"#b03a2e","scarf":"#f4efe6"},"clue":"She was <b>in front of a door</b>. <b>Exactly three rows south</b> of her was a <b>man</b>.","job":"skate-hire assistant","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Heidi\"><rect width=\"80\" height=\"80\" fill=\"#33526e\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#6b3f22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8a5a2a\"/><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 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 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\"/><path d=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#b03a2e\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#b03a2e\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f4efe6\"/></svg>","solverRole":"staff","constraints":[{"type":"wall","feature":"door"},{"type":"rel_any","dir":"S","exact":3,"gender":"M"}]},{"id":"I","name":"Ivy","gender":"F","role":"visitor","color":"#827717","avatar":{"bg":"#8c3a5a","skin":"#e9c6a4","hair":"#1c1a1a","style":"bob","shirt":"#7a6a3c","glasses":true,"scarf":"#c9a227"},"clue":"She was in the <b>bottom row</b>.","job":"photographer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ivy\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#1c1a1a\"/><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 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\"/><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":[12]}]},{"id":"J","name":"Joel","gender":"M","role":"visitor","color":"#283593","avatar":{"bg":"#5a2a2a","skin":"#d9a57a","hair":"#3b2418","style":"short","shirt":"#283593","beanie":"#3498db","scarf":"#f4efe6"},"clue":"He was sitting on a <b>sled</b>.","job":"sledger","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Joel\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#283593\"/><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 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=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#3498db\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#3498db\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"on","obj":"sled"}]},{"id":"K","name":"Kitty","gender":"F","role":"visitor","color":"#33691e","avatar":{"bg":"#2f5d7c","skin":"#f1cfb2","hair":"#c9c3b8","style":"bun","shirt":"#33691e","earmuffs":"#f4efe6","necklace":true},"clue":"She was beside a <b>barrel</b>.","job":"retired teacher","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Kitty\"><rect width=\"80\" height=\"80\" fill=\"#2f5d7c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#33691e\"/><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=\"#f1cfb2\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1cfb2\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#c9c3b8\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 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=\"M27 30 Q40 15 53 30\" fill=\"none\" stroke=\"#f4efe6\" stroke-width=\"3\"/><circle cx=\"26\" cy=\"35\" r=\"5\" fill=\"#f4efe6\"/><circle cx=\"54\" cy=\"35\" r=\"5\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"beside","obj":"barrel"}]},{"id":"V","name":"Virgil","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#3a4a3a","skin":"#e4b998","hair":"#cfcfd2","style":"slick","shirt":"#22406f","mustache":true,"mustacheColor":"#bdbdbd","whistle":true},"clue":"<b>The victim.</b> He was found on the <b>bench</b> of the Skate Hut – alone with the murderer.","job":"rink master","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Virgil\"><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=\"M33 56 Q40 68 47 56\" fill=\"none\" stroke=\"#c9302c\" stroke-width=\"1.6\"/><rect x=\"37\" y=\"66\" width=\"7\" height=\"5\" rx=\"1.5\" fill=\"#e0b040\" stroke=\"#7a5a12\" stroke-width=\".8\"/><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":"area","areas":["Hut"]},{"type":"on","obj":"bench"}]}],"victim":"V","murderer":"C","solution":{"G":[1,12],"H":[2,10],"A":[3,7],"C":[4,11],"V":[5,9],"B":[6,4],"E":[7,2],"D":[8,8],"K":[9,5],"J":[10,1],"F":[11,6],"I":[12,3]},"walkthrough":[{"place":["V"],"text":"Virgil lies on the bench of the Skate Hut: <b>R5C9</b>. The murderer was alone with him in the hut, on a square outside Virgil’s row and column: <b>R3C11, R3C12, R4C10 or R4C11</b>."},{"text":"Now the escape route – the murderer walked out through empty areas only. Through the main gate? Then the whole <b>Park</b> would be empty, but rows 1 and 2 consist of Park squares only, and every row holds a person: impossible. Across the ice, through the tavern and over the boardwalk? Then the <b>Rink, the Tavern and the Boardwalk</b> would all be empty, and columns 4–8 would have to be filled from rows 1–2 alone – five columns, two rows: impossible. The only way left: hut → <b>Warming Tent</b> → <b>Boardwalk</b> → car-park gate. <b>The tent and the boardwalk are empty</b> – cross out all 28 squares. Consequence: columns 9–12 need four people, and only the hut and rows 1–2 of the Park are left there: Virgil, the murderer, and the two people of rows 1 and 2 – who therefore stand in the Park in <b>columns 10–12</b> (column 9 is Virgil’s)."},{"place":["H","J","G"],"text":"Count the Park: rows 1–2 hold two people, columns 1–3 three more – <b>five at most</b>. Five suspects can be nowhere else: Elliot (every lantern is in the Park), Gilbert (the fireworks rack), Joel (both sleds), Ivy (bottom row: R12C4 is beside the tavern counter, and Freya is the only one beside a counter) and Heidi. Heidi stands in front of a door: the hut door (R2C10) or a tavern door (R9C6, R10C4, R11C8) – but three rows south of the tavern doors there is either row 12, Ivy’s, a woman, or nothing at all. So <b>Heidi R2C10</b> (three rows south of her: Virgil). The Park is full – nobody else is in it. <b>Joel</b>: the sled at R5C1 is in Virgil’s row, so <b>R10C1</b>. <b>Gilbert</b>, beside the rack: R1C10 is Heidi’s column and R2C11 her row – <b>R1C12</b>. Columns 10 and 12 are taken, so the murderer stands in <b>column 11</b>: R3C11 or R4C11."},{"place":["C"],"cand":{"F":[[11,5],[11,6],[11,7]],"I":[[12,1],[12,2],[12,3]],"B":[[6,4],[6,5],[6,6],[6,8]],"K":[[9,5],[9,7]],"E":[[3,2],[7,2],[8,3]]},"text":"Rows 9–12. Kitty is beside a barrel (R9C5, R9C7, R10C4 or R10C8); row 10 is Joel’s, so Kitty is in <b>row 9</b>. Ivy has row 12 (R12C1, R12C2 or R12C3). Who takes row 11? Elliot’s lantern squares are elsewhere, the skaters are on the ice, Clive is at most two rows above Bonnie – only <b>Freya</b> can: beside the tavern counter, R11C5, R11C6 or R11C7. So Freya is in the tavern, not in the hut, and <b>Clive</b> is the only one left who can be with Virgil: <b>he is the murderer</b>. Clive is exactly two rows north of Bonnie; from row 3 Bonnie would be in Virgil’s row, so <b>Clive R4C11</b> and <b>Bonnie in row 6</b>, gliding to the tree along row 6: R6C4, R6C5, R6C6 or R6C8. Elliot, beside a lantern, with rows 1, 2, 6, 10, 12 and column 1 taken: R3C2, R7C2 or R8C3."},{"place":["D","A","E","I"],"cand":{"F":[[11,5],[11,6],[11,7]],"B":[[6,4],[6,5],[6,6]],"K":[[9,5],[9,7]]},"text":"Dakota stands in a corner of the rink. Row 4 is Clive’s, and in row 3 – the rink’s top row – nobody could be north of her on the ice, yet Amos is the northernmost skater. So R8C4 or R8C8. Exactly one column west of her stood a man: at R8C4 that is column 3, where the only man who could stand is Elliot at R8C3 – in Dakota’s own row. So <b>Dakota R8C8</b>, and the man in column 7 is Amos (the other men are in columns 1, 2–3, 11 and 12). Amos is north of Bonnie’s row 6 on the ice, and R4C7 and R5C7 are in Clive’s and Virgil’s rows: <b>Amos R3C7</b>. Row 3 and row 8 are gone, so <b>Elliot R7C2</b>, and with columns 1 and 2 taken <b>Ivy R12C3</b>."},{"place":["K","F","B"],"text":"Columns 4, 5 and 6 remain for Bonnie (row 6), Kitty (row 9) and Freya (row 11). Kitty’s barrel square in row 9 with column 7 taken: <b>Kitty R9C5</b>. Freya: R11C5 and R11C7 are gone – <b>Freya R11C6</b>. Bonnie glided to the tree from the last free square of row 6: <b>Bonnie R6C4</b>."},{"final":true,"text":"Case closed. Clive returned his skates, was alone with Virgil in the hut – and slipped away through the deserted warming tent and over the empty boardwalk to the car park. The drawn doors and the counting of rows and columns gave his route away before a single skater was placed."}],"solver":{"rules":[{"type":"escape","links":[["Park","Hut"],["Hut","Rink"],["Hut","Tent"],["Tent","Boardwalk"],["Park","Rink"],["Rink","Tavern"],["Park","Tavern"],["Tavern","Boardwalk"]],"exits":["Park","Boardwalk"]}],"groups":{"Stalls":["Hut","Tent","Tavern"]},"occupiable":["path","bench","sled","stool"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-15"}}