{"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":"Suối khoáng nóng","tagline":"Thứ Bảy · Suối khoáng nóng Aqua Vita · 17:50","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-14","story":"Mười phút trước giờ đóng cửa, quản lý khu suối khoáng nóng Aqua Vita, Volker, được phát hiện đã chết. Còn mười một người ở bên trong – người tắm trong các bể, khách ở khu thư giãn và phòng thay đồ, và một nhân viên. Một trong số họ là hung thủ. Hãy đọc từng lời khai và tìm vị trí chính xác của mọi người trên sơ đồ. Hung thủ đã ở một mình với nạn nhân, trong cùng một khu vực.","rules":{"standard":["Mỗi <b>hàng</b> và mỗi <b>cột</b> có đúng <b>một người</b>. Ngay khi đặt ai đó, hãy gạch bỏ toàn bộ hàng và cột của người đó.","<b>“Bên cạnh”</b> = ngay bên trái, bên phải, phía trên hoặc phía dưới, và <b>trong cùng khu vực</b>. Các ô có đồ đạc (tủ khóa, quầy, vòi sen…) không thể có người; nước, băng ghế, ghế nằm, ghế tựa và giường mát-xa thì được.","Các hướng chỉ hàng và cột, không cần cùng một đường thẳng: <i>“cô ấy ở phía nam của”</i> = ở một hàng thấp hơn; <i>“cách anh ấy đúng một cột về phía tây có một phụ nữ”</i> = người ở cột ngay bên trái, ở bất kỳ hàng nào."],"special":["Sáu vị khách đang <b>tắm</b>: <b>Adam, Boris, Cora, Diana, Ethan và Finn</b> đều ở <b>dưới nước</b>, mỗi người ở một trong ba bể.","Nước càng ấm, bể càng đông: <b>bể lạnh (16 °C)</b> có <b>ít</b> người hơn <b>bể bơi (26 °C)</b>, và bể bơi có <b>ít</b> người hơn <b>bể khoáng nóng (38 °C)</b>. (Một bể cũng có thể trống.)","Chỉ <b>phụ nữ</b> mới có thể ở trong <b>phòng thay đồ nữ</b>, và chỉ <b>nam giới</b> trong <b>phòng thay đồ nam</b>."]},"roleNames":{"bather":"người tắm","guest":"khách","staff":"nhân viên","victim":"nạn nhân"},"personGroups":[{"id":"bathers","name":"Người tắm","persons":["A","B","C","D","E","F"]},{"id":"guests","name":"Khách","persons":["G","H","I","J"]},{"id":"staff","name":"Nhân viên","persons":["K","V"]}],"map":{"groups":[{"id":"pool","name":"KHU BỂ BƠI","style":"building"},{"id":"wellness","name":"KHU THƯ GIÃN","style":"building"},{"id":"entrance","name":"LỐI VÀO","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":"Sàn phía tây"},{"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":"Bể bơi (26 °C)"},{"id":"Walkway","cells":[[1,6],[2,6],[3,6],[4,6],[5,6],[6,6]],"fill":"#e8e3d8","pattern":"tiles","group":"pool","name":"Lối đi"},{"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":"Bể khoáng nóng (38 °C)"},{"id":"Cold Plunge","cells":[[1,11],[1,12],[2,11],[2,12]],"fill":"#c3e6f5","group":"pool","name":"Bể lạnh (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":"Sàn phía đông"},{"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":"Phòng xông khô"},{"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":"Phòng xông hơi"},{"id":"Showers","cells":[[7,7],[7,8],[8,7],[8,8],[9,7],[9,8]],"fill":"#dde9ec","pattern":"tiles","group":"wellness","name":"Phòng tắm"},{"id":"Massage","cells":[[7,9],[7,10],[8,9],[8,10],[9,9],[9,10]],"fill":"#ecdcd0","group":"wellness","name":"Phòng mát-xa"},{"id":"Relax Room","cells":[[7,11],[7,12],[8,11],[8,12],[9,11],[9,12]],"fill":"#e3e9d3","group":"wellness","name":"Phòng nghỉ"},{"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":"Phòng thay đồ nữ"},{"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":"Phòng thay đồ nam"},{"id":"Reception","cells":[[10,9],[10,10],[11,9],[11,10],[12,9],[12,10]],"fill":"#ede6d4","pattern":"marble","group":"entrance","name":"Lễ tân"},{"id":"Cafe","cells":[[10,11],[10,12],[11,11],[11,12],[12,11],[12,12]],"fill":"#f1d9c4","pattern":"planks","group":"entrance","name":"Quán cà phê"}],"objectTypes":{"pool":{"occupiable":true,"name":"nước","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":"nước lạnh","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":"nước nóng","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":"ghế tựa","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":"ghế nằm","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":"băng ghế","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":"giường mát-xa","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":"thang bể bơi","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":"thang bể bơi","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":"vòi mát-xa","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":"bàn","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":"quầy","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":"kệ","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":"cây","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":"bồn rửa","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":"lò xông","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":"vòi hơi","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":"vòi sen","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":"tủ khóa","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":"ô che","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":"Anh ấy ở <b>phía đông của Ethan</b>. Cách anh ấy đúng <b>một cột về phía tây</b> có một <b>phụ nữ</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":"Anh ấy ở <b>cột cuối cùng</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":"Cách cô ấy đúng <b>một cột về phía tây</b> có một <b>người đàn ông</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":"Cô ấy ở bên cạnh một <b>thang bể bơi</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":"Anh ấy ở bên cạnh một <b>thang bể bơi</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":"Anh ấy ở đúng <b>một hàng phía nam của Cora</b>, bên cạnh <b>vòi mát-xa</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":"Cô ấy ở bên cạnh một <b>chậu cây</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":"Cô ấy ở <b>phía nam của 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":"Anh ấy ở <b>hàng dưới cùng</b>. Cách anh ấy đúng <b>một cột về phía tây</b> có một <b>người đàn ông</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":"Cô ấy <b>ngồi trên băng ghế</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":"Cô ấy ở bên cạnh <b>tủ khóa</b>.","job":"nhân viên suối khoáng","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>Nạn nhân.</b> Ông ấy ở một mình với hung thủ.","job":"quản lý suối khoáng","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":"Toàn bộ <b>nước</b> nằm ở các hàng 1–6. Sáu người tắm (A, B, C, D, E, F) phải ở dưới nước, nên họ lấp đầy sáu hàng của <b>khu bể bơi</b> – không ai khác có thể ở đó: các sàn và lối đi trống. Gina, Helen, Ivan, Karen, Julia và Volker đều ở các hàng 7–12."},{"cand":{"B":[[1,12],[2,12]]},"text":"Sáu người tắm, ba bể, số người tăng dần nghiêm ngặt (luật đặc biệt 2). Bể lạnh chỉ có hai hàng nên tối đa 2 người; các bể lớn mỗi bể tối đa 4 người. Các cách chia duy nhất có thể là <b>0 + 2 + 4</b> và <b>1 + 2 + 3</b> – nên dù thế nào <b>bể bơi cũng có đúng hai người tắm</b>. Boris ở <b>cột cuối cùng</b>, trong khu bể bơi nghĩa là <b>bể lạnh</b> (R1C12 hoặc R2C12): cách chia là 1 + 2 + 3, <b>Boris ở một mình trong nước lạnh</b> và bể khoáng nóng có ba người tắm."},{"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 ở bên cạnh tủ khóa; phòng thay đồ nữ chỉ có phụ nữ và phòng thay đồ nam chỉ có nam giới, nên cô ấy ở R10C2, R11C1 hoặc R12C2. Helen ở <b>phía nam của Karen</b> và Ivan ở <b>hàng dưới cùng</b>, nên các hàng 10–12 (lối vào) chứa đúng Karen, Helen và Ivan: <b>Karen ở hàng 10, Helen ở hàng 11, Ivan ở hàng 12</b>. Karen ở <b>R10C2</b> – cột 2 là của cô ấy. Gina, Julia và Volker ở các hàng 7–9, khu thư giãn."},{"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 ở bên cạnh một chậu cây. Ngoài khu bể bơi, cây được đặt ở phòng nghỉ (R9C12) và lễ tân (R12C9); cô ấy ở các hàng 7–9 nên ở phòng nghỉ, tại R8C12 hoặc R9C11 – cột 12 thuộc về Boris, nên <b>Gina ở R9C11</b>. Hàng 9 là của cô ấy."},{"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 ở một mình với hung thủ, và ông ấy ở hàng 7 hoặc 8. Phòng nghỉ bị loại (các ô trống của nó nằm ở cột của Gina và Boris), ở phòng tắm hay phòng mát-xa thì ông ấy sẽ một mình – vậy ông ấy ở phòng xông khô hoặc phòng xông hơi, và người duy nhất có thể ở đó cùng ông là Julia, ngồi trên băng ghế ở R7C3, R8C3, R7C5 hoặc R7C6. <b>Volker và Julia cùng ở phòng xông khô hoặc phòng xông hơi – Julia là hung thủ!</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 và Diana mỗi người ở bên cạnh một <b>chiếc thang</b>: R4C2, R6C2, R5C3 (thang bể bơi) hoặc R5C10, R6C9 (thang bể khoáng nóng). Cột 2 là của Karen nên cả hai ở R5C3, R5C10 hoặc R6C9. Adam ở <b>phía đông của Ethan</b>, và không người tắm nào ở phía đông cột 10 (bể lạnh chỉ có Boris), nên Ethan ở <b>R5C3 hoặc R6C9</b>. Finn ở bên cạnh vòi mát-xa – R2C9, R3C8, R3C10 hoặc R4C9, trong bể khoáng nóng – và Cora ở đúng một hàng phía trên anh ấy, hàng 1, 2 hoặc 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 và Ethan ở bên cạnh một chiếc thang: Diana ở R5C3, R5C10 hoặc R6C9, Ethan ở R5C3 hoặc R6C9 (từ R5C10 sẽ không có ai ở phía đông anh ấy). Dù hai người được sắp xếp thế nào, một trong hai người vẫn ở R6C9 – vậy cột 9 đã có người ở đó, và Finn mất R4C9: Finn ở hàng 3 (R3C8 hoặc R3C10), Cora, một hàng phía trên anh ấy, ở hàng 2 – và Boris, ở cột 12, ở <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: giả sử anh ấy ở R6C9. Khi đó Diana ở hàng 5 (R5C3 hoặc R5C10) và hàng 4 còn lại cho Adam; Adam ở phía đông của Ethan, nên anh ấy sẽ ở R4C10 – nhưng cách anh ấy một cột về phía tây, ở cột 9, sẽ là Ethan chứ không phải một phụ nữ. Vậy <b>Ethan ở R5C3</b>, bên cạnh thang bể bơi, và <b>Diana ở R6C9</b>. <b>Cora ở hàng 2</b>, Finn ở hàng 3 và <b>Adam ở hàng 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":"Cột 3 là của Ethan, nên Julia ngồi trên băng ghế ở phòng xông hơi, R7C5 hoặc R7C6, và Volker ở cùng cô trong phòng xông hơi, hàng 8 (R8C4, R8C5 hoặc R8C6). Cột 1 giờ chỉ còn Helen có thể lấp: <b>Helen ngồi trên băng ghế 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":"Bể bơi có đúng hai người tắm: Ethan và một trong hai người Cora hoặc Adam. Nếu Cora ở bể khoáng nóng thì Adam ở bể bơi tại R4C4 hoặc R4C5 – nhưng cách R4C4 một cột về phía tây là Ethan, còn cách R4C5 một cột về phía tây không thể có phụ nữ nào (ở cột 4 chỉ có thể là Volker). Vậy <b>Cora ở bể bơi</b> (R2C4 hoặc R2C5) và <b>Adam ở bể khoáng nóng</b>: R4C7 hoặc R4C10 (R4C8 sẽ cần một phụ nữ ở cột 7, nơi chỉ có thể là Ivan)."},{"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 ở hàng 12 với một người đàn ông cách đúng một cột về phía tây: R12C5 (một người đàn ông ở cột 4), R12C6 (cột 5) hoặc R12C7 (cột 6) – R12C10 bị loại vì cột 9 là của Diana. Trong mọi trường hợp người đàn ông đó chỉ có thể là <b>Volker</b>: Cora và Julia là phụ nữ, và không người tắm nào ở các cột 4–6 bên dưới hàng 6. Vậy Ivan ở đúng một cột phía đông của Volker."},{"place":["C","J","V","I"],"cand":{"F":[[3,8],[3,10]],"A":[[4,7],[4,10]]},"text":"Cột 8, 9 và 10 chỉ còn ô trống trong bể khoáng nóng (R3C8 và R3C10 của Finn, R6C9 của Diana, R4C10 của Adam), và bể đó chứa đúng ba người tắm – vậy chính những người của ba cột này sẽ lấp đầy nó, và Adam không thể ở R4C7. Cột 7 khi đó thuộc về Ivan: <b>Ivan ở R12C7</b>. Người đàn ông cách anh ấy đúng một cột về phía tây, ở cột 6, chỉ có thể là Volker: <b>Volker ở R8C6</b>, vậy <b>Julia ngồi ở R7C5</b> – và với cột 5 đã có người, <b>Cora ở R2C4</b>, với Ethan là người đàn ông một cột về phía tây cô ấy."},{"place":["A","F"],"text":"Adam, ở hàng 4 của bể khoáng nóng: R4C7 là cột của Ivan, nên <b>Adam ở R4C10</b> – và quả thực Diana, một phụ nữ, ở cách anh ấy một cột về phía tây. Cuối cùng <b>Finn ở R3C8</b>. Mọi người đã vào chỗ: Volker ở một mình với <b>Julia</b> trong phòng xông hơi – <b>Julia là hung thủ!</b>"},{"final":true,"text":"Vụ án khép lại. Luật nhiệt độ ấn định cách chia 1 + 2 + 3 và giữ Adam ngoài bể bơi, luật phòng thay đồ đặt Karen vào chỗ – và Julia ở một mình với Volker trong phòng xông hơi."}],"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"}}