{"format":"murdoku-puzzle/1","id":"sauna","version":1,"difficulty":"very-easy","level":2,"size":{"rows":6,"cols":6},"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":"Le sauna au bord du lac","tagline":"Savonie, Finlande · un soir de juillet · la dernière vapeur du constructeur de sauna","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-10-24","story":"Un soir de juillet dans la maison d’été des Halonen, au bord d’un lac de Savonie. Le sauna à bois chauffait depuis l’après-midi, et le soleil ne se couchait presque pas. Quand la dernière vapeur s’est dissipée, le vieux Väinö, qui avait construit le sauna de ses propres mains cinquante ans plus tôt, a été retrouvé mort. Le bouquet de bouleau est resté accroché à son clou.","rules":{"standard":["Chaque <b>ligne</b> et chaque <b>colonne</b> contient exactement <b>une personne</b>. Dès que tu places quelqu’un, barre toute sa ligne et sa colonne.","<b>« À côté »</b> = directement à gauche, à droite, au-dessus ou en dessous, et <b>dans la même zone</b>. Les cases avec un objet (le poêle de sauna, le portemanteau, le bac à laver, le tas de bois, la table, les sapins, le rocher et les roseaux) ne peuvent pas être occupées ; les bancs et le transat, si.","Le meurtrier était <b>seul avec la victime</b> : personne d’autre ne se trouvait dans cette zone."],"special":[],"notes":["<i>« assise »</i> = se trouvait sur un banc ou dans le transat."],"example":{}},"roleNames":{"family":"membre de la famille","guest":"invité","victim":"victime"},"personGroups":[{"id":"family","name":"La famille","persons":["A","B","V"]},{"id":"guests","name":"Les invités","persons":["C","D","E"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Sauna","cells":[[1,1],[1,2],[1,3],[2,1],[2,2],[2,3],[3,1],[3,2],[4,2]],"fill":"#dccbb0","pattern":"boards","name":"Sauna"},{"id":"Changing Room","cells":[[1,4],[1,5],[2,4],[3,4]],"fill":"#e9e0c8","pattern":"boards","name":"Vestiaire"},{"id":"Porch","cells":[[1,6],[2,5],[2,6],[3,3],[3,5],[3,6],[4,3],[4,4],[4,5],[5,3],[5,4]],"fill":"#e6d6bd","pattern":"boards","name":"Véranda"},{"id":"Lakeshore","cells":[[4,1],[4,6],[5,1],[5,2],[5,5],[5,6],[6,1],[6,2],[6,3],[6,4],[6,5],[6,6]],"fill":"#d4e8c2","pattern":"marble","name":"Rive"}],"objectTypes":{"bench":{"occupiable":true,"name":"banc","icon":"<rect x=\"2\" y=\"13\" width=\"42\" height=\"21\" rx=\"3.5\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"2\" y=\"13\" width=\"42\" height=\"7\" rx=\"3\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><line x1=\"16\" y1=\"20\" x2=\"16\" y2=\"34\" stroke=\"#a9a49a\" stroke-width=\"1.3\"/><line x1=\"30\" y1=\"20\" x2=\"30\" y2=\"34\" stroke=\"#a9a49a\" stroke-width=\"1.3\"/>"},"deckchair":{"occupiable":true,"name":"transat","icon":"<rect x=\"9\" y=\"5\" width=\"28\" height=\"36\" rx=\"2\" fill=\"#f7f4ee\" stroke=\"#7a5a3a\" stroke-width=\"1.4\"/><g fill=\"#2f6fb0\"><rect x=\"9\" y=\"5\" width=\"5.6\" height=\"36\"/><rect x=\"20.2\" y=\"5\" width=\"5.6\" height=\"36\"/><rect x=\"31.4\" y=\"5\" width=\"5.6\" height=\"36\"/></g><rect x=\"6\" y=\"4\" width=\"3.4\" height=\"38\" rx=\"1.2\" fill=\"#b0804a\" stroke=\"#7a5a3a\" stroke-width=\".8\"/><rect x=\"36.6\" y=\"4\" width=\"3.4\" height=\"38\" rx=\"1.2\" fill=\"#b0804a\" stroke=\"#7a5a3a\" stroke-width=\".8\"/><rect x=\"6\" y=\"15\" width=\"34\" height=\"2.6\" fill=\"#b0804a\"/>"},"fir":{"occupiable":false,"name":"sapin","icon":"<rect x=\"21\" y=\"34\" width=\"4\" height=\"8\" fill=\"#6b4a2b\"/><path d=\"M23 4 L34 20 L28 20 L38 34 L8 34 L18 20 L12 20 Z\" fill=\"#2f6b3a\"/><path d=\"M23 4 L29 13 Q26 14 23 12 Q20 14 17 13 Z\" fill=\"#eef6f8\"/><path d=\"M14 27 Q23 25 32 27 L30 22 Q23 24 16 22 Z\" fill=\"#eef6f8\" opacity=\".9\"/>"},"firewood":{"occupiable":false,"name":"tas de bois","icon":"<g stroke=\"#5a3a1c\" stroke-width=\"1.2\"><circle cx=\"14\" cy=\"32\" r=\"6\" fill=\"#a5733f\"/><circle cx=\"26\" cy=\"32\" r=\"6\" fill=\"#a5733f\"/><circle cx=\"38\" cy=\"32\" r=\"6\" fill=\"#a5733f\"/><circle cx=\"20\" cy=\"22\" r=\"6\" fill=\"#b98455\"/><circle cx=\"32\" cy=\"22\" r=\"6\" fill=\"#b98455\"/><circle cx=\"26\" cy=\"12\" r=\"6\" fill=\"#a5733f\"/></g><g fill=\"#e0c9a6\"><circle cx=\"14\" cy=\"32\" r=\"2.4\"/><circle cx=\"26\" cy=\"32\" r=\"2.4\"/><circle cx=\"38\" cy=\"32\" r=\"2.4\"/><circle cx=\"20\" cy=\"22\" r=\"2.4\"/><circle cx=\"32\" cy=\"22\" r=\"2.4\"/><circle cx=\"26\" cy=\"12\" r=\"2.4\"/></g>"},"rack":{"occupiable":false,"name":"portemanteau","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\"/>"},"reeds":{"occupiable":false,"name":"roseaux","icon":"<g fill=\"none\" stroke=\"#4f8a3a\" stroke-width=\"1.8\" stroke-linecap=\"round\"><path d=\"M12 40 q-1 -16 -4 -26\"/><path d=\"M18 40 q0 -18 2 -30\"/><path d=\"M25 40 q1 -14 -1 -24\"/><path d=\"M31 40 q0 -16 4 -28\"/><path d=\"M37 40 q0 -10 3 -18\"/></g><g fill=\"none\" stroke=\"#6fae4f\" stroke-width=\"1.4\" stroke-linecap=\"round\"><path d=\"M12 32 q-5 -4 -8 -3\"/><path d=\"M25 30 q5 -5 9 -4\"/><path d=\"M18 28 q-4 -5 -7 -5\"/></g><g fill=\"#7a4a24\" stroke=\"#4a2a12\" stroke-width=\".8\"><rect x=\"6\" y=\"8\" width=\"3.4\" height=\"9\" rx=\"1.7\" transform=\"rotate(-14 7.700 12.500)\"/><rect x=\"18.600\" y=\"4\" width=\"3.4\" height=\"9\" rx=\"1.7\" transform=\"rotate(8 20.300 8.500)\"/><rect x=\"22.200\" y=\"10\" width=\"3.4\" height=\"9\" rx=\"1.7\" transform=\"rotate(-6 23.900 14.500)\"/><rect x=\"33.400\" y=\"6\" width=\"3.4\" height=\"9\" rx=\"1.7\" transform=\"rotate(16 35.100 10.500)\"/></g><path d=\"M3 41 q4 -3 8 0 q4 3 8 0 q4 -3 8 0 q4 3 8 0 q4 -3 8 0\" fill=\"none\" stroke=\"#6fb7e0\" stroke-width=\"1.6\" stroke-linecap=\"round\"/>"},"rock":{"occupiable":false,"name":"rocher","icon":"<path d=\"M6 36 q2 -14 12 -20 q10 -8 20 2 q6 6 4 18 z\" fill=\"#8f939a\" stroke=\"#4c5057\" stroke-width=\"1.5\"/><path d=\"M14 28 q6 -8 14 -6\" fill=\"none\" stroke=\"#b7bbc2\" stroke-width=\"2\"/>"},"saunastove":{"occupiable":false,"name":"poêle de sauna","icon":"<ellipse cx=\"23\" cy=\"41\" rx=\"15\" ry=\"3\" fill=\"#2b2b2b\" opacity=\".3\"/><rect x=\"10\" y=\"20\" width=\"26\" height=\"20\" rx=\"2\" fill=\"#4a4a4a\" stroke=\"#222\" stroke-width=\"1.5\"/><rect x=\"16\" y=\"29\" width=\"14\" height=\"8\" rx=\"1.5\" fill=\"#2a1a10\" stroke=\"#222\" stroke-width=\"1\"/><path d=\"M18 36 q2 -5 5 -2 q2 -4 5 1\" fill=\"#e8742a\" stroke=\"#c0441a\" stroke-width=\"1\"/><path d=\"M9 20 h28 l-2 -5 h-24 z\" fill=\"#5c5c5c\" stroke=\"#222\" stroke-width=\"1.3\" stroke-linejoin=\"round\"/><g fill=\"#9a9d9f\" stroke=\"#55585a\" stroke-width=\"1\"><circle cx=\"15\" cy=\"14\" r=\"3.6\"/><circle cx=\"22\" cy=\"13\" r=\"4\"/><circle cx=\"29.500\" cy=\"14\" r=\"3.6\"/><circle cx=\"18.500\" cy=\"10\" r=\"3.2\"/><circle cx=\"26\" cy=\"9.500\" r=\"3.2\"/></g><path d=\"M13 6 q2 -3 0 -5 M23 5 q2 -3 0 -5 M33 6 q2 -3 0 -5\" fill=\"none\" stroke=\"#c9ced3\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>"},"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\"/>","iconTall":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"78\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"68\" rx=\"3\" fill=\"#d1a675\"/>"},"washtub":{"occupiable":false,"name":"bac à laver","icon":"<ellipse cx=\"23\" cy=\"38\" rx=\"15\" ry=\"4\" fill=\"#5a3a1a\" opacity=\".35\"/><path d=\"M6 17 h34 l-4 20 q-13 4 -26 0 z\" fill=\"#b07a45\" stroke=\"#5a3a1a\" stroke-width=\"1.5\" stroke-linejoin=\"round\"/><path d=\"M7.5 24 h31 M9 31 h28\" stroke=\"#4a4f55\" stroke-width=\"2\"/><ellipse cx=\"23\" cy=\"17\" rx=\"17\" ry=\"4.5\" fill=\"#cfe8f2\" stroke=\"#5a3a1a\" stroke-width=\"1.5\"/><path d=\"M14 16 q3 -2 6 0 M25 17.5 q3 -2 6 0\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"1.2\" stroke-linecap=\"round\"/><rect x=\"27\" y=\"4\" width=\"10\" height=\"15\" rx=\"1.5\" fill=\"#d9b98a\" stroke=\"#5a3a1a\" stroke-width=\"1.2\" transform=\"rotate(14 32 11)\"/><path d=\"M28.500 7 h7 M28.500 10 h7 M28.500 13 h7\" stroke=\"#8a6a3a\" stroke-width=\"1\" transform=\"rotate(14 32 11)\"/>"}},"wallTypes":{},"objects":[{"cell":[1,3],"type":"saunastove"},{"cell":[1,5],"type":"rack"},{"cell":[2,1],"type":"bench"},{"cell":[2,3],"type":"washtub"},{"cell":[2,6],"type":"firewood"},{"cell":[3,2],"type":"bench"},{"cell":[4,3],"type":"table"},{"cell":[4,6],"type":"fir"},{"cell":[5,1],"type":"rock"},{"cell":[5,6],"type":"deckchair"},{"cell":[6,2],"type":"fir"},{"cell":[6,4],"type":"reeds"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Aleksi","gender":"M","role":"family","color":"#1565c0","avatar":{"bg":"#1565c0","skin":"#f3d3b5","hair":"#e2c27a","style":"short","shirt":"#f4efe6"},"clue":"Il était sur la <b>Rive</b>.","job":"étudiant en foresterie, petit-fils de Väinö","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Aleksi\"><rect width=\"80\" height=\"80\" fill=\"#1565c0\"/><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=\"#f3d3b5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f3d3b5\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#e2c27a\"/><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":"family","constraints":[{"type":"area","areas":["Lakeshore"]}]},{"id":"B","name":"Brita","gender":"F","role":"family","color":"#2e7d32","avatar":{"bg":"#2e7d32","skin":"#f6d8c0","hair":"#cfc4a8","style":"bun","shirt":"#3f6a3a","earrings":true},"clue":"Elle était dans la <b>première ligne</b>, mais <b>pas</b> à côté du <b>poêle de sauna</b>.","job":"professeure de piano, belle-fille de Väinö","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Brita\"><rect width=\"80\" height=\"80\" fill=\"#2e7d32\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3f6a3a\"/><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=\"#cfc4a8\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#cfc4a8\"/><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":"family","constraints":[{"type":"not_beside","obj":"saunastove"},{"type":"row","rows":[1]}]},{"id":"C","name":"Charlotta","gender":"F","role":"guest","color":"#c62828","avatar":{"bg":"#c62828","skin":"#f1c8a5","hair":"#2a1c14","style":"bob","shirt":"#7a1f1f","necklace":true,"glasses":true},"clue":"Elle était assise dans le <b>transat</b>.","job":"avocate d’Helsinki","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Charlotta\"><rect width=\"80\" height=\"80\" fill=\"#c62828\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#2a1c14\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a1f1f\"/><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 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#2a1c14\"/><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":"on","obj":"deckchair"}]},{"id":"D","name":"Dimitri","gender":"M","role":"guest","color":"#e65100","avatar":{"bg":"#e65100","skin":"#e4b998","hair":"#3a2a1c","style":"short","shirt":"#5d4037","beard":true,"cap":true},"clue":"Il était dans le <b>Vestiaire</b>.","job":"le voisin, pêcheur","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dimitri\"><rect width=\"80\" height=\"80\" fill=\"#e65100\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5d4037\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#3a2a1c\"/><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=\"#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":"guest","constraints":[{"type":"area","areas":["Changing Room"]}]},{"id":"E","name":"Eila","gender":"F","role":"guest","color":"#0097a7","avatar":{"bg":"#4fa3d1","skin":"#f6d8c0","hair":"#c8b88a","style":"long","shirt":"#e3f2fd"},"clue":"Elle était à côté de la <b>table</b>.","job":"infirmière du village","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Eila\"><rect width=\"80\" height=\"80\" fill=\"#4fa3d1\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#c8b88a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#e3f2fd\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#c8b88a\"/><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":"guest","constraints":[{"type":"beside","obj":"table"}]},{"id":"V","name":"Väinö","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f1c8a5","hair":"#e8e4dc","style":"bald","shirt":"#37474f","beard":true},"clue":"<b>La victime.</b> Il a été retrouvé dans le <b>Sauna</b>, à côté d’un <b>banc</b> – seul avec le meurtrier.","job":"constructeur de saunas à la retraite, l’hôte","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Väinö\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#37474f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 30 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#e8e4dc\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#e8e4dc\"/><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=\"#e8e4dc\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"family","constraints":[{"type":"area","areas":["Sauna"]},{"type":"beside","obj":"bench"}]}],"victim":"V","murderer":"B","solution":{"B":[1,1],"D":[2,4],"E":[3,3],"V":[4,2],"C":[5,6],"A":[6,5]},"walkthrough":[{"place":["C"],"cand":{"A":[[4,1],[6,1],[6,3],[6,5]],"B":[[1,1],[1,4]],"D":[[1,4],[2,4],[3,4]],"E":[[3,3],[4,4]]},"text":"Charlotta was sitting in the deckchair, and there is only one: <b>Charlotta is at R5C6</b>. Cross out row 5 and column 6."},{"place":["B"],"cand":{"A":[[6,3],[6,5]],"D":[[2,4],[3,4]],"E":[[3,3],[4,4]]},"text":"Dimitri was in the Changing Room. Its free squares R1C4, R2C4 and R3C4 (R1C5 is the coat rack) all lie in column 4, so column 4 is his – nobody else can be there. Brita was in the first row: at R1C1, R1C2 or R1C4 (R1C3 is the sauna stove, R1C5 the coat rack, column 6 is Charlotta's). R1C2 is beside the sauna stove and column 4 is Dimitri's: <b>Brita is at R1C1</b>."},{"place":["E","D"],"cand":{"A":[[6,5]]},"text":"Eila was beside the table (R4C3, on the Porch): at R3C3, R4C4 or R5C3 – R4C2 belongs to the Sauna. Row 5 is Charlotta's and column 4 is Dimitri's: <b>Eila is at R3C3</b>. That takes row 3, so <b>Dimitri is at R2C4</b>."},{"place":["A"],"cand":{},"text":"Aleksi was on the Lakeshore. Only rows 4 and 6 and columns 2 and 5 are still free: R4C2 is in the Sauna, R4C5 on the Porch, and R6C2 is a fir tree. <b>Aleksi is at R6C5</b>."},{"final":true,"text":"Case closed: the last free square, R4C2, is the victim's – in the Sauna, beside a bench, just as his card says, although we never needed it. Väinö was alone there with his daughter-in-law, the piano teacher. <b>Brita is the murderer!</b>"}],"solver":{"rules":[],"occupiable":["bench","deckchair"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-10-24"},"score":0.0009}