{"format":"murdoku-puzzle/1","id":"thermal-baths","version":1,"difficulty":"hard","level":8,"size":{"rows":12,"cols":12},"languages":["en","hu","de","fr","es","it","pt","ca","nl","pl","cs","ro","fi","tr","el","ru","uk","vi","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"The Thermal Baths","tagline":"Saturday · Aqua Vita Thermal Baths · 17:50","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-14","story":"Ten minutes before closing time the manager of the Aqua Vita thermal baths, Volker, is found dead. Eleven people were still inside – bathers in the pools, guests in the wellness wing and the changing rooms, and one member of staff. One of them is the killer. Read every statement and find everyone’s exact position on the floor plan. The killer was alone with the victim, in the same area.","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 fittings (lockers, counters, showers…) cannot be occupied; water, benches, loungers, chairs and massage tables can.","Directions refer to rows and columns, not to the same line: <i>“she was south of”</i> = in a row further down; <i>“exactly one column west of him there was a woman”</i> = the occupant of the column directly to the left, in any row."],"special":["Six guests were <b>bathing</b>: <b>Adam, Boris, Cora, Diana, Ethan and Finn</b> were all <b>in the water</b>, each in one of the three pools.","The warmer the water, the fuller the pool: the <b>Cold Plunge (16 °C)</b> had <b>fewer</b> people in it than the <b>Swimming Pool (26 °C)</b>, and the Swimming Pool had <b>fewer</b> than the <b>Thermal Pool (38 °C)</b>. (A pool may also be empty.)","Only <b>women</b> could be in the <b>Women’s Changing Room</b> and only <b>men</b> in the <b>Men’s Changing Room</b>."]},"roleNames":{"bather":"bather","guest":"guest","staff":"staff","victim":"victim"},"personGroups":[{"id":"bathers","name":"Bathers","persons":["A","B","C","D","E","F"]},{"id":"guests","name":"Guests","persons":["G","H","I","J"]},{"id":"staff","name":"Staff","persons":["K","V"]}],"map":{"groups":[{"id":"pool","name":"POOL HALL","style":"building"},{"id":"wellness","name":"WELLNESS WING","style":"building"},{"id":"entrance","name":"ENTRANCE","style":"building"}],"gaps":[],"areas":[{"id":"West Deck","cells":[[1,1],[2,1],[3,1],[4,1],[5,1],[6,1]],"fill":"#e8e3d8","pattern":"tiles","group":"pool","name":"West Deck"},{"id":"Main Pool","cells":[[1,2],[1,3],[1,4],[1,5],[2,2],[2,3],[2,4],[2,5],[3,2],[3,3],[3,4],[3,5],[4,2],[4,3],[4,4],[4,5],[5,2],[5,3],[5,4],[5,5],[6,2],[6,3],[6,4],[6,5]],"fill":"#9fd3ea","group":"pool","name":"Swimming Pool (26 °C)"},{"id":"Walkway","cells":[[1,6],[2,6],[3,6],[4,6],[5,6],[6,6]],"fill":"#e8e3d8","pattern":"tiles","group":"pool","name":"Walkway"},{"id":"Thermal Pool","cells":[[1,7],[1,8],[1,9],[1,10],[2,7],[2,8],[2,9],[2,10],[3,7],[3,8],[3,9],[3,10],[4,7],[4,8],[4,9],[4,10],[5,7],[5,8],[5,9],[5,10],[6,7],[6,8],[6,9],[6,10]],"fill":"#8fc6df","group":"pool","name":"Thermal Pool (38 °C)"},{"id":"Cold Plunge","cells":[[1,11],[1,12],[2,11],[2,12]],"fill":"#c3e6f5","group":"pool","name":"Cold Plunge (16 °C)"},{"id":"East Deck","cells":[[3,11],[3,12],[4,11],[4,12],[5,11],[5,12],[6,11],[6,12]],"fill":"#e8e3d8","pattern":"tiles","group":"pool","name":"East Deck"},{"id":"Sauna","cells":[[7,1],[7,2],[7,3],[8,1],[8,2],[8,3],[9,1],[9,2],[9,3]],"fill":"#e6c49c","pattern":"planks","group":"wellness","name":"Sauna"},{"id":"Steam Room","cells":[[7,4],[7,5],[7,6],[8,4],[8,5],[8,6],[9,4],[9,5],[9,6]],"fill":"#d3e2e6","pattern":"tiles","group":"wellness","name":"Steam Room"},{"id":"Showers","cells":[[7,7],[7,8],[8,7],[8,8],[9,7],[9,8]],"fill":"#dde9ec","pattern":"tiles","group":"wellness","name":"Showers"},{"id":"Massage","cells":[[7,9],[7,10],[8,9],[8,10],[9,9],[9,10]],"fill":"#ecdcd0","group":"wellness","name":"Massage Room"},{"id":"Relax Room","cells":[[7,11],[7,12],[8,11],[8,12],[9,11],[9,12]],"fill":"#e3e9d3","group":"wellness","name":"Relax Room"},{"id":"Women's Changing","cells":[[10,1],[10,2],[10,3],[10,4],[11,1],[11,2],[11,3],[11,4],[12,1],[12,2],[12,3],[12,4]],"fill":"#efd9e2","pattern":"tiles","group":"entrance","name":"Women’s Changing Room"},{"id":"Men's Changing","cells":[[10,5],[10,6],[10,7],[10,8],[11,5],[11,6],[11,7],[11,8],[12,5],[12,6],[12,7],[12,8]],"fill":"#d6dcea","pattern":"tiles","group":"entrance","name":"Men’s Changing Room"},{"id":"Reception","cells":[[10,9],[10,10],[11,9],[11,10],[12,9],[12,10]],"fill":"#ede6d4","pattern":"marble","group":"entrance","name":"Reception"},{"id":"Cafe","cells":[[10,11],[10,12],[11,11],[11,12],[12,11],[12,12]],"fill":"#f1d9c4","pattern":"planks","group":"entrance","name":"Café"}],"objectTypes":{"pool":{"occupiable":true,"name":"water","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#9fd3ea\"/><path d=\"M4 14 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#e8f6fb\" stroke-width=\"2\"/><path d=\"M4 26 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#6fb6d4\" stroke-width=\"2\"/><path d=\"M4 38 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#e8f6fb\" stroke-width=\"2\"/>"},"pool_cold":{"occupiable":true,"solverType":"pool","legendGroup":"pool","name":"cold water","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#c3e6f5\"/><path d=\"M4 14 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#f2fbff\" stroke-width=\"2\"/><path d=\"M4 26 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#f2fbff\" stroke-width=\"2\"/><path d=\"M4 38 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#f2fbff\" stroke-width=\"2\"/>"},"pool_hot":{"occupiable":true,"solverType":"pool","legendGroup":"pool","name":"hot water","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#8fc6df\"/><path d=\"M4 14 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#dff2fa\" stroke-width=\"2\"/><path d=\"M4 26 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#dff2fa\" stroke-width=\"2\"/><path d=\"M4 38 q5 -4 10 0 t10 0 t10 0 t10 0\" fill=\"none\" stroke=\"#dff2fa\" stroke-width=\"2\"/><path d=\"M12 8 q3 -4 0 -7 M23 9 q3 -4 0 -7 M34 8 q3 -4 0 -7\" fill=\"none\" stroke=\"rgba(255,255,255,.55)\" stroke-width=\"1.5\"/>"},"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\"/>"},"lounger":{"occupiable":true,"name":"lounger","icon":"<rect x=\"7\" y=\"6\" width=\"32\" height=\"36\" rx=\"5\" fill=\"#f6f1e6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"7\" y=\"6\" width=\"32\" height=\"12\" rx=\"5\" fill=\"#e0a86a\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><line x1=\"11\" y1=\"24\" x2=\"35\" y2=\"24\" stroke=\"#d3c9b6\"/><line x1=\"11\" y1=\"30\" x2=\"35\" y2=\"30\" stroke=\"#d3c9b6\"/><line x1=\"11\" y1=\"36\" x2=\"35\" y2=\"36\" stroke=\"#d3c9b6\"/>"},"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\"/>"},"massage":{"occupiable":true,"name":"massage table","icon":"<rect x=\"7\" y=\"4\" width=\"32\" height=\"38\" rx=\"6\" fill=\"#f7f4ee\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"8\" width=\"24\" height=\"9\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#8c8a82\"/><rect x=\"10\" y=\"20\" width=\"26\" height=\"18\" rx=\"4\" fill=\"#9fb3d6\"/><rect x=\"18\" y=\"41\" width=\"10\" height=\"3\" fill=\"#8c8a82\"/>"},"ladder":{"occupiable":false,"name":"pool ladder","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#9fd3ea\"/><rect x=\"14\" y=\"4\" width=\"4\" height=\"38\" rx=\"2\" fill=\"#dfe6ea\" stroke=\"#5b6b76\"/><rect x=\"28\" y=\"4\" width=\"4\" height=\"38\" rx=\"2\" fill=\"#dfe6ea\" stroke=\"#5b6b76\"/><rect x=\"14\" y=\"12\" width=\"18\" height=\"3\" fill=\"#8a949c\"/><rect x=\"14\" y=\"22\" width=\"18\" height=\"3\" fill=\"#8a949c\"/><rect x=\"14\" y=\"32\" width=\"18\" height=\"3\" fill=\"#8a949c\"/>"},"ladder_hot":{"occupiable":false,"solverType":"ladder","legendGroup":"ladder","name":"pool ladder","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#8fc6df\"/><rect x=\"14\" y=\"4\" width=\"4\" height=\"38\" rx=\"2\" fill=\"#dfe6ea\" stroke=\"#5b6b76\"/><rect x=\"28\" y=\"4\" width=\"4\" height=\"38\" rx=\"2\" fill=\"#dfe6ea\" stroke=\"#5b6b76\"/><rect x=\"14\" y=\"12\" width=\"18\" height=\"3\" fill=\"#8a949c\"/><rect x=\"14\" y=\"22\" width=\"18\" height=\"3\" fill=\"#8a949c\"/><rect x=\"14\" y=\"32\" width=\"18\" height=\"3\" fill=\"#8a949c\"/>"},"jet":{"occupiable":false,"name":"massage jet","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#8fc6df\"/><circle cx=\"23\" cy=\"23\" r=\"14\" fill=\"none\" stroke=\"#e8f6fb\" stroke-width=\"2.5\"/><circle cx=\"23\" cy=\"23\" r=\"8\" fill=\"none\" stroke=\"#e8f6fb\" stroke-width=\"2\"/><circle cx=\"23\" cy=\"23\" r=\"3\" fill=\"#5f9fbd\"/><circle cx=\"8\" cy=\"9\" r=\"1.8\" fill=\"#ffffff\"/><circle cx=\"37\" cy=\"11\" r=\"1.4\" fill=\"#ffffff\"/><circle cx=\"10\" cy=\"36\" r=\"1.4\" fill=\"#ffffff\"/><circle cx=\"36\" cy=\"36\" r=\"1.8\" fill=\"#ffffff\"/>"},"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\"/>"},"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\"/>"},"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\"/>"},"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\"/>"},"sink":{"occupiable":false,"name":"sink","icon":"<rect x=\"7\" y=\"9\" width=\"32\" height=\"28\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"24\" rx=\"11\" ry=\"7\" fill=\"#ffffff\" stroke=\"#8a949c\"/><circle cx=\"23\" cy=\"24\" r=\"2\" fill=\"#8a949c\"/><rect x=\"21\" y=\"10\" width=\"4\" height=\"6\" fill=\"#8a949c\"/>"},"stove":{"occupiable":false,"name":"sauna 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\"/>"},"vent":{"occupiable":false,"name":"steam vent","icon":"<rect x=\"7\" y=\"16\" width=\"32\" height=\"14\" rx=\"3\" fill=\"#b9c4cc\" stroke=\"#5b6b76\" stroke-width=\"1.5\"/><line x1=\"11\" y1=\"20\" x2=\"35\" y2=\"20\" stroke=\"#5b6b76\"/><line x1=\"11\" y1=\"26\" x2=\"35\" y2=\"26\" stroke=\"#5b6b76\"/><path d=\"M14 12 q2 -5 4 -1 M22 11 q2 -5 4 -1 M30 12 q2 -5 4 -1\" fill=\"none\" stroke=\"#9aa9b3\" stroke-width=\"1.6\"/>"},"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\"/>"},"locker":{"occupiable":false,"name":"lockers","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\"/>"},"umbrella":{"occupiable":false,"name":"parasol","icon":"<path d=\"M5 24 q18 -22 36 0 z\" fill=\"#e26d5a\" stroke=\"#8a3a2a\" stroke-width=\"1.2\"/><path d=\"M5 24 q4 -6 9 0 q4 -6 9 0 q4 -6 9 0 q4 -6 9 0\" fill=\"none\" stroke=\"#f9d7cf\" stroke-width=\"1.5\"/><line x1=\"23\" y1=\"24\" x2=\"23\" y2=\"42\" stroke=\"#5a4a3a\" stroke-width=\"2\"/>"}},"wallTypes":{"window":{"name":{},"icon":"<rect x=\"4\" y=\"18\" width=\"38\" height=\"8\" rx=\"2\" fill=\"#bfe3f2\" stroke=\"#4a7c95\"/>"},"door":{"name":{},"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\"/>"}},"objects":[{"cell":[1,2],"type":"pool"},{"cell":[1,3],"type":"pool"},{"cell":[1,4],"type":"pool"},{"cell":[1,5],"type":"pool"},{"cell":[2,2],"type":"pool"},{"cell":[2,3],"type":"pool"},{"cell":[2,4],"type":"pool"},{"cell":[2,5],"type":"pool"},{"cell":[3,2],"type":"pool"},{"cell":[3,3],"type":"pool"},{"cell":[3,4],"type":"pool"},{"cell":[3,5],"type":"pool"},{"cell":[4,2],"type":"pool"},{"cell":[4,3],"type":"pool"},{"cell":[4,4],"type":"pool"},{"cell":[4,5],"type":"pool"},{"cell":[5,3],"type":"pool"},{"cell":[5,4],"type":"pool"},{"cell":[5,5],"type":"pool"},{"cell":[6,2],"type":"pool"},{"cell":[6,3],"type":"pool"},{"cell":[6,4],"type":"pool"},{"cell":[6,5],"type":"pool"},{"cell":[5,2],"type":"ladder"},{"cell":[1,7],"type":"pool_hot"},{"cell":[1,8],"type":"pool_hot"},{"cell":[1,9],"type":"pool_hot"},{"cell":[1,10],"type":"pool_hot"},{"cell":[2,7],"type":"pool_hot"},{"cell":[2,8],"type":"pool_hot"},{"cell":[2,9],"type":"pool_hot"},{"cell":[2,10],"type":"pool_hot"},{"cell":[3,7],"type":"pool_hot"},{"cell":[3,8],"type":"pool_hot"},{"cell":[3,10],"type":"pool_hot"},{"cell":[4,7],"type":"pool_hot"},{"cell":[4,8],"type":"pool_hot"},{"cell":[4,9],"type":"pool_hot"},{"cell":[4,10],"type":"pool_hot"},{"cell":[5,7],"type":"pool_hot"},{"cell":[5,8],"type":"pool_hot"},{"cell":[5,9],"type":"pool_hot"},{"cell":[5,10],"type":"pool_hot"},{"cell":[6,7],"type":"pool_hot"},{"cell":[6,8],"type":"pool_hot"},{"cell":[6,9],"type":"pool_hot"},{"cell":[6,10],"type":"ladder_hot"},{"cell":[3,9],"type":"jet"},{"cell":[1,11],"type":"pool_cold"},{"cell":[1,12],"type":"pool_cold"},{"cell":[2,11],"type":"pool_cold"},{"cell":[2,12],"type":"pool_cold"},{"cell":[1,1],"type":"plant"},{"cell":[2,1],"type":"lounger"},{"cell":[4,1],"type":"lounger"},{"cell":[6,1],"type":"shelf"},{"cell":[1,6],"type":"chair"},{"cell":[6,6],"type":"plant"},{"cell":[3,11],"type":"umbrella"},{"cell":[3,12],"type":"lounger"},{"cell":[4,12],"type":"lounger"},{"cell":[5,11],"type":"table"},{"cell":[6,12],"type":"plant"},{"cell":[9,1],"type":"stove"},{"cell":[7,2],"type":"bench"},{"cell":[7,3],"type":"bench"},{"cell":[8,3],"type":"bench"},{"cell":[9,4],"type":"vent"},{"cell":[7,5],"type":"bench"},{"cell":[7,6],"type":"bench"},{"cell":[9,6],"type":"bench"},{"cell":[7,7],"type":"shower"},{"cell":[7,8],"type":"shower"},{"cell":[9,7],"type":"shower"},{"cell":[9,8],"type":"shower"},{"cell":[7,9],"type":"massage"},{"cell":[9,10],"type":"massage"},{"cell":[7,10],"type":"shelf"},{"cell":[7,11],"type":"lounger"},{"cell":[8,12],"type":"lounger"},{"cell":[9,12],"type":"plant"},{"cell":[7,12],"type":"table"},{"cell":[10,1],"type":"locker"},{"cell":[12,1],"type":"locker"},{"cell":[11,1],"type":"bench"},{"cell":[11,3],"type":"bench"},{"cell":[12,4],"type":"sink"},{"cell":[10,5],"type":"locker"},{"cell":[10,6],"type":"locker"},{"cell":[11,8],"type":"bench"},{"cell":[12,7],"type":"bench"},{"cell":[12,8],"type":"sink"},{"cell":[10,9],"type":"counter"},{"cell":[10,10],"type":"counter"},{"cell":[12,10],"type":"chair"},{"cell":[12,9],"type":"plant"},{"cell":[10,11],"type":"counter"},{"cell":[11,11],"type":"table"},{"cell":[11,12],"type":"chair"},{"cell":[12,11],"type":"chair"}],"wallFeatures":[{"cell":[1,1],"side":"N","type":"window"},{"cell":[1,2],"side":"N","type":"window"},{"cell":[1,3],"side":"N","type":"window"},{"cell":[1,4],"side":"N","type":"window"},{"cell":[1,5],"side":"N","type":"window"},{"cell":[1,6],"side":"N","type":"window"},{"cell":[1,7],"side":"N","type":"window"},{"cell":[1,8],"side":"N","type":"window"},{"cell":[1,9],"side":"N","type":"window"},{"cell":[1,10],"side":"N","type":"window"},{"cell":[1,11],"side":"N","type":"window"},{"cell":[1,12],"side":"N","type":"window"},{"cell":[12,9],"side":"S","type":"door"},{"cell":[12,10],"side":"S","type":"door"}],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Adam","gender":"M","role":"bather","color":"#c62828","avatar":{"bg":"#3a5a6e","skin":"#e7b98f","hair":"#5a3a22","style":"short","shirt":"#2e6b8a","swimcap":"#1f6f8b","goggles":true},"clue":"He was <b>east of Ethan</b>. Exactly <b>one column west</b> of him there was a <b>woman</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Adam\"><rect width=\"80\" height=\"80\" fill=\"#3a5a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2e6b8a\"/><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=\"#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=\"M25 31 Q25 12 40 12 Q55 12 55 31 Q48 21 40 21 Q32 21 25 31 Z\" fill=\"#1f6f8b\"/><path d=\"M28 24 Q40 16 52 24\" fill=\"none\" stroke=\"rgba(255,255,255,.35)\" stroke-width=\"1.5\"/><rect x=\"27\" y=\"20\" width=\"26\" height=\"8\" rx=\"4\" fill=\"none\" stroke=\"#1b2a33\" stroke-width=\"2\"/><rect x=\"29\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/><rect x=\"41\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Cold Plunge","Main Pool","Thermal Pool"]},{"type":"rel","q":"E","dir":"E"},{"type":"rel_any","dir":"W","exact":1,"gender":"F"}]},{"id":"B","name":"Boris","gender":"M","role":"bather","color":"#2e7d32","avatar":{"bg":"#2f5d7c","skin":"#d9a57a","hair":"#1c1a1a","style":"short","shirt":"#1d4f6e","beard":true,"goggles":true},"clue":"He was in the <b>last column</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Boris\"><rect width=\"80\" height=\"80\" fill=\"#2f5d7c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1d4f6e\"/><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=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#1c1a1a\"/><rect x=\"27\" y=\"20\" width=\"26\" height=\"8\" rx=\"4\" fill=\"none\" stroke=\"#1b2a33\" stroke-width=\"2\"/><rect x=\"29\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/><rect x=\"41\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Cold Plunge","Main Pool","Thermal Pool"]},{"type":"col","cols":[12]}]},{"id":"C","name":"Cora","gender":"F","role":"bather","color":"#1565c0","avatar":{"bg":"#8c3a5a","skin":"#f6d8c0","hair":"#b7482c","style":"curly","shirt":"#d8455f","swimcap":"#e3556f"},"clue":"Exactly <b>one column west</b> of her there was a <b>man</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Cora\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#d8455f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M25 34 q-3 -8 4 -10 q0 -8 8 -7 q3 -4 8 -1 q6 -3 9 3 q7 0 5 8 q4 4 -1 9 q-6 -14 -16 -12 q-9 -1 -17 10 Z\" fill=\"#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=\"M25 31 Q25 12 40 12 Q55 12 55 31 Q48 21 40 21 Q32 21 25 31 Z\" fill=\"#e3556f\"/><path d=\"M28 24 Q40 16 52 24\" fill=\"none\" stroke=\"rgba(255,255,255,.35)\" stroke-width=\"1.5\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Cold Plunge","Main Pool","Thermal Pool"]},{"type":"rel_any","dir":"W","exact":1,"gender":"M"}]},{"id":"D","name":"Diana","gender":"F","role":"bather","color":"#6a1b9a","avatar":{"bg":"#3f6d5a","skin":"#f0cdb0","hair":"#2b1c14","style":"short","shirt":"#2f8f7a","swimcap":"#3aa08a","earrings":true},"clue":"She was beside a <b>pool ladder</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Diana\"><rect width=\"80\" height=\"80\" fill=\"#3f6d5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f8f7a\"/><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=\"#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\"/><path d=\"M25 31 Q25 12 40 12 Q55 12 55 31 Q48 21 40 21 Q32 21 25 31 Z\" fill=\"#3aa08a\"/><path d=\"M28 24 Q40 16 52 24\" fill=\"none\" stroke=\"rgba(255,255,255,.35)\" stroke-width=\"1.5\"/><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":"area","areas":["Cold Plunge","Main Pool","Thermal Pool"]},{"type":"beside","obj":"ladder"}]},{"id":"E","name":"Ethan","gender":"M","role":"bather","color":"#e65100","avatar":{"bg":"#4e4e7a","skin":"#8a5a3c","hair":"#1a1210","style":"short","shirt":"#3b3b8f","goggles":true},"clue":"He was beside a <b>pool ladder</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ethan\"><rect width=\"80\" height=\"80\" fill=\"#4e4e7a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3b3b8f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#8a5a3c\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#8a5a3c\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 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=\"27\" y=\"20\" width=\"26\" height=\"8\" rx=\"4\" fill=\"none\" stroke=\"#1b2a33\" stroke-width=\"2\"/><rect x=\"29\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/><rect x=\"41\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Cold Plunge","Main Pool","Thermal Pool"]},{"type":"beside","obj":"ladder"}]},{"id":"F","name":"Finn","gender":"M","role":"bather","color":"#00838f","avatar":{"bg":"#3f3f3f","skin":"#e8bf9a","hair":"#2a1d16","style":"slick","shirt":"#1f2530","swimcap":"#2b2b2b","goggles":true},"clue":"He was exactly <b>one row south of Cora</b>, beside the <b>massage jet</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Finn\"><rect width=\"80\" height=\"80\" fill=\"#3f3f3f\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1f2530\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e8bf9a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e8bf9a\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#2a1d16\"/><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 31 Q25 12 40 12 Q55 12 55 31 Q48 21 40 21 Q32 21 25 31 Z\" fill=\"#2b2b2b\"/><path d=\"M28 24 Q40 16 52 24\" fill=\"none\" stroke=\"rgba(255,255,255,.35)\" stroke-width=\"1.5\"/><rect x=\"27\" y=\"20\" width=\"26\" height=\"8\" rx=\"4\" fill=\"none\" stroke=\"#1b2a33\" stroke-width=\"2\"/><rect x=\"29\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/><rect x=\"41\" y=\"21\" width=\"10\" height=\"6\" rx=\"3\" fill=\"#7fd1e8\" opacity=\".85\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Cold Plunge","Main Pool","Thermal Pool"]},{"type":"rel","q":"C","dir":"S","exact":1},{"type":"beside","obj":"jet"}]},{"id":"G","name":"Gina","gender":"F","role":"guest","color":"#ad1457","avatar":{"bg":"#c96a4a","skin":"#f1c8a5","hair":"#3b2418","style":"short","shirt":"#f4efe6","robe":"#dcd2bf","turban":"#f7f2e8"},"clue":"She was beside a <b>plant</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gina\"><rect width=\"80\" height=\"80\" fill=\"#c96a4a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#3b2418\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M24 31 Q25 7 40 7 Q55 7 56 31 Q48 20 40 20 Q32 20 24 31 Z\" fill=\"#f7f2e8\"/><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\"/><path d=\"M31 57 L40 76 L49 57 L45 57 L40 68 L35 57 Z\" fill=\"#dcd2bf\"/></svg>","solverRole":"guest","constraints":[{"type":"beside","obj":"plant"}]},{"id":"H","name":"Helen","gender":"F","role":"guest","color":"#5d4037","avatar":{"bg":"#6a4d8a","skin":"#f4d3b6","hair":"#d9b464","style":"ponytail","shirt":"#f4efe6","robe":"#dcd2bf","glasses":true},"clue":"She was <b>south of Karen</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Helen\"><rect width=\"80\" height=\"80\" fill=\"#6a4d8a\"/><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=\"#f4efe6\"/><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 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\"/><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=\"M31 57 L40 76 L49 57 L45 57 L40 68 L35 57 Z\" fill=\"#dcd2bf\"/></svg>","solverRole":"guest","constraints":[{"type":"rel","q":"K","dir":"S"}]},{"id":"I","name":"Ivan","gender":"M","role":"guest","color":"#827717","avatar":{"bg":"#7a6a3c","skin":"#e9c6a4","hair":"#c9c3b8","style":"bald","shirt":"#f4efe6","robe":"#dcd2bf","glasses":true,"mustache":true,"mustacheColor":"#8a8a8a"},"clue":"He was in the <b>bottom row</b>. Exactly <b>one column west</b> of him there was a <b>man</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ivan\"><rect width=\"80\" height=\"80\" fill=\"#7a6a3c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e9c6a4\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e9c6a4\"/><path d=\"M26 30 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#c9c3b8\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 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\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#8a8a8a\"/><path d=\"M31 57 L40 76 L49 57 L45 57 L40 68 L35 57 Z\" fill=\"#dcd2bf\"/></svg>","solverRole":"guest","constraints":[{"type":"row","rows":[12]},{"type":"rel_any","dir":"W","exact":1,"gender":"M"}]},{"id":"J","name":"Julia","gender":"F","role":"guest","color":"#283593","avatar":{"bg":"#8a5a2a","skin":"#f4d5bb","hair":"#6b3f22","style":"bob","shirt":"#f4efe6","robe":"#dcd2bf","headband":"#b8302b"},"clue":"She was <b>sitting on a bench</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Julia\"><rect width=\"80\" height=\"80\" fill=\"#8a5a2a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#6b3f22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#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=\"#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=\"M31 57 L40 76 L49 57 L45 57 L40 68 L35 57 Z\" fill=\"#dcd2bf\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#b8302b\"/></svg>","solverRole":"guest","constraints":[{"type":"on","obj":"bench"}]},{"id":"K","name":"Karen","gender":"F","role":"staff","color":"#33691e","avatar":{"bg":"#5b4a6e","skin":"#f1cfb2","hair":"#2b1c14","style":"ponytail","shirt":"#1f6f8b","earrings":true,"whistle":true},"clue":"She was beside the <b>lockers</b>.","job":"spa attendant","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Karen\"><rect width=\"80\" height=\"80\" fill=\"#5b4a6e\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#2b1c14\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1f6f8b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1cfb2\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1cfb2\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 Z\" fill=\"#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\"/><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\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"locker"}]},{"id":"V","name":"Volker","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#e4b998","hair":"#8a8a8a","style":"slick","shirt":"#2b2b3a","bow":true,"mustache":true,"mustacheColor":"#777"},"clue":"<b>The Victim.</b> He was alone with the murderer.","job":"spa manager","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Volker\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2b2b3a\"/><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=\"#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=\"#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=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#777\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"staff","constraints":[]}],"victim":"V","murderer":"J","solution":{"B":[1,12],"C":[2,4],"F":[3,8],"A":[4,10],"E":[5,3],"D":[6,9],"J":[7,5],"V":[8,6],"G":[9,11],"K":[10,2],"H":[11,1],"I":[12,7]},"walkthrough":[{"focus":{"group":"pool"},"text":"All the <b>water</b> lies in rows 1–6. The six bathers (A, B, C, D, E, F) must be in the water, so they fill the six rows of the <b>pool hall</b> – nobody else can be there: the decks and the walkway stay empty. Gina, Helen, Ivan, Karen, Julia and Volker are all in rows 7–12."},{"cand":{"B":[[1,12],[2,12]]},"text":"Six bathers, three pools, strictly increasing numbers (special rule 2). The Cold Plunge has only two rows, so at most 2 people; the big pools hold at most 4 each. The only possible splits are <b>0 + 2 + 4</b> and <b>1 + 2 + 3</b> – so the <b>Swimming Pool holds exactly two bathers</b> either way. Boris is in the <b>last column</b>, which in the pool hall means the <b>Cold Plunge</b> (R1C12 or R2C12): the split is 1 + 2 + 3, <b>Boris is alone in the cold water</b> and the Thermal Pool holds three bathers."},{"place":["K"],"cand":{"B":[[1,12],[2,12]],"H":[[11,1],[11,3],[11,4],[11,9],[11,10]],"I":[[12,5],[12,6],[12,7],[12,10],[12,11]]},"text":"Karen is beside lockers; only women may be in the women’s changing room and only men in the men’s, so she is at R10C2, R11C1 or R12C2. Helen is <b>south of Karen</b> and Ivan is in the <b>bottom row</b>, so rows 10–12 (the entrance) hold exactly Karen, Helen and Ivan: <b>Karen in row 10, Helen in row 11, Ivan in row 12</b>. Karen stands at <b>R10C2</b> – column 2 is hers. Gina, Julia and Volker are in rows 7–9, the wellness wing."},{"place":["G"],"cand":{"B":[[1,12],[2,12]],"H":[[11,1],[11,3],[11,4],[11,9],[11,10]],"I":[[12,5],[12,6],[12,7],[12,10]]},"text":"Gina is beside a plant. Outside the pool hall the plants stand in the Relax Room (R9C12) and in the Reception area (R12C9); she is in rows 7–9, so she is in the Relax Room, at R8C12 or R9C11 – column 12 belongs to Boris, so <b>Gina is at R9C11</b>. Row 9 is hers."},{"cand":{"B":[[1,12],[2,12]],"J":[[7,3],[8,3],[7,5],[7,6]],"V":[[7,1],[8,1],[7,4],[8,4],[8,5],[8,6]],"H":[[11,1],[11,3],[11,4],[11,9],[11,10]],"I":[[12,5],[12,6],[12,7],[12,10]]},"text":"Volker was alone with the murderer, and he is in row 7 or 8. The Relax Room is out (its free squares are in Gina’s and Boris’s columns), the Showers and the Massage Room would leave him alone – so he is in the Sauna or the Steam Room, and the only person who can be there with him is Julia, who sits on a bench at R7C3, R8C3, R7C5 or R7C6. <b>Volker and Julia share the Sauna or the Steam Room – Julia is the murderer!</b>"},{"cand":{"B":[[1,12],[2,12]],"E":[[5,3],[6,9]],"D":[[5,3],[5,10],[6,9]],"F":[[2,9],[3,8],[3,10],[4,9]],"J":[[7,3],[8,3],[7,5],[7,6]],"H":[[11,1],[11,3],[11,4],[11,9],[11,10]],"I":[[12,5],[12,6],[12,7],[12,10]]},"text":"Ethan and Diana are each beside a <b>ladder</b>: R4C2, R6C2, R5C3 (swimming-pool ladder) or R5C10, R6C9 (thermal-pool ladder). Column 2 is Karen’s, so both are at R5C3, R5C10 or R6C9. Adam is <b>east of Ethan</b>, and no bather is east of column 10 (the cold plunge is Boris’s alone), so Ethan is at <b>R5C3 or R6C9</b>. Finn is beside the massage jet – R2C9, R3C8, R3C10 or R4C9, in the thermal pool – and Cora is exactly one row above him, in row 1, 2 or 3."},{"place":["B"],"cand":{"E":[[5,3],[6,9]],"D":[[5,3],[5,10],[6,9]],"F":[[3,8],[3,10],[4,9]],"C":[[2,3],[2,4],[2,5],[2,7],[2,8],[2,9],[2,10],[3,3],[3,4],[3,5],[3,7],[3,8],[3,10]],"J":[[7,3],[8,3],[7,5],[7,6]],"H":[[11,1],[11,3],[11,4],[11,9],[11,10]],"I":[[12,5],[12,6],[12,7],[12,10]]},"text":"<b>Boris.</b> Diana and Ethan stand beside a ladder: Diana on R5C3, R5C10 or R6C9, Ethan on R5C3 or R6C9 (from R5C10 nobody could be east of him). However the two are arranged, one of them is at R6C9 – so column 9 is taken there, and Finn loses R4C9: Finn is in row 3 (R3C8 or R3C10), Cora, one row above him, in row 2 – and Boris, in column 12, is at <b>R1C12</b>."},{"place":["E","D"],"cand":{"F":[[3,8],[3,10]],"C":[[2,4],[2,5],[2,7],[2,8],[2,10]],"A":[[4,4],[4,5],[4,7],[4,8],[4,10]],"J":[[7,5],[7,6]],"H":[[11,1],[11,4],[11,9],[11,10]],"I":[[12,5],[12,6],[12,7],[12,10]]},"text":"Ethan: suppose he were at R6C9. Then Diana is in row 5 (R5C3 or R5C10) and row 4 is left for Adam; Adam is east of Ethan, so he would be at R4C10 – but one column west of him, in column 9, there would be Ethan, not a woman. So <b>Ethan is at R5C3</b>, beside the swimming-pool ladder, and <b>Diana at R6C9</b>. <b>Cora is in row 2</b>, Finn in row 3 and <b>Adam in row 4</b>."},{"place":["H"],"cand":{"F":[[3,8],[3,10]],"C":[[2,4],[2,5],[2,7],[2,8],[2,10]],"A":[[4,4],[4,5],[4,7],[4,8],[4,10]],"J":[[7,5],[7,6]],"V":[[8,4],[8,5],[8,6]],"I":[[12,5],[12,6],[12,7],[12,10]]},"text":"Column 3 is Ethan’s, so Julia sits on a steam-room bench, R7C5 or R7C6, and Volker is with her in the Steam Room, in row 8 (R8C4, R8C5 or R8C6). Column 1 can now only be filled by Helen: <b>Helen sits on the bench at R11C1</b>."},{"cand":{"F":[[3,8],[3,10]],"C":[[2,4],[2,5]],"A":[[4,7],[4,10]],"J":[[7,5],[7,6]],"V":[[8,4],[8,5],[8,6]],"I":[[12,5],[12,6],[12,7],[12,10]]},"text":"The Swimming Pool holds exactly two bathers: Ethan and one of Cora and Adam. If Cora were in the Thermal Pool, Adam would be in the Swimming Pool at R4C4 or R4C5 – but one column west of R4C4 stands Ethan, and one column west of R4C5 no woman can be (in column 4 only Volker could stand). So <b>Cora is in the Swimming Pool</b> (R2C4 or R2C5) and <b>Adam in the Thermal Pool</b>: R4C7 or R4C10 (R4C8 would need a woman in column 7, where only Ivan can be)."},{"cand":{"F":[[3,8],[3,10]],"C":[[2,4],[2,5]],"A":[[4,7],[4,10]],"J":[[7,5],[7,6]],"V":[[8,4],[8,5],[8,6]],"I":[[12,5],[12,6],[12,7]]},"text":"Ivan is in row 12 with a man exactly one column west of him: R12C5 (a man in column 4), R12C6 (column 5) or R12C7 (column 6) – R12C10 is out, because column 9 is Diana’s. In every case that man can only be <b>Volker</b>: Cora and Julia are women and no bather is in columns 4–6 below row 6. So Ivan is exactly one column east of Volker."},{"place":["C","J","V","I"],"cand":{"F":[[3,8],[3,10]],"A":[[4,7],[4,10]]},"text":"Columns 8, 9 and 10 have their remaining squares only in the Thermal Pool (Finn’s R3C8 and R3C10, Diana’s R6C9, Adam’s R4C10), and that pool holds exactly three bathers – so the people of those three columns fill it, and Adam cannot be at R4C7. Column 7 is then Ivan’s: <b>Ivan is at R12C7</b>. The man exactly one column west of him, in column 6, can only be Volker: <b>Volker at R8C6</b>, so <b>Julia sits at R7C5</b> – and with column 5 taken, <b>Cora is at R2C4</b>, with Ethan as the man one column west of her."},{"place":["A","F"],"text":"Adam, in row 4 of the Thermal Pool: R4C7 is Ivan’s column, so <b>Adam is at R4C10</b> – and indeed Diana, a woman, is one column west of him. Finally <b>Finn is at R3C8</b>. Everyone is placed: Volker was alone with <b>Julia</b> in the Steam Room – <b>Julia is the murderer!</b>"},{"final":true,"text":"Case closed. The temperature rule fixed the split 1 + 2 + 3 and kept Adam out of the swimming pool, the changing-room rule placed Karen – and Julia was alone with Volker in the Steam Room."}],"solver":{"rules":[{"type":"area_order","areas":["Cold Plunge","Main Pool","Thermal Pool"]},{"type":"gender_only","areas":["Women's Changing"],"genders":["F"]},{"type":"gender_only","areas":["Men's Changing"],"genders":["M"]}],"groups":{"Pool hall":["West Deck","Main Pool","Walkway","Thermal Pool","Cold Plunge","East Deck"],"Wellness":["Sauna","Steam Room","Showers","Massage","Relax Room"],"Entrance":["Women's Changing","Men's Changing","Reception","Cafe"],"Pools":["Cold Plunge","Main Pool","Thermal Pool"]},"occupiable":["pool","chair","lounger","bench","massage"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-14"}}