{"format":"murdoku-puzzle/1","id":"photostudio","version":1,"difficulty":"very-easy","level":1,"size":{"rows":5,"cols":5},"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":"Фотостудия","tagline":"Портретная студия в Вене · дождливое апрельское утро 1924 года · лампы разогревались","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"Вена, дождливое апрельское утро 1924 года. В портретной студии на Kärntner Straße большой деревянный фотоаппарат был наготове, студийная лампа разогревалась, а визажистка раскладывала свои пудры. Valeska, оперетточная дива сезона, пришла забрать свои портреты – и заявить, что подаст на студию в суд из-за ретуши, которая старила её на десять лет. Через несколько минут её нашли мёртвой на ресепшене, рядом со стулом. В студии находились четыре человека, и каждый дал одно короткое показание – найди того, кто был с ней наедине.","rules":{"standard":["В каждой <b>строке</b> и каждом <b>столбце</b> находится ровно <b>один человек</b>. Как только кого-то разместишь, вычеркни всю его строку и столбец.","<b>«Рядом»</b> = непосредственно слева, справа, сверху или снизу, и <b>в той же зоне</b>. Клетки с предметами (фотоаппарат, студийная лампа, письменный стол, туалетный столик и платяной шкаф) занять нельзя; стул, табурет, диван и кресло – можно.","Убийца был <b>наедине с жертвой</b>: больше никого в этой зоне не было."],"special":[]},"roleNames":{"customer":"клиент","staff":"персонал","victim":"жертва"},"personGroups":[{"id":"customers","name":"Клиенты","persons":["A","B","V"]},{"id":"staff","name":"Персонал студии","persons":["C","D"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Reception","cells":[[1,1],[1,2],[2,1],[2,2],[2,3],[3,2]],"fill":"#efe4d4","pattern":"carpet","labelAt":[2,2],"name":"Ресепшен"},{"id":"Studio","cells":[[1,3],[1,4],[1,5],[2,4],[2,5],[3,3],[3,4],[3,5],[4,3],[4,4],[5,3]],"fill":"#e6e6ea","pattern":"boards","labelAt":[2,4],"name":"Студия"},{"id":"Dressing Room","cells":[[3,1],[4,1],[4,2],[5,1],[5,2]],"fill":"#f3dde3","pattern":"carpet","labelAt":[5,2],"name":"Гримёрная"},{"id":"Waiting Corner","cells":[[4,5],[5,4],[5,5]],"fill":"#e8dccb","pattern":"planks","labelAt":[4,5],"name":"Уголок ожидания"}],"objectTypes":{"armchair":{"occupiable":true,"name":"кресло","icon":"<rect x=\"6\" y=\"14\" width=\"34\" height=\"24\" rx=\"6\" fill=\"#b3252f\" stroke=\"#6b1218\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"8\" width=\"24\" height=\"14\" rx=\"5\" fill=\"#d0333f\" stroke=\"#6b1218\" stroke-width=\"1.5\"/><rect x=\"6\" y=\"20\" width=\"7\" height=\"14\" rx=\"3\" fill=\"#8a1a22\"/><rect x=\"33\" y=\"20\" width=\"7\" height=\"14\" rx=\"3\" fill=\"#8a1a22\"/>"},"chair":{"occupiable":true,"name":"стул","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\"/>"},"sofa":{"occupiable":true,"name":"диван","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\"/>"},"stool":{"occupiable":true,"name":"табурет","icon":"<circle cx=\"23\" cy=\"23\" r=\"11\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"23\" r=\"5\" fill=\"#d9d5cc\"/>"},"camera":{"occupiable":false,"name":"фотоаппарат","icon":"<rect x=\"6\" y=\"14\" width=\"26\" height=\"18\" rx=\"3\" fill=\"#2b2f33\" stroke=\"#0b0e12\" stroke-width=\"1.5\"/><path d=\"M32 19 l9 -5 v18 l-9 -5 z\" fill=\"#2b2f33\" stroke=\"#0b0e12\" stroke-width=\"1.5\"/><circle cx=\"15\" cy=\"23\" r=\"5\" fill=\"#5b6b76\" stroke=\"#c9d6dd\" stroke-width=\"1.2\"/><circle cx=\"26\" cy=\"18\" r=\"1.6\" fill=\"#e0362e\"/><rect x=\"17\" y=\"32\" width=\"4\" height=\"9\" fill=\"#5b6b76\"/><path d=\"M10 42 l9 -4 l9 4\" fill=\"none\" stroke=\"#5b6b76\" stroke-width=\"2.5\"/>"},"desk":{"occupiable":false,"name":"письменный стол","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\"/>"},"dressing_table":{"occupiable":false,"name":"туалетный столик","icon":"<rect x=\"6\" y=\"24\" width=\"34\" height=\"16\" rx=\"3\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"13\" r=\"10\" fill=\"#dfe9ee\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"13\" r=\"6\" fill=\"#f4f9fb\"/><rect x=\"10\" y=\"28\" width=\"8\" height=\"4\" fill=\"#e6cfa8\"/><rect x=\"28\" y=\"28\" width=\"8\" height=\"4\" fill=\"#e6cfa8\"/>"},"spotlight":{"occupiable":false,"name":"студийная лампа","icon":"<path d=\"M23 27 L13 44 M23 27 L33 44 M23 27 V44\" stroke=\"#2b2b2b\" stroke-width=\"2\" stroke-linecap=\"round\"/><path d=\"M27 12 L45 3 V25 Z\" fill=\"#f7e7a8\" opacity=\".55\"/><g transform=\"rotate(-25 21 18)\"><rect x=\"12\" y=\"12\" width=\"17\" height=\"12\" rx=\"3\" fill=\"#2f3338\" stroke=\"#111\" stroke-width=\"1.2\"/><rect x=\"28\" y=\"11\" width=\"3\" height=\"14\" rx=\"1\" fill=\"#555\"/><rect x=\"14\" y=\"9.5\" width=\"6\" height=\"2.5\" rx=\"1\" fill=\"#555\"/></g><circle cx=\"23\" cy=\"26\" r=\"2.2\" fill=\"#555\"/>"},"wardrobe":{"occupiable":false,"name":"платяной шкаф","icon":"<rect x=\"8\" y=\"3\" width=\"30\" height=\"40\" rx=\"2\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><line x1=\"23\" y1=\"3\" x2=\"23\" y2=\"43\" stroke=\"#5e4127\"/><circle cx=\"19\" cy=\"24\" r=\"1.6\" fill=\"#e6cfa8\"/><circle cx=\"27\" cy=\"24\" r=\"1.6\" fill=\"#e6cfa8\"/>"}},"wallTypes":{},"objects":[{"cell":[1,2],"type":"chair"},{"cell":[1,3],"type":"camera"},{"cell":[1,5],"type":"spotlight"},{"cell":[2,1],"type":"desk"},{"cell":[3,4],"type":"stool"},{"cell":[4,1],"type":"dressing_table"},{"cell":[4,3],"type":"sofa"},{"cell":[5,1],"type":"wardrobe"},{"cell":[5,5],"type":"armchair"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Adalbert","gender":"M","role":"customer","color":"#c62828","avatar":{"bg":"#2f4858","skin":"#e4b998","hair":"#e8e4dc","style":"short","shirt":"#264653","mustache":true,"mustacheColor":"#e8e4dc"},"clue":"Он был в <b>Уголке ожидания</b>.","job":"отставной полковник, ожидавший фото на паспорт","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Adalbert\"><rect width=\"80\" height=\"80\" fill=\"#2f4858\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#264653\"/><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=\"#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=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#e8e4dc\"/></svg>","solverRole":"customer","constraints":[{"type":"area","areas":["Waiting Corner"]}]},{"id":"B","name":"Blanka","gender":"F","role":"customer","color":"#2e7d32","avatar":{"bg":"#ad1457","skin":"#f6d8c0","hair":"#d9b464","style":"long","shirt":"#f4efe6","necklace":true},"clue":"Она сидела на <b>табурете</b>.","job":"невеста, позировавшая для помолвочного портрета","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Blanka\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><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=\"#f4efe6\"/><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\"/><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\"/></svg>","solverRole":"customer","constraints":[{"type":"on","obj":"stool"}]},{"id":"C","name":"Cyprienne","gender":"F","role":"staff","color":"#1565c0","avatar":{"bg":"#6a1b9a","skin":"#f0cdb0","hair":"#1c1a1a","style":"bob","shirt":"#b83a5a","earrings":true},"clue":"Она была рядом с <b>туалетным столиком</b>.","job":"визажистка","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Cyprienne\"><rect width=\"80\" height=\"80\" fill=\"#6a1b9a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#1c1a1a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#b83a5a\"/><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=\"#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\"/><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":"dressing_table"}]},{"id":"D","name":"Dieter","gender":"M","role":"staff","color":"#6a1b9a","avatar":{"bg":"#1565c0","skin":"#f1c8a5","hair":"#7a4a2a","style":"slick","shirt":"#1b1b1b","beard":true,"glasses":true},"clue":"Он <b>не</b> был рядом со <b>стулом</b>.","job":"фотограф, владелец студии","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dieter\"><rect width=\"80\" height=\"80\" fill=\"#1565c0\"/><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=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 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\"/><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=\"#7a4a2a\"/></svg>","solverRole":"staff","constraints":[{"type":"not_beside","obj":"chair"}]},{"id":"V","name":"Valeska","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f3d3b5","hair":"#b7482c","style":"curly","shirt":"#7a1b3a","necklace":true,"earrings":true},"clue":"<b>Жертва.</b> Её нашли на <b>Ресепшене</b>, рядом со <b>стулом</b> – наедине с убийцей.","job":"оперетточная дива, пришедшая за своими портретами","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Valeska\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a1b3a\"/><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\"/><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\"/><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":"customer","constraints":[{"type":"area","areas":["Reception"]},{"type":"beside","obj":"chair"}]}],"victim":"V","murderer":"D","solution":{"V":[1,1],"D":[2,3],"B":[3,4],"C":[4,2],"A":[5,5]},"walkthrough":[{"place":["B"],"cand":{"A":[[4,5],[5,5]],"C":[[4,2]]},"text":"Blanka сидела на табурете, а табурет только один, на R3C4. <b>Blanka на R3C4</b>: вычеркни строку 3 и столбец 4."},{"place":["C","A"],"cand":{},"text":"Cyprienne была рядом с туалетным столиком (R4C1, в Гримёрной). Соседние клетки – R3C1, R4C2 и платяной шкаф на R5C1; строка 3 у Blanka, значит, <b>Cyprienne на R4C2</b>. Adalbert был в Уголке ожидания: R4C5, R5C4 или R5C5. Строка 4 у Cyprienne, а столбец 4 у Blanka: <b>Adalbert на R5C5</b>, в кресле."},{"place":["D"],"cand":{},"text":"Dieter не был рядом со стулом. Для него ещё свободны строки 1 и 2 и столбцы 1 и 3, то есть остаются R1C1 и R2C3 (R1C3 – фотоаппарат, R2C1 – письменный стол). R1C1 – прямо рядом со стулом на R1C2, оба на Ресепшене: <b>Dieter на R2C3</b>."},{"final":true,"text":"Дело закрыто: последняя свободная клетка, R1C1, принадлежит жертве – на Ресепшене, рядом со стулом, ровно как сказано на её карточке, хотя нам это ни разу не понадобилось. Valeska была там наедине с фотографом. <b>Dieter – убийца!</b>"}],"solver":{"rules":[],"occupiable":["armchair","chair","sofa","stool"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}