{"format":"murdoku-puzzle/1","id":"night-train","version":4,"difficulty":"hard","level":7,"size":{"rows":12,"cols":12},"languages":["en","hu","de","fr","es","it","pt","ca","nl","pl","cs","ro","fi","tr","el","ru","uk","vi","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"The Night Train","tagline":"23:40 · Night express · Platform 3","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-14","story":"The night express is waiting to depart from platform 3. Twenty minutes before departure the conductor, Victor, is found dead. Eleven people were on the train and in the station – one of them is the killer. Read each suspect’s statement and find everyone’s exact position on the crime scene. The killer was alone with the victim, in the same area.","rules":{"standard":["Every <b>row</b> and every <b>column</b> holds exactly <b>one person</b>. As soon as you place someone, cross out their whole row and column.","<b>“Beside”</b> = directly left, right, above or below, and <b>in the same area</b>.","Directions refer to rows and columns, not to the same column: <i>“he was north of”</i> = in a row further up; <i>“exactly one row north of him there was someone”</i> = the occupant of the row directly above, in any column. <i>“Standing”</i> = not in a chair and not on a bed."],"special":["Everyone from <b>Hugo to Victor</b> was a member of <b>staff</b>; everyone else was a <b>passenger</b>. Only staff could be in the <b>Luggage Car</b> and the <b>Ticket Office</b>.","Every area of the <b>station building</b> had <b>at least one person</b> in it."]},"roleNames":{"passenger":"passenger","staff":"staff","victim":"victim"},"personGroups":[{"id":"passengers","name":"Passengers","persons":["A","B","C","D","E","F","G"]},{"id":"staff","name":"Staff","persons":["H","I","J","K","V"]}],"map":{"groups":[{"id":"train","name":"TRAIN","style":"train"},{"id":"platform","name":"PLATFORM","style":"platform"},{"id":"building","name":"STATION BUILDING","style":"building"}],"gaps":[{"afterRow":4,"px":22,"style":"rails"},{"afterRow":6,"px":12,"style":"wall"}],"areas":[{"id":"Sleeper A","cells":[[1,1],[1,2],[2,1],[2,2],[3,1],[3,2],[4,1],[4,2]],"fill":"#cdd8ea","group":"train","name":"Sleeper A"},{"id":"Sleeper B","cells":[[1,3],[1,4],[2,3],[2,4],[3,3],[3,4],[4,3],[4,4]],"fill":"#b9cae3","group":"train","name":"Sleeper B"},{"id":"Dining Car","cells":[[1,5],[1,6],[1,7],[1,8],[2,5],[2,6],[2,7],[2,8],[3,5],[3,6],[3,7],[3,8],[4,5],[4,6],[4,7],[4,8]],"fill":"#f0dfbf","pattern":"planks","group":"train","name":"Dining Car"},{"id":"Bar Car","cells":[[1,9],[1,10],[2,9],[2,10],[3,9],[3,10],[4,9],[4,10]],"fill":"#e6cc9c","pattern":"planks","group":"train","name":"Bar Car"},{"id":"Luggage Car","cells":[[1,11],[1,12],[2,11],[2,12],[3,11],[3,12],[4,11],[4,12]],"fill":"#d3cfc4","group":"train","name":"Luggage Car"},{"id":"Platform","cells":[[5,1],[5,2],[5,3],[5,4],[5,5],[5,6],[5,7],[5,8],[5,9],[5,10],[5,11],[5,12],[6,1],[6,2],[6,3],[6,4],[6,5],[6,6],[6,7],[6,8],[6,9],[6,10],[6,11],[6,12]],"fill":"#dddcd6","group":"platform","labelAt":[6,6.5],"name":"Platform"},{"id":"Ticket Office","cells":[[7,1],[7,2],[7,3],[8,1],[8,2],[8,3],[9,1],[9,2],[9,3]],"fill":"#ead1ca","group":"building","name":"Ticket Office"},{"id":"Waiting Room","cells":[[7,4],[7,5],[7,6],[7,7],[7,8],[8,4],[8,5],[8,6],[8,7],[8,8],[9,4],[9,5],[9,6],[9,7],[9,8]],"fill":"#dfe7cd","pattern":"marble","group":"building","name":"Waiting Room"},{"id":"Newsstand","cells":[[7,9],[7,10],[7,11],[7,12],[8,9],[8,10],[8,11],[8,12]],"fill":"#f6e5b2","group":"building","name":"Newsstand"},{"id":"Cafe","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],[10,8],[11,8],[12,8]],"fill":"#f1d3c0","group":"building","labelAt":[12,10.5],"name":"Café"},{"id":"Restrooms","cells":[[10,1],[10,2],[10,3],[11,1],[11,2],[11,3],[12,1],[12,2],[12,3]],"fill":"#cfe4e8","pattern":"tiles","group":"building","name":"Restrooms"},{"id":"Entrance Hall","cells":[[10,4],[10,5],[10,6],[10,7],[11,4],[11,5],[11,6],[11,7],[12,4],[12,5],[12,6],[12,7]],"fill":"#e8e4d9","pattern":"marble","group":"building","name":"Entrance Hall"}],"objectTypes":{"bed":{"occupiable":true,"name":"bed","icon":"<rect x=\"7\" y=\"1\" width=\"32\" height=\"44\" rx=\"6\" fill=\"#f7f4ee\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"5\" width=\"24\" height=\"10\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#8c8a82\"/><rect x=\"9\" y=\"19\" width=\"28\" height=\"22\" rx=\"4\" fill=\"#9fb3d6\"/>","iconTall":"<rect x=\"7\" y=\"3\" width=\"32\" height=\"86\" rx=\"7\" fill=\"#f7f4ee\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"7\" width=\"24\" height=\"12\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#8c8a82\"/><rect x=\"9\" y=\"24\" width=\"28\" height=\"61\" rx=\"4\" fill=\"#9fb3d6\"/>"},"chair":{"occupiable":true,"legendIcons":["chair","bench"],"name":"chair / bench","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\"/>"},"stool":{"occupiable":true,"solverType":"chair","legendGroup":"chair","name":"stool","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,"solverType":"chair","legendGroup":"chair","name":"bench","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\"/>"},"table":{"occupiable":false,"name":"table","icon":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"32\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"22\" rx=\"3\" fill=\"#d1a675\"/>"},"counter":{"occupiable":false,"name":"counter","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\"/>"},"shelf":{"occupiable":false,"name":"shelf","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\"/>"},"luggage":{"occupiable":false,"name":"luggage","icon":"<rect x=\"8\" y=\"22\" width=\"30\" height=\"16\" rx=\"3\" fill=\"#6f5238\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><rect x=\"12\" y=\"9\" width=\"22\" height=\"12\" rx=\"3\" fill=\"#a15c3e\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><rect x=\"19\" y=\"5\" width=\"8\" height=\"4\" rx=\"2\" fill=\"#3f2d1d\"/>"},"trolley":{"occupiable":false,"name":"trolley","icon":"<rect x=\"7\" y=\"12\" width=\"32\" height=\"18\" rx=\"3\" fill=\"#9aa1a8\" stroke=\"#3d444b\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"6\" width=\"24\" height=\"10\" rx=\"2\" fill=\"#a15c3e\" stroke=\"#3f2d1d\"/><circle cx=\"13\" cy=\"35\" r=\"4\" fill=\"#2b2f33\"/><circle cx=\"33\" cy=\"35\" r=\"4\" fill=\"#2b2f33\"/><line x1=\"39\" y1=\"12\" x2=\"42\" y2=\"4\" stroke=\"#3d444b\" stroke-width=\"2\"/>"},"pillar":{"occupiable":false,"name":"pillar","icon":"<circle cx=\"23\" cy=\"23\" r=\"12\" fill=\"#b9b6ae\" stroke=\"#5b5852\" stroke-width=\"2\"/><circle cx=\"23\" cy=\"23\" r=\"6\" fill=\"#9a968d\"/>"},"vending":{"occupiable":false,"name":"vending machine","icon":"<rect x=\"9\" y=\"4\" width=\"28\" height=\"38\" rx=\"3\" fill=\"#2f3b4c\" stroke=\"#161c25\" stroke-width=\"1.5\"/><rect x=\"13\" y=\"8\" width=\"16\" height=\"18\" fill=\"#7fc4d8\"/><rect x=\"13\" y=\"29\" width=\"20\" height=\"4\" fill=\"#f0b429\"/><rect x=\"13\" y=\"35\" width=\"20\" height=\"3\" fill=\"#8a94a0\"/>"},"tv":{"occupiable":false,"name":"screen","icon":"<rect x=\"6\" y=\"10\" width=\"34\" height=\"24\" rx=\"2\" fill=\"#1c232c\" stroke=\"#0b0e12\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"14\" width=\"22\" height=\"3\" fill=\"#f0b429\"/><rect x=\"9\" y=\"20\" width=\"26\" height=\"3\" fill=\"#f0b429\"/><rect x=\"9\" y=\"26\" width=\"18\" height=\"3\" fill=\"#7fc4d8\"/><rect x=\"18\" y=\"34\" width=\"10\" height=\"4\" fill=\"#0b0e12\"/>"},"plant":{"occupiable":false,"name":"plant","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\"/>"},"sink":{"occupiable":false,"name":"sink","icon":"<rect x=\"7\" y=\"9\" width=\"32\" height=\"28\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"24\" rx=\"11\" ry=\"7\" fill=\"#ffffff\" stroke=\"#8a949c\"/><circle cx=\"23\" cy=\"24\" r=\"2\" fill=\"#8a949c\"/><rect x=\"21\" y=\"10\" width=\"4\" height=\"6\" fill=\"#8a949c\"/>"},"toilet":{"occupiable":false,"name":"toilet","icon":"<rect x=\"14\" y=\"6\" width=\"18\" height=\"10\" rx=\"2\" fill=\"#dfe6ea\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"30\" rx=\"11\" ry=\"12\" fill=\"#ffffff\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"30\" rx=\"6\" ry=\"7\" fill=\"#c9d6dd\"/>"}},"wallTypes":{"window":{"name":"window","icon":"<rect x=\"4\" y=\"18\" width=\"38\" height=\"8\" rx=\"2\" fill=\"#bfe3f2\" stroke=\"#4a7c95\"/>"},"door":{"name":"door","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\"/>"}},"objects":[{"cell":[1,1],"type":"bed","span":[2,1]},{"cell":[3,1],"type":"table"},{"cell":[4,1],"type":"shelf"},{"cell":[1,4],"type":"bed","span":[2,1]},{"cell":[3,4],"type":"table"},{"cell":[4,4],"type":"shelf"},{"cell":[2,5],"type":"table"},{"cell":[2,8],"type":"table"},{"cell":[1,5],"type":"chair"},{"cell":[3,5],"type":"chair"},{"cell":[1,8],"type":"chair"},{"cell":[3,8],"type":"chair"},{"cell":[4,8],"type":"plant"},{"cell":[2,9],"type":"counter"},{"cell":[3,9],"type":"counter"},{"cell":[2,10],"type":"stool"},{"cell":[3,10],"type":"stool"},{"cell":[1,11],"type":"luggage"},{"cell":[1,12],"type":"luggage"},{"cell":[2,12],"type":"luggage"},{"cell":[4,11],"type":"luggage"},{"cell":[3,12],"type":"luggage"},{"cell":[6,3],"type":"bench"},{"cell":[6,8],"type":"bench"},{"cell":[5,5],"type":"pillar"},{"cell":[5,10],"type":"pillar"},{"cell":[5,12],"type":"trolley"},{"cell":[6,1],"type":"vending"},{"cell":[7,1],"type":"counter"},{"cell":[7,2],"type":"counter"},{"cell":[7,3],"type":"counter"},{"cell":[8,2],"type":"chair"},{"cell":[8,1],"type":"shelf"},{"cell":[9,3],"type":"shelf"},{"cell":[7,6],"type":"tv"},{"cell":[8,4],"type":"chair"},{"cell":[8,5],"type":"chair"},{"cell":[8,7],"type":"chair"},{"cell":[8,8],"type":"chair"},{"cell":[9,7],"type":"plant"},{"cell":[7,11],"type":"shelf"},{"cell":[7,12],"type":"shelf"},{"cell":[8,12],"type":"counter"},{"cell":[9,10],"type":"counter"},{"cell":[9,11],"type":"counter"},{"cell":[9,12],"type":"shelf"},{"cell":[11,9],"type":"table"},{"cell":[11,11],"type":"table"},{"cell":[10,9],"type":"chair"},{"cell":[12,9],"type":"chair"},{"cell":[10,11],"type":"chair"},{"cell":[12,11],"type":"chair"},{"cell":[10,1],"type":"sink"},{"cell":[12,1],"type":"toilet"},{"cell":[10,4],"type":"plant"}],"wallFeatures":[{"cell":[1,1],"side":"N","type":"window"},{"cell":[1,2],"side":"N","type":"window"},{"cell":[1,3],"side":"N","type":"window"},{"cell":[1,4],"side":"N","type":"window"},{"cell":[1,5],"side":"N","type":"window"},{"cell":[1,6],"side":"N","type":"window"},{"cell":[1,7],"side":"N","type":"window"},{"cell":[1,8],"side":"N","type":"window"},{"cell":[1,9],"side":"N","type":"window"},{"cell":[1,10],"side":"N","type":"window"},{"cell":[12,5],"side":"S","type":"door"},{"cell":[12,6],"side":"S","type":"door"}],"extras":[{"type":"safetyLine","row":5}],"cellSize":46},"persons":[{"id":"A","name":"Anna","gender":"F","role":"passenger","color":"#c62828","avatar":{"bg":"#c96a4a","skin":"#f1c8a5","hair":"#3b2418","style":"long","shirt":"#3d8a8a"},"clue":"She was beside a <b>plant</b>. She was <b>not sitting</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Anna\"><rect width=\"80\" height=\"80\" fill=\"#c96a4a\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#3b2418\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3d8a8a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#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\"/></svg>","solverRole":"passenger","constraints":[{"type":"beside","obj":"plant"},{"type":"not_on","obj":"chair"}]},{"id":"B","name":"Bruno","gender":"M","role":"passenger","color":"#2e7d32","avatar":{"bg":"#4b6d4e","skin":"#e7b98f","hair":"#5a3a22","style":"short","shirt":"#6b7a3a","beard":true},"clue":"Exactly <b>one column west</b> of him there was a <b>woman</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Bruno\"><rect width=\"80\" height=\"80\" fill=\"#4b6d4e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#6b7a3a\"/><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=\"#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=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#5a3a22\"/></svg>","solverRole":"passenger","constraints":[{"type":"rel_any","dir":"W","exact":1,"gender":"F"}]},{"id":"C","name":"Clara","gender":"F","role":"passenger","color":"#1565c0","avatar":{"bg":"#6a4d8a","skin":"#f4d3b6","hair":"#d9b464","style":"bob","shirt":"#8a4d7a","glasses":true},"clue":"She was beside a <b>shelf</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Clara\"><rect width=\"80\" height=\"80\" fill=\"#6a4d8a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8a4d7a\"/><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\"/><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":"passenger","constraints":[{"type":"beside","obj":"shelf"}]},{"id":"D","name":"Dominic","gender":"M","role":"passenger","color":"#6a1b9a","avatar":{"bg":"#33526e","skin":"#d9a57a","hair":"#1c1a1a","style":"short","shirt":"#6f6f73","headphones":true},"clue":"He was <b>sitting in a chair</b>. Exactly <b>one row north</b> of him there was a member of <b>staff</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dominic\"><rect width=\"80\" height=\"80\" fill=\"#33526e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#6f6f73\"/><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=\"#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=\"M25 34 Q25 12 40 12 Q55 12 55 34\" fill=\"none\" stroke=\"#111\" stroke-width=\"3\"/><rect x=\"21\" y=\"30\" width=\"7\" height=\"12\" rx=\"3\" fill=\"#111\"/><rect x=\"52\" y=\"30\" width=\"7\" height=\"12\" rx=\"3\" fill=\"#111\"/></svg>","solverRole":"passenger","constraints":[{"type":"on","obj":"chair"},{"type":"rel_any","dir":"N","exact":1,"role":"staff"}]},{"id":"E","name":"Esther","gender":"F","role":"passenger","color":"#e65100","avatar":{"bg":"#8c3a3a","skin":"#f6d8c0","hair":"#b7482c","style":"curly","shirt":"#3d7a4b"},"clue":"She was <b>sitting in a chair</b> beside a <b>table</b>. She was <b>alone</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Esther\"><rect width=\"80\" height=\"80\" fill=\"#8c3a3a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3d7a4b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><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\"/></svg>","solverRole":"passenger","constraints":[{"type":"on","obj":"chair"},{"type":"beside","obj":"table"},{"type":"alone"}]},{"id":"F","name":"Felix","gender":"M","role":"passenger","color":"#00838f","avatar":{"bg":"#7a6a3c","skin":"#e9c6a4","hair":"#c9c3b8","style":"bald","shirt":"#5a3f2a","glasses":true,"mustache":true},"clue":"He was in the <b>first column</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Felix\"><rect width=\"80\" height=\"80\" fill=\"#7a6a3c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5a3f2a\"/><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 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\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#3a2a1c\"/></svg>","solverRole":"passenger","constraints":[{"type":"col","cols":[1]}]},{"id":"G","name":"Greta","gender":"F","role":"passenger","color":"#ad1457","avatar":{"bg":"#3a5a6e","skin":"#f0cdb0","hair":"#cfcfd2","style":"bun","shirt":"#2b3d66","necklace":true},"clue":"She was <b>standing</b> beside a <b>table</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Greta\"><rect width=\"80\" height=\"80\" fill=\"#3a5a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2b3d66\"/><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=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#cfcfd2\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 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\"/></svg>","solverRole":"passenger","constraints":[{"type":"beside","obj":"table"},{"type":"not_on","obj":"chair"},{"type":"not_on","obj":"bed"}]},{"id":"H","name":"Hugo","gender":"M","role":"staff","color":"#5d4037","avatar":{"bg":"#2c3e58","skin":"#8a5a3c","hair":"#1a1210","style":"short","shirt":"#22406f","cap":true},"clue":"He was beside the <b>trolley</b>.","job":"porter","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Hugo\"><rect width=\"80\" height=\"80\" fill=\"#2c3e58\"/><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=\"#8a5a3c\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#8a5a3c\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 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 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":"trolley"}]},{"id":"I","name":"Iris","gender":"F","role":"staff","color":"#827717","avatar":{"bg":"#5b4a6e","skin":"#f1cfb2","hair":"#2b1c14","style":"ponytail","shirt":"#22406f","glasses":true},"clue":"She was <b>sitting in a chair</b>. Exactly <b>two rows south</b> of her there was a <b>man</b>.","job":"ticket clerk","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Iris\"><rect width=\"80\" height=\"80\" fill=\"#5b4a6e\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#2b1c14\"/><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=\"#f1cfb2\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1cfb2\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 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\"/><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":"staff","constraints":[{"type":"on","obj":"chair"},{"type":"rel_any","dir":"S","exact":2,"gender":"M"}]},{"id":"J","name":"Jonas","gender":"M","role":"staff","color":"#283593","avatar":{"bg":"#3f3f3f","skin":"#e8bf9a","hair":"#2a1d16","style":"slick","shirt":"#1f2530","bow":true},"clue":"He was beside a <b>counter</b>. He was <b>north</b> of <b>Hugo</b>.","job":"bartender","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Jonas\"><rect width=\"80\" height=\"80\" fill=\"#3f3f3f\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1f2530\"/><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=\"#e8bf9a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e8bf9a\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#2a1d16\"/><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":"beside","obj":"counter"},{"type":"rel","q":"H","dir":"N"}]},{"id":"K","name":"Kate","gender":"F","role":"staff","color":"#33691e","avatar":{"bg":"#8a5a2a","skin":"#f4d5bb","hair":"#6b3f22","style":"bob","shirt":"#22406f","apron":true},"clue":"She was in the <b>bottom row</b>.","job":"café staff","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Kate\"><rect width=\"80\" height=\"80\" fill=\"#8a5a2a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#6b3f22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><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\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 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\"/></svg>","solverRole":"staff","constraints":[{"type":"row","rows":[12]}]},{"id":"V","name":"Victor","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#e4b998","hair":"#8a8a8a","style":"short","shirt":"#22406f","cap":true,"mustache":true,"mustacheColor":"#777"},"clue":"<b>The Victim.</b> He was alone with the murderer.","job":"conductor","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Victor\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><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 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 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=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#777\"/><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\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"staff","constraints":[]}],"victim":"V","murderer":"G","solution":{"E":[1,5],"V":[2,4],"G":[3,3],"J":[4,9],"H":[5,11],"D":[6,8],"C":[7,10],"I":[8,2],"A":[9,6],"B":[10,7],"F":[11,1],"K":[12,12]},"walkthrough":[{"focus":{"group":"building"},"text":"The <b>station building</b> spans rows 7–12, six rows – so exactly <b>six people</b> were inside. Each of its six areas had someone in it (special rule 2), so <b>every building area holds exactly one person</b>. Nobody in the building was with anyone, and V (who was with the murderer) cannot be there. Likewise the two platform rows hold exactly <b>two</b> people and the train exactly <b>four</b>."},{"cand":{"H":[[5,11],[6,12]],"J":[[1,9],[4,9],[2,10],[3,10]]},"text":"H was beside a <b>trolley</b> – the only trolley stands on the platform, so H is in row 5 or 6 (R5C11 or R6C12). J was <b>north</b> of H, so J is in row 5 at the latest; the only counter that far north is in the <b>Bar Car</b>. So J is in the Bar Car."},{"place":["I"],"cand":{"H":[[5,11],[6,12]],"J":[[1,9],[4,9],[2,10],[3,10]]},"text":"The <b>Ticket Office</b> (staff only) holds exactly one person. H is on the platform, J in the Bar Car, K in the bottom row and V cannot be alone – so only <b>I</b> can be there, on its only chair: I sits at <b>R8C2</b>. Block row 8 and column 2."},{"cand":{"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10],[10,11],[10,12]],"H":[[5,11],[6,12]],"J":[[1,9],[4,9],[2,10],[3,10]]},"text":"Exactly two rows south of I, in <b>row 10, there was a man</b>. D was sitting, but above the row-10 chairs (Café) no staff member can be in row 9; F is in column 1 (R10C1 is a sink); H and J are on the platform and the train; V cannot be in the building. That leaves <b>B: he is in row 10</b>. Block row 10 for everyone else."},{"place":["C"],"cand":{"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,11],[10,12]],"H":[[5,11],[6,12]],"J":[[1,9],[4,9]]},"text":"The <b>Newsstand</b> also holds someone. It has no plant, table, chair or trolley; B is in row 10, K in row 12, F in column 1, the staff are elsewhere. Only <b>C</b> fits (beside a shelf), and since row 8 is taken, C stands at <b>R7C10</b>. Block row 7 and column 10 – this also rules out the bar stools, so J is in column 9."},{"cand":{"E":[[1,5],[3,5],[1,8],[3,8]],"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,11],[10,12]],"H":[[5,11],[6,12]],"J":[[1,9],[4,9]]},"text":"K is in the bottom row, so nobody else is in <b>row 12</b>. E sat in a chair beside a table: such chairs exist in the Dining Car and the Café, but the Café chairs are in rows 10 and 12 (B’s and K’s rows). So E is in the <b>Dining Car</b>, <b>alone</b>: nobody else can be there."},{"place":["H"],"cand":{"D":[[6,3],[6,8]],"E":[[1,5],[3,5],[1,8],[3,8]],"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,12]],"J":[[1,9],[4,9]]},"text":"D sat in a chair. The Dining Car chairs are out (E is alone), the bar stools are in column 10 (C), the Waiting Room chairs in row 8 (I), the Café chairs in rows 10 and 12 (B, K), and a passenger cannot enter the Ticket Office. Only the two platform benches remain: <b>D is in row 6</b>. Then H can only be at <b>R5C11</b> – and the platform is full (D and H)."},{"place":["G"],"cand":{"V":[[1,4],[2,4]],"D":[[6,8]],"E":[[1,5],[1,8]],"B":[[10,5],[10,6],[10,7],[10,8],[10,12]],"J":[[1,9],[4,9]]},"text":"V must be on the train, in one carriage <b>alone with the murderer</b>. The Dining Car has E alone. The Bar Car’s free squares next to J are in column 10 (C). Only staff may enter the Luggage Car, but H, I, J and K are elsewhere. In Sleeper A the bed is in column 1 and the floor in column 2 (I) – two people cannot fit. That leaves <b>Sleeper B</b>, where only <b>G</b> can join V (she stood beside a table): G is at <b>R3C3</b>. Greta is the murderer! Block row 3 and column 3."},{"place":["F"],"cand":{"V":[[1,4],[2,4]],"D":[[6,8]],"E":[[1,5],[1,8]],"B":[[10,5],[10,6],[10,7],[10,8],[10,12]],"J":[[1,9],[4,9]]},"text":"The train now has its four people: E, J, V and G. So F (column 1) cannot be on the Sleeper A bed, and the platform is full: F is in the <b>Restrooms</b>, at <b>R11C1</b>. Block row 11."},{"place":["J","V"],"cand":{"D":[[6,8]],"E":[[1,5],[1,8]],"B":[[10,5],[10,6],[10,7],[10,8],[10,12]]},"text":"E can sit in the Dining Car in row 1 or 3; row 3 belongs to G, so <b>E is in row 1</b>. Then J can only be at <b>R4C9</b>, and V lies on the Sleeper B bed at <b>R2C4</b>."},{"place":["D","E","A"],"cand":{"B":[[10,7],[10,12]]},"text":"D in row 6: R6C3 is in column 3 (G), so D sits at <b>R6C8</b>. Column 8 is now taken: E is at <b>R1C5</b>, and A, beside a plant in the Waiting Room, can only stand at <b>R9C6</b>."},{"place":["B","K"],"text":"B in row 10: only R10C7 and R10C12 are free. One column west of him there was a <b>woman</b> – for R10C12 that is column 11, where H (a man) stands, so it is out. B is at <b>R10C7</b> in the Entrance Hall (column 6 indeed holds a woman, A). Finally only K can be in column 12: K is at <b>R12C12</b>, in the Café."},{"final":true,"text":"Everyone is placed. Victor was alone with <b>Greta</b> in Sleeper B – <b>Greta is the murderer!</b>"}],"solver":{"rules":[{"type":"role_only","areas":["Luggage Car","Ticket Office"],"roles":["staff"]},{"type":"areas_nonempty","areas":["Ticket Office","Waiting Room","Newsstand","Cafe","Restrooms","Entrance Hall"]}],"groups":{"Train":["Sleeper A","Sleeper B","Dining Car","Bar Car","Luggage Car"],"Building":["Ticket Office","Waiting Room","Newsstand","Cafe","Restrooms","Entrance Hall"]},"occupiable":["bed","chair"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-14"}}