{"format":"murdoku-puzzle/1","id":"climb","version":1,"difficulty":"medium","level":6,"size":{"rows":9,"cols":9},"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 Climbing Gym","tagline":"Granite Loft climbing gym · Thursday evening · the lights went out","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-17","story":"Thursday evening at the Granite Loft, the climbing gym under the old railway arches. Halfway through the evening session the lights went out for a minute – and when they came back, Vidar, the owner and head route setter, lay dead at the foot of the lead wall, beside the ropes. Eight people were in the gym: four climbers, two members of staff and two visitors. One of them is the killer. Read every statement, find everyone’s square on the plan and unmask the murderer – alone with Vidar at the Lead Wall.","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 (climbing walls, counters, lockers, the vending machine, the hangboard…) cannot be occupied; the crash mats, the chairs, the benches and the doormat can. A <b>corner</b> of an area is a square of that area that borders the outside (another area or the edge of the board) on one horizontal and one vertical side.","Directions refer to rows and columns, not to the same line: <i>“exactly one row north of him was a woman”</i> = the person in the row directly above is a woman, in any column; <i>“north of Astrid”</i> = in a row further up, in any column.","The murderer was <b>alone with the victim</b>: nobody else was in that area."],"special":["<b>Every climber was beside a climbing wall</b> (the staff and the visitors could be anywhere)."]},"roleNames":{"climber":"climber","staff":"staff","visitor":"visitor","victim":"victim"},"personGroups":[{"id":"climbers","name":"The climbers","persons":["A","B","C","D"]},{"id":"staff","name":"Staff","persons":["E","F","V"]},{"id":"visitors","name":"Visitors","persons":["G","H"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Reception","cells":[[1,1],[1,2],[1,3],[2,1],[2,2],[3,1]],"fill":"#e4e0d2","pattern":"tiles","labelAt":[2,1.5],"name":"Reception"},{"id":"Cafe","cells":[[1,4],[1,5],[1,6],[2,3],[2,4],[2,5],[2,6],[3,2],[3,3],[3,4]],"fill":"#e9dcd2","pattern":"boards","labelAt":[1,5],"name":"Cafe"},{"id":"Lead Wall","cells":[[1,7],[1,8],[1,9],[2,7],[2,8],[2,9],[3,8],[3,9],[4,9],[5,9],[6,9]],"fill":"#d9dde3","pattern":"marble","labelAt":[5,9],"name":"Lead Wall"},{"id":"Boulder Hall","cells":[[3,5],[3,6],[3,7],[4,3],[4,4],[4,5],[4,6],[4,7],[4,8],[5,3],[5,4],[5,5],[5,6],[5,7],[5,8],[6,4],[6,5],[6,6],[6,7],[6,8],[7,3],[7,4],[7,5],[7,6],[8,1],[8,2],[8,3],[8,4],[8,5],[9,1],[9,2],[9,3],[9,4]],"fill":"#dfe3e6","pattern":"tiles","labelAt":[8,4],"name":"Boulder Hall"},{"id":"Training","cells":[[7,7],[7,8],[7,9],[8,6],[8,7],[8,8],[8,9],[9,5],[9,6],[9,7],[9,8],[9,9]],"fill":"#e3cfa8","pattern":"planks","labelAt":[9,8],"name":"Training"},{"id":"Locker Room","cells":[[4,1],[4,2],[5,1],[5,2],[6,1],[6,2],[6,3],[7,1],[7,2]],"fill":"#e2e0d0","pattern":"tiles","labelAt":[5,2],"name":"Locker Room"}],"objectTypes":{"doormat":{"occupiable":true,"name":"doormat","icon":"<rect x=\"5\" y=\"14\" width=\"36\" height=\"18\" rx=\"2\" fill=\"#a5834f\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><g stroke=\"#7a5a2a\" stroke-width=\"1.2\"><line x1=\"9\" y1=\"18\" x2=\"37\" y2=\"18\"/><line x1=\"9\" y1=\"23\" x2=\"37\" y2=\"23\"/><line x1=\"9\" y1=\"28\" x2=\"37\" y2=\"28\"/></g>"},"chair":{"occupiable":true,"name":"chair","icon":"<rect x=\"9\" y=\"7\" width=\"28\" height=\"32\" rx=\"6\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"7\" width=\"28\" height=\"9\" rx=\"4\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/>"},"crashmat":{"occupiable":true,"name":"crash mat","icon":"<rect x=\"2\" y=\"2\" width=\"42\" height=\"42\" rx=\"4\" fill=\"#3a6fb0\" stroke=\"#1f3f6b\" stroke-width=\"1.5\"/><rect x=\"6\" y=\"6\" width=\"34\" height=\"34\" rx=\"3\" fill=\"none\" stroke=\"#8fb4e0\" stroke-width=\"1.2\"/><line x1=\"23\" y1=\"6\" x2=\"23\" y2=\"40\" stroke=\"#8fb4e0\" stroke-width=\"1.2\"/>"},"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\"/>"},"shelf":{"occupiable":false,"name":"shoe shelf","icon":"<rect x=\"8\" y=\"5\" width=\"30\" height=\"36\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"9\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/><rect x=\"11\" y=\"20\" width=\"24\" height=\"8\" fill=\"#d4b98f\"/><rect x=\"11\" y=\"31\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/>"},"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\"/>"},"vending":{"occupiable":false,"name":"vending machine","icon":"<rect x=\"9\" y=\"4\" width=\"28\" height=\"38\" rx=\"3\" fill=\"#2f3b4c\" stroke=\"#161c25\" stroke-width=\"1.5\"/><rect x=\"13\" y=\"8\" width=\"16\" height=\"18\" fill=\"#7fc4d8\"/><rect x=\"13\" y=\"29\" width=\"20\" height=\"4\" fill=\"#f0b429\"/><rect x=\"13\" y=\"35\" width=\"20\" height=\"3\" fill=\"#8a94a0\"/>"},"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\"/>"},"plant":{"occupiable":false,"name":"plant","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\"/>"},"ropes":{"occupiable":false,"name":"ropes","icon":"<g stroke=\"#a5733f\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"11\" y1=\"3\" x2=\"11\" y2=\"43\"/><line x1=\"19\" y1=\"3\" x2=\"19\" y2=\"43\"/><line x1=\"27\" y1=\"3\" x2=\"27\" y2=\"43\"/><line x1=\"35\" y1=\"3\" x2=\"35\" y2=\"43\"/></g><rect x=\"6\" y=\"30\" width=\"34\" height=\"6\" rx=\"2\" fill=\"#5b5852\"/>"},"climbwall":{"occupiable":false,"name":"climbing wall","icon":"<rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" fill=\"#8b8f96\" stroke=\"#3d444b\" stroke-width=\"1.5\"/><g><circle cx=\"11\" cy=\"10\" r=\"3\" fill=\"#e0362e\"/><circle cx=\"24\" cy=\"8\" r=\"2.6\" fill=\"#f0b429\"/><circle cx=\"36\" cy=\"13\" r=\"3\" fill=\"#3fbf7f\"/><circle cx=\"15\" cy=\"22\" r=\"2.8\" fill=\"#1f6fb2\"/><circle cx=\"30\" cy=\"24\" r=\"3.2\" fill=\"#e0362e\"/><circle cx=\"9\" cy=\"34\" r=\"3\" fill=\"#f0b429\"/><circle cx=\"22\" cy=\"36\" r=\"2.6\" fill=\"#3fbf7f\"/><circle cx=\"37\" cy=\"35\" r=\"3\" fill=\"#1f6fb2\"/></g>"},"hangboard":{"occupiable":false,"name":"hangboard","icon":"<rect x=\"4\" y=\"12\" width=\"38\" height=\"16\" rx=\"3\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><g fill=\"#6e4d2c\"><rect x=\"8\" y=\"16\" width=\"8\" height=\"4\" rx=\"1\"/><rect x=\"19\" y=\"15\" width=\"8\" height=\"6\" rx=\"1\"/><rect x=\"30\" y=\"16\" width=\"8\" height=\"4\" rx=\"1\"/></g><rect x=\"20\" y=\"28\" width=\"6\" height=\"12\" fill=\"#5b5852\"/><rect x=\"12\" y=\"39\" width=\"22\" height=\"4\" rx=\"1.5\" fill=\"#5b5852\"/>"},"locker":{"occupiable":false,"name":"locker","icon":"<rect x=\"8\" y=\"4\" width=\"30\" height=\"38\" rx=\"2\" fill=\"#7f95a8\" stroke=\"#3d4f5e\" stroke-width=\"1.5\"/><line x1=\"23\" y1=\"4\" x2=\"23\" y2=\"42\" stroke=\"#3d4f5e\"/><rect x=\"11\" y=\"10\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"26\" y=\"10\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"11\" y=\"16\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"26\" y=\"16\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><circle cx=\"19\" cy=\"28\" r=\"1.5\" fill=\"#1f2a33\"/><circle cx=\"34\" cy=\"28\" r=\"1.5\" fill=\"#1f2a33\"/>"},"shower":{"occupiable":false,"name":"shower","icon":"<rect x=\"20\" y=\"6\" width=\"6\" height=\"14\" fill=\"#8a949c\"/><rect x=\"12\" y=\"18\" width=\"22\" height=\"6\" rx=\"3\" fill=\"#dfe6ea\" stroke=\"#5b6b76\"/><line x1=\"15\" y1=\"26\" x2=\"14\" y2=\"38\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/><line x1=\"20\" y1=\"26\" x2=\"19\" y2=\"40\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/><line x1=\"25\" y1=\"26\" x2=\"26\" y2=\"40\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/><line x1=\"30\" y1=\"26\" x2=\"31\" y2=\"38\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"shelf"},{"cell":[1,2],"type":"counter"},{"cell":[1,4],"type":"vending"},{"cell":[1,6],"type":"counter"},{"cell":[1,7],"type":"ropes"},{"cell":[1,9],"type":"climbwall"},{"cell":[2,3],"type":"chair"},{"cell":[2,4],"type":"table"},{"cell":[2,5],"type":"chair"},{"cell":[2,8],"type":"crashmat"},{"cell":[2,9],"type":"climbwall"},{"cell":[3,1],"type":"doormat"},{"cell":[3,2],"type":"plant"},{"cell":[3,8],"type":"crashmat"},{"cell":[3,9],"type":"climbwall"},{"cell":[4,1],"type":"locker"},{"cell":[4,4],"type":"climbwall"},{"cell":[4,5],"type":"climbwall"},{"cell":[5,1],"type":"locker"},{"cell":[5,4],"type":"crashmat"},{"cell":[5,5],"type":"crashmat"},{"cell":[6,2],"type":"bench"},{"cell":[6,6],"type":"climbwall"},{"cell":[6,7],"type":"climbwall"},{"cell":[7,1],"type":"shower"},{"cell":[7,6],"type":"crashmat"},{"cell":[8,2],"type":"crashmat"},{"cell":[8,9],"type":"hangboard"},{"cell":[9,2],"type":"climbwall"},{"cell":[9,3],"type":"crashmat"},{"cell":[9,7],"type":"bench"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Astrid","gender":"F","role":"climber","color":"#c62828","avatar":{"bg":"#5b2c6f","skin":"#f6d8c0","hair":"#d9b464","style":"ponytail","shirt":"#c0392b","headband":"#f0b429"},"clue":{},"job":"competition climber","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Astrid\"><rect width=\"80\" height=\"80\" fill=\"#5b2c6f\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#d9b464\"/><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=\"#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=\"#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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f0b429\"/></svg>","solverRole":"climber","constraints":[{"type":"beside","obj":"climbwall","rule":true}]},{"id":"B","name":"Blake","gender":"M","role":"climber","color":"#2e7d32","avatar":{"bg":"#2f4858","skin":"#e7b98f","hair":"#1c1a1a","style":"short","shirt":"#264653","beanie":"#000000"},"clue":"A <b>bench</b> was somewhere in his <b>column</b>.","job":"boulderer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Blake\"><rect width=\"80\" height=\"80\" fill=\"#2f4858\"/><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=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><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=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#000000\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#000000\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/></svg>","solverRole":"climber","constraints":[{"type":"col_has","obj":"bench"},{"type":"beside","obj":"climbwall","rule":true}]},{"id":"C","name":"Cleo","gender":"F","role":"climber","color":"#1565c0","avatar":{"bg":"#6e2c4b","skin":"#f0cdb0","hair":"#b7482c","style":"bob","shirt":"#3f8a4a"},"clue":"A <b>locker</b> was somewhere in her <b>row</b>.","job":"beginner","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Cleo\"><rect width=\"80\" height=\"80\" fill=\"#6e2c4b\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#b7482c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3f8a4a\"/><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 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 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":"climber","constraints":[{"type":"row_has","obj":"locker"},{"type":"beside","obj":"climbwall","rule":true}]},{"id":"D","name":"Dorian","gender":"M","role":"climber","color":"#6a1b9a","avatar":{"bg":"#1b2a33","skin":"#f1c8a5","hair":"#5a3a22","style":"curly","shirt":"#5d4037","beard":true},"clue":"There was a <b>woman</b> in his area. A <b>climbing wall</b> was somewhere in his <b>row</b>.","job":"lead climber","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dorian\"><rect width=\"80\" height=\"80\" fill=\"#1b2a33\"/><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=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><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\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#5a3a22\"/></svg>","solverRole":"climber","constraints":[{"type":"with_gender","gender":"F"},{"type":"row_has","obj":"climbwall"},{"type":"beside","obj":"climbwall","rule":true}]},{"id":"E","name":"Elvira","gender":"F","role":"staff","color":"#e65100","avatar":{"bg":"#7a6a3c","skin":"#f6d8c0","hair":"#1c1a1a","style":"bun","shirt":"#2f3b4c","whistle":true},"clue":"She was <b>alone with a man</b>.","job":"instructor","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Elvira\"><rect width=\"80\" height=\"80\" fill=\"#7a6a3c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><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\"/><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\"/></svg>","solverRole":"staff","constraints":[{"type":"with_gender","gender":"M","exact":true}]},{"id":"F","name":"Ferdinand","gender":"M","role":"staff","color":"#00838f","avatar":{"bg":"#3d5a6e","skin":"#d9a57a","hair":"#c9c3b8","style":"slick","shirt":"#8b5a2b","glasses":true},"clue":"A <b>chair</b> was somewhere in his <b>column</b>. A <b>bench</b> was somewhere in his area.","job":"receptionist","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ferdinand\"><rect width=\"80\" height=\"80\" fill=\"#3d5a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8b5a2b\"/><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 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 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\"/><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\"/></svg>","solverRole":"staff","constraints":[{"type":"col_has","obj":"chair"},{"type":"area_has","obj":"bench"}]},{"id":"G","name":"Giselle","gender":"F","role":"visitor","color":"#ad1457","avatar":{"bg":"#35607a","skin":"#f6d8c0","hair":"#5a3a22","style":"long","shirt":"#7a5a9a","earrings":true,"scarf":"#f2a53a"},"clue":"She was <b>alone with a member of staff</b>.","job":"Cleo’s mother","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Giselle\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#5a3a22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a5a9a\"/><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=\"#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\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f2a53a\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"visitor","constraints":[{"type":"with_role","role":"staff","exact":true}]},{"id":"H","name":"Hugh","gender":"M","role":"visitor","color":"#5d4037","avatar":{"bg":"#8c3a5a","skin":"#f1c8a5","hair":"#2b1c14","style":"bald","shirt":"#1b1b1b","glasses":true,"cap":true},"clue":"He was the <b>only one</b> beside a <b>counter</b>. He was <b>alone with</b> somebody on the <b>doormat</b>.","job":"photographer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Hugh\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><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 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#2b1c14\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#2b1c14\"/><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":"visitor","constraints":[{"type":"only_beside","obj":"counter"},{"type":"alone_with_on","obj":"doormat"}]},{"id":"V","name":"Vidar","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#e4b998","hair":"#c9c3b8","style":"short","shirt":"#1b1b1b","mustache":true},"clue":"<b>The victim.</b> He was found in the <b>Lead Wall</b> area, beside the <b>ropes</b> – alone with the murderer.","job":"the owner and head route setter","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Vidar\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><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=\"#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=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#3a2a1c\"/><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":["Lead Wall"]},{"type":"beside","obj":"ropes"}]}],"victim":"V","murderer":"G","solution":{"H":[1,3],"V":[2,7],"E":[3,1],"G":[4,9],"C":[5,4],"D":[6,8],"A":[7,6],"B":[8,2],"F":[9,5]},"walkthrough":[{"place":["E"],"cand":{"V":[[1,8],[2,7]],"H":[[1,3],[2,2]],"B":[[5,7],[8,2]],"F":[[6,3],[9,5]],"C":[[4,3],[4,6],[4,9],[5,4],[5,5],[5,6],[5,7]],"D":[[4,3],[4,6],[4,9],[6,8],[9,1]],"A":[[4,3],[4,6],[4,9],[5,4],[5,5],[5,6],[5,7],[6,8],[7,6],[8,2],[9,1]],"G":[[4,2],[4,9],[5,9],[6,1],[6,2],[6,3],[6,9],[7,2],[7,7],[7,8],[7,9],[8,6],[8,8],[9,5],[9,6],[9,7],[9,8],[9,9]]},"text":"Vidar was found beside the ropes in the Lead Wall area: R1C8 or R2C7 – row 1 or 2 – and the murderer was alone with him there. Hugh was the only one beside a counter and alone with somebody on the doormat. The only doormat lies at R3C1 in the Reception, so Hugh is in the Reception, beside its counter (R1C3 or R2C2), with exactly one other person, and that person is on the doormat R3C1. Who can it be? The climbers were all beside a climbing wall, and the Reception has none; Ferdinand had a chair somewhere in his column, and column 1 has none; Giselle was with a member of staff, and Hugh is a visitor. Only Elvira remains – and Hugh is the man her statement needs. <b>Elvira is at R3C1.</b> Rows 1, 2 and 3 now belong to Hugh, Vidar and Elvira: nobody else is in them."},{"place":["B","H","V"],"cand":{"C":[[4,6],[4,9],[5,4]],"F":[[6,3],[9,5]],"D":[[4,6],[4,9],[6,8],[9,1]],"A":[[4,6],[4,9],[5,4],[6,8],[7,6],[9,1]],"G":[[4,9],[6,1],[6,9],[7,7],[7,8],[7,9],[9,5],[9,6],[9,7],[9,8],[9,9]]},"text":"Every climber was beside a climbing wall, so in the rows still open the climbers can only use R4C9 in the Lead Wall area and R4C3, R4C6, R5C4, R5C5, R5C6, R5C7, R6C5, R6C8, R7C6, R8C2, R9C1 and R9C3 in the Boulder Hall. Ferdinand had a chair in his column – column 3 or 5 – and a bench in his area, the Locker Room or the Training Corner: R6C3 or R9C5. Nobody else may take R6C5 or R9C3, which would rob him of both squares at once. Blake had a bench in his column – column 2 or 7 – and a wall beside him: R5C7 or R8C2. Who is in column 4? Not Hugh, Vidar or Elvira – the only people in rows 1–3 – and not Ferdinand; R6C4, R7C4, R8C4 and R9C4 have no climbing wall beside them, so no climber can be there, and Giselle cannot either – she needs a member of staff with her, and no member of staff can be in the Boulder Hall. So somebody is at R5C4, and row 5 is that person’s: Blake cannot use R5C7 – <b>Blake is at R8C2</b>, on the crash mat under the traverse wall. Column 2 is his, so <b>Hugh is at R1C3</b>, and with row 1 taken <b>Vidar is at R2C7</b>."},{"place":["F"],"cand":{"A":[[4,6],[4,9],[5,4],[6,8],[7,6]],"C":[[4,6],[4,9],[5,4]],"D":[[4,6],[6,8]],"G":[[4,9],[6,9],[7,8],[7,9]]},"text":"Column 5: R5C5 lies in row 5, which belongs to the person at R5C4; R6C5 is barred, R7C5 has no wall beside it, and row 8 is Blake’s – so the column’s only square is R9C5: <b>Ferdinand is at R9C5</b>, in the Training Corner with its bench. Cleo had a locker in her row – the lockers stand in rows 4 and 5 – and a wall beside her: R4C6, R4C9 or R5C4 (R4C3 is in Hugh’s column, and in row 5 only R5C4 is left). Rows 4, 5, 6 and 7 and columns 4, 6, 8 and 9 are left for Astrid, Cleo, Dorian and Giselle."},{"place":["D"],"cand":{"A":[[4,6],[4,9],[5,4],[7,6]],"C":[[4,6],[4,9],[5,4]],"G":[[4,9],[7,9]]},"text":"Dorian had a climbing wall somewhere in his row – rows 5 and 7 have none – and a woman with him, so not R4C9, where he would be alone with Vidar: he is at R4C6 or R6C8, beside a wall in the Boulder Hall. <b>Could Dorian be at R4C6?</b> Then row 4 is closed to Cleo, so she is at R5C4; Astrid, beside a wall, has only R6C8 left (R7C6 is in his column, R4C9 in his row), and Giselle – rows 4 to 6 and columns 4, 6 and 8 gone – only R7C9. Nobody would be with Vidar in the Lead Wall area: contradiction. <b>Dorian is at R6C8.</b>"},{"place":["G","C","A"],"text":"Giselle was alone with a member of staff: with Vidar in the Lead Wall area or with Ferdinand in the Training Corner. Rows 4, 5 and 7 and columns 4, 6 and 9 are left, so her squares are R4C9 and R7C9 – column 9 either way, and nobody else can use it. The Lead Wall must hold a second person with Vidar, and its last free square is R4C9 – <b>Giselle is at R4C9</b>. Row 4 is gone, so <b>Cleo is at R5C4</b>, and row 7 and column 6 leave <b>R7C6</b> for <b>Astrid</b>. Everyone is placed."},{"final":true,"text":"Case closed: Vidar was alone in the Lead Wall area with the visitor who had come to watch her daughter climb. <b>Giselle is the murderer!</b>"}],"solver":{"rules":[],"occupiable":["chair","bench","doormat","crashmat"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-17"}}