{"format":"murdoku-puzzle/1","id":"frozen-fair","version":1,"difficulty":"hard","level":7,"size":{"rows":12,"cols":12},"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":"물레방아 연못 겨울 축제 · 마지막 밤 · 9시의 불꽃놀이","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-15","story":"물레방아 연못 겨울 축제의 마지막 밤. 불꽃놀이가 시작될 때, 링크 관리인 Virgil이 스케이트 대여 오두막의 벤치에서 숨진 채 발견된다. 축제장에는 열두 명이 있었다: 스케이터, 축제 직원, 방문객. 진술을 읽고, 평면도에서 각자의 정확한 칸을 찾아 범인을 밝혀라. 범인은 스케이트 오두막에서 Virgil과 단둘이 있었고, 그 뒤 아무에게도 들키지 않고 축제장을 빠져나갔다.","rules":{"standard":["모든 <b>행</b>과 모든 <b>열</b>에는 정확히 <b>한 사람</b>이 있다. 누군가를 배치하는 즉시 그 사람의 행과 열 전체를 지워라.","<b>“옆”</b> = 바로 왼쪽, 오른쪽, 위, 아래이며 <b>같은 구역 안</b>이어야 한다. 물건이 있는 칸(나무, 등불, 눈사람, 카운터, 통…)에는 있을 수 없고, <b>길 칸</b>, 벤치, 썰매, 스툴에는 있을 수 있다. 자갈길은 공원의 일부이며 그 밖의 공원 칸은 모두 눈이다.","방향은 행과 열을 가리키며 같은 직선일 필요는 없다: <i>“그는 그녀의 북쪽에 있었다”</i> = 더 위쪽 행, 열은 무관; <i>“그의 동쪽에”</i> = 더 오른쪽 열, 행은 무관.","범인은 <b>피해자와 단둘이</b> 있었다: 그 구역에는 다른 누구도 없었다."],"special":["범행 후 범인은 <b>두 출입문 중 하나로 축제장을 떠났다</b>(북쪽 정문 또는 나무 데크 끝의 주차장 문). 이때 <b>아무와도 마주치지 않았다</b>: 지나간 모든 구역이 <b>비어 있었다</b>. 구역은 <b>문이나 통로</b>가 그려진 곳에서만 이어진다. 범행 구역은 출발점이므로 비어 있을 필요가 없다.","<b>“크리스마스트리를 향해 곧장 미끄러졌다”</b> = 그 스케이터는 얼음 위에서 <b>트리와 같은 행 또는 같은 열</b>에 있었고, 둘 사이에는 <b>빈 얼음</b>만 있었다 – 길을 막는 물건이 없었다."]},"roleNames":{"skater":"스케이터","staff":"축제 직원","visitor":"방문객","victim":"피해자"},"personGroups":[{"id":"skaters","name":"스케이터","persons":["A","B","C","D","E"]},{"id":"staff","name":"축제 직원","persons":["F","G","H","V"]},{"id":"visitors","name":"방문객","persons":["I","J","K"]}],"map":{"groups":[{"id":"fair","name":"물레방아 연못 겨울 축제","style":"open"}],"gaps":[],"areas":[{"id":"Park","cells":[[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],[1,12],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[2,11],[2,12],[3,1],[3,2],[3,3],[4,1],[4,2],[4,3],[5,1],[5,2],[5,3],[6,1],[6,2],[6,3],[7,1],[7,2],[7,3],[8,1],[8,2],[8,3],[9,1],[9,2],[9,3],[10,1],[10,2],[10,3],[11,1],[11,2],[11,3],[12,1],[12,2],[12,3]],"fill":"#f3f6f9","pattern":"snow","group":"fair","labelAt":[12,2],"name":"공원"},{"id":"Rink","cells":[[3,4],[3,5],[3,6],[3,7],[3,8],[4,4],[4,5],[4,6],[4,7],[4,8],[5,4],[5,5],[5,6],[5,7],[5,8],[6,4],[6,5],[6,6],[6,7],[6,8],[7,4],[7,5],[7,6],[7,7],[7,8],[8,4],[8,5],[8,6],[8,7],[8,8]],"fill":"#d6ebf5","pattern":"ice","group":"fair","labelAt":[7,6],"name":"아이스링크"},{"id":"Hut","cells":[[3,9],[3,10],[3,11],[3,12],[4,9],[4,10],[4,11],[4,12],[5,9],[5,10],[5,11],[5,12]],"fill":"#e5d3b3","pattern":"boards","group":"fair","labelAt":[4,10.5],"name":"스케이트 오두막"},{"id":"Tent","cells":[[6,9],[6,10],[6,11],[6,12],[7,9],[7,10],[7,11],[7,12],[8,9],[8,10],[8,11],[8,12]],"fill":"#efe1c9","pattern":"boards","group":"fair","labelAt":[6,10.5],"name":"난방 텐트"},{"id":"Tavern","cells":[[9,4],[9,5],[9,6],[9,7],[9,8],[10,4],[10,5],[10,6],[10,7],[10,8],[11,4],[11,5],[11,6],[11,7],[11,8],[12,4],[12,5],[12,6],[12,7],[12,8]],"fill":"#e6d0ad","pattern":"boards","group":"fair","labelAt":[11,6],"name":"뱅쇼 텐트"},{"id":"Boardwalk","cells":[[9,9],[9,10],[9,11],[9,12],[10,9],[10,10],[10,11],[10,12],[11,9],[11,10],[11,11],[11,12],[12,9],[12,10],[12,11],[12,12]],"fill":"#d5bd98","pattern":"boards","group":"fair","labelAt":[10,10.5],"name":"나무 데크"}],"objectTypes":{"path":{"occupiable":true,"name":"자갈길","icon":"<rect x=\"1\" y=\"1\" width=\"44\" height=\"44\" fill=\"#d9d1c0\"/><g fill=\"#b3a68f\"><circle cx=\"9\" cy=\"12\" r=\"1.6\"/><circle cx=\"22\" cy=\"8\" r=\"1.3\"/><circle cx=\"35\" cy=\"14\" r=\"1.6\"/><circle cx=\"14\" cy=\"26\" r=\"1.4\"/><circle cx=\"30\" cy=\"27\" r=\"1.7\"/><circle cx=\"8\" cy=\"38\" r=\"1.3\"/><circle cx=\"24\" cy=\"39\" r=\"1.5\"/><circle cx=\"39\" cy=\"35\" r=\"1.3\"/><circle cx=\"20\" cy=\"18\" r=\"1\"/><circle cx=\"37\" cy=\"24\" r=\"1\"/></g>"},"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\"/>"},"sled":{"occupiable":true,"name":"썰매","icon":"<path d=\"M6 34 q0 5 5 5 h28 q4 0 4 -4\" fill=\"none\" stroke=\"#8a8f96\" stroke-width=\"2.5\"/><rect x=\"8\" y=\"20\" width=\"30\" height=\"5\" rx=\"2\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.2\"/><rect x=\"8\" y=\"27\" width=\"30\" height=\"5\" rx=\"2\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.2\"/><line x1=\"13\" y1=\"25\" x2=\"13\" y2=\"34\" stroke=\"#6e4d2c\" stroke-width=\"2\"/><line x1=\"33\" y1=\"25\" x2=\"33\" y2=\"34\" stroke=\"#6e4d2c\" 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\"/>"},"fireworks":{"occupiable":false,"name":"불꽃놀이 거치대","icon":"<rect x=\"6\" y=\"30\" width=\"34\" height=\"10\" rx=\"2\" fill=\"#6b4a2b\" stroke=\"#3f2d1d\" stroke-width=\"1.2\"/><g stroke=\"#8a6a3a\" stroke-width=\"2\"><line x1=\"12\" y1=\"30\" x2=\"12\" y2=\"8\"/><line x1=\"23\" y1=\"30\" x2=\"23\" y2=\"5\"/><line x1=\"34\" y1=\"30\" x2=\"34\" y2=\"8\"/></g><path d=\"M9 12 l3 -8 l3 8 z\" fill=\"#c0392b\"/><path d=\"M20 9 l3 -8 l3 8 z\" fill=\"#2e86c1\"/><path d=\"M31 12 l3 -8 l3 8 z\" fill=\"#d4ac0d\"/><rect x=\"9.5\" y=\"12\" width=\"5\" height=\"8\" fill=\"#e74c3c\"/><rect x=\"20.5\" y=\"9\" width=\"5\" height=\"9\" fill=\"#3498db\"/><rect x=\"31.5\" y=\"12\" width=\"5\" height=\"8\" fill=\"#f4d03f\"/>"},"fir":{"occupiable":false,"name":"전나무","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\"/>"},"lantern":{"occupiable":false,"name":"등불","icon":"<circle cx=\"23\" cy=\"13\" r=\"10\" fill=\"#f7d774\" opacity=\".45\"/><rect x=\"21\" y=\"18\" width=\"4\" height=\"22\" fill=\"#3b3b3b\"/><rect x=\"15\" y=\"39\" width=\"16\" height=\"4\" rx=\"1.5\" fill=\"#3b3b3b\"/><path d=\"M17 8 h12 l2 10 h-16 z\" fill=\"#f2c94c\" stroke=\"#3b3b3b\" stroke-width=\"1.4\"/><rect x=\"20\" y=\"4\" width=\"6\" height=\"4\" fill=\"#3b3b3b\"/>"},"snowman":{"occupiable":false,"name":"눈사람","icon":"<circle cx=\"23\" cy=\"32\" r=\"11\" fill=\"#fbfbfb\" stroke=\"#b9c3cc\" stroke-width=\"1.2\"/><circle cx=\"23\" cy=\"16\" r=\"8\" fill=\"#fbfbfb\" stroke=\"#b9c3cc\" stroke-width=\"1.2\"/><rect x=\"16\" y=\"5\" width=\"14\" height=\"3\" fill=\"#2b2b2b\"/><rect x=\"18.5\" y=\"0.5\" width=\"9\" height=\"5\" fill=\"#2b2b2b\"/><circle cx=\"20\" cy=\"14\" r=\"1.2\" fill=\"#2b2b2b\"/><circle cx=\"26\" cy=\"14\" r=\"1.2\" fill=\"#2b2b2b\"/><path d=\"M23 16 l7 2 l-7 2 z\" fill=\"#e67e22\"/><path d=\"M15 22 q8 4 16 0 l1 3 q-9 4 -18 0 z\" fill=\"#c0392b\"/><circle cx=\"23\" cy=\"29\" r=\"1.3\" fill=\"#2b2b2b\"/><circle cx=\"23\" cy=\"34\" r=\"1.3\" fill=\"#2b2b2b\"/>"},"xmastree":{"occupiable":false,"name":"크리스마스트리","icon":"<rect x=\"20\" y=\"36\" width=\"6\" height=\"6\" fill=\"#6b4a2b\"/><path d=\"M23 4 L33 17 L28 17 L37 29 L31 29 L40 38 L6 38 L15 29 L9 29 L18 17 L13 17 Z\" fill=\"#2f7a3a\"/><path d=\"M23 0.5 l1.8 3.6 l4 .5 l-2.9 2.8 l.7 4 l-3.6 -1.9 l-3.6 1.9 l.7 -4 l-2.9 -2.8 l4 -.5 z\" fill=\"#f1c40f\"/><circle cx=\"20\" cy=\"18\" r=\"2\" fill=\"#e74c3c\"/><circle cx=\"28\" cy=\"24\" r=\"2\" fill=\"#3498db\"/><circle cx=\"16\" cy=\"30\" r=\"2\" fill=\"#f1c40f\"/><circle cx=\"31\" cy=\"34\" r=\"2\" fill=\"#e74c3c\"/><circle cx=\"23\" cy=\"30\" r=\"2\" fill=\"#ecf0f1\"/>"},"penguin":{"occupiable":false,"name":"펭귄 스케이트 보조기","icon":"<ellipse cx=\"23\" cy=\"27\" rx=\"11\" ry=\"14\" fill=\"#2b2b2b\"/><ellipse cx=\"23\" cy=\"30\" rx=\"7\" ry=\"10\" fill=\"#fbfbfb\"/><circle cx=\"23\" cy=\"12\" r=\"7\" fill=\"#2b2b2b\"/><circle cx=\"20.5\" cy=\"11\" r=\"1.3\" fill=\"#fff\"/><circle cx=\"25.5\" cy=\"11\" r=\"1.3\" fill=\"#fff\"/><path d=\"M23 13 l4 2 l-4 2 z\" fill=\"#e67e22\"/><rect x=\"13\" y=\"40\" width=\"8\" height=\"3\" rx=\"1\" fill=\"#e67e22\"/><rect x=\"25\" y=\"40\" width=\"8\" height=\"3\" rx=\"1\" fill=\"#e67e22\"/>"},"cone":{"occupiable":false,"name":"콘","icon":"<path d=\"M23 6 L33 38 L13 38 Z\" fill=\"#e67e22\"/><rect x=\"9\" y=\"37\" width=\"28\" height=\"5\" rx=\"1.5\" fill=\"#2b2b2b\"/><path d=\"M18.5 21 h9 l1.5 5 h-12 z\" fill=\"#fbfbfb\"/><path d=\"M16 30 h14 l1.5 5 h-17 z\" fill=\"#fbfbfb\"/>"},"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\"/>"},"skates":{"occupiable":false,"name":"스케이트 선반","icon":"<rect x=\"5\" y=\"6\" width=\"36\" height=\"34\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"8\" y=\"10\" width=\"30\" height=\"10\" fill=\"#e6cfa8\"/><rect x=\"8\" y=\"24\" width=\"30\" height=\"10\" fill=\"#d4b98f\"/><g fill=\"#fff\" stroke=\"#3b3b3b\" stroke-width=\"1\"><path d=\"M10 18 v-6 h6 l3 4 v2 z\"/><path d=\"M22 18 v-6 h6 l3 4 v2 z\"/><path d=\"M10 32 v-6 h6 l3 4 v2 z\"/><path d=\"M22 32 v-6 h6 l3 4 v2 z\"/></g><g stroke=\"#8a8f96\" stroke-width=\"1.5\"><line x1=\"10\" y1=\"19.5\" x2=\"19\" y2=\"19.5\"/><line x1=\"22\" y1=\"19.5\" x2=\"31\" y2=\"19.5\"/><line x1=\"10\" y1=\"33.5\" x2=\"19\" y2=\"33.5\"/><line x1=\"22\" y1=\"33.5\" x2=\"31\" y2=\"33.5\"/></g>"},"stove":{"occupiable":false,"name":"난로","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\"/>"},"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\"/>"},"kettle":{"occupiable":false,"name":"뱅쇼 솥","icon":"<ellipse cx=\"23\" cy=\"37\" rx=\"14\" ry=\"4.5\" fill=\"#8a5a2a\"/><path d=\"M8 20 q0 18 15 18 q15 0 15 -18 z\" fill=\"#b8702e\" stroke=\"#6b3f14\" stroke-width=\"1.5\"/><rect x=\"7\" y=\"17\" width=\"32\" height=\"5\" rx=\"2\" fill=\"#d08a44\" stroke=\"#6b3f14\" stroke-width=\"1.2\"/><path d=\"M15 14 q2 -4 0 -8 M23 13 q2 -4 0 -8 M31 14 q2 -4 0 -8\" fill=\"none\" stroke=\"#c9ced3\" stroke-width=\"1.6\" stroke-linecap=\"round\"/>"},"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\"/>"},"lamp":{"occupiable":false,"name":"가로등","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\"/>"},"signpost":{"occupiable":false,"name":"주차장 안내판","icon":"<rect x=\"21\" y=\"14\" width=\"4\" height=\"28\" fill=\"#6b4a2b\"/><path d=\"M8 10 h26 l5 5 l-5 5 h-26 z\" fill=\"#e9d7a8\" stroke=\"#6b4a2b\" stroke-width=\"1.3\"/><text x=\"19\" y=\"19\" font-size=\"8\" font-weight=\"700\" fill=\"#3b2a14\" text-anchor=\"middle\" font-family=\"Oswald,sans-serif\">P</text>"}},"wallTypes":{"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\"/>"},"gate":{"name":"축제장 출입문","icon":"<rect x=\"8\" y=\"10\" width=\"30\" height=\"26\" rx=\"2\" fill=\"#b7352c\" stroke=\"#3f1d1a\" stroke-width=\"1.4\"/><path d=\"M16 23 h12 m-4 -5 l5 5 l-5 5\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>"}},"objects":[{"cell":[1,2],"type":"path"},{"cell":[2,2],"type":"path"},{"cell":[3,2],"type":"path"},{"cell":[4,2],"type":"path"},{"cell":[5,2],"type":"path"},{"cell":[6,2],"type":"path"},{"cell":[7,2],"type":"path"},{"cell":[8,2],"type":"path"},{"cell":[9,2],"type":"path"},{"cell":[10,2],"type":"path"},{"cell":[11,2],"type":"path"},{"cell":[12,2],"type":"path"},{"cell":[2,3],"type":"path"},{"cell":[2,4],"type":"path"},{"cell":[2,5],"type":"path"},{"cell":[2,6],"type":"path"},{"cell":[2,7],"type":"path"},{"cell":[2,8],"type":"path"},{"cell":[2,9],"type":"path"},{"cell":[2,10],"type":"path"},{"cell":[1,11],"type":"fireworks"},{"cell":[1,4],"type":"fir"},{"cell":[1,7],"type":"fir"},{"cell":[1,9],"type":"lantern"},{"cell":[1,1],"type":"bench"},{"cell":[3,1],"type":"lantern"},{"cell":[4,1],"type":"fir"},{"cell":[5,1],"type":"sled"},{"cell":[6,1],"type":"bench"},{"cell":[7,3],"type":"lantern"},{"cell":[9,1],"type":"snowman"},{"cell":[10,1],"type":"sled"},{"cell":[11,3],"type":"fir"},{"cell":[12,1],"type":"lantern"},{"cell":[6,7],"type":"xmastree"},{"cell":[3,8],"type":"penguin"},{"cell":[8,5],"type":"cone"},{"cell":[3,9],"type":"counter"},{"cell":[3,10],"type":"counter"},{"cell":[4,12],"type":"skates"},{"cell":[5,12],"type":"skates"},{"cell":[5,9],"type":"bench"},{"cell":[7,10],"type":"stove"},{"cell":[6,12],"type":"bench"},{"cell":[8,9],"type":"bench"},{"cell":[7,12],"type":"table"},{"cell":[12,5],"type":"counter"},{"cell":[12,6],"type":"counter"},{"cell":[12,7],"type":"counter"},{"cell":[12,8],"type":"kettle"},{"cell":[9,4],"type":"barrel"},{"cell":[9,8],"type":"barrel"},{"cell":[10,6],"type":"table"},{"cell":[11,4],"type":"bench"},{"cell":[10,8],"type":"stool"},{"cell":[9,12],"type":"lamp"},{"cell":[12,9],"type":"lamp"},{"cell":[12,12],"type":"signpost"}],"wallFeatures":[{"cell":[1,2],"side":"N","type":"gate"},{"cell":[12,11],"side":"S","type":"gate"},{"cell":[2,10],"side":"S","type":"door"},{"cell":[4,9],"side":"W","type":"door"},{"cell":[5,11],"side":"S","type":"door"},{"cell":[8,11],"side":"S","type":"door"},{"cell":[5,4],"side":"W","type":"door"},{"cell":[9,6],"side":"N","type":"door"},{"cell":[10,4],"side":"W","type":"door"},{"cell":[11,8],"side":"E","type":"door"}],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Amos","gender":"M","role":"skater","color":"#c62828","avatar":{"bg":"#3a5a7a","skin":"#e9c6a4","hair":"#3b2418","style":"short","shirt":"#b03a2e","beanie":"#c0392b","scarf":"#f4efe6"},"clue":"그는 <b>얼음 위에서 가장 북쪽에 있는 사람</b>이었다.","job":"하키 선수","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Amos\"><rect width=\"80\" height=\"80\" fill=\"#3a5a7a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#b03a2e\"/><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 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 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#c0392b\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#c0392b\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"extreme_in_area","dir":"N"}]},{"id":"B","name":"Bonnie","gender":"F","role":"skater","color":"#2e7d32","avatar":{"bg":"#5b3a6e","skin":"#f4d3b6","hair":"#d9b464","style":"long","shirt":"#2f6f5a","earmuffs":"#f2a7c4","scarf":"#2f6f5a"},"clue":"그녀는 <b>크리스마스트리를 향해 곧장 미끄러졌다</b>.","job":"피겨 스케이터","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Bonnie\"><rect width=\"80\" height=\"80\" fill=\"#5b3a6e\"/><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=\"#2f6f5a\"/><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 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\"/><path d=\"M27 30 Q40 15 53 30\" fill=\"none\" stroke=\"#f2a7c4\" stroke-width=\"3\"/><circle cx=\"26\" cy=\"35\" r=\"5\" fill=\"#f2a7c4\"/><circle cx=\"54\" cy=\"35\" r=\"5\" fill=\"#f2a7c4\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#2f6f5a\"/></svg>","solverRole":"guest","constraints":[{"type":"glide","obj":"xmastree"}]},{"id":"C","name":"Clive","gender":"M","role":"skater","color":"#1565c0","avatar":{"bg":"#4b4b6d","skin":"#f1c8a5","hair":"#8a5a2a","style":"slick","shirt":"#22406f","scarf":"#c9a227"},"clue":"그는 <b>Bonnie보다 정확히 두 행 북쪽</b>에 있었다.","job":"스키 강사","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Clive\"><rect width=\"80\" height=\"80\" fill=\"#4b4b6d\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><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=\"#8a5a2a\"/><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=\"#c9a227\"/></svg>","solverRole":"guest","constraints":[{"type":"rel","q":"B","dir":"N","exact":2}]},{"id":"D","name":"Dakota","gender":"F","role":"skater","color":"#6a1b9a","avatar":{"bg":"#3f6d5a","skin":"#8a5a3c","hair":"#1a1210","style":"curly","shirt":"#7a4d9a","beanie":"#f0b429","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=\"Dakota\"><rect width=\"80\" height=\"80\" fill=\"#3f6d5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a4d9a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#8a5a3c\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#8a5a3c\"/><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=\"#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\"/><path d=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#f0b429\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#f0b429\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><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":"corner_of_area"},{"type":"rel_any","dir":"W","exact":1,"gender":"M"}]},{"id":"E","name":"Elliot","gender":"M","role":"skater","color":"#e65100","avatar":{"bg":"#2c3e58","skin":"#f0cdb0","hair":"#1c1a1a","style":"short","shirt":"#d97b2a","beanie":"#2f6f5a","glasses":true},"clue":"그는 <b>등불</b> 옆에 있었다.","job":"우편배달부","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Elliot\"><rect width=\"80\" height=\"80\" fill=\"#2c3e58\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#d97b2a\"/><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=\"#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=\"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=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#2f6f5a\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#2f6f5a\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"beside","obj":"lantern"}]},{"id":"F","name":"Freya","gender":"F","role":"staff","color":"#00838f","avatar":{"bg":"#7a3a2a","skin":"#f4d5bb","hair":"#b7482c","style":"bun","shirt":"#1f8a8a","apron":true},"clue":"그녀는 <b>카운터 옆에 있는 유일한 사람</b>이었다.","job":"텐트 주인","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Freya\"><rect width=\"80\" height=\"80\" fill=\"#7a3a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1f8a8a\"/><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=\"#f4d5bb\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4d5bb\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#b7482c\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 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\"/></svg>","solverRole":"staff","constraints":[{"type":"only_beside","obj":"counter"}]},{"id":"G","name":"Gilbert","gender":"M","role":"staff","color":"#ad1457","avatar":{"bg":"#3f3f3f","skin":"#e4b998","hair":"#8a8a8a","style":"bald","shirt":"#4a4a4a","beard":true,"earmuffs":"#3b3b3b"},"clue":"그는 <b>불꽃놀이 거치대</b> 옆에 있었다.","job":"불꽃놀이 기술자","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gilbert\"><rect width=\"80\" height=\"80\" fill=\"#3f3f3f\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#4a4a4a\"/><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 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#8a8a8a\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 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=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#8a8a8a\"/><path d=\"M27 30 Q40 15 53 30\" fill=\"none\" stroke=\"#3b3b3b\" stroke-width=\"3\"/><circle cx=\"26\" cy=\"35\" r=\"5\" fill=\"#3b3b3b\"/><circle cx=\"54\" cy=\"35\" r=\"5\" fill=\"#3b3b3b\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"fireworks"}]},{"id":"H","name":"Heidi","gender":"F","role":"staff","color":"#5d4037","avatar":{"bg":"#33526e","skin":"#f6d8c0","hair":"#6b3f22","style":"ponytail","shirt":"#8a5a2a","beanie":"#b03a2e","scarf":"#f4efe6"},"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=\"Heidi\"><rect width=\"80\" height=\"80\" fill=\"#33526e\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#6b3f22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8a5a2a\"/><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=\"#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=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#b03a2e\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#b03a2e\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f4efe6\"/></svg>","solverRole":"staff","constraints":[{"type":"wall","feature":"door"},{"type":"rel_any","dir":"S","exact":3,"gender":"M"}]},{"id":"I","name":"Ivy","gender":"F","role":"visitor","color":"#827717","avatar":{"bg":"#8c3a5a","skin":"#e9c6a4","hair":"#1c1a1a","style":"bob","shirt":"#7a6a3c","glasses":true,"scarf":"#c9a227"},"clue":"그녀는 <b>맨 아래 행</b>에 있었다.","job":"사진작가","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ivy\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><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=\"#7a6a3c\"/><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=\"#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=\"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=\"#c9a227\"/></svg>","solverRole":"guest","constraints":[{"type":"row","rows":[12]}]},{"id":"J","name":"Joel","gender":"M","role":"visitor","color":"#283593","avatar":{"bg":"#5a2a2a","skin":"#d9a57a","hair":"#3b2418","style":"short","shirt":"#283593","beanie":"#3498db","scarf":"#f4efe6"},"clue":"그는 <b>썰매</b>에 앉아 있었다.","job":"썰매 타는 사람","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Joel\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#283593\"/><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=\"#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 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#3498db\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#3498db\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"on","obj":"sled"}]},{"id":"K","name":"Kitty","gender":"F","role":"visitor","color":"#33691e","avatar":{"bg":"#2f5d7c","skin":"#f1cfb2","hair":"#c9c3b8","style":"bun","shirt":"#33691e","earmuffs":"#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=\"Kitty\"><rect width=\"80\" height=\"80\" fill=\"#2f5d7c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#33691e\"/><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=\"#f1cfb2\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1cfb2\"/><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\"/><path d=\"M27 30 Q40 15 53 30\" fill=\"none\" stroke=\"#f4efe6\" stroke-width=\"3\"/><circle cx=\"26\" cy=\"35\" r=\"5\" fill=\"#f4efe6\"/><circle cx=\"54\" cy=\"35\" r=\"5\" fill=\"#f4efe6\"/></svg>","solverRole":"guest","constraints":[{"type":"beside","obj":"barrel"}]},{"id":"V","name":"Virgil","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#3a4a3a","skin":"#e4b998","hair":"#cfcfd2","style":"slick","shirt":"#22406f","mustache":true,"mustacheColor":"#bdbdbd","whistle":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=\"Virgil\"><rect width=\"80\" height=\"80\" fill=\"#3a4a3a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><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=\"#cfcfd2\"/><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=\"#bdbdbd\"/><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\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"staff","constraints":[{"type":"area","areas":["Hut"]},{"type":"on","obj":"bench"}]}],"victim":"V","murderer":"C","solution":{"G":[1,12],"H":[2,10],"A":[3,7],"C":[4,11],"V":[5,9],"B":[6,4],"E":[7,2],"D":[8,8],"K":[9,5],"J":[10,1],"F":[11,6],"I":[12,3]},"walkthrough":[{"place":["V"],"text":"Virgil은 스케이트 오두막의 벤치에 누워 있다: <b>R5C9</b>. 범인은 오두막에서 그와 단둘이 있었고, Virgil의 행과 열을 벗어난 칸에 있었다: <b>R3C11, R3C12, R4C10 또는 R4C11</b>."},{"text":"이제 도주 경로다 – 범인은 빈 구역만 지나 나갔다. 정문으로? 그렇다면 <b>공원</b> 전체가 비어 있어야 하지만, 1행과 2행은 공원 칸으로만 이루어져 있고 모든 행에는 누군가 있다: 불가능. 얼음을 건너 뱅쇼 텐트와 데크를 지나서? 그렇다면 <b>링크, 뱅쇼 텐트, 데크</b>가 모두 비어야 하고, 4~8열은 1~2행만으로 채워야 한다 – 다섯 열에 두 행: 불가능. 남는 길은 하나뿐이다: 오두막 → <b>난방 텐트</b> → <b>데크</b> → 주차장 문. <b>난방 텐트와 데크는 비어 있다</b> – 28칸을 모두 지워라. 결과: 9~12열에는 네 사람이 필요한데, 그곳에 남은 것은 오두막과 공원의 1~2행뿐이다: Virgil, 범인, 그리고 1행과 2행의 두 사람 – 따라서 이 두 사람은 공원의 <b>10~12열</b>에 서 있다 (9열은 Virgil의 열)."},{"place":["H","J","G"],"text":"공원을 세어 보자: 1~2행에 두 사람, 1~3열에 세 사람 더 – <b>최대 다섯 명</b>. 다섯 용의자는 다른 곳에 있을 수 없다: Elliot(모든 등불은 공원에 있다), Gilbert(불꽃놀이 거치대), Joel(두 썰매 모두), Ivy(맨 아래 행: R12C4는 텐트 카운터 옆인데, 카운터 옆에 있는 사람은 Freya뿐이다), 그리고 Heidi. Heidi는 문 앞에 서 있다: 오두막 문(R2C10) 또는 뱅쇼 텐트의 문(R9C6, R10C4, R11C8) – 하지만 텐트 문의 세 행 남쪽에는 12행, 즉 여자인 Ivy의 행이 있거나 아무것도 없다. 따라서 <b>Heidi R2C10</b>(세 행 남쪽: Virgil). 공원은 꽉 찼다 – 다른 누구도 공원에 없다. <b>Joel</b>: R5C1의 썰매는 Virgil의 행에 있으므로 <b>R10C1</b>. <b>Gilbert</b>는 거치대 옆: R1C10은 Heidi의 열, R2C11은 Heidi의 행 – <b>R1C12</b>. 10열과 12열이 찼으므로 범인은 <b>11열</b>에 있다: R3C11 또는 R4C11."},{"place":["C"],"cand":{"F":[[11,5],[11,6],[11,7]],"I":[[12,1],[12,2],[12,3]],"B":[[6,4],[6,5],[6,6],[6,8]],"K":[[9,5],[9,7]],"E":[[3,2],[7,2],[8,3]]},"text":"9~12행. Kitty는 통 옆에 있다(R9C5, R9C7, R10C4 또는 R10C8); 10행은 Joel의 것이므로 Kitty는 <b>9행</b>. Ivy는 12행(R12C1, R12C2 또는 R12C3). 11행은 누구인가? Elliot의 등불 칸은 다른 곳에 있고, 스케이터들은 얼음 위에 있으며, Clive는 Bonnie보다 많아야 두 행 위에 있다 – <b>Freya</b>만 가능하다: 텐트 카운터 옆, R11C5, R11C6 또는 R11C7. 따라서 Freya는 오두막이 아니라 텐트에 있고, Virgil과 함께 있을 수 있는 사람은 <b>Clive</b>뿐이다: <b>그가 범인이다</b>. Clive는 Bonnie보다 정확히 두 행 북쪽에 있다; 3행이라면 Bonnie가 Virgil의 행에 놓이므로 <b>Clive R4C11</b>, <b>Bonnie는 6행</b>에서 6행을 따라 트리로 미끄러졌다: R6C4, R6C5, R6C6 또는 R6C8. Elliot은 등불 옆, 1·2·6·10·12행과 1열이 찬 상태에서: R3C2, R7C2 또는 R8C3."},{"place":["D","A","E","I"],"cand":{"F":[[11,5],[11,6],[11,7]],"B":[[6,4],[6,5],[6,6]],"K":[[9,5],[9,7]]},"text":"Dakota는 링크의 모서리에 있다. 4행은 Clive의 것이고, 3행 – 링크의 맨 윗행 – 에서는 얼음 위 그녀의 북쪽에 아무도 있을 수 없는데, Amos가 가장 북쪽의 스케이터다. 따라서 R8C4 또는 R8C8. 그녀의 정확히 한 열 서쪽에 남자가 있었다: R8C4라면 3열인데, 그곳에 설 수 있는 유일한 남자는 R8C3의 Elliot – Dakota와 같은 행이다. 따라서 <b>Dakota R8C8</b>, 그리고 7열의 남자는 Amos다(다른 남자들은 1, 2~3, 11, 12열에 있다). Amos는 얼음 위에서 Bonnie의 6행보다 북쪽에 있고, R4C7과 R5C7은 Clive와 Virgil의 행이다: <b>Amos R3C7</b>. 3행과 8행이 없어졌으므로 <b>Elliot R7C2</b>, 그리고 1열과 2열이 찼으므로 <b>Ivy R12C3</b>."},{"place":["K","F","B"],"text":"Bonnie(6행), Kitty(9행), Freya(11행)에게 4, 5, 6열이 남는다. 7열이 찬 상태에서 9행의 Kitty의 통 옆 칸: <b>Kitty R9C5</b>. Freya: R11C5와 R11C7이 사라졌다 – <b>Freya R11C6</b>. Bonnie는 6행의 마지막 빈 칸에서 트리로 미끄러졌다: <b>Bonnie R6C4</b>."},{"final":true,"text":"사건 종결. Clive는 스케이트를 반납하고 오두막에서 Virgil과 단둘이 있었다 – 그리고 텅 빈 난방 텐트와 빈 데크를 지나 주차장으로 빠져나갔다. 그려진 문들과 행·열 세기가 스케이터 한 명을 놓기도 전에 그의 경로를 드러냈다."}],"solver":{"rules":[{"type":"escape","links":[["Park","Hut"],["Hut","Rink"],["Hut","Tent"],["Tent","Boardwalk"],["Park","Rink"],["Rink","Tavern"],["Park","Tavern"],["Tavern","Boardwalk"]],"exits":["Park","Boardwalk"]}],"groups":{"Stalls":["Hut","Tent","Tavern"]},"occupiable":["path","bench","sled","stool"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-15"}}