{"format":"murdoku-puzzle/1","id":"vineyard","version":1,"difficulty":"hard","level":7,"size":{"rows":10,"cols":10},"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":"케스트럴 힐 에스테이트 · 수확제의 밤 · 마지막 빈티지","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-17","story":"케스트럴 힐 에스테이트의 수확제 밤. 마지막 포도가 다 들어오고, 압착기는 조용해졌으며, 축제가 서서히 끝나 갈 무렵 – 와인 양조가 Vidal이 지하 저장고에서, 자신의 나무통 중 하나 옆에서 죽은 채로 발견된다. 농장에는 아직 아홉 명이 있었다: 그의 가족 세 명, 일꾼 세 명, 손님 세 명. 그중 한 사람이 범인이다. 모든 진술을 읽고 평면도에서 모두의 자리를 찾아내어, 지하 저장고에서 Vidal과 단둘이 있었던 범인의 정체를 밝혀내라.","rules":{"standard":["모든 <b>행</b>과 모든 <b>열</b>에는 정확히 <b>한 사람</b>이 있다. 누군가를 배치하는 즉시 그 사람의 행과 열 전체를 지워라.","<b>“옆”</b> = 바로 왼쪽, 오른쪽, 위, 아래이며 <b>같은 구역 안</b>이어야 한다. 물건(나무통, 상자, 테이블, 저울, 우물, 수레, 포도나무…)이 있는 칸에는 있을 수 없다; 스툴, 벤치, 건초 더미에는 있을 수 있다. 한 구역의 <b>모서리</b>란 바깥쪽 면이 두 개인 그 구역의 칸이다.","방향은 행과 열을 가리키며 같은 직선일 필요는 없다: <i>“그의 정확히 한 행 북쪽에 여자가 있었다”</i> = 바로 위의 행에 있는 사람이 여자다, 열은 무관; <i>“Aurora보다 북쪽에”</i> = 더 위쪽 행에, 열은 무관.","범인은 <b>피해자와 단둘이</b> 있었다: 그 구역에는 다른 누구도 없었다."],"special":["<b>정확히 두 사람이 스툴에 앉아 있었다.</b>"]},"roleNames":{"family":"가족","worker":"일꾼","guest":"손님","victim":"피해자"},"personGroups":[{"id":"family","name":"가족","persons":["A","B","C","V"]},{"id":"workers","name":"일꾼","persons":["D","E","F"]},{"id":"guests","name":"손님","persons":["G","H","I"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Press House","cells":[[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[2,3],[2,4],[3,1],[3,2],[3,3],[3,4]],"fill":"#e6d9c3","pattern":"planks","labelAt":[3,2.5],"name":"압착장"},{"id":"Tasting Room","cells":[[1,5],[1,6],[1,7],[2,5],[2,6],[2,7],[3,5],[3,6],[3,7]],"fill":"#e9dcd2","pattern":"boards","labelAt":[3,6],"name":"시음실"},{"id":"Shop","cells":[[1,8],[1,9],[1,10],[2,8],[2,9],[2,10],[3,8],[3,9],[3,10]],"fill":"#e2e0d0","pattern":"tiles","labelAt":[3,9.5],"name":"상점"},{"id":"Courtyard","cells":[[4,1],[4,2],[4,3],[4,4],[4,5],[5,1],[5,2],[5,3],[5,4],[5,5],[6,1],[6,2],[6,3],[6,4],[6,5]],"fill":"#e4dccd","pattern":"marble","labelAt":[4,3],"name":"안뜰"},{"id":"Cellar","cells":[[4,6],[4,7],[4,8],[4,9],[4,10],[5,6],[5,7],[5,8],[5,9],[5,10],[6,6],[6,7],[6,8],[6,9],[6,10]],"fill":"#d3d3d0","pattern":"tiles","labelAt":[6,8],"name":"지하 저장고"},{"id":"Vine Rows","cells":[[7,1],[7,2],[7,3],[7,4],[8,1],[8,2],[8,3],[8,4],[9,1],[9,2],[9,3],[9,4],[10,1],[10,2],[10,3],[10,4]],"fill":"#d9ead3","pattern":"marble","labelAt":[10,2.5],"name":"포도밭 이랑"},{"id":"Bottling Hall","cells":[[7,5],[7,6],[7,7],[8,5],[8,6],[8,7],[9,5],[9,6],[9,7],[10,5],[10,6],[10,7]],"fill":"#dfe3e6","pattern":"tiles","labelAt":[10,6],"name":"병입실"},{"id":"Cart Shed","cells":[[7,8],[7,9],[7,10],[8,8],[8,9],[8,10],[9,8],[9,9],[9,10],[10,8],[10,9],[10,10]],"fill":"#e3cfa8","pattern":"planks","labelAt":[7,9],"name":"수레 헛간"}],"objectTypes":{"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\"/>"},"bench":{"occupiable":true,"name":"벤치","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\"/>"},"hay":{"occupiable":true,"name":"건초 더미","icon":"<rect x=\"5\" y=\"10\" width=\"36\" height=\"26\" rx=\"5\" fill=\"#e6c25a\" stroke=\"#9c7a1c\" stroke-width=\"1.5\"/><path d=\"M9 16 h28 M9 22 h28 M9 28 h28\" stroke=\"#c9a23a\" stroke-width=\"1.2\"/><path d=\"M15 10 v26 M31 10 v26\" stroke=\"#8b6914\" stroke-width=\"1.2\"/>"},"scales":{"occupiable":false,"name":"저울","icon":"<rect x=\"8\" y=\"30\" width=\"30\" height=\"8\" rx=\"2\" fill=\"#5a6068\"/><rect x=\"21\" y=\"12\" width=\"4\" height=\"18\" fill=\"#5a6068\"/><path d=\"M8 14 h30\" stroke=\"#5a6068\" stroke-width=\"3\"/><path d=\"M10 14 l-3 9 h10 l-3 -9\" fill=\"#b9c3cc\" stroke=\"#5a6068\"/><path d=\"M36 14 l-3 9 h10 l-3 -9\" fill=\"#b9c3cc\" stroke=\"#5a6068\"/>"},"crate":{"occupiable":false,"name":"상자","icon":"<rect x=\"6\" y=\"10\" width=\"34\" height=\"30\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"6\" y1=\"20\" x2=\"40\" y2=\"20\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"6\" y1=\"30\" x2=\"40\" y2=\"30\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"17\" y1=\"10\" x2=\"17\" y2=\"40\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"29\" y1=\"10\" x2=\"29\" y2=\"40\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/>"},"barrel":{"occupiable":false,"name":"나무통","icon":"<path d=\"M11 8 q-4 15 0 30 h24 q4 -15 0 -30 z\" fill=\"#a5733f\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"14\" width=\"28\" height=\"3\" fill=\"#4a4a4a\"/><rect x=\"9\" y=\"29\" width=\"28\" height=\"3\" fill=\"#4a4a4a\"/><line x1=\"18\" y1=\"8\" x2=\"17\" y2=\"38\" stroke=\"#7a5230\"/><line x1=\"28\" y1=\"8\" x2=\"29\" y2=\"38\" stroke=\"#7a5230\"/>"},"table":{"occupiable":false,"name":"테이블","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\"/>"},"shelf":{"occupiable":false,"name":"선반","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\"/>"},"counter":{"occupiable":false,"name":"카운터","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\"/>"},"well":{"occupiable":false,"name":"우물","icon":"<rect x=\"10\" y=\"22\" width=\"26\" height=\"16\" rx=\"2\" fill=\"#8a949c\" stroke=\"#3d444b\" stroke-width=\"1.5\"/><path d=\"M12 24 h22 M12 30 h22 M23 22 v16\" stroke=\"#3d444b\" stroke-width=\"1\"/><rect x=\"13\" y=\"5\" width=\"20\" height=\"4\" rx=\"1\" fill=\"#6e4a2a\"/><rect x=\"14\" y=\"9\" width=\"3\" height=\"13\" fill=\"#6e4a2a\"/><rect x=\"29\" y=\"9\" width=\"3\" height=\"13\" fill=\"#6e4a2a\"/><circle cx=\"23\" cy=\"14\" r=\"3\" fill=\"none\" stroke=\"#3d444b\" stroke-width=\"1.5\"/><rect x=\"21\" y=\"16\" width=\"4\" height=\"7\" fill=\"#7fc4d8\"/>"},"planter":{"occupiable":false,"name":"대형 화분","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\"/>"},"cart":{"occupiable":false,"name":"수레","icon":"<rect x=\"8\" y=\"12\" width=\"30\" height=\"16\" rx=\"2\" fill=\"#8a5a34\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><circle cx=\"15\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><circle cx=\"31\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><path d=\"M38 20 h6\" stroke=\"#3f2d1d\" stroke-width=\"2.5\"/>"},"rack":{"occupiable":false,"name":"병 선반","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\"/>"},"plant":{"occupiable":false,"name":"포도나무","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\"/>"},"wheelbarrow":{"occupiable":false,"name":"손수레","icon":"<path d=\"M8 16 h26 l-4 14 h-18 z\" fill=\"#3f6d5a\" stroke=\"#1e4726\" stroke-width=\"1.5\"/><path d=\"M34 16 l8 -3\" stroke=\"#6e4a2a\" stroke-width=\"3\" stroke-linecap=\"round\"/><circle cx=\"12\" cy=\"36\" r=\"6\" fill=\"#3d444b\" stroke=\"#161c25\" stroke-width=\"1.5\"/><line x1=\"26\" y1=\"30\" x2=\"26\" y2=\"40\" stroke=\"#6e4a2a\" stroke-width=\"3\"/><g fill=\"#8a6a3a\"><circle cx=\"16\" cy=\"13\" r=\"2.5\"/><circle cx=\"22\" cy=\"11\" r=\"2.5\"/><circle cx=\"28\" cy=\"13\" r=\"2.5\"/></g>"},"ladder":{"occupiable":false,"name":"사다리","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\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"scales"},{"cell":[1,4],"type":"crate"},{"cell":[3,1],"type":"crate"},{"cell":[2,3],"type":"barrel"},{"cell":[2,6],"type":"table"},{"cell":[1,5],"type":"stool"},{"cell":[3,7],"type":"stool"},{"cell":[1,7],"type":"shelf"},{"cell":[2,8],"type":"counter"},{"cell":[1,10],"type":"shelf"},{"cell":[3,8],"type":"stool"},{"cell":[5,3],"type":"well"},{"cell":[4,5],"type":"planter"},{"cell":[6,1],"type":"cart"},{"cell":[4,1],"type":"bench"},{"cell":[6,5],"type":"bench"},{"cell":[4,7],"type":"barrel"},{"cell":[4,9],"type":"barrel"},{"cell":[6,7],"type":"barrel"},{"cell":[6,9],"type":"barrel"},{"cell":[5,10],"type":"rack"},{"cell":[5,6],"type":"stool"},{"cell":[7,2],"type":"plant"},{"cell":[8,4],"type":"plant"},{"cell":[10,3],"type":"plant"},{"cell":[10,1],"type":"wheelbarrow"},{"cell":[7,6],"type":"crate"},{"cell":[9,5],"type":"table"},{"cell":[8,7],"type":"shelf"},{"cell":[8,9],"type":"cart"},{"cell":[7,10],"type":"barrel"},{"cell":[9,8],"type":"ladder"},{"cell":[7,8],"type":"hay"},{"cell":[10,10],"type":"hay"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Aurora","gender":"F","role":"family","color":"#c62828","avatar":{"bg":"#5b2c6f","skin":"#f6d8c0","hair":"#5a3a22","style":"long","shirt":"#c0392b","necklace":true},"clue":"그녀는 <b>벤치</b> 옆에 있었다.","job":"딸","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Aurora\"><rect width=\"80\" height=\"80\" fill=\"#5b2c6f\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#5a3a22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#c0392b\"/><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=\"#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\"/></svg>","solverRole":"family","constraints":[{"type":"beside","obj":"bench"}]},{"id":"B","name":"Benedict","gender":"M","role":"family","color":"#2e7d32","avatar":{"bg":"#2f4858","skin":"#f1c8a5","hair":"#1c1a1a","style":"short","shirt":"#264653"},"clue":"그는 <b>건초 더미</b>에 앉아 있었다.","job":"아들","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Benedict\"><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=\"#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=\"#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\"/></svg>","solverRole":"family","constraints":[{"type":"on","obj":"hay"}]},{"id":"C","name":"Cecily","gender":"F","role":"family","color":"#1565c0","avatar":{"bg":"#6e2c4b","skin":"#f0cdb0","hair":"#c9c3b8","style":"bun","shirt":"#8e44ad","earrings":true},"clue":"그녀는 <b>나무통</b> 옆에 있지 <b>않았다</b>. 그녀는 자신의 구역의 모서리에 있지 <b>않았다</b>.","job":"Vidal의 아내","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Cecily\"><rect width=\"80\" height=\"80\" fill=\"#6e2c4b\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8e44ad\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#c9c3b8\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 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=\"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":"barrel"},{"type":"not_corner_of_area"}]},{"id":"D","name":"Dario","gender":"M","role":"worker","color":"#6a1b9a","avatar":{"bg":"#1b2a33","skin":"#e7b98f","hair":"#2b1c14","style":"curly","shirt":"#5d4037","apron":true},"clue":"그는 자신의 구역의 모서리에 있지 <b>않았다</b>.","job":"셀러 마스터","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dario\"><rect width=\"80\" height=\"80\" fill=\"#1b2a33\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5d4037\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><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=\"#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\"/></svg>","solverRole":"staff","constraints":[{"type":"not_corner_of_area"}]},{"id":"E","name":"Elke","gender":"F","role":"worker","color":"#e65100","avatar":{"bg":"#7a6a3c","skin":"#f6d8c0","hair":"#d9b464","style":"ponytail","shirt":"#3f8a4a","headband":"#f0b429"},"clue":"그녀는 <b>자신의 구역에 혼자</b> 있었다.","job":"포도 수확 일꾼","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Elke\"><rect width=\"80\" height=\"80\" fill=\"#7a6a3c\"/><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=\"#3f8a4a\"/><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 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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f0b429\"/></svg>","solverRole":"staff","constraints":[{"type":"alone"}]},{"id":"F","name":"Florian","gender":"M","role":"worker","color":"#00838f","avatar":{"bg":"#3d5a6e","skin":"#d9a57a","hair":"#b7482c","style":"short","shirt":"#8b5a2b","cap":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=\"Florian\"><rect width=\"80\" height=\"80\" fill=\"#3d5a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8b5a2b\"/><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=\"#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=\"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":"staff","constraints":[{"type":"beside","obj":"plant"},{"type":"rel_any","dir":"N","exact":1,"gender":"M","role":"staff"}]},{"id":"G","name":"Gabriella","gender":"F","role":"guest","color":"#ad1457","avatar":{"bg":"#35607a","skin":"#f0cdb0","hair":"#1c1a1a","style":"bob","shirt":"#7a5a9a","scarf":"#e0b050"},"clue":"그녀는 자신의 구역에 <b>혼자 있지 않았다</b>. 그녀는 자신의 구역의 모서리에 있지 <b>않았다</b>.","job":"와인 상인","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gabriella\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><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=\"#7a5a9a\"/><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\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#e0b050\"/></svg>","solverRole":"guest","constraints":[{"type":"not_alone"},{"type":"not_corner_of_area"}]},{"id":"H","name":"Hubert","gender":"M","role":"guest","color":"#5d4037","avatar":{"bg":"#8c3a5a","skin":"#f1c8a5","hair":"#c9c3b8","style":"bald","shirt":"#1b1b1b","glasses":true,"bow":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=\"Hubert\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><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 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\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Shop"]},{"type":"rel_any","dir":"N","exact":1,"gender":"F","role":"staff"}]},{"id":"I","name":"Isolde","gender":"F","role":"guest","color":"#827717","avatar":{"bg":"#4e6f8a","skin":"#e9c6a4","hair":"#b7482c","style":"long","shirt":"#2f3b4c","glasses":true},"clue":"그녀는 <b>상자</b> 옆에 있었다.","job":"기자","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Isolde\"><rect width=\"80\" height=\"80\" fill=\"#4e6f8a\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#b7482c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><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 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 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=\"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":"beside","obj":"crate"}]},{"id":"V","name":"Vidal","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#e4b998","hair":"#5a3a22","style":"slick","shirt":"#1b1b1b","mustache":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=\"Vidal\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><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=\"#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=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#3a2a1c\"/><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":["Cellar"]},{"type":"beside","obj":"barrel"}]}],"victim":"V","murderer":"G","solution":{"E":[1,5],"H":[2,9],"C":[3,2],"V":[4,8],"G":[5,6],"A":[6,4],"I":[7,7],"D":[8,1],"F":[9,3],"B":[10,10]},"walkthrough":[{"place":[],"cand":{"V":[[4,6],[4,8],[4,10],[5,7],[5,9],[6,6],[6,8],[6,10]],"A":[[4,2],[5,1],[5,5],[6,4]],"B":[[7,8],[10,10]],"H":[[2,9],[2,10],[3,8],[3,9],[3,10]],"E":[[1,2],[1,3],[1,5],[1,6],[2,1],[2,2],[2,4],[2,5],[2,7]],"F":[[7,1],[7,3],[7,4],[8,2],[8,3],[9,3],[9,4],[10,2],[10,4]],"I":[[1,3],[2,1],[2,4],[3,2],[7,5],[7,7],[8,6]]},"text":"Vidal은 지하 저장고에서 나무통 옆에서 발견되었다: R4C6, R4C8, R4C10, R5C7, R5C9, R6C6, R6C8 또는 R6C10 – 그리고 범인은 그곳에서 그와 단둘이 있었다. Aurora는 벤치 옆에 있었으므로, 안뜰에 있다(R4C2, R5C1, R5C5 또는 R6C4); Benedict는 수레 헛간에서 건초 더미에 앉아 있었다(R7C8 또는 R10C10); Florian은 포도나무 옆에 있었으므로, 포도밭 이랑 사이에 있다; Hubert는 상점에 있다. Elke는 자신의 구역에 혼자 있었다 – 그러므로 분명히 다른 누군가가 있을 안뜰, 지하 저장고, 포도밭 이랑, 상점, 수레 헛간에는 없다. Florian보다 정확히 한 행 북쪽에 있는 남성 일꾼은 Dario일 수밖에 없고, Hubert보다 한 행 북쪽에 있는 여성 일꾼은 Elke일 수밖에 없다: Hubert는 상점의 2행 또는 3행에 있고(R2C9, R2C10, R3C8, R3C9 또는 R3C10), Elke는 바로 그 위의 행 – 1행 또는 2행 – 압착장이나 시음실에 있다. Florian 바로 위에 있는 Dario는 6~9행에 있다."},{"place":["B"],"cand":{"H":[[2,9],[3,8],[3,9]],"V":[[4,6],[4,8],[5,7],[5,9],[6,6],[6,8]],"F":[[7,1],[7,3],[7,4],[8,2],[8,3],[9,3],[9,4]]},"text":"정확히 두 사람이 스툴에 앉아 있었다, 그러니 네 개의 스툴을 살펴보자. R3C7에는 아무도 앉을 수 없다: 그것은 시음실의 모서리이고(그러므로 Cecily도 Gabriella도 아니다), Elke는 1행 또는 2행에 있고, Isolde는 옆에 상자가 필요하며, Dario는 6~9행에 있다. 상점의 스툴(R3C8)은 Hubert의 것일 수밖에 없다; R1C5 – 시음실의 또 다른 모서리로, 옆에 상자가 없다 – 는 Elke의 것일 수밖에 없다; 지하 저장고의 스툴(R5C6)에는 Cecily나 Gabriella가 앉을 수 있다. <b>Benedict가 R7C8의 건초 더미에 있을 수 있을까?</b> 그렇다면 8열은 그의 것이고, Hubert는 R3C8에 앉을 수 없으며, 두 스툴 착석자는 R1C5의 Elke와 R5C6의 Cecily 또는 Gabriella여야 한다. Elke가 1행에 있으면 Hubert는 2행에 있다(R2C9 또는 R2C10). Vidal은 8열, 5행, 6열 모두에서 제외되므로, R4C10 또는 R6C10에 있다: 10열은 그의 것이고, Hubert는 R2C9에 있다. 4행과 6행은 Aurora와 Vidal의 것이고, 5행은 스툴 착석자의 것이므로, Cecily와 Gabriella 중 나머지 한 명은 8~10행에 있어야 한다 – 그곳에서 연속된 두 행을 차지하는 Florian, Dario와 함께. 이제 7열을 보자: R2C7은 시음실에 있는데, 그곳에는 Elke가 혼자 있다; R3C7은 쓸 수 없는 스툴이다; R5C7은 스툴 착석자의 행에, R7C7은 Benedict의 행에 있다; R10C7은 병입실의 모서리다; 그리고 R9C7에는 Cecily나 Gabriella가 9행, 즉 Florian과 Dario 사이에 들어가야 하는데 – 불가능하다. 7열은 비어 있게 된다: 모순이다. <b>Benedict는 R10C10에 있다</b>, 10행과 10열이 그의 것이다."},{"place":["H","E"],"cand":{"V":[[4,8],[6,8]],"A":[[4,2],[6,4]],"I":[[3,2],[7,5],[7,7],[8,6]]},"text":"Hubert는 R2C9, R3C8 또는 R3C9에 있다. <b>그가 상점의 스툴 R3C8에 앉을 수 있을까?</b> 그렇다면 Elke는 2행에 있고, R1C5에는 없으므로, 두 번째 스툴은 R5C6일 수밖에 없다 – Cecily나 Gabriella가, 지하 저장고에서 Vidal과 함께. 그런데 나무통 옆에 있는 Vidal에게는 남는 칸이 없을 것이다: R4C8과 R6C8은 Hubert의 열에, R4C6과 R6C6은 스툴의 열에, R5C7과 R5C9는 그 행에 있다. 모순이다. <b>Hubert가 R3C9에 있을 수 있을까?</b> 그렇다면 Elke는 다시 2행에 있고, R1C5와 R3C8이 둘 다 제외되어, 쓸 수 있는 스툴이 하나만 남는다 – 둘이 아니라 한 명의 착석자. 모순이다. 그러므로 <b>Hubert는 R2C9에 있다</b>, Elke는 1행에 있으며, 두 스툴 착석자는 <b>R1C5의 Elke</b>와 <b>R5C6</b>에 앉은 사람이다 – 지하 저장고에서 Vidal과 함께 있는 사람이므로, <b>범인은 지하 저장고 스툴에 앉은 Cecily나 Gabriella다</b>. Vidal은 5행이나 6열에 있지 않다: 그는 <b>R4C8 또는 R6C8</b>에 있고, 8열은 그의 것이다."},{"place":["A","V"],"cand":{"F":[[8,3],[9,3]],"I":[[3,2],[7,5],[7,7]]},"text":"Aurora는 R4C2 또는 R6C4에 있고(5행은 스툴 착석자의 것이다) Vidal은 R4C8 또는 R6C8에 있다: 4행과 6행은 그들의 것이므로, Cecily, Dario, Gabriella는 그 행들에 있지 않다. 3행에는 사용 가능한 칸이 하나뿐이다, R3C2 – R3C3은 나무통 옆에 있고, R3C4는 압착장의 모서리이며, R3C6과 R3C7은 Elke가 혼자 있는 시음실에 있고, 상점은 Hubert의 것이다 – 그러므로 2열은 3행의 사람(Cecily 또는 Isolde)의 것이다. 6행에도 마찬가지로 칸이 하나만 남는다, R6C4, 그리고 그것은 오직 Aurora만이 차지할 수 있다: <b>Aurora는 R6C4에 있다</b>, 그러므로 <b>Vidal은 R4C8에 있다</b>. 포도나무 옆에 있는 Florian에게는 R8C3 또는 R9C3이 남는다(R7C1, R7C3, R7C4는 Dario를 Aurora의 6행으로 밀어넣을 것이다; R8C2는 2열에, R9C4는 Aurora의 열에 있다). Isolde는 R3C2, R7C5 또는 R7C7에 있다."},{"place":["F","D"],"cand":{"I":[[3,2],[7,5],[7,7]],"C":[[3,2],[5,6]],"G":[[3,2],[5,6]]},"text":"Florian이 R8C3에 있을 수 있을까? 그렇다면 Dario는 7행에 있어야 하는데 – R7C1은 포도밭 이랑의 모서리이고, R7C3은 Florian의 열이며, R7C5와 R7C7은 병입실의 모서리이고 R7C9는 Hubert의 열이다: 갈 곳이 없다. 그러므로 <b>Florian은 R9C3에 있고</b> Dario는 8행에 있다: R8C2는 2열에, R8C3은 Florian의 열에, R8C5는 Elke의 열에 있다 – <b>Dario는 R8C1에 있다</b>. 3행, 5행, 7행이 Cecily, Gabriella, Isolde에게 남는다. 7행의 남은 칸은 R7C5와 R7C7인데, 둘 다 병입실의 모서리다 – Cecily나 Gabriella에게는 맞지 않는다 – 그러므로 <b>7행은 Isolde의 것</b>이고, Cecily와 Gabriella는 R3C2와 지하 저장고 스툴(R5C6)을 나눠 가진다."},{"place":["C","G","I"],"text":"Gabriella는 자신의 구역에 혼자 있지 않았는데, R3C2에 있는 사람은 압착장에 혼자 있다(그 밖의 모든 칸은 이미 지워졌다): 그러므로 <b>Cecily는 R3C2에</b>, <b>Gabriella는 R5C6</b>의 지하 저장고 스툴에 있다 – 지하 저장고에서 Vidal과 함께. 5열은 Elke의 것이므로, <b>Isolde는 R7C7</b>에, 상자 옆에 있다. 모두가 제자리에 있다."},{"final":true,"text":"사건 종결: Vidal은 지하 저장고 스툴에 앉아 있던 와인 상인과 단둘이 있었다. <b>Gabriella가 범인이다!</b>"}],"solver":{"rules":[{"type":"count_on","obj":"stool","n":2}],"occupiable":["stool","bench","hay"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-17"}}