{"format":"murdoku-puzzle/1","id":"hall-of-mirrors","version":1,"difficulty":"expert","level":10,"size":{"rows":16,"cols":16},"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 Hall of Mirrors","tagline":"Funfair hall of mirrors · closing time · sixteen rooms of glass","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-15","story":"Closing time at the funfair’s Hall of Mirrors. When the lights come back on, the owner Valerie is found dead in the exit tunnel, beside the sign. Sixteen people were inside: eight guests, four performers and the staff. The hall is one open floor divided into sixteen rooms and full of mirrors – everyone saw only what the mirrors showed them along their own row and column. Read the statements, find everyone’s square on the plan and unmask the murderer: alone with Valerie in the Exit Tunnel, seen by nobody – not even in a mirror.","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 hall is one open floor: the dashed lines are the borders of the areas of the puzzle. Squares with an object (mirrors, pillars, counters…) cannot be occupied; benches, stools and carpets can.","Directions refer to rows and columns, not to the same line: <i>“one row north of him”</i> = in the row directly above, in any column.","The murderer was <b>alone with the victim</b>: nobody else was in that area."],"special":["<b>Sightlines:</b> everyone looks along their own row and column, in all four directions. A sightline passes over empty squares (benches, stools and carpets included), is <b>turned by 90°</b> at every <b>mirror</b> – like light bouncing off it: heading east into a ╱ mirror it continues north, into a ╲ mirror south – and stops at any other object or at the wall of the hall. Since no two people share a row or a column, whoever you see, you see in a mirror.","<b>Nobody blocks a view:</b> <i>“I saw two people”</i> counts everybody standing anywhere along the four sightlines, also behind someone else; <i>“I saw nobody”</i> means all four lines were empty. Seeing is mutual.","<b>Nobody saw the murderer:</b> apart from the victim, no one was on the murderer’s sightlines – not even in a mirror."]},"roleNames":{"guest":"guest","performer":"performer","staff":"staff","victim":"victim"},"personGroups":[{"id":"guests","name":"Guests","persons":["A","B","C","D","E","F","G","H"]},{"id":"performers","name":"Performers","persons":["I","J","K","L"]},{"id":"staff","name":"Staff","persons":["M","N","O","V"]}],"map":{"groups":[{"id":"front","name":"FRONT OF HOUSE","style":"open"},{"id":"upper","name":"UPPER MAZE","style":"open"},{"id":"lower","name":"LOWER MAZE","style":"open"},{"id":"back","name":"BACK OF HOUSE","style":"open"}],"gaps":[],"areas":[{"id":"Entrance","cells":[[1,1],[1,2],[1,3],[1,4],[1,5],[2,1],[2,2],[2,3],[2,4],[2,5],[3,1],[3,2],[3,3],[3,4],[3,5]],"fill":"#e8dcc8","pattern":"tiles","group":"front","labelAt":[2,1.5],"name":"Entrance Hall"},{"id":"Tickets","cells":[[1,6],[1,7],[1,8],[2,6],[2,7],[2,8],[3,6],[3,7],[3,8]],"fill":"#e3d5bd","pattern":"tiles","group":"front","labelAt":[3,7.5],"name":"Ticket Office"},{"id":"Gallery","cells":[[1,9],[1,10],[1,11],[1,12],[2,9],[2,10],[2,11],[2,12],[3,9],[3,10],[3,11],[3,12]],"fill":"#e6d9c9","pattern":"tiles","group":"front","labelAt":[1,11],"name":"Gallery"},{"id":"Gift","cells":[[1,13],[1,14],[1,15],[1,16],[2,13],[2,14],[2,15],[2,16],[3,13],[3,14],[3,15],[3,16]],"fill":"#efe0c4","pattern":"tiles","group":"front","labelAt":[3,14],"name":"Gift Shop"},{"id":"Blue","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]],"fill":"#cfdff0","group":"upper","labelAt":[6,2],"name":"Blue Corridor"},{"id":"Star","cells":[[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]],"fill":"#f2e6b8","group":"upper","labelAt":[7,6.5],"name":"Star Chamber"},{"id":"Kaleido","cells":[[4,9],[4,10],[4,11],[4,12],[5,9],[5,10],[5,11],[5,12],[6,9],[6,10],[6,11],[6,12],[7,9],[7,10],[7,11],[7,12]],"fill":"#e2d3ee","group":"upper","labelAt":[5,10],"name":"Kaleidoscope Room"},{"id":"Infinity","cells":[[4,13],[4,14],[4,15],[4,16],[5,13],[5,14],[5,15],[5,16],[6,13],[6,14],[6,15],[6,16],[7,13],[7,14],[7,15],[7,16]],"fill":"#cfe8e6","group":"upper","labelAt":[4,15],"name":"Infinity Room"},{"id":"Red","cells":[[8,1],[8,2],[8,3],[9,1],[9,2],[9,3],[10,1],[10,2],[10,3],[11,1],[11,2],[11,3]],"fill":"#f0cfcf","group":"lower","labelAt":[10,2],"name":"Red Corridor"},{"id":"Spiral","cells":[[8,4],[8,5],[8,6],[8,7],[8,8],[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]],"fill":"#f3dcc0","group":"lower","labelAt":[10,7],"name":"Spiral Room"},{"id":"Crystal","cells":[[8,9],[8,10],[8,11],[8,12],[9,9],[9,10],[9,11],[9,12],[10,9],[10,10],[10,11],[10,12],[11,9],[11,10],[11,11],[11,12]],"fill":"#cfe5ee","group":"lower","labelAt":[11,10.5],"name":"Crystal Cave"},{"id":"DeadEnd","cells":[[8,13],[8,14],[8,15],[8,16],[9,13],[9,14],[9,15],[9,16],[10,13],[10,14],[10,15],[10,16],[11,13],[11,14],[11,15],[11,16]],"fill":"#d9d9d9","group":"lower","labelAt":[8,14],"name":"Dead End"},{"id":"Alley","cells":[[12,1],[12,2],[12,3],[12,4],[13,1],[13,2],[13,3],[13,4],[14,1],[14,2],[14,3],[14,4],[15,1],[15,2],[15,3],[15,4],[16,1],[16,2],[16,3],[16,4]],"fill":"#dcd6ec","group":"back","labelAt":[14,2.5],"name":"Mirror Alley"},{"id":"Fun","cells":[[12,5],[12,6],[12,7],[12,8],[12,9],[12,10],[13,5],[13,6],[13,7],[13,8],[13,9],[13,10],[14,5],[14,6],[14,7],[14,8],[14,9],[14,10],[15,5],[15,6],[15,7],[15,8],[15,9],[15,10],[16,5],[16,6],[16,7],[16,8],[16,9],[16,10]],"fill":"#f3d6de","group":"back","labelAt":[16,6.5],"name":"Fun Room"},{"id":"Exit","cells":[[12,11],[12,12],[12,13],[13,11],[13,12],[13,13],[14,11],[14,12],[14,13],[15,11],[15,12],[15,13],[16,11],[16,12],[16,13]],"fill":"#d3e8cf","group":"back","labelAt":[12,12],"name":"Exit Tunnel"},{"id":"Backstage","cells":[[12,14],[12,15],[12,16],[13,14],[13,15],[13,16],[14,14],[14,15],[14,16],[15,14],[15,15],[15,16],[16,14],[16,15],[16,16]],"fill":"#d8cfc0","pattern":"planks","group":"back","labelAt":[15,15],"name":"Backstage"}],"objectTypes":{"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\"/>"},"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\"/>"},"carpet":{"occupiable":true,"name":"carpet","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#b3252f\"/><path d=\"M23 9 l10 14 -10 14 -10 -14 z\" fill=\"none\" stroke=\"#e0b050\" stroke-width=\"2\"/><circle cx=\"23\" cy=\"23\" r=\"3\" fill=\"#e0b050\"/>"},"mirror_s":{"occupiable":false,"name":"mirror ╱","icon":"<line x1=\"4\" y1=\"42\" x2=\"42\" y2=\"4\" stroke=\"#5b5852\" stroke-width=\"13\" stroke-linecap=\"round\"/><line x1=\"4\" y1=\"42\" x2=\"42\" y2=\"4\" stroke=\"#cfe0e8\" stroke-width=\"9\" stroke-linecap=\"round\"/><line x1=\"8\" y1=\"34\" x2=\"34\" y2=\"8\" stroke=\"#ffffff\" stroke-width=\"2\" opacity=\".85\"/><line x1=\"14\" y1=\"40\" x2=\"40\" y2=\"14\" stroke=\"#8fb0c2\" stroke-width=\"1.6\" opacity=\".9\"/>"},"mirror_b":{"occupiable":false,"legendGroup":"mirror_s","name":"mirror ╲","icon":"<line x1=\"4\" y1=\"4\" x2=\"42\" y2=\"42\" stroke=\"#5b5852\" stroke-width=\"13\" stroke-linecap=\"round\"/><line x1=\"4\" y1=\"4\" x2=\"42\" y2=\"42\" stroke=\"#cfe0e8\" stroke-width=\"9\" stroke-linecap=\"round\"/><line x1=\"12\" y1=\"8\" x2=\"38\" y2=\"34\" stroke=\"#ffffff\" stroke-width=\"2\" opacity=\".85\"/><line x1=\"6\" y1=\"14\" x2=\"32\" y2=\"40\" stroke=\"#8fb0c2\" stroke-width=\"1.6\" opacity=\".9\"/>"},"booth":{"occupiable":false,"name":"ticket booth","icon":"<rect x=\"7\" y=\"16\" width=\"32\" height=\"26\" fill=\"#7a4a2a\" stroke=\"#3f2d1d\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"21\" width=\"22\" height=\"11\" fill=\"#dfe9ee\" stroke=\"#3f2d1d\"/><path d=\"M4 16 h38 l-4 -9 h-30 z\" fill=\"#c0392b\" stroke=\"#6b1218\" stroke-width=\"1.2\"/><g fill=\"#f4efe6\"><rect x=\"10\" y=\"8\" width=\"5\" height=\"7\"/><rect x=\"21\" y=\"8\" width=\"5\" height=\"7\"/><rect x=\"32\" y=\"8\" width=\"5\" height=\"7\"/></g><rect x=\"16\" y=\"35\" width=\"14\" height=\"4\" rx=\"1\" fill=\"#c9a03a\"/>","iconTall":"<rect x=\"7\" y=\"20\" width=\"32\" height=\"68\" fill=\"#7a4a2a\" stroke=\"#3f2d1d\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"30\" width=\"22\" height=\"22\" fill=\"#dfe9ee\" stroke=\"#3f2d1d\"/><rect x=\"10\" y=\"58\" width=\"26\" height=\"6\" rx=\"1\" fill=\"#c9a03a\"/><rect x=\"15\" y=\"70\" width=\"16\" height=\"9\" rx=\"2\" fill=\"#f4efe6\" stroke=\"#3f2d1d\"/><line x1=\"23\" y1=\"70\" x2=\"23\" y2=\"79\" stroke=\"#3f2d1d\" stroke-dasharray=\"2 1.5\"/><path d=\"M4 20 h38 l-4 -11 h-30 z\" fill=\"#c0392b\" stroke=\"#6b1218\" stroke-width=\"1.2\"/><g fill=\"#f4efe6\"><rect x=\"10\" y=\"10\" width=\"5\" height=\"9\"/><rect x=\"21\" y=\"10\" width=\"5\" height=\"9\"/><rect x=\"32\" y=\"10\" width=\"5\" height=\"9\"/></g>"},"funmirror":{"occupiable":false,"name":"distorting mirror","icon":"<rect x=\"4\" y=\"6\" width=\"38\" height=\"34\" rx=\"5\" fill=\"#c9a03a\" stroke=\"#7a5a12\" stroke-width=\"1.5\"/><rect x=\"8\" y=\"10\" width=\"30\" height=\"26\" rx=\"4\" fill=\"#dfe9ee\"/><path d=\"M15 13 q6 6 0 11 t0 11\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2.5\" opacity=\".9\"/><path d=\"M29 13 q-6 6 0 11 t0 11\" fill=\"none\" stroke=\"#8fb0c2\" stroke-width=\"2\"/>"},"star":{"occupiable":false,"name":"star ornament","icon":"<path d=\"M23 5 L27.7 17.5 L41.1 18.1 L30.6 26.5 L34.2 39.4 L23 32 L11.8 39.4 L15.4 26.5 L4.9 18.1 L18.3 17.5 Z\" fill=\"#f2c94c\" stroke=\"#a8781a\" stroke-width=\"1.5\" stroke-linejoin=\"round\"/><circle cx=\"23\" cy=\"24\" r=\"3.5\" fill=\"#fff4c2\"/>"},"crystal":{"occupiable":false,"name":"crystal cluster","icon":"<path d=\"M9 40 l6 -22 l6 22 z\" fill=\"#b39ddb\" stroke=\"#5e35b1\" stroke-width=\"1.3\"/><path d=\"M18 40 l6 -32 l7 32 z\" fill=\"#d1c4e9\" stroke=\"#5e35b1\" stroke-width=\"1.3\"/><path d=\"M29 40 l5 -16 l6 16 z\" fill=\"#9575cd\" stroke=\"#5e35b1\" stroke-width=\"1.3\"/><line x1=\"24\" y1=\"12\" x2=\"23\" y2=\"34\" stroke=\"#ffffff\" stroke-width=\"1.5\" opacity=\".7\"/><rect x=\"5\" y=\"39\" width=\"36\" height=\"4\" rx=\"1\" fill=\"#8d8d8d\"/>"},"curtain":{"occupiable":false,"name":"curtain","icon":"<path d=\"M6 4 h34 v38 q-8 -6 -17 0 q-9 -6 -17 0 z\" fill=\"#b3252f\" stroke=\"#6b1218\" stroke-width=\"1.5\"/><g stroke=\"#8a1a22\" stroke-width=\"1.5\"><line x1=\"12\" y1=\"8\" x2=\"10\" y2=\"38\"/><line x1=\"18\" y1=\"8\" x2=\"17\" y2=\"38\"/><line x1=\"28\" y1=\"8\" x2=\"29\" y2=\"38\"/><line x1=\"34\" y1=\"8\" x2=\"36\" y2=\"38\"/></g><rect x=\"4\" y=\"3\" width=\"38\" height=\"4\" rx=\"2\" fill=\"#c9a03a\"/>"},"counter":{"occupiable":false,"name":"shop 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\"/>"},"shelf":{"occupiable":false,"name":"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\"/>"},"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\"/>"},"lamp":{"occupiable":false,"name":"lamp","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\"/>"},"pillar":{"occupiable":false,"name":"pillar","icon":"<circle cx=\"23\" cy=\"23\" r=\"12\" fill=\"#b9b6ae\" stroke=\"#5b5852\" stroke-width=\"2\"/><circle cx=\"23\" cy=\"23\" r=\"6\" fill=\"#9a968d\"/>"},"plant":{"occupiable":false,"name":"potted 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\"/>"},"sign":{"occupiable":false,"name":"sign","icon":"<rect x=\"21\" y=\"22\" width=\"4\" height=\"20\" fill=\"#6b6f76\"/><rect x=\"5\" y=\"6\" width=\"36\" height=\"17\" rx=\"3\" fill=\"#2e7d32\" stroke=\"#1b4d1e\" stroke-width=\"1.5\"/><path d=\"M10 14.5 h15 m-4 -4 l4 4 l-4 4\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><circle cx=\"33\" cy=\"14.5\" r=\"3.5\" fill=\"#ffffff\"/>"},"rack":{"occupiable":false,"name":"costume rack","icon":"<line x1=\"6\" y1=\"10\" x2=\"40\" y2=\"10\" stroke=\"#5b5852\" stroke-width=\"3\"/><line x1=\"9\" y1=\"10\" x2=\"9\" y2=\"40\" stroke=\"#5b5852\" stroke-width=\"2.5\"/><line x1=\"37\" y1=\"10\" x2=\"37\" y2=\"40\" stroke=\"#5b5852\" stroke-width=\"2.5\"/><path d=\"M15 14 v2 h8 v14 h-8 z\" fill=\"#c8536a\"/><path d=\"M25 14 v2 h7 v12 h-7 z\" fill=\"#3a6fb0\"/><line x1=\"19\" y1=\"10\" x2=\"19\" y2=\"14\" stroke=\"#333\"/><line x1=\"28\" y1=\"10\" x2=\"28\" y2=\"14\" stroke=\"#333\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"sign"},{"cell":[3,1],"type":"plant"},{"cell":[3,5],"type":"bench"},{"cell":[1,3],"type":"carpet"},{"cell":[2,3],"type":"carpet"},{"cell":[3,3],"type":"carpet"},{"cell":[1,7],"type":"booth","span":[2,1]},{"cell":[3,6],"type":"mirror_b"},{"cell":[2,10],"type":"mirror_s"},{"cell":[3,12],"type":"mirror_b"},{"cell":[1,9],"type":"plant"},{"cell":[2,13],"type":"counter"},{"cell":[2,14],"type":"counter"},{"cell":[1,16],"type":"shelf"},{"cell":[3,16],"type":"crate"},{"cell":[1,14],"type":"carpet"},{"cell":[1,15],"type":"carpet"},{"cell":[5,2],"type":"mirror_s"},{"cell":[7,1],"type":"lamp"},{"cell":[4,5],"type":"mirror_b"},{"cell":[6,7],"type":"mirror_s"},{"cell":[5,6],"type":"pillar"},{"cell":[7,4],"type":"star"},{"cell":[4,11],"type":"mirror_s"},{"cell":[7,9],"type":"mirror_b"},{"cell":[6,11],"type":"pillar"},{"cell":[5,14],"type":"mirror_b"},{"cell":[6,16],"type":"mirror_s"},{"cell":[4,13],"type":"bench"},{"cell":[9,3],"type":"mirror_b"},{"cell":[11,1],"type":"lamp"},{"cell":[8,6],"type":"mirror_s"},{"cell":[10,5],"type":"mirror_b"},{"cell":[11,8],"type":"mirror_s"},{"cell":[9,7],"type":"pillar"},{"cell":[8,10],"type":"mirror_b"},{"cell":[10,12],"type":"mirror_s"},{"cell":[9,9],"type":"crystal"},{"cell":[9,15],"type":"mirror_s"},{"cell":[11,13],"type":"mirror_b"},{"cell":[8,16],"type":"curtain"},{"cell":[10,14],"type":"bench"},{"cell":[13,2],"type":"mirror_s"},{"cell":[15,4],"type":"mirror_b"},{"cell":[16,1],"type":"lamp"},{"cell":[12,6],"type":"mirror_b"},{"cell":[14,8],"type":"mirror_s"},{"cell":[16,9],"type":"mirror_b"},{"cell":[13,10],"type":"funmirror"},{"cell":[15,6],"type":"bench"},{"cell":[16,12],"type":"sign"},{"cell":[13,12],"type":"mirror_s"},{"cell":[12,16],"type":"crate"},{"cell":[16,14],"type":"rack"},{"cell":[14,15],"type":"stool"},{"cell":[12,14],"type":"curtain"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Agnes","gender":"F","role":"guest","color":"#c62828","avatar":{"bg":"#5b3a6e","skin":"#f4d3b6","hair":"#cfcfd2","style":"bun","shirt":"#7a4d9a","glasses":true,"necklace":"#e6c46a"},"clue":"She was in the <b>Star Chamber</b>. She <b>saw nobody</b>.","job":"retired teacher","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Agnes\"><rect width=\"80\" height=\"80\" fill=\"#5b3a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a4d9a\"/><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=\"#f4d3b6\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4d3b6\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#cfcfd2\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 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\"/><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":"guest","constraints":[{"type":"area","areas":["Star"]},{"type":"seen","n":0}]},{"id":"B","name":"Barnaby","gender":"M","role":"guest","color":"#2e7d32","avatar":{"bg":"#2f5d7c","skin":"#e9c6a4","hair":"#3b2418","style":"short","shirt":"#c9a227","headphones":true},"clue":"He was in the <b>Blue Corridor</b>.","job":"student","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Barnaby\"><rect width=\"80\" height=\"80\" fill=\"#2f5d7c\"/><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=\"#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=\"M25 34 Q25 12 40 12 Q55 12 55 34\" fill=\"none\" stroke=\"#111\" stroke-width=\"3\"/><rect x=\"21\" y=\"30\" width=\"7\" height=\"12\" rx=\"3\" fill=\"#111\"/><rect x=\"52\" y=\"30\" width=\"7\" height=\"12\" rx=\"3\" fill=\"#111\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Blue"]}]},{"id":"C","name":"Chloe","gender":"F","role":"guest","color":"#1565c0","avatar":{"bg":"#3f6d5a","skin":"#f1cfb2","hair":"#b7482c","style":"bob","shirt":"#2f6f5a","scarf":"#f2d24a"},"clue":"She was in the <b>Infinity Room</b>.","job":"photographer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Chloe\"><rect width=\"80\" height=\"80\" fill=\"#3f6d5a\"/><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=\"#2f6f5a\"/><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 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\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f2d24a\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Infinity"]}]},{"id":"D","name":"Dexter","gender":"M","role":"guest","color":"#6a1b9a","avatar":{"bg":"#7a3a2a","skin":"#d9a57a","hair":"#1c1a1a","style":"short","shirt":"#e67e22","cap":true},"clue":"He was beside a <b>pillar</b>. He <b>saw exactly two people</b>.","job":"tourist","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dexter\"><rect width=\"80\" height=\"80\" fill=\"#7a3a2a\"/><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 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 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":"guest","constraints":[{"type":"beside","obj":"pillar"},{"type":"seen","n":2}]},{"id":"E","name":"Edith","gender":"F","role":"guest","color":"#e65100","avatar":{"bg":"#33526e","skin":"#f6d8c0","hair":"#6b3f22","style":"ponytail","shirt":"#1f8a8a","earrings":true},"clue":"She was in the <b>top row</b>. She <b>saw nobody</b> – not even in a mirror.","job":"nurse","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Edith\"><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=\"#1f8a8a\"/><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\"/><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":"row","rows":[1]},{"type":"seen","n":0}]},{"id":"F","name":"Frank","gender":"M","role":"guest","color":"#00838f","avatar":{"bg":"#4b4b6d","skin":"#f0cdb0","hair":"#8a8a8a","style":"slick","shirt":"#22406f","glasses":true,"mustache":true,"mustacheColor":"#8a8a8a"},"clue":"He <b>saw Kimberly</b>. He was <b>alone in his area</b>.","job":"accountant","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Frank\"><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=\"#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=\"#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=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#8a8a8a\"/></svg>","solverRole":"guest","constraints":[{"type":"saw","q":"K"},{"type":"alone"}]},{"id":"G","name":"Gwen","gender":"F","role":"guest","color":"#ad1457","avatar":{"bg":"#8c3a5a","skin":"#8a5a3c","hair":"#1a1210","style":"curly","shirt":"#c8536a","headband":"#f2d24a"},"clue":"She was <b>the only one beside the counter</b>.","job":"florist","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gwen\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><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=\"#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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f2d24a\"/></svg>","solverRole":"guest","constraints":[{"type":"only_beside","obj":"counter"}]},{"id":"H","name":"Howard","gender":"M","role":"guest","color":"#5d4037","avatar":{"bg":"#3f3f3f","skin":"#e4b998","hair":"#3b2418","style":"bald","shirt":"#33691e","beard":true},"clue":"He <b>saw Chloe</b> in a mirror. He was in <b>row 2</b>.","job":"bus driver","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Howard\"><rect width=\"80\" height=\"80\" fill=\"#3f3f3f\"/><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 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\"/></svg>","solverRole":"guest","constraints":[{"type":"saw","q":"C"},{"type":"row","rows":[2]}]},{"id":"I","name":"Imogen","gender":"F","role":"performer","color":"#827717","avatar":{"bg":"#5a2a2a","skin":"#e9c6a4","hair":"#1c1a1a","style":"curly","shirt":"#7a1f5a","turban":"#c9a03a","earrings":true,"necklace":"#e6c46a"},"clue":"She was in the <b>rightmost column</b>. She <b>saw nobody</b>.","job":"fortune teller","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Imogen\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a1f5a\"/><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=\"#e9c6a4\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e9c6a4\"/><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=\"#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 Q25 7 40 7 Q55 7 56 31 Q48 20 40 20 Q32 20 24 31 Z\" fill=\"#c9a03a\"/><path d=\"M27 20 Q40 30 53 20\" fill=\"none\" stroke=\"rgba(0,0,0,.12)\" stroke-width=\"2\"/><path d=\"M32 12 Q40 4 50 12\" fill=\"none\" stroke=\"rgba(0,0,0,.12)\" stroke-width=\"2\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"performer","constraints":[{"type":"col","cols":[16]},{"type":"seen","n":0}]},{"id":"J","name":"Jack","gender":"M","role":"performer","color":"#283593","avatar":{"bg":"#2a3a7a","skin":"#f4efe6","hair":"#d0342c","style":"curly","shirt":"#f2c94c","bow":"#c0392b"},"clue":"He was in <b>row 12</b>.","job":"clown","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Jack\"><rect width=\"80\" height=\"80\" fill=\"#2a3a7a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f2c94c\"/><path d=\"M40 60 l-8 -4 v8 z M40 60 l8 -4 v8 z\" fill=\"#b8302b\"/><circle cx=\"40\" cy=\"60\" r=\"2\" fill=\"#7a1f1c\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f4efe6\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4efe6\"/><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=\"#d0342c\"/><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":"performer","constraints":[{"type":"row","rows":[12]}]},{"id":"K","name":"Kimberly","gender":"F","role":"performer","color":"#33691e","avatar":{"bg":"#1b1b2f","skin":"#f1c8a5","hair":"#3b2418","style":"ponytail","shirt":"#1b1b1b","tophat":"#1b1b1b","necklace":"#e6c46a"},"clue":"She was beside a <b>pillar</b>.","job":"magician","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Kimberly\"><rect width=\"80\" height=\"80\" fill=\"#1b1b2f\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#3b2418\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><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=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 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\"/><rect x=\"26\" y=\"0\" width=\"28\" height=\"26\" rx=\"2\" fill=\"#1b1b1b\"/><rect x=\"19\" y=\"24\" width=\"42\" height=\"6\" rx=\"3\" fill=\"#1b1b1b\" stroke=\"rgba(0,0,0,.25)\"/><rect x=\"26\" y=\"19\" width=\"28\" height=\"5\" fill=\"#c9a03a\"/></svg>","solverRole":"performer","constraints":[{"type":"beside","obj":"pillar"}]},{"id":"L","name":"Leo","gender":"M","role":"performer","color":"#bf360c","avatar":{"bg":"#3a5a7a","skin":"#d9a57a","hair":"#8a5a2a","style":"short","shirt":"#2e86c1","headband":"#e74c3c"},"clue":"He was in the <b>Crystal Cave</b>. <b>Exactly one row north</b> of him was a <b>performer</b>.","job":"juggler","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Leo\"><rect width=\"80\" height=\"80\" fill=\"#3a5a7a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2e86c1\"/><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=\"#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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#e74c3c\"/></svg>","solverRole":"performer","constraints":[{"type":"area","areas":["Crystal"]},{"type":"rel_any","dir":"N","exact":1,"role":"performer"}]},{"id":"M","name":"Maud","gender":"F","role":"staff","color":"#006064","avatar":{"bg":"#5b3a6e","skin":"#f4d5bb","hair":"#c9c3b8","style":"bob","shirt":"#8a5a2a","glasses":true,"apron":true},"clue":"She was beside a <b>lamp</b>, in <b>column 1</b>.","job":"ticket seller","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Maud\"><rect width=\"80\" height=\"80\" fill=\"#5b3a6e\"/><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=\"#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=\"#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\"/><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":"beside","obj":"lamp"},{"type":"col","cols":[1]}]},{"id":"N","name":"Ned","gender":"M","role":"staff","color":"#4e342e","avatar":{"bg":"#2c3e58","skin":"#e4b998","hair":"#1c1a1a","style":"slick","shirt":"#7a6a3c","cap":true,"mustache":true},"clue":"<b>Exactly one row south</b> of him was a <b>woman</b>. He was in <b>column 13</b>.","job":"maze operator","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ned\"><rect width=\"80\" height=\"80\" fill=\"#2c3e58\"/><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=\"#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=\"#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 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#3a2a1c\"/><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":"rel_any","dir":"S","exact":1,"gender":"F"},{"type":"col","cols":[13]}]},{"id":"O","name":"Opal","gender":"F","role":"staff","color":"#0277bd","avatar":{"bg":"#3f6d5a","skin":"#f6d8c0","hair":"#b7482c","style":"bun","shirt":"#5d7a8a","apron":true,"headband":"#f4efe6"},"clue":"She was <b>alone in her area</b>, in <b>column 7</b>.","job":"cleaner","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Opal\"><rect width=\"80\" height=\"80\" fill=\"#3f6d5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5d7a8a\"/><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\"/><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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f4efe6\"/></svg>","solverRole":"staff","constraints":[{"type":"alone"},{"type":"col","cols":[7]}]},{"id":"V","name":"Valerie","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#3a4a3a","skin":"#f1cfb2","hair":"#cfcfd2","style":"bun","shirt":"#6b1218","necklace":"#e6c46a","earrings":true},"clue":"<b>The victim.</b> She was found beside the <b>sign</b> in the <b>Exit Tunnel</b> – alone with the murderer.","job":"owner of the attraction","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Valerie\"><rect width=\"80\" height=\"80\" fill=\"#3a4a3a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#6b1218\"/><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=\"#cfcfd2\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 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\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><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":"beside","obj":"sign"},{"type":"area","areas":["Exit"]}]}],"victim":"V","murderer":"N","solution":{"A":[5,8],"B":[4,2],"C":[7,15],"D":[6,12],"E":[1,5],"F":[8,3],"G":[3,14],"H":[2,9],"I":[11,16],"J":[12,4],"K":[9,6],"L":[10,10],"M":[15,1],"N":[14,13],"O":[13,7],"V":[16,11]},"walkthrough":[{"place":["H","G","C"],"cand":{"M":[[6,1],[10,1],[15,1]],"V":[[15,12],[16,11]]},"text":"Start with the fixed rows and columns: Edith is in row 1, Howard in row 2, Jack in row 12, Opal in column 7, Ned in column 13, Imogen in column 16 and Maud in column 1 – beside a lamp, so on R6C1, R10C1 or R15C1. Valerie lies beside the sign in the Exit Tunnel: R15C12 or R16C11 (R16C13 is Ned’s column). Gwen is the only one beside a counter, so nobody else stands on R1C13, R1C14, R2C15, R3C13 or R3C14. Howard saw Chloe, who is in the Infinity Room. Trace the sightlines of the row-2 squares: only from <b>R2C9</b> does one reach the Infinity Room – south down column 9 to the mirror at R7C9, which turns it east along row 7. So <b>Howard R2C9</b>, and Chloe stands in row 7: R7C13–R7C16. Gwen: R1C13 and R1C14 are Edith’s row, R2C15 Howard’s, R3C13 Ned’s column – <b>Gwen R3C14</b>. Chloe: R7C13 is Ned’s column, R7C14 Gwen’s, R7C16 Imogen’s – <b>Chloe R7C15</b>."},{"cand":{"M":[[6,1],[10,1],[15,1]],"V":[[15,12],[16,11]],"E":[[1,2],[1,3],[1,4],[1,5],[1,6],[1,8],[1,11]],"I":[[4,16],[9,16],[10,16],[11,16],[13,16],[14,16],[15,16],[16,16]],"K":[[4,6],[5,5],[5,11],[6,6],[6,10],[6,12],[9,6],[9,8]],"L":[[10,10],[10,11],[11,10],[11,11],[11,12]]},"text":"Edith saw nobody. From R1C10 her sightline drops into the mirror at R2C10 and turns west onto Howard; from R1C12 the mirror at R3C12 turns it east along row 3 onto Gwen; from R1C15 it runs down column 15 onto Chloe. So Edith is on R1C2, R1C3, R1C4, R1C5, R1C6, R1C8 or R1C11. Imogen saw nobody either: from R7C16 she would look west along row 7 at Chloe, and from R5C16 the mirror at R5C14 would turn her view up column 14 onto Gwen – Imogen is on R4C16, R9C16, R10C16, R11C16, R13C16, R14C16, R15C16 or R16C16. Leo, in the Crystal Cave, has a performer exactly one row north of him: Kimberly, Imogen or Jack. Jack is in row 12, and Kimberly stands beside a pillar: R4C6, R5C5, R5C11, R6C6, R6C10, R6C12, R9C6 or R9C8 (R5C7, R8C7 and R10C7 are Opal’s column, R7C11 Chloe’s row). So either Leo is in row 10 with Kimberly or Imogen in row 9, or Leo is in row 11 with Imogen on R10C16: Leo is on R10C10, R10C11, R11C10, R11C11 or R11C12 (column 9 is Howard’s)."},{"place":["V"],"cand":{"M":[[6,1],[10,1],[15,1]],"E":[[1,2],[1,3],[1,4],[1,5],[1,6],[1,8],[1,11]],"I":[[4,16],[9,16],[10,16],[11,16],[13,16],[14,16],[15,16],[16,16]],"K":[[4,6],[5,5],[5,11],[6,6],[6,10],[6,12],[9,6],[9,8]],"L":[[10,10],[11,10],[11,12]]},"text":"Where does Valerie lie – R15C12 or R16C11? Suppose <b>R15C12</b>. Imogen, who saw nobody, then loses R13C16 (the mirror at R13C12 would turn her view down onto Valerie) and R15C16 (Valerie’s row), and Maud loses R15C1. Rows 12–16 need five people: Jack in row 12, Valerie in row 15, and rows 13, 14 and 16 can only be filled by Imogen (R14C16, R16C16), Opal (column 7) and Ned (column 13) – all three are at the back. Now look at rows 8–11: row 8 can hold only Frank (R8C2–R8C5 or R8C8), so row 11 must take Leo (R11C10 or R11C11) – but then a performer should stand in row 10, and Kimberly (row 9 or the upper rooms), Imogen (rows 14/16) and Jack (row 12) are all elsewhere. Contradiction: <b>Valerie R16C11</b>."},{"place":["L"],"cand":{"N":[[13,13],[14,13],[15,13]],"M":[[6,1],[15,1]],"E":[[1,2],[1,3],[1,4],[1,5],[1,8]],"A":[[4,6],[4,8],[5,4],[5,8],[6,4],[6,6],[6,8]],"I":[[4,16],[9,16],[11,16],[13,16],[14,16],[15,16]],"K":[[4,6],[5,5],[6,6],[6,12],[9,6],[9,8]]},"text":"The murderer was alone with Valerie in the Exit Tunnel (rows 12–16, columns 11–13). Jack on R12C12 would be seen by Leo from every one of his squares (from R10C10 and R11C10 his northward line ends along row 12, from R11C12 he looks straight down at it); Imogen, Opal, Maud and Frank are tied elsewhere – only <b>Ned</b>, in column 13, can be with her: <b>the murderer</b>, on R13C13, R14C13 or R15C13, seen by nobody. From R11C10 or R11C12 Leo’s eastward sightline runs into the mirror at R11C13 and down column 13 – he would see Ned. So <b>Leo R10C10</b> (R10C11 is Valerie’s column). Edith saw nobody: from R1C6 the mirrors at R3C6, R3C12 and R10C12 lead her view to Leo, so she is on R1C2, R1C3, R1C4, R1C5 or R1C8. Agnes saw nobody: from R4C4, R5C5 and R6C5 the line runs down column 5 into the mirror at R10C5 and east along row 10 to Leo – Agnes is on R4C6, R4C8, R5C4, R5C8, R6C4, R6C6 or R6C8."},{"place":["M"],"cand":{"N":[[13,13],[14,13]],"K":[[9,6],[9,8]],"D":[[4,6],[5,5],[6,6],[6,12]],"I":[[11,16],[13,16],[14,16]],"F":[[8,3],[8,8],[11,2],[11,3],[11,4],[11,5],[11,6]],"A":[[4,6],[4,8],[5,4],[5,8],[6,4],[6,6],[6,8]],"E":[[1,2],[1,3],[1,4],[1,5],[1,8]]},"text":"Exactly one row north of Leo – in row 9 – stands a performer, so R9C6 and R9C8 are not for Dexter: he is beside a pillar in the upper rooms (R4C6, R5C5, R6C6 or R6C12). Rows 4–7 are thus full – Barnaby, Agnes, Dexter, Chloe – and Kimberly must be in row 9: <b>R9C6 or R9C8</b>. Imogen is not in rows 4–7, nor in row 9 (Kimberly’s) or 10 (Leo’s): R11C16, R13C16, R14C16 or R15C16. Maud loses R6C1 (upper rooms) and R10C1 (Leo’s row): <b>Maud R15C1</b> – and Imogen loses R15C16. Frank saw Kimberly: from R8C3 his view drops into the mirror at R9C3 and runs east along row 9 to the pillar (R9C6); from R8C8 he looks straight down at R9C8; from a square of row 11 (R11C2–R11C6) the mirror at R11C8 turns his view up column 8 to R9C8. Nowhere else."},{"place":["D","I","F","K","B"],"cand":{"N":[[13,13],[14,13]],"O":[[13,7],[14,7]],"A":[[5,4],[5,8]],"J":[[12,4],[12,5],[12,8]],"E":[[1,4],[1,5],[1,8]]},"text":"Column 12 needs a person. Rows 1–3: from R1C12 Edith would see Gwen, R2C12 is Howard’s row, R3C12 a mirror. Rows 12–16: R12C12 was ruled out for Jack, R13C12 is a mirror, R14C12 and R15C12 lie in the Exit Tunnel where only Ned joins Valerie, R16C12 is the sign. Rows 8–11 are the Crystal Cave, where Leo stands – Frank (alone) and Kimberly (beside a pillar) cannot join him. That leaves <b>Dexter R6C12</b>, beside the pillar. Frank, alone, cannot be in the Spiral Room where Kimberly stands: R8C3, R11C2 or R11C3. Rows 8 and 11 need two people besides Kimberly (row 9) and Leo (row 10): Opal cannot be in the Spiral Room either (R8C7, R11C7), so the only candidates are Frank and Imogen (R11C16): <b>Imogen R11C16</b>, <b>Frank R8C3</b>, and Kimberly on the square he sees from there: <b>Kimberly R9C6</b>. Barnaby, in the Blue Corridor: column 1 is Maud’s, column 3 Frank’s, row 6 Dexter’s, row 7 Chloe’s – <b>Barnaby R4C2</b>. Check Dexter: his southern sightline passes Leo and, after the mirrors at R10C5 and R4C5, reaches Barnaby on R4C2 – exactly the two people he saw."},{"place":["J","A","E"],"cand":{"O":[[13,7],[14,7]],"N":[[13,13],[14,13]]},"text":"Opal, alone, is in the Fun Room (R13C7 or R14C7: R8C7 and R11C7 are in the Spiral Room, R10C7 is Leo’s row, R15C7 Maud’s, R16C7 Valerie’s), so Jack is not: he is in the Mirror Alley, on R12C4 – R12C2 is Barnaby’s column, R12C3 Frank’s. <b>Jack R12C4</b>. Agnes: R5C4 is Jack’s column – <b>Agnes R5C8</b>. Edith: R1C2 is Barnaby’s column, R1C3 Frank’s, R1C4 Jack’s, R1C8 Agnes’s – <b>Edith R1C5</b>."},{"place":["O","N"],"final":true,"text":"Opal and Ned share rows 13 and 14: Opal R13C7 or R14C7, Ned R13C13 or R14C13. From R14C7 Opal’s sightline runs east into the mirror at R14C8, up column 8 to the mirror at R11C8, east along row 11 to the mirror at R11C13 and down column 13 – straight at both of Ned’s squares. Nobody saw the murderer, so <b>Opal R13C7</b> and <b>Ned R14C13</b>. Check: exactly one row south of Ned stands a woman – Maud. Case closed: Ned, the maze operator, was alone with Valerie in the Exit Tunnel, and not one mirror in the hall betrayed him."}],"solver":{"rules":[{"type":"unseen_murderer"}],"groups":{"Front":["Entrance","Tickets","Gallery","Gift"],"Upper maze":["Blue","Star","Kaleido","Infinity"],"Lower maze":["Red","Spiral","Crystal","DeadEnd"],"Back":["Alley","Fun","Exit","Backstage"]},"occupiable":["bench","stool","carpet"],"sight_mode":"mirror","mirror_types":{"mirror_s":"/","mirror_b":"\\"}},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-15"}}