{"id":41123,"date":"2026-04-03T11:01:09","date_gmt":"2026-04-03T10:01:09","guid":{"rendered":"https:\/\/monopolyeventshub.com\/runappnow\/?page_id=41123"},"modified":"2026-04-04T19:42:19","modified_gmt":"2026-04-04T18:42:19","slug":"live-schedule-for-the-love-of-anime","status":"publish","type":"page","link":"https:\/\/monopolyeventshub.com\/runappnow\/all-events\/for-the-love-of-anime-categories\/live-schedule-for-the-love-of-anime\/","title":{"rendered":"Live Schedule (For the Love of Anime)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"41123\" class=\"elementor elementor-41123\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35beb06 e-con-full e-flex e-con e-parent\" data-id=\"35beb06\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d4ba605 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"d4ba605\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"clickableDiv\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n  <a href=\"https:\/\/monopolyeventshub.com\/runappnow\/all-events\/for-the-love-of-anime-categories\/\" class=\"header-link\">\r\n    <div class=\"wales-top-header\" style=\"padding: 58px 16px 16px 16px; background: #ed1c24\">\r\n      <div class=\"back-header-icon\"><i class=\"fa-solid fa-circle-arrow-left\"><\/i><\/div>\r\n     <h2 class=\"top-header-title\">Live Schedule<\/h2>\r\n    <\/div>\r\n  <\/a>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-58434a1 e-flex e-con-boxed e-con e-parent\" data-id=\"58434a1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b1336da elementor-widget elementor-widget-spacer\" data-id=\"b1336da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c38fdb8 elementor-widget elementor-widget-text-editor\" data-id=\"c38fdb8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h1>Sunday Guest Schedules<\/h1><div class=\"sub\"><span style=\"color: #ffffff;\">Guests may step away from their autograph table while attending panels or photo sessions. Check the live schedule below for their current activity.<\/span><\/div><p><span style=\"color: #ffffff;\">We\u2019ve launched a new Live Schedule in the app so you can see what\u2019s happening in real time. <a style=\"color: #ffffff;\" href=\"https:\/\/monopolyeventshub.com\/runappnow\/all-events\/for-the-love-of-anime-categories\/feedback-questions-for-the-live-schedule-for-the-love-of-anime\/\"><u>We&#8217;d love your feedback to help improve it.<\/u><\/a><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-362d381 elementor-widget elementor-widget-html\" data-id=\"362d381\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"page\">\r\n<header>\r\n\r\n  <div class=\"controls\">\r\n    <input id=\"search\" class=\"search\" placeholder=\"Search guest\u2026\">\r\n\r\n    <div class=\"dayToggle\" aria-label=\"Day selector\" style=\"display:none;\">\r\n      <button class=\"dayBtn\" id=\"btnToday\" data-day=\"today\" data-active=\"false\">Today<\/button>\r\n      <button class=\"dayBtn\" id=\"btnSunday\" data-day=\"sunday\" data-active=\"true\">Sunday<\/button>\r\n    <\/div>\r\n\r\n    <div id=\"sundayHint\" class=\"hint\" style=\"display:none;\">\r\n      Sunday will appear on the day.\r\n    <\/div>\r\n  <\/div>\r\n<\/header>\r\n\r\n<div id=\"grid\" class=\"grid\"><\/div>\r\n<\/div>\r\n\r\n<nav class=\"bottomBar\" aria-label=\"Filter guests by status\">\r\n  <div class=\"filterRow\" id=\"filterRow\">\r\n    <button class=\"fbtn\" data-filter=\"all\" data-active=\"true\">All<\/button>\r\n    <button class=\"fbtn\" data-filter=\"desk\">Desk<\/button>\r\n    <button class=\"fbtn\" data-filter=\"photo\">Photos<\/button>\r\n    <button class=\"fbtn\" data-filter=\"panel\">Panel<\/button>\r\n    <button class=\"fbtn\" data-filter=\"lunch\">Lunch<\/button>\r\n    <button class=\"fbtn\" data-filter=\"away\">Away<\/button>\r\n  <\/div>\r\n<\/nav>\r\n\r\n<script>\r\nconst eventTimeZone = \"Europe\/London\";\r\n\r\nfunction toMins(t){\r\n  if(!t) return 0;\r\n  const parts = String(t).trim().split(\":\");\r\n  const h = Number(parts[0] || 0);\r\n  const m = Number(parts[1] || 0);\r\n  return (h * 60) + m;\r\n}\r\n\r\n\/** Current time (minutes since midnight) in the configured event timezone *\/\r\nfunction getNowMinsInTZ(){\r\n  const now = new Date();\r\n  const fmt = new Intl.DateTimeFormat(\"en-GB\", {\r\n    timeZone: eventTimeZone,\r\n    hour: \"2-digit\",\r\n    minute: \"2-digit\",\r\n    hour12: false\r\n  });\r\n  const parts = fmt.formatToParts(now);\r\n  const h = Number(parts.find(p => p.type === \"hour\")?.value || 0);\r\n  const m = Number(parts.find(p => p.type === \"minute\")?.value || 0);\r\n  return (h * 60) + m;\r\n}\r\n\r\n\r\n\/** No gating \u2014 both days always available *\/\r\nfunction isSundayAvailable(){ return true; }\r\n\r\n\/** Desk-heavy schedule (starts 08:00) *\/\r\nfunction deskSchedule(){\r\n  return [\r\n    { type:\"desk\",  title:\"Table Autographs\", start:\"08:00\", end:\"11:00\" },\r\n    { type:\"photo\", title:\"Solo Photos\",      start:\"11:00\", end:\"11:30\" },\r\n    { type:\"desk\",  title:\"Table Autographs\", start:\"11:30\", end:\"12:30\" },\r\n    { type:\"lunch\", title:\"Lunch\",            start:\"12:30\", end:\"13:30\" },\r\n    { type:\"desk\",  title:\"Table Autographs\", start:\"13:30\", end:\"17:30\" }\r\n  ];\r\n}\r\n\r\n\/** Photo-heavy schedule (starts 08:00) *\/\r\nfunction photoSchedule(){\r\n  return [\r\n    { type:\"photo\", title:\"Solo Photos\",      start:\"08:00\", end:\"09:30\" },\r\n    { type:\"desk\",  title:\"Table Autographs\", start:\"09:30\", end:\"11:00\" },\r\n    { type:\"photo\", title:\"Group Photos\",     start:\"11:00\", end:\"12:30\" },\r\n    { type:\"lunch\", title:\"Lunch\",            start:\"12:30\", end:\"13:30\" },\r\n    { type:\"photo\", title:\"Solo Photos\",      start:\"13:30\", end:\"15:00\" },\r\n    { type:\"desk\",  title:\"Table Autographs\", start:\"15:00\", end:\"17:30\" }\r\n  ];\r\n}\r\n\r\n\/** Guests (mixture of desk + photo) across Today & Sunday *\/\r\nconst guests = [\r\n  {\r\n    \"name\": \"Cissy Jones\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"14:20\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"14:20\",\r\n        \"end\": \"14:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"14:30\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Aaron Roberts\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"11:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"11:00\",\r\n        \"end\": \"11:10\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:10\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"14:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"14:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Adam Gibbs\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:00\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"10:00\",\r\n        \"end\": \"10:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"10:30\",\r\n        \"end\": \"11:10\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"11:10\",\r\n        \"end\": \"11:20\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:20\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Arden Cho\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"14:30\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"14:30\",\r\n        \"end\": \"15:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"15:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Bennett Abara (AKA Amanda C. Miller)\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"11:50\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"11:50\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Danganronpa Duo Photo\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"12:05\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:05\",\r\n        \"end\": \"13:05\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:05\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Brian Beacock\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Danganronpa Duo Photo\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"12:05\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"12:05\",\r\n        \"end\": \"12:15\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:15\",\r\n        \"end\": \"13:15\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:15\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Brian Donovan\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"14:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"14:00\",\r\n        \"end\": \"14:10\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"14:10\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Caitlin Glass\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"11:30\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Schedule\",\r\n        \"start\": \"11:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"14:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"14:00\",\r\n        \"end\": \"16:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"16:00\",\r\n        \"end\": \"16:10\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"16:10\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Cedric Williams\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"15:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"15:00\",\r\n        \"end\": \"15:10\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"15:10\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Chris Tergliafera\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:10\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Jojo Crusaders Duo Photo 1\",\r\n        \"start\": \"10:10\",\r\n        \"end\": \"10:15\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"10:15\",\r\n        \"end\": \"10:25\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"10:25\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Neil Kaplan\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:30\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:30\",\r\n        \"end\": \"13:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:30\",\r\n        \"end\": \"15:40\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"15:40\",\r\n        \"end\": \"15:50\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"15:50\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"David Vincent\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"14:10\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"14:10\",\r\n        \"end\": \"14:20\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"14:30\",\r\n        \"end\": \"15:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"15:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Doug Erholtz\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Photo Shoot 1\",\r\n        \"start\": \"10:00\",\r\n        \"end\": \"10:10\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Jojo Crusaders Duo Photo 1\",\r\n        \"start\": \"10:10\",\r\n        \"end\": \"10:15\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"10:15\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Howard Wang\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"11:20\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"11:20\",\r\n        \"end\": \"11:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"13:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:30\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Jamieson Price\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:45\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"10:45\",\r\n        \"end\": \"11:15\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:15\",\r\n        \"end\": \"12:50\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Naruto Two Hokage Duo Photo\",\r\n        \"start\": \"12:50\",\r\n        \"end\": \"12:55\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"12:55\",\r\n        \"end\": \"13:05\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Persona 5 Duo Photo\",\r\n        \"start\": \"13:05\",\r\n        \"end\": \"13:10\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"13:10\",\r\n        \"end\": \"14:10\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"14:10\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"John Gremillion\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:50\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"10:50\",\r\n        \"end\": \"11:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:00\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"John Swasey\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"11:30\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"11:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"15:30\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"15:30\",\r\n        \"end\": \"15:40\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"15:40\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Keith Silverstein\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:00\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Persona 5 Duo Photo\",\r\n        \"start\": \"13:05\",\r\n        \"end\": \"13:10\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:55\",\r\n        \"end\": \"16:10\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"16:10\",\r\n        \"end\": \"16:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"16:30\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Khoi Dao\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"11:30\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"11:30\",\r\n        \"end\": \"11:40\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:40\",\r\n        \"end\": \"13:00\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"13:00\",\r\n        \"end\": \"14:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"14:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Michael Yurchak\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:30\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:30\",\r\n        \"end\": \"13:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:30\",\r\n        \"end\": \"15:50\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"15:50\",\r\n        \"end\": \"16:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"16:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Tom Gibis\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:45\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:45\",\r\n        \"end\": \"13:45\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:45\",\r\n        \"end\": \"15:20\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"15:20\",\r\n        \"end\": \"15:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"15:30\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Paul St. Peter\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:30\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:30\",\r\n        \"end\": \"13:30\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:30\",\r\n        \"end\": \"15:10\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"15:10\",\r\n        \"end\": \"15:20\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"15:20\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Peter Lurie\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:45\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"10:45\",\r\n        \"end\": \"11:15\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:15\",\r\n        \"end\": \"12:40\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"12:40\",\r\n        \"end\": \"12:50\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Naruto Two Hokage Duo Photo\",\r\n        \"start\": \"12:50\",\r\n        \"end\": \"12:55\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:55\",\r\n        \"end\": \"13:55\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:55\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Phillip Reichs\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:25\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"10:25\",\r\n        \"end\": \"10:35\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Jojo Sotto Capo & Passione Duo\",\r\n        \"start\": \"10:35\",\r\n        \"end\": \"10:40\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"10:40\",\r\n        \"end\": \"12:15\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"12:15\",\r\n        \"end\": \"12:45\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:45\",\r\n        \"end\": \"13:45\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:45\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"R. Bruce Elliott\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"11:40\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"11:40\",\r\n        \"end\": \"11:50\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"11:50\",\r\n        \"end\": \"12:45\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:45\",\r\n        \"end\": \"13:45\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"13:45\",\r\n        \"end\": \"14:15\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"14:15\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Sean Chiplock\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"10:35\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Jojo Sotto Capo & Passione Duo\",\r\n        \"start\": \"10:35\",\r\n        \"end\": \"10:40\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"10:40\",\r\n        \"end\": \"10:50\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"10:50\",\r\n        \"end\": \"12:15\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"12:15\",\r\n        \"end\": \"12:45\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:45\",\r\n        \"end\": \"13:45\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:45\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  },\r\n  {\r\n    \"name\": \"Spike Spencer\",\r\n    \"dayOffset\": 0,\r\n    \"schedule\": [\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"09:30\",\r\n        \"end\": \"12:30\"\r\n      },\r\n      {\r\n        \"type\": \"photo\",\r\n        \"title\": \"Solo Photo Session 1\",\r\n        \"start\": \"12:30\",\r\n        \"end\": \"12:40\"\r\n      },\r\n      {\r\n        \"type\": \"lunch\",\r\n        \"title\": \"Lunch\",\r\n        \"start\": \"12:40\",\r\n        \"end\": \"13:40\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"13:40\",\r\n        \"end\": \"15:15\"\r\n      },\r\n      {\r\n        \"type\": \"panel\",\r\n        \"title\": \"Q&A Stage Panel\",\r\n        \"start\": \"15:15\",\r\n        \"end\": \"16:00\"\r\n      },\r\n      {\r\n        \"type\": \"desk\",\r\n        \"title\": \"Table Autographs\",\r\n        \"start\": \"16:00\",\r\n        \"end\": \"17:00\"\r\n      }\r\n    ]\r\n  }\r\n];\r\n\r\n\r\nlet activeDay = \"sunday\";\r\nlet activeFilter = \"all\";\r\n\r\nfunction mapType(type){\r\n  return {\r\n    desk:   [\"At Desk\",        \"is-desk\"],\r\n    photo:  [\"Photoshoot\",     \"is-photo\"],\r\n    panel:  [\"Panel\",          \"is-panel\"],\r\n    lunch:  [\"Away for Lunch\", \"is-lunch\"],\r\n    travel: [\"On the Way\",     \"is-travel\"],\r\n    away:   [\"Away\",           \"is-away\"]\r\n  }[type] || [\"Away\", \"is-away\"];\r\n}\r\n\r\n\r\n\r\nconst TRAVEL_TYPE = \"travel\";\r\nconst TRAVEL_TITLE = \"On the Way\";\r\nconst TRAVEL_MAX_MINS = 5;\r\n\r\nfunction pad2(n){ return String(n).padStart(2,\"0\"); }\r\nfunction minsToTime(mins){\r\n  const h = Math.floor(mins\/60);\r\n  const m = mins % 60;\r\n  return `${pad2(h)}:${pad2(m)}`;\r\n}\r\n\r\nfunction augmentScheduleWithTravel(schedule){\r\n  if(!Array.isArray(schedule) || !schedule.length) return [];\r\n  const sorted = [...schedule].sort((a,b)=>toMins(a.start)-toMins(b.start));\r\n  const out = [];\r\n  for(let i=0;i<sorted.length;i++){\r\n    const curr = sorted[i];\r\n    out.push(curr);\r\n    const next = sorted[i+1];\r\n    if(!next) continue;\r\n    const currEnd = toMins(curr.end);\r\n    const nextStart = toMins(next.start);\r\n    const gap = nextStart - currEnd;\r\n    const typeChanged = (curr.type||\"\") !== (next.type||\"\");\r\n    if(typeChanged && gap > 0){\r\n      const travelEnd = Math.min(currEnd + TRAVEL_MAX_MINS, nextStart);\r\n      if(travelEnd > currEnd){\r\n        out.push({\r\n          type: TRAVEL_TYPE,\r\n          title: TRAVEL_TITLE,\r\n          start: minsToTime(currEnd),\r\n          end: minsToTime(travelEnd)\r\n        });\r\n      }\r\n    }\r\n  }\r\n  return out;\r\n}\r\n\r\nfunction statusFor(schedule){\r\n  const now = getNowMinsInTZ();\r\n  const sorted = [...schedule].sort((a,b)=>toMins(a.start)-toMins(b.start));\r\n  const active = sorted.find(s => now >= toMins(s.start) && now < toMins(s.end));\r\n  return active || null;\r\n}\r\n\r\nconst grid = document.getElementById(\"grid\");\r\nconst search = document.getElementById(\"search\");\r\n\r\n\r\nfunction formatShortDate(d){\r\n  const opts = { weekday:\"short\", day:\"2-digit\", month:\"short\" };\r\n  return d.toLocaleDateString(\"en-GB\", opts);\r\n}\r\nfunction setDayButtonLabels(){\r\n  try{\r\n    const now = new Date();\r\n    const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\r\n    const sunday = new Date(today);\r\n    sunday.setDate(today.getDate() + 1);\r\n\r\n    const t1 = `Today (${formatShortDate(today)})`;\r\n    const t2 = `Sunday (${formatShortDate(sunday)})`;\r\n\r\n    const b1 = document.getElementById(\"btnToday\");\r\n    const b2 = document.getElementById(\"btnSunday\");\r\n    if(b1) b1.textContent = t1;\r\n    if(b2) b2.textContent = t2;\r\n  }catch(e){}\r\n}\r\n\r\nconst btnToday = document.getElementById(\"btnToday\");\r\nconst btnSunday = document.getElementById(\"btnSunday\");\r\n\r\nsetDayButtonLabels();\r\nconst sundayHint = document.getElementById(\"sundayHint\");\r\n\r\nfunction updateDayToggleVisibility(){\r\n  \/\/ Both days always available in this prototype\r\n  btnSunday.style.display = \"\";\r\n  sundayHint.style.display = \"none\";\r\n}\r\n\r\nfunction render(){\r\n  updateDayToggleVisibility();\r\n\r\n  const dayOffset = 0; \/\/ Sunday only\r\n  grid.innerHTML = \"\";\r\n\r\n  const dayGuests = guests.filter(g => Number(g.dayOffset) === Number(dayOffset));\r\n\r\n  (dayGuests.length ? dayGuests : guests)\r\n    .forEach(g => {\r\n      const sched = augmentScheduleWithTravel(g.schedule);\r\n      const s = statusFor(sched);\r\n      const [label, cls] = s ? mapType(s.type) : [\"Away\", \"is-away\"];\r\n\r\n      const card = document.createElement(\"div\");\r\n      card.className = \"card\";\r\n      card.dataset.filter = s ? s.type : \"away\";\r\n      card.dataset.name = g.name.toLowerCase();\r\n\r\n      const current = statusFor(sched);\r\n      const slotTitle = current ? current.title : \"Unavailable\";\r\n      const slotTime  = current ? (current.start + \" \u2013 \" + current.end) : \"\";\r\n\r\n      const fullScheduleHTML = sched.map(slot => {\r\n        return `\r\n          <div class=\"scheduleRow\">\r\n            <span class=\"scheduleType\">${slot.title}<\/span>\r\n            <span>${slot.start} \u2013 ${slot.end}<\/span>\r\n          <\/div>\r\n        `;\r\n      }).join(\"\");\r\n\r\n      card.innerHTML = `\r\n        <div class=\"top\">\r\n          <div>\r\n            <div class=\"name\">${g.name}<\/div>\r\n            <div class=\"day\">Sunday<\/div>\r\n          <\/div>\r\n          <div class=\"badge ${cls}\">\r\n            ${label}\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"currentSlot\" aria-label=\"Current availability slot\">\r\n          <span class=\"title\">${slotTitle}<\/span>\r\n          <span class=\"time\">${slotTime}<\/span>\r\n        <\/div>\r\n\r\n        <button class=\"toggleSchedule\" aria-expanded=\"false\">View full schedule<\/button>\r\n\r\n        <div class=\"fullSchedule\" data-open=\"false\" aria-label=\"Full schedule\">\r\n          ${fullScheduleHTML}\r\n        <\/div>\r\n      `;\r\n\r\n      \/\/ Expand \/ collapse (auto-close others)\r\n      const toggleBtn = card.querySelector(\".toggleSchedule\");\r\n      const fullSchedule = card.querySelector(\".fullSchedule\");\r\n\r\n      toggleBtn.addEventListener(\"click\", () => {\r\n        const isOpen = fullSchedule.dataset.open === \"true\";\r\n\r\n        \/\/ Close all other open schedules\r\n        document.querySelectorAll(\".fullSchedule[data-open='true']\").forEach(el => {\r\n          if (el !== fullSchedule) {\r\n            el.dataset.open = \"false\";\r\n            const parentCard = el.closest(\".card\");\r\n            if (parentCard) {\r\n              const btn = parentCard.querySelector(\".toggleSchedule\");\r\n              if (btn) {\r\n                btn.textContent = \"View full schedule\";\r\n                btn.setAttribute(\"aria-expanded\", \"false\");\r\n              }\r\n            }\r\n          }\r\n        });\r\n\r\n        \/\/ Toggle this one\r\n        fullSchedule.dataset.open = isOpen ? \"false\" : \"true\";\r\n        toggleBtn.textContent = isOpen ? \"View full schedule\" : \"Close schedule\";\r\n        toggleBtn.setAttribute(\"aria-expanded\", isOpen ? \"false\" : \"true\");\r\n      });\r\n\r\n      grid.appendChild(card);\r\n    });\r\n\r\n  applyFilters();\r\n}\r\n\r\nfunction applyFilters(){\r\n  const q = search.value.trim().toLowerCase();\r\n  document.querySelectorAll(\".card\").forEach(c => {\r\n    const okName = c.dataset.name.includes(q);\r\n    const okFilter = activeFilter === \"all\" || c.dataset.filter === activeFilter;\r\n    c.style.display = (okName && okFilter) ? \"\" : \"none\";\r\n  });\r\n}\r\n\r\n\/\/ Day toggle clicks\r\ndocument.querySelectorAll(\".dayBtn\").forEach(b => {\r\n  b.addEventListener(\"click\", () => {\r\n    \/\/ If sunday is hidden, ignore clicks (safety)\r\n    if(b.dataset.day === \"sunday\" && !isSundayAvailable()) return;\r\n\r\n    document.querySelectorAll(\".dayBtn\").forEach(x => x.dataset.active=\"false\");\r\n    b.dataset.active=\"true\";\r\n    activeDay = b.dataset.day;\r\n    render();\r\n  });\r\n});\r\n\r\n\/\/ Status filter bar\r\ndocument.getElementById(\"filterRow\").addEventListener(\"click\", e => {\r\n  const b = e.target.closest(\".fbtn\");\r\n  if(!b) return;\r\n\r\n  document.querySelectorAll(\".fbtn\").forEach(x => x.dataset.active=\"false\");\r\n  b.dataset.active=\"true\";\r\n  activeFilter = b.dataset.filter;\r\n\r\n  applyFilters();\r\n});\r\n\r\n\/\/ Search\r\nsearch.addEventListener(\"input\", applyFilters);\r\n\r\n\/\/ Init\r\nrender();\r\nsetInterval(render, 60000);\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-277ec79 e-flex e-con-boxed e-con e-parent\" data-id=\"277ec79\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dc68942 elementor-widget elementor-widget-html\" data-id=\"dc68942\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n    h5 {\n    font-size: 1.72rem;\n    text-align: center;\n}\n.elementor-39639 .elementor-element.elementor-element-35beb06 {\n    padding: 0px;\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-096d2c0 elementor-widget elementor-widget-html\" data-id=\"096d2c0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n:root{\r\n  --bg:#ffffff;\r\n  --text:#111;\r\n  --muted:#6b7280;\r\n  --card:#f6f7f9;\r\n  --border:#e5e7eb;\r\n\r\n  --desk:#16a34a;\r\n  --photo:#2563eb;\r\n  --panel:#9333ea;\r\n  --lunch:#f59e0b;\r\n  --away:#9ca3af;\r\n}\r\n\r\n\r\n\r\n.controls{\r\n  display:flex;\r\n  gap:10px;\r\n  flex-wrap:wrap;\r\n  align-items:center;\r\n}\r\n\r\n.search{\r\n  flex:1;\r\n  border:1px solid var(--border);\r\n  border-radius:12px;\r\n  padding:10px 12px;\r\n  font-size:14px;\r\n  min-width:200px;\r\n}\r\n\r\n\/* Day toggle *\/\r\n.dayToggle{\r\n  display:flex;\r\n  gap:8px;\r\n}\r\n\r\n.dayBtn{\r\n  border:1px solid var(--border);\r\n  background:#fff;\r\n  border-radius:12px;\r\n  padding:10px 14px;\r\n  font-weight:700;\r\n  cursor:pointer;\r\n}\r\n\r\n.dayBtn[data-active=\"true\"]{\r\n  background:#111;\r\n  color:#fff;\r\n}\r\n\r\n.dayBtn[disabled]{\r\n  opacity: .45;\r\n  cursor:not-allowed;\r\n}\r\n\r\n.grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(3,1fr);\r\n  gap:14px;\r\n}\r\n\r\n@media(max-width:900px){\r\n  .grid{grid-template-columns:repeat(2,1fr);}\r\n}\r\n@media(max-width:600px){\r\n  .grid{grid-template-columns:1fr;}\r\n}\r\n\r\n.card{\r\n  background:var(--card);\r\n  border:1px solid var(--border);\r\n  border-radius:14px;\r\n  padding:14px;\r\n  display:grid;\r\n  gap:12px;\r\n}\r\n\r\n.top{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n}\r\n\r\n.name{\r\n  font-weight:800;\r\n  line-height:1.2;\r\n}\r\n\r\n.day{\r\n  font-size:12px;\r\n  color:var(--muted);\r\n  margin-top:4px;\r\n}\r\n\r\n.badge{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:8px;\r\n  padding:8px 12px;\r\n  border-radius:999px;\r\n  font-size:13px;\r\n  font-weight:800;\r\n  color:#fff;\r\n  white-space:nowrap;\r\n}\r\n\r\n.dot{\r\n  width:8px;\r\n  height:8px;\r\n  border-radius:50%;\r\n  background:#fff;\r\n}\r\n\r\n.is-desk{background:var(--desk)}\r\n.is-photo{background:var(--photo)}\r\n.is-panel{background:var(--panel)}\r\n.is-lunch{background:var(--lunch)}\r\n.is-away{background:var(--away)}\r\n\r\n.bottomBar{\r\n  position:fixed;\r\n  left:0;\r\n  right:0;\r\n  bottom:0;\r\n  background:rgba(255,255,255,.95);\r\n  backdrop-filter:blur(10px);\r\n  -webkit-backdrop-filter:blur(10px);\r\n  border-top:1px solid var(--border);\r\n  padding:10px;\r\n  z-index:999;\r\n  padding-bottom: calc(10px + env(safe-area-inset-bottom));\r\n}\r\n\r\n.filterRow{\r\n  display:flex;\r\n  gap:8px;\r\n  overflow-x:auto;\r\n  -webkit-overflow-scrolling:touch;\r\n  scrollbar-width:none;\r\n}\r\n.filterRow::-webkit-scrollbar{display:none;}\r\n\r\n.fbtn{\r\n  border:1px solid var(--border);\r\n  background:#fff;\r\n  border-radius:14px;\r\n  padding:12px 14px;\r\n  min-height:48px;\r\n  font-weight:700;\r\n  cursor:pointer;\r\n  white-space:nowrap;\r\n  flex:0 0 auto;\r\n}\r\n\r\n.fbtn[data-active=\"true\"]{\r\n  background:#111;\r\n  color:#fff;\r\n}\r\n\r\n\/* A little helper label when Tomorrow is hidden *\/\r\n.hint{\r\n  font-size: 12px;\r\n  color: var(--muted);\r\n}\r\n\r\n\/* Current slot line *\/\r\n.currentSlot{\r\n  margin-top: 8px;\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:10px;\r\n  padding:8px 10px;\r\n  border-radius:12px;\r\n  border:1px solid var(--border);\r\n  background:#fff;\r\n  font-size:13px;\r\n}\r\n.currentSlot .title{ font-weight:800; }\r\n.currentSlot .time{ color:var(--muted); font-weight:700; white-space:nowrap; }\r\n\r\n\/* Expand \/ collapse (accordion) *\/\r\n.toggleSchedule{\r\n  background:#fff;\r\n  border:1px solid var(--border);\r\n  border-radius:12px;\r\n  padding:10px 12px;\r\n  font-size:13px;\r\n  font-weight:700;\r\n  cursor:pointer;\r\n  text-align:center;\r\n}\r\n\r\n\/* Smooth accordion animation *\/\r\n.fullSchedule{\r\n  max-height: 0;\r\n  overflow: hidden;\r\n  margin-top: 8px;\r\n  border-top: 1px solid var(--border);\r\n  padding-top: 0;\r\n  opacity: 0;\r\n  transition: max-height .28s ease, opacity .2s ease, padding-top .2s ease;\r\n}\r\n\r\n.fullSchedule[data-open=\"true\"]{\r\n  max-height: 900px;\r\n  padding-top: 10px;\r\n  opacity: 1;\r\n}\r\n\r\n.scheduleRow{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  padding:6px 0;\r\n  border-bottom:1px dashed var(--border);\r\n}\r\n\r\n.scheduleRow:last-child{\r\n  border-bottom:none;\r\n}\r\n\r\n.scheduleType{\r\n  font-weight:700;\r\n}\r\n\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d7e773 elementor-widget elementor-widget-html\" data-id=\"7d7e773\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n.currentSlot .title {\r\n    font-weight: 800;\r\n    color: black;\r\n}\r\n.toggleSchedule {\r\n    background: #000;\r\n    border: 1px solid var(--border);\r\n    border-radius: 12px;\r\n    padding: 0px 0px;\r\n    font-size: 14px;\r\n}\r\n\r\n.dayBtn {\r\n    border: 1px solid var(--border);\r\n    background: #555;\r\n    border-radius: 12px;\r\n    margin-bottom: 16px;\r\n    padding: 0px 0px;\r\n    font-weight: 700;\r\n    cursor: pointer;\r\n}\r\n.elementor-39639 .elementor-element.elementor-element-d4ba605 {\r\n     padding: 0px;\r\n}\r\n.bottom-nav,.filterRow {\r\n     display: none!important;\r\n}\r\n.day {display: none;}\r\n.dayToggle {\r\n    display:none;\r\n}\r\n.card {\r\n    background: #000;\r\n}\r\n.controls {\r\n    margin-bottom: 32px;\r\n}\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a78ef53 e-flex e-con-boxed e-con e-parent\" data-id=\"a78ef53\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Live Schedule Sunday Guest Schedules Guests may step away from their autograph table while attending panels or photo sessions. Check the live schedule below for their current activity. We\u2019ve launched [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":36576,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"folder":[406],"class_list":["post-41123","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/pages\/41123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/comments?post=41123"}],"version-history":[{"count":16,"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/pages\/41123\/revisions"}],"predecessor-version":[{"id":41184,"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/pages\/41123\/revisions\/41184"}],"up":[{"embeddable":true,"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/pages\/36576"}],"wp:attachment":[{"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/media?parent=41123"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/monopolyeventshub.com\/runappnow\/wp-json\/wp\/v2\/folder?post=41123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}