{
  "id": "sprint-board-event",
  "name": "Event Front",
  "theme": "sprint-board",
  "category": "Landing",
  "description": "An event page that leads with the countdown as a 96px numeral because that is the only fact anyone visiting on race week actually wants.",
  "layout": "A chartreuse-filled countdown band across the full width, then a three-across facts row and a plain entry table with no card containers.",
  "modules": [
    {
      "key": "count",
      "name": "Countdown band",
      "html": "\n<header class=\"cd\"><span class=\"k\">Kilcarn 10K · Sunday 14 June</span><div class=\"clock\"><div><b class=\"n\">02</b><span>days</span></div><div><b class=\"n\">14</b><span>hours</span></div><div><b class=\"n\">38</b><span>minutes</span></div></div><a class=\"btn\" href=\"#\">Enter — £22</a></header>"
    },
    {
      "key": "facts",
      "name": "Facts row",
      "html": "\n<section class=\"fr\">\n  <div><b class=\"n\">1,500</b><span class=\"k\">Entry limit</span><p>Sold out in five of the last six years. The limit is set by the width of the finish funnel.</p></div>\n  <div><b class=\"n\">31:04</b><span class=\"k\">Course record</span><p>Set in 2024 in conditions nobody expects to see again on this course.</p></div>\n  <div><b class=\"n\">+38 m</b><span class=\"k\">Total climb</span><p>All of it between four and five kilometres. The rest is genuinely flat.</p></div>\n</section>"
    },
    {
      "key": "photo",
      "name": "Course photo",
      "html": "\n<figure class=\"cf\"><img src=\"{{ART hero}}\" alt=\"{{ARTALT hero}}\"><figcaption>The finishing straight, looking back toward five kilometres.</figcaption></figure>"
    },
    {
      "key": "waves",
      "name": "Wave table",
      "html": "\n<section class=\"wt\"><h2>Start waves</h2>\n<table><tbody>\n<tr><td class=\"n\">08:00</td><td>Wave A</td><td>Sub 35:00 predicted</td><td class=\"n\">240 places</td><td class=\"full\">Full</td></tr>\n<tr><td class=\"n\">08:12</td><td>Wave B</td><td>35:00 to 42:00</td><td class=\"n\">380 places</td><td class=\"full\">Full</td></tr>\n<tr><td class=\"n\">08:24</td><td>Wave C</td><td>42:00 to 50:00</td><td class=\"n\">440 places</td><td class=\"open\">61 left</td></tr>\n<tr><td class=\"n\">08:36</td><td>Wave D</td><td>50:00 and over, and all walkers</td><td class=\"n\">440 places</td><td class=\"open\">204 left</td></tr>\n</tbody></table>\n<p class=\"cap\">Wave times are start times, not assembly times. Assembly closes eight minutes before each wave and is enforced.</p></section>"
    }
  ],
  "moduleCount": 4,
  "reorderable": true,
  "meta": {
    "id": "sprint-board-event",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-02T00:00:34+09:00",
    "updatedAt": "2026-09-02T00:00:34+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/sprint-board-event.json",
  "structure": "A chartreuse-filled countdown band across the full width, then a three-across facts row and a plain entry table with no card containers.",
  "html": "<div class=\"dz dz-sprint-board-event\" data-design=\"sprint-board-event\" data-theme=\"sprint-board\">\n<section class=\"dz-mod\" data-mod=\"count\" aria-label=\"Countdown band\">\n<header class=\"cd\"><span class=\"k\">Kilcarn 10K · Sunday 14 June</span><div class=\"clock\"><div><b class=\"n\">02</b><span>days</span></div><div><b class=\"n\">14</b><span>hours</span></div><div><b class=\"n\">38</b><span>minutes</span></div></div><a class=\"btn\" href=\"#\">Enter — £22</a></header></section>\n<section class=\"dz-mod\" data-mod=\"facts\" aria-label=\"Facts row\">\n<section class=\"fr\">\n  <div><b class=\"n\">1,500</b><span class=\"k\">Entry limit</span><p>Sold out in five of the last six years. The limit is set by the width of the finish funnel.</p></div>\n  <div><b class=\"n\">31:04</b><span class=\"k\">Course record</span><p>Set in 2024 in conditions nobody expects to see again on this course.</p></div>\n  <div><b class=\"n\">+38 m</b><span class=\"k\">Total climb</span><p>All of it between four and five kilometres. The rest is genuinely flat.</p></div>\n</section></section>\n<section class=\"dz-mod\" data-mod=\"photo\" aria-label=\"Course photo\">\n<figure class=\"cf\"><img src=\"https://designlookbook.dev/assets/img/sprint-board-hero.webp\" alt=\"An empty running track curving under bright light\"><figcaption>The finishing straight, looking back toward five kilometres.</figcaption></figure></section>\n<section class=\"dz-mod\" data-mod=\"waves\" aria-label=\"Wave table\">\n<section class=\"wt\"><h2>Start waves</h2>\n<table><tbody>\n<tr><td class=\"n\">08:00</td><td>Wave A</td><td>Sub 35:00 predicted</td><td class=\"n\">240 places</td><td class=\"full\">Full</td></tr>\n<tr><td class=\"n\">08:12</td><td>Wave B</td><td>35:00 to 42:00</td><td class=\"n\">380 places</td><td class=\"full\">Full</td></tr>\n<tr><td class=\"n\">08:24</td><td>Wave C</td><td>42:00 to 50:00</td><td class=\"n\">440 places</td><td class=\"open\">61 left</td></tr>\n<tr><td class=\"n\">08:36</td><td>Wave D</td><td>50:00 and over, and all walkers</td><td class=\"n\">440 places</td><td class=\"open\">204 left</td></tr>\n</tbody></table>\n<p class=\"cap\">Wave times are start times, not assembly times. Assembly closes eight minutes before each wave and is enforced.</p></section></section>\n</div>",
  "css": "\n.dz-sprint-board-event { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 0 0 26px; }\n.dz-sprint-board-event .k { text-transform: uppercase; letter-spacing: .16em; font-size: 10.5px; font-weight: 700; color: var(--muted-foreground); display: block; }\n.dz-sprint-board-event .n { font-family: var(--pv-mono); font-variant-numeric: tabular-nums; letter-spacing: -.04em; }\n.dz-sprint-board-event .cd { background: var(--primary); color: var(--primary-foreground); padding: 26px; display: grid; gap: 16px; }\n.dz-sprint-board-event .cd .k { color: var(--primary-foreground); opacity: .8; }\n.dz-sprint-board-event .clock { display: flex; gap: 34px; align-items: baseline; }\n.dz-sprint-board-event .clock b { font-family: var(--pv-mono); font-variant-numeric: tabular-nums; letter-spacing: -.04em; font-size: 96px; font-weight: 700; line-height: .9; display: block; }\n.dz-sprint-board-event .clock span { text-transform: uppercase; letter-spacing: .16em; font-size: 10.5px; font-weight: 700; color: var(--muted-foreground); color: var(--primary-foreground); opacity: .8; }\n.dz-sprint-board-event .btn { justify-self: start; font-family: var(--pv-display); text-transform: uppercase; font-weight: 800; letter-spacing: -.02em; font-size: 16px; background: var(--primary-foreground); color: var(--primary); padding: 14px 26px; text-decoration: none; border-radius: var(--pv-radius-md); }\n.dz-sprint-board-event .fr { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding: 26px; }\n.dz-sprint-board-event .fr b { display: block; font-family: var(--pv-mono); font-variant-numeric: tabular-nums; letter-spacing: -.04em; font-size: 56px; font-weight: 700; line-height: 1; margin-bottom: 6px; }\n.dz-sprint-board-event .fr p { margin: 8px 0 0; font-size: 13.5px; line-height: 1.5; }\n.dz-sprint-board-event .cf { margin: 0 26px; }\n.dz-sprint-board-event .cf img { width: 100%; height: 260px; object-fit: cover; display: block; border-radius: var(--pv-radius-md); filter: var(--img-filter); }\n.dz-sprint-board-event figcaption { text-transform: uppercase; letter-spacing: .16em; font-size: 10.5px; font-weight: 700; color: var(--muted-foreground); padding-top: 10px; }\n.dz-sprint-board-event .wt { padding: 26px; }\n.dz-sprint-board-event h2 { font-family: var(--pv-display); text-transform: uppercase; font-weight: 800; letter-spacing: -.02em; font-size: 22px; margin: 0 0 14px; }\n.dz-sprint-board-event table { width: 100%; border-collapse: collapse; }\n.dz-sprint-board-event td { padding: 13px 12px 13px 0; border-bottom: 1px solid var(--border); font-size: 14.5px; }\n.dz-sprint-board-event td:first-child { font-family: var(--pv-mono); font-variant-numeric: tabular-nums; letter-spacing: -.04em; font-size: 22px; font-weight: 700; width: 100px; }\n.dz-sprint-board-event td:nth-child(2) { font-family: var(--pv-display); text-transform: uppercase; font-weight: 800; letter-spacing: -.02em; font-size: 17px; width: 110px; }\n.dz-sprint-board-event .full { text-transform: uppercase; letter-spacing: .16em; font-size: 10.5px; font-weight: 700; color: var(--muted-foreground); text-align: right; }\n.dz-sprint-board-event .open { text-transform: uppercase; letter-spacing: .16em; font-size: 10.5px; font-weight: 700; color: var(--muted-foreground); color: var(--primary); text-align: right; }\n.dz-sprint-board-event .cap { margin: 14px 0 0; font-size: 13px; color: var(--muted-foreground); line-height: 1.5; }\n",
  "requiredTheme": "/api/v1/themes/sprint-board.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;500;600;700&family=Epilogue:wght@400;500;600;700&family=Chivo+Mono:wght@400;500;600;700&display=swap"
}