{"format":"murdoku-puzzle/1","id":"dance","version":1,"difficulty":"easy","level":4,"size":{"rows":8,"cols":8},"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":"Tanssistudio","tagline":"Tanssistudio · päätösgaalan ilta · omistaja jäi paitsi omasta päätöskumarruksestaan","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-10-06","story":"Tanssistudio oli valmistautunut päätösgaalaansa viikkoja, ja esityksen iltana koko rakennus humisi: neljä tanssijaa lämmitteli, opettaja korjasi viimeisiä askelia, pianisti ja vastaanottovirkailija hääräsivät viimeisten valmistelujen parissa. Véronique, joka oli perustanut studion kaksikymmentä vuotta aiemmin, halusi vaihtaa iltapukuunsa ennen vieraiden saapumista ja katosi pukuhuoneeseen. Kun ensimmäiset katsojat soittivat ovikelloa, joku meni hakemaan häntä – ja löysi hänet kuolleena pukukaappien vierestä. Esitys peruttiin, ovet lukittiin, ja tarkastaja kirjasi ylös, missä neljä tanssijaa ja kolme työntekijää olivat olleet.","rules":{"standard":["Jokaisella <b>rivillä</b> ja jokaisessa <b>sarakkeessa</b> on täsmälleen <b>yksi henkilö</b>. Heti kun sijoitat jonkun, yliviivaa koko hänen rivinsä ja sarakkeensa.","<b>”Vieressä”</b> = suoraan vasemmalla, oikealla, yläpuolella tai alapuolella, ja <b>samalla alueella</b>. Esineiden ruudut (tiski, lamppu, kukkaistutus, kirjoituspöytä, peilit, pukukaapit, piano, aurinkovarjo, istutuslaatikko, kaiutin ja ruukkukasvi) eivät voi olla miehitettyjä; sohva ja penkit sen sijaan voivat.","Suunnat viittaavat riveihin ja sarakkeisiin, eivät samaan linjaan: <i>”täsmälleen yhden rivin päässä hänen pohjoispuolellaan oli nainen”</i> = suoraan ylemmällä rivillä oleva henkilö on nainen, missä tahansa sarakkeessa.","Murhaaja oli <b>yksin uhrin kanssa</b>: kukaan muu ei ollut sillä alueella."],"special":[]},"roleNames":{"dancer":"tanssija","staff":"työntekijä","victim":"uhri"},"personGroups":[{"id":"dancers","name":"Tanssijat","persons":["A","B","C","D"]},{"id":"staff","name":"Työntekijät","persons":["E","F","G"]},{"id":"owner","name":"Omistaja","persons":["V"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Lobby","cells":[[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[2,3],[2,4]],"fill":"#ece7dd","pattern":"tiles","labelAt":[1,2],"name":"Aula"},{"id":"Office","cells":[[1,5],[1,6],[2,5],[2,6],[3,6]],"fill":"#e2d6c4","pattern":"planks","labelAt":[2,6],"name":"Toimisto"},{"id":"Studio","cells":[[3,3],[3,4],[3,5],[4,3],[4,4],[4,5],[4,6],[4,7],[5,3],[5,4],[5,5],[5,6],[5,7],[6,2],[6,3],[6,4],[6,5],[6,6],[6,7],[7,2],[7,3],[7,4],[7,5],[8,4],[8,5]],"fill":"#efe2cb","pattern":"boards","labelAt":[5,4],"name":"Tanssisali"},{"id":"Changing Room","cells":[[3,1],[3,2],[4,1],[4,2],[5,1],[5,2],[6,1],[7,1],[8,1],[8,2],[8,3]],"fill":"#dfe6ea","pattern":"tiles","labelAt":[5,1],"name":"Pukuhuone"},{"id":"Terrace","cells":[[1,7],[1,8],[2,7],[2,8],[3,7],[3,8],[4,8],[5,8],[6,8],[7,6],[7,7],[7,8],[8,6],[8,7],[8,8]],"fill":"#e3e9d6","pattern":"marble","labelAt":[5,8],"name":"Terassi"}],"objectTypes":{"bench":{"occupiable":true,"name":"penkki","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\"/>"},"sofa":{"occupiable":true,"name":"sohva","icon":"<rect x=\"3\" y=\"14\" width=\"40\" height=\"20\" rx=\"6\" fill=\"#7a5a9a\" stroke=\"#4a3560\" stroke-width=\"1.5\"/><rect x=\"7\" y=\"9\" width=\"32\" height=\"10\" rx=\"4\" fill=\"#9a7abd\" stroke=\"#4a3560\" stroke-width=\"1.5\"/><line x1=\"8\" y1=\"34\" x2=\"8\" y2=\"39\" stroke=\"#4a3560\" stroke-width=\"2\"/><line x1=\"38\" y1=\"34\" x2=\"38\" y2=\"39\" stroke=\"#4a3560\" stroke-width=\"2\"/>"},"counter":{"occupiable":false,"name":"tiski","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\"/>"},"desk":{"occupiable":false,"name":"kirjoituspöytä","icon":"<rect x=\"5\" y=\"12\" width=\"36\" height=\"22\" rx=\"3\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"16\" width=\"14\" height=\"10\" fill=\"#f4efe6\" stroke=\"#8c8a82\"/><rect x=\"27\" y=\"17\" width=\"10\" height=\"4\" fill=\"#3d444b\"/>"},"flowers":{"occupiable":false,"name":"kukkaistutus","icon":"<rect x=\"2\" y=\"8\" width=\"42\" height=\"30\" rx=\"7\" fill=\"#b9a38a\" stroke=\"#6e5a44\" stroke-width=\"1.5\"/><path d=\"M8 11.5 h30 q4 0 4 4 v15 q0 4 -4 4 h-30 q-4 0 -4 -4 v-15 q0 -4 4 -4 z\" fill=\"#6b4a2e\"/><path d=\"M2.6 18 h3 M2.6 28 h3 M40.4 18 h3 M40.4 28 h3 M15 8.6 v2.6 M31 8.6 v2.6 M15 34.8 v2.6 M31 34.8 v2.6\" stroke=\"#6e5a44\" stroke-width=\"1\"/><ellipse cx=\"8.3\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 8.3 19.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"12.7\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 12.7 19.2)\" fill=\"#4f9e58\"/><ellipse cx=\"16.8\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 16.8 18.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"21.2\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 21.2 18.2)\" fill=\"#4f9e58\"/><ellipse cx=\"25.3\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 25.3 19.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"29.7\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 29.7 19.2)\" fill=\"#4f9e58\"/><ellipse cx=\"33.8\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 33.8 18.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"38.2\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 38.2 18.2)\" fill=\"#4f9e58\"/><ellipse cx=\"12.3\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 12.3 26.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"16.7\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 16.7 26.2)\" fill=\"#4f9e58\"/><ellipse cx=\"20.8\" cy=\"25.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 20.8 25.7)\" fill=\"#3f8a4a\"/><ellipse cx=\"25.2\" cy=\"25.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 25.2 25.7)\" fill=\"#4f9e58\"/><ellipse cx=\"29.3\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 29.3 26.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"33.7\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 33.7 26.2)\" fill=\"#4f9e58\"/><ellipse cx=\"8.3\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 8.3 32.7)\" fill=\"#3f8a4a\"/><ellipse cx=\"12.7\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 12.7 32.7)\" fill=\"#4f9e58\"/><ellipse cx=\"16.8\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 16.8 33.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"21.2\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 21.2 33.2)\" fill=\"#4f9e58\"/><ellipse cx=\"25.3\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 25.3 32.7)\" fill=\"#3f8a4a\"/><ellipse cx=\"29.7\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 29.7 32.7)\" fill=\"#4f9e58\"/><ellipse cx=\"33.8\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 33.8 33.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"38.2\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 38.2 33.2)\" fill=\"#4f9e58\"/><g fill=\"#e0526a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"12.40\" cy=\"17.00\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"18.81\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"18.12\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"15.88\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"15.19\" r=\"1.7\"/></g><circle cx=\"10.5\" cy=\"17\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f2d24a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"20.90\" cy=\"16.00\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"17.81\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"17.12\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"14.88\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"14.19\" r=\"1.7\"/></g><circle cx=\"19\" cy=\"16\" r=\"1.1\" fill=\"#f2a53a\"/><g fill=\"#b05fc4\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"29.40\" cy=\"17.00\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"18.81\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"18.12\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"15.88\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"15.19\" r=\"1.7\"/></g><circle cx=\"27.5\" cy=\"17\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f28c3a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"37.90\" cy=\"16.00\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"17.81\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"17.12\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"14.88\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"14.19\" r=\"1.7\"/></g><circle cx=\"36\" cy=\"16\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#fbfaf6\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"16.40\" cy=\"24.00\" r=\"1.7\"/><circle cx=\"15.09\" cy=\"25.81\" r=\"1.7\"/><circle cx=\"12.96\" cy=\"25.12\" r=\"1.7\"/><circle cx=\"12.96\" cy=\"22.88\" r=\"1.7\"/><circle cx=\"15.09\" cy=\"22.19\" r=\"1.7\"/></g><circle cx=\"14.5\" cy=\"24\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#d94a8a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"24.90\" cy=\"23.50\" r=\"1.7\"/><circle cx=\"23.59\" cy=\"25.31\" r=\"1.7\"/><circle cx=\"21.46\" cy=\"24.62\" r=\"1.7\"/><circle cx=\"21.46\" cy=\"22.38\" r=\"1.7\"/><circle cx=\"23.59\" cy=\"21.69\" r=\"1.7\"/></g><circle cx=\"23\" cy=\"23.5\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#e0526a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"33.40\" cy=\"24.00\" r=\"1.7\"/><circle cx=\"32.09\" cy=\"25.81\" r=\"1.7\"/><circle cx=\"29.96\" cy=\"25.12\" r=\"1.7\"/><circle cx=\"29.96\" cy=\"22.88\" r=\"1.7\"/><circle cx=\"32.09\" cy=\"22.19\" r=\"1.7\"/></g><circle cx=\"31.5\" cy=\"24\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f2d24a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"12.40\" cy=\"30.50\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"32.31\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"31.62\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"29.38\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"28.69\" r=\"1.7\"/></g><circle cx=\"10.5\" cy=\"30.5\" r=\"1.1\" fill=\"#f2a53a\"/><g fill=\"#b05fc4\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"20.90\" cy=\"31.00\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"32.81\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"32.12\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"29.88\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"29.19\" r=\"1.7\"/></g><circle cx=\"19\" cy=\"31\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f28c3a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"29.40\" cy=\"30.50\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"32.31\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"31.62\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"29.38\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"28.69\" r=\"1.7\"/></g><circle cx=\"27.5\" cy=\"30.5\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#fbfaf6\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"37.90\" cy=\"31.00\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"32.81\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"32.12\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"29.88\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"29.19\" r=\"1.7\"/></g><circle cx=\"36\" cy=\"31\" r=\"1.1\" fill=\"#f7e07a\"/>"},"lamp":{"occupiable":false,"name":"lamppu","icon":"<circle cx=\"23\" cy=\"12\" r=\"9\" fill=\"#f7e9a8\" opacity=\".5\"/><rect x=\"21\" y=\"16\" width=\"4\" height=\"24\" fill=\"#2f3b4a\"/><rect x=\"14\" y=\"39\" width=\"18\" height=\"4\" rx=\"1.5\" fill=\"#2f3b4a\"/><circle cx=\"23\" cy=\"12\" r=\"5\" fill=\"#f2c94c\" stroke=\"#2f3b4a\" stroke-width=\"1.4\"/>"},"locker":{"occupiable":false,"name":"pukukaappi","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\"/>"},"mirror":{"occupiable":false,"name":"peili","icon":"<rect x=\"12\" y=\"4\" width=\"22\" height=\"38\" rx=\"9\" fill=\"#c9a03a\" stroke=\"#7a5a12\" stroke-width=\"1.5\"/><rect x=\"15\" y=\"7\" width=\"16\" height=\"32\" rx=\"7\" fill=\"#dfe9ee\"/><path d=\"M19 11 q-3 8 0 20\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2.5\" opacity=\".8\"/>"},"piano":{"occupiable":false,"name":"piano","icon":"<path d=\"M8 8 h22 q10 0 12 12 v18 h-34 z\" fill=\"#1c1c1c\" stroke=\"#0b0b0b\" stroke-width=\"1.5\"/><rect x=\"10\" y=\"32\" width=\"18\" height=\"5\" fill=\"#f4efe6\"/><g fill=\"#1c1c1c\"><rect x=\"12\" y=\"32\" width=\"2\" height=\"3\"/><rect x=\"16\" y=\"32\" width=\"2\" height=\"3\"/><rect x=\"22\" y=\"32\" width=\"2\" height=\"3\"/></g>"},"plant":{"occupiable":false,"name":"ruukkukasvi","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\"/>"},"planter":{"occupiable":false,"name":"istutuslaatikko","icon":"<path d=\"M6 25 q3 -9 11 -7 q5 -6 11 -1 q9 -1 11 8 z\" fill=\"#3f8a4a\" stroke=\"#2c6434\" stroke-width=\"1\"/><circle cx=\"14\" cy=\"19\" r=\"1.9\" fill=\"#e0526a\"/><circle cx=\"24\" cy=\"15\" r=\"1.9\" fill=\"#f2d24a\"/><circle cx=\"33\" cy=\"19\" r=\"1.9\" fill=\"#e0526a\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"14\" rx=\"2\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.5\"/><path d=\"M4 30 h38 M4 34.5 h38\" stroke=\"#7a5630\" stroke-width=\"1\"/><rect x=\"4\" y=\"25\" width=\"4\" height=\"14\" fill=\"#8a5a2f\" stroke=\"#4e3a1e\" stroke-width=\"1\"/><rect x=\"38\" y=\"25\" width=\"4\" height=\"14\" fill=\"#8a5a2f\" stroke=\"#4e3a1e\" stroke-width=\"1\"/><rect x=\"8\" y=\"39\" width=\"4\" height=\"3\" fill=\"#4e3a1e\"/><rect x=\"34\" y=\"39\" width=\"4\" height=\"3\" fill=\"#4e3a1e\"/>"},"speaker":{"occupiable":false,"name":"kaiutin","icon":"<rect x=\"11\" y=\"3\" width=\"24\" height=\"40\" rx=\"3\" fill=\"#2f3338\" stroke=\"#111\" stroke-width=\"1.4\"/><circle cx=\"23\" cy=\"13\" r=\"5\" fill=\"#555\" stroke=\"#111\" stroke-width=\"1\"/><circle cx=\"23\" cy=\"13\" r=\"1.8\" fill=\"#111\"/><circle cx=\"23\" cy=\"30\" r=\"8.5\" fill=\"#555\" stroke=\"#111\" stroke-width=\"1\"/><circle cx=\"23\" cy=\"30\" r=\"5\" fill=\"#3b3f44\"/><circle cx=\"23\" cy=\"30\" r=\"2\" fill=\"#111\"/><path d=\"M38 17 q3 5 0 10 M41 14 q5 8 0 16 M8 17 q-3 5 0 10 M5 14 q-5 8 0 16\" fill=\"none\" stroke=\"#e0b050\" stroke-width=\"1.4\" stroke-linecap=\"round\"/>"},"umbrella":{"occupiable":false,"name":"aurinkovarjo","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":{},"objects":[{"cell":[1,3],"type":"counter"},{"cell":[1,6],"type":"lamp"},{"cell":[1,8],"type":"flowers"},{"cell":[2,1],"type":"sofa"},{"cell":[2,5],"type":"desk"},{"cell":[3,3],"type":"mirror"},{"cell":[3,7],"type":"bench"},{"cell":[4,1],"type":"locker"},{"cell":[5,2],"type":"bench"},{"cell":[5,3],"type":"mirror"},{"cell":[6,1],"type":"locker"},{"cell":[6,2],"type":"piano"},{"cell":[6,8],"type":"umbrella"},{"cell":[7,8],"type":"planter"},{"cell":[8,5],"type":"speaker"},{"cell":[8,7],"type":"plant"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Amélie","gender":"F","role":"dancer","color":"#c62828","avatar":{"bg":"#ad1457","skin":"#f6d8c0","hair":"#7a4a2a","style":"bun","shirt":"#f3c4d6","necklace":true},"clue":"<b>Kaiutin</b> oli jossain hänen <b>sarakkeessaan</b>. Hänen alueellaan <b>ei ollut yhtään miestä</b>.","job":"balettitanssija","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Amélie\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f3c4d6\"/><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=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#7a4a2a\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#7a4a2a\"/><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":"dancer","constraints":[{"type":"col_has","obj":"speaker"},{"type":"no_gender_in_area","gender":"M"}]},{"id":"B","name":"Benoît","gender":"M","role":"dancer","color":"#2e7d32","avatar":{"bg":"#1b2a33","skin":"#e4b998","hair":"#1c1a1a","style":"slick","shirt":"#1b1b1b","mustache":true,"mustacheColor":"#1c1a1a"},"clue":"Hän istui <b>penkillä</b>. Hän oli <b>terassilla</b>.","job":"tangotanssija","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Benoît\"><rect width=\"80\" height=\"80\" fill=\"#1b2a33\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#1c1a1a\"/></svg>","solverRole":"dancer","constraints":[{"type":"on","obj":"bench"},{"type":"area","areas":["Terrace"]}]},{"id":"C","name":"Clémence","gender":"F","role":"dancer","color":"#1565c0","avatar":{"bg":"#6e2c4b","skin":"#f3d3b5","hair":"#1c1a1a","style":"ponytail","shirt":"#5b2c6f","headband":"#e0b050"},"clue":"Hänen alueellaan <b>ei ollut yhtään miestä</b>.","job":"nykytanssija","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Clémence\"><rect width=\"80\" height=\"80\" fill=\"#6e2c4b\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#1c1a1a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5b2c6f\"/><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 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#e0b050\"/></svg>","solverRole":"dancer","constraints":[{"type":"no_gender_in_area","gender":"M"}]},{"id":"D","name":"Didier","gender":"M","role":"dancer","color":"#6a1b9a","avatar":{"bg":"#35607a","skin":"#f1c8a5","hair":"#b7482c","style":"short","shirt":"#2f3b4c","beard":true,"bow":true},"clue":"Hän oli <b>aulassa</b>.","job":"steppitanssija","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Didier\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><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=\"#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=\"#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=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#b7482c\"/></svg>","solverRole":"dancer","constraints":[{"type":"area","areas":["Lobby"]}]},{"id":"E","name":"Éléonore","gender":"F","role":"staff","color":"#e65100","avatar":{"bg":"#3d2a5a","skin":"#f0cdb0","hair":"#8a8278","style":"bob","shirt":"#4a5a7a","glasses":true,"scarf":"#c62828"},"clue":"<b>Penkki</b> oli jossain hänen <b>rivillään</b>. <b>Täsmälleen yhden rivin päässä</b> hänen pohjoispuolellaan oli <b>omistaja</b>.","job":"tanssinopettaja","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Éléonore\"><rect width=\"80\" height=\"80\" fill=\"#3d2a5a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#8a8278\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#4a5a7a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#8a8278\"/><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=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#c62828\"/></svg>","solverRole":"staff","constraints":[{"type":"row_has","obj":"bench"},{"type":"rel_any","dir":"N","exact":1,"role":"owner"}]},{"id":"F","name":"Fabien","gender":"M","role":"staff","color":"#00838f","avatar":{"bg":"#5d4037","skin":"#e7b98f","hair":"#3a2a1c","style":"short","shirt":"#f4efe6","glasses":true,"beard":true,"bow":true},"clue":"Hän oli <b>ainoa</b> <b>peilin</b> vieressä. Hänen alueellaan oli <b>toinen työntekijä</b>.","job":"studion pianisti","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Fabien\"><rect width=\"80\" height=\"80\" fill=\"#5d4037\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><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=\"#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=\"#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\"/><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=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#3a2a1c\"/></svg>","solverRole":"staff","constraints":[{"type":"only_beside","obj":"mirror"},{"type":"with_role","role":"staff"}]},{"id":"G","name":"Gaëlle","gender":"F","role":"staff","color":"#ad1457","avatar":{"bg":"#00695c","skin":"#f6d8c0","hair":"#d9b464","style":"long","shirt":"#2e7d32","earrings":true},"clue":"Hän <b>ei ollut yksin</b> alueellaan.","job":"vastaanottovirkailija","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gaëlle\"><rect width=\"80\" height=\"80\" fill=\"#00695c\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2e7d32\"/><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=\"#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=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"staff","constraints":[{"type":"not_alone"}]},{"id":"V","name":"Véronique","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f3d3b5","hair":"#d9d4cc","style":"bun","shirt":"#8b1a1a","necklace":true,"earrings":true},"clue":"<b>Uhri.</b> Hänet löydettiin <b>pukuhuoneesta</b>, <b>pukukaapin</b> vierestä – yksin murhaajan kanssa.","job":"studion omistaja","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Véronique\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8b1a1a\"/><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=\"#f3d3b5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f3d3b5\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#d9d4cc\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#d9d4cc\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"owner","constraints":[{"type":"area","areas":["Changing Room"]},{"type":"beside","obj":"locker"}]}],"victim":"V","murderer":"C","solution":{"A":[1,5],"D":[2,4],"B":[3,7],"V":[4,2],"E":[5,6],"F":[6,3],"C":[7,1],"G":[8,8]},"walkthrough":[{"place":["B","A"],"cand":{"C":[[4,2],[4,4],[4,6],[4,8],[6,4],[6,6],[7,1],[7,2],[7,4],[7,6],[8,1],[8,2],[8,4],[8,6],[8,8]],"D":[[2,1],[2,2],[2,4]],"E":[[5,1],[5,2],[5,6],[5,8]],"F":[[4,3],[6,3]],"G":[[4,2],[4,4],[4,6],[4,8],[6,4],[6,6],[7,1],[7,2],[7,4],[7,6],[8,1],[8,2],[8,4],[8,6],[8,8]],"V":[[4,2],[7,1]]},"text":"Véronique löydettiin pukuhuoneesta pukukaapin vierestä: pukukaapit ovat ruuduissa R4C1 ja R6C1, joten hän on ruudussa R3C1, R4C2, R5C1 tai R7C1 – ja murhaaja oli siellä yksin hänen kanssaan, joten pukuhuoneessa on täsmälleen kaksi henkilöä. Benoît istui penkillä terassilla, ja terassilla on vain yksi penkki, ruudussa R3C7: <b>Benoît on ruudussa R3C7</b>. Fabien oli peilin vieressä – peilit ovat ruuduissa R3C3 ja R5C3, joten hän on ruudussa R4C3, R5C4 tai R6C3 (R3C4 on Benoîtin rivillä), tanssisalissa. Amélien sarakkeessa oli kaiutin (R8C5), joten hän on sarakkeessa 5; mutta hänen alueellaan ei ollut yhtään miestä, ja Fabien on tanssisalissa, joten hän ei ole siellä – sarakkeesta 5 vain R1C5 on tanssisalin ulkopuolella: <b>Amélie on ruudussa R1C5</b>, toimistossa. Éléonoren rivillä oli penkki: penkit ovat riveillä 3 ja 5, ja rivi 3 on Benoîtin, joten hän on rivillä 5. Tämä poistaa Fabienilta ruudun R5C4 – hän on ruudussa R4C3 tai R6C3, joten sarake 3 on hänen – ja Véroniquelta ruudun R5C1: hän on ruudussa R4C2 tai R7C1. Didier oli aulassa; rivi 1 on Amélien ja sarake 3 Fabienin, joten hän on ruudussa R2C1, R2C2 tai R2C4, rivillä 2."},{"place":["V","F"],"cand":{"C":[[7,1],[8,1]],"D":[[2,1],[2,4]],"E":[[5,6],[5,8]],"G":[[7,4],[7,6],[8,4],[8,6],[8,8]]},"text":"Täsmälleen yhden rivin päässä Éléonoren pohjoispuolella oli omistaja – ja studion omistaja on Véronique itse: Amélie, Benoît, Clémence ja Didier ovat tanssijoita, Éléonore, Fabien ja Gaëlle ovat työntekijöitä. Éléonore on rivillä 5, joten Véronique on suoraan sen yläpuolella olevalla rivillä, rivillä 4; hänen kahdesta ruudustaan vain R4C2 on siellä (R7C1 on rivillä 7): <b>Véronique on ruudussa R4C2</b>, ruudun R4C1 pukukaapin vieressä. Rivi 4 on hänen, joten R4C3 putoaa Fabienilta pois: <b>Fabien on ruudussa R6C3</b>, ruudun R5C3 peilin vieressä. Missä Clémence oli? Hänen alueellaan ei ollut yhtään miestä, joten hän ei ole tanssisalissa (Fabien), terassilla (Benoît) eikä aulassa (Didier); myös toimisto putoaa pois: R1C5 on Amélien, R3C6 on Benoîtin rivillä ja R2C6 Didierin rivillä. Hän on pukuhuoneessa – ja siellä olivat vain Véronique ja murhaaja: <b>Clémence on murhaaja</b>, eikä pukuhuoneessa ole ketään muuta."},{"place":["D","E"],"cand":{"C":[[7,1],[8,1]],"G":[[8,8]]},"text":"Clémencen ruudut pukuhuoneessa: R3C1 ja R3C2 ovat Benoîtin rivillä, R5C1 ja R5C2 Éléonoren rivillä, R8C2 Véroniquen sarakkeessa ja R8C3 Fabienin sarakkeessa – hän on ruudussa R7C1 tai R8C1, joten sarake 1 on hänen. Didier, rivillä 2, menettää ruudun R2C1 hänelle ja ruudun R2C2 Véroniquelle: <b>Didier on ruudussa R2C4</b>. Fabien sanoi, että hänen alueellaan, tanssisalissa, oli toinen työntekijä – kuka se voi olla, Éléonore vai Gaëlle? Ei Gaëlle: rivit 1–4 ja 6 sekä sarakkeet 2–5 ja 7 ovat varattuja, joten ainoa vapaa ruutu tanssisalissa on R5C6 – Éléonoren rivillä. Fabienin kanssa oleva työntekijä on siis Éléonore: <b>Éléonore on ruudussa R5C6</b>."},{"place":["G","C"],"text":"Gaëlle ei ollut yksin alueellaan. Rivit 1–6 ja sarakkeet 2–7 ovat varattuja, joten hän on ruudussa R7C1, R8C1 tai R8C8 (R7C8 on istutuslaatikko); R7C1 ja R8C1 ovat pukuhuoneessa, jossa olivat vain Véronique ja Clémence – <b>Gaëlle on ruudussa R8C8</b>, terassilla Benoîtin kanssa, todellakin ei yksin. Rivi 8 on hänen, joten <b>Clémence on ruudussa R7C1</b>, ruudun R6C1 pukukaapin vieressä – yksin Véroniquen kanssa pukuhuoneessa. Kaikki on sijoitettu."},{"final":true,"text":"Tapaus ratkaistu: Véronique oli yksin pukuhuoneessa nykytanssijan kanssa. <b>Clémence on murhaaja!</b>"}],"solver":{"rules":[],"occupiable":["bench","sofa"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-10-06"},"score":9.1329}