{
  "id": "allotment-year",
  "name": "The Year",
  "theme": "allotment",
  "category": "Dashboard",
  "description": "The planting year at a glance: the pinned month band on top, then one sowing-chart row per crop using the same twelve cells, sorted by first sowing date.",
  "layout": "A twelve-cell band pinned above a ruled crop list; each row reuses the band’s twelve columns as a sowing chart at three fill strengths.",
  "modules": [
    {
      "key": "band",
      "name": "Month band",
      "html": "\n<nav class=\"bn\"><span>Jan</span><span>Feb</span><span class=\"on\">Mar</span><span>Apr</span><span>May</span><span>Jun</span><span>Jul</span><span>Aug</span><span>Sep</span><span>Oct</span><span>Nov</span><span>Dec</span></nav>"
    },
    {
      "key": "head",
      "name": "Month summary",
      "html": "\n<header class=\"mh\"><div><span class=\"k\">March · plot 14</span><h1>Eleven things go in this month</h1></div><div class=\"fg\"><div><span class=\"k\">To sow</span><b>11</b></div><div><span class=\"k\">To plant out</span><b>4</b></div><div><span class=\"k\">To harvest</span><b>3</b></div><div><span class=\"k\">Beds free</span><b>2 of 9</b></div></div></header>"
    },
    {
      "key": "crops",
      "name": "Sowing rows",
      "html": "\n<section class=\"cr\"><div class=\"hd\"><span>Crop</span><span>Sowing chart</span><span>Days</span><span>Bed</span></div>\n<div class=\"rw\"><span class=\"nm\">Broad bean <em>Aquadulce</em></span><div class=\"sw\"><i class=\"s\"></i><i class=\"s\"></i><i class=\"p\"></i><i class=\"p\"></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i></i></div><span class=\"dy mn\">90</span><span class=\"bd mn\">B3</span></div>\n<div class=\"rw now\"><span class=\"nm\">Parsnip <em>Tender and True</em></span><div class=\"sw\"><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i></i><i></i><i></i><i></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i></div><span class=\"dy mn\">180</span><span class=\"bd mn\">B1</span></div>\n<div class=\"rw now\"><span class=\"nm\">Onion <em>sets, Sturon</em></span><div class=\"sw\"><i></i><i></i><i class=\"p\"></i><i class=\"p\"></i><i></i><i></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i></i></div><span class=\"dy mn\">150</span><span class=\"bd mn\">B5</span></div>\n<div class=\"rw now\"><span class=\"nm\">Beetroot <em>Boltardy</em></span><div class=\"sw\"><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i class=\"s\"></i><i class=\"p\"></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i></i></div><span class=\"dy mn\">80</span><span class=\"bd mn\">B2</span></div>\n<div class=\"rw\"><span class=\"nm\">Courgette <em>Defender</em></span><div class=\"sw\"><i></i><i></i><i></i><i class=\"s\"></i><i class=\"p\"></i><i class=\"p\"></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i></i></div><span class=\"dy mn\">55</span><span class=\"bd mn\">B7</span></div>\n<div class=\"rw\"><span class=\"nm\">Leek <em>Musselburgh</em></span><div class=\"sw\"><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i></i><i class=\"p\"></i><i class=\"p\"></i><i></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i></div><span class=\"dy mn\">210</span><span class=\"bd mn\">B4</span></div>\n<div class=\"rw\"><span class=\"nm\">Purple sprouting <em>Rudolph</em></span><div class=\"sw\"><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i class=\"s\"></i><i class=\"p\"></i><i></i><i></i><i></i><i></i><i></i><i class=\"h\"></i></div><span class=\"dy mn\">220</span><span class=\"bd mn\">B6</span></div>\n</section>"
    },
    {
      "key": "key",
      "name": "Chart key",
      "html": "\n<footer class=\"ky\"><span class=\"k\">Reading the chart</span><div class=\"kk\"><span><i class=\"s\"></i>Sow under cover or direct</span><span><i class=\"p\"></i>Plant out</span><span><i class=\"h\"></i>Harvest</span></div><p>Rows are ordered by first sowing date, not alphabetically. Read down a column for the month; read across for the crop.</p></footer>"
    }
  ],
  "moduleCount": 4,
  "reorderable": true,
  "meta": {
    "id": "allotment-year",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-02T01:30:28+09:00",
    "updatedAt": "2026-09-02T01:30:28+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/allotment-year.json",
  "structure": "A twelve-cell band pinned above a ruled crop list; each row reuses the band’s twelve columns as a sowing chart at three fill strengths.",
  "html": "<div class=\"dz dz-allotment-year\" data-design=\"allotment-year\" data-theme=\"allotment\">\n<section class=\"dz-mod\" data-mod=\"band\" aria-label=\"Month band\">\n<nav class=\"bn\"><span>Jan</span><span>Feb</span><span class=\"on\">Mar</span><span>Apr</span><span>May</span><span>Jun</span><span>Jul</span><span>Aug</span><span>Sep</span><span>Oct</span><span>Nov</span><span>Dec</span></nav></section>\n<section class=\"dz-mod\" data-mod=\"head\" aria-label=\"Month summary\">\n<header class=\"mh\"><div><span class=\"k\">March · plot 14</span><h1>Eleven things go in this month</h1></div><div class=\"fg\"><div><span class=\"k\">To sow</span><b>11</b></div><div><span class=\"k\">To plant out</span><b>4</b></div><div><span class=\"k\">To harvest</span><b>3</b></div><div><span class=\"k\">Beds free</span><b>2 of 9</b></div></div></header></section>\n<section class=\"dz-mod\" data-mod=\"crops\" aria-label=\"Sowing rows\">\n<section class=\"cr\"><div class=\"hd\"><span>Crop</span><span>Sowing chart</span><span>Days</span><span>Bed</span></div>\n<div class=\"rw\"><span class=\"nm\">Broad bean <em>Aquadulce</em></span><div class=\"sw\"><i class=\"s\"></i><i class=\"s\"></i><i class=\"p\"></i><i class=\"p\"></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i></i></div><span class=\"dy mn\">90</span><span class=\"bd mn\">B3</span></div>\n<div class=\"rw now\"><span class=\"nm\">Parsnip <em>Tender and True</em></span><div class=\"sw\"><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i></i><i></i><i></i><i></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i></div><span class=\"dy mn\">180</span><span class=\"bd mn\">B1</span></div>\n<div class=\"rw now\"><span class=\"nm\">Onion <em>sets, Sturon</em></span><div class=\"sw\"><i></i><i></i><i class=\"p\"></i><i class=\"p\"></i><i></i><i></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i></i></div><span class=\"dy mn\">150</span><span class=\"bd mn\">B5</span></div>\n<div class=\"rw now\"><span class=\"nm\">Beetroot <em>Boltardy</em></span><div class=\"sw\"><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i class=\"s\"></i><i class=\"p\"></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i></i></div><span class=\"dy mn\">80</span><span class=\"bd mn\">B2</span></div>\n<div class=\"rw\"><span class=\"nm\">Courgette <em>Defender</em></span><div class=\"sw\"><i></i><i></i><i></i><i class=\"s\"></i><i class=\"p\"></i><i class=\"p\"></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i></i><i></i></div><span class=\"dy mn\">55</span><span class=\"bd mn\">B7</span></div>\n<div class=\"rw\"><span class=\"nm\">Leek <em>Musselburgh</em></span><div class=\"sw\"><i></i><i></i><i class=\"s\"></i><i class=\"s\"></i><i></i><i class=\"p\"></i><i class=\"p\"></i><i></i><i></i><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i></div><span class=\"dy mn\">210</span><span class=\"bd mn\">B4</span></div>\n<div class=\"rw\"><span class=\"nm\">Purple sprouting <em>Rudolph</em></span><div class=\"sw\"><i class=\"h\"></i><i class=\"h\"></i><i class=\"h\"></i><i></i><i class=\"s\"></i><i class=\"p\"></i><i></i><i></i><i></i><i></i><i></i><i class=\"h\"></i></div><span class=\"dy mn\">220</span><span class=\"bd mn\">B6</span></div>\n</section></section>\n<section class=\"dz-mod\" data-mod=\"key\" aria-label=\"Chart key\">\n<footer class=\"ky\"><span class=\"k\">Reading the chart</span><div class=\"kk\"><span><i class=\"s\"></i>Sow under cover or direct</span><span><i class=\"p\"></i>Plant out</span><span><i class=\"h\"></i>Harvest</span></div><p>Rows are ordered by first sowing date, not alphabetically. Read down a column for the month; read across for the crop.</p></footer></section>\n</div>",
  "css": "\n.dz-allotment-year { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 0 28px 28px; }\n.dz-allotment-year .k { text-transform: uppercase; letter-spacing: .14em; font-size: 10.5px; font-weight: 600; color: var(--muted-foreground); }\n.dz-allotment-year .mn { font-family: var(--pv-mono); font-size: 13px; }\n\n.dz-allotment-year .bn { display: grid; grid-template-columns: repeat(12, 1fr); border-bottom: 1px solid var(--border); margin-bottom: 22px; }\n.dz-allotment-year .bn span { height: 40px; display: grid; place-items: center; text-transform: uppercase; letter-spacing: .14em; font-size: 10.5px; font-weight: 600; color: var(--muted-foreground); border-right: 1px solid var(--border); position: relative; }\n.dz-allotment-year .bn span:last-child { border-right: 0; }\n.dz-allotment-year .bn span.on { color: var(--foreground); }\n.dz-allotment-year .bn span.on::after { content: \"\"; position: absolute; left: 0; right: 0; bottom: -1px; height: 4px; background: var(--accent); }\n.dz-allotment-year .mh { display: flex; gap: 40px; align-items: flex-end; padding-bottom: 16px; border-bottom: 1px solid var(--border); margin-bottom: 6px; }\n.dz-allotment-year h1 { font-family: var(--pv-display); font-weight: 600; font-size: 30px; line-height: 1.18; margin: 6px 0 0; }\n.dz-allotment-year .fg { display: flex; gap: 26px; margin-left: auto; }\n.dz-allotment-year .fg b { font-family: var(--pv-display); font-weight: 600; font-size: 44px; display: block; line-height: 1.02; margin-top: 2px; }\n.dz-allotment-year .cr .hd, .dz-allotment-year .cr .rw { display: grid; grid-template-columns: 240px 1fr 60px 50px; gap: 20px; align-items: center; }\n.dz-allotment-year .cr .hd { text-transform: uppercase; letter-spacing: .14em; font-size: 10.5px; font-weight: 600; color: var(--muted-foreground); padding: 10px 0; border-bottom: 1px solid var(--border); }\n.dz-allotment-year .cr .rw { padding: 12px 0; border-bottom: 1px solid var(--border); }\n.dz-allotment-year .cr .rw.now { border-left: 4px solid var(--accent); padding-left: 10px; margin-left: -14px; }\n.dz-allotment-year .nm { font-size: 15px; }\n.dz-allotment-year .nm em { font-style: italic; color: var(--muted-foreground); font-size: 13px; }\n\n.dz-allotment-year .sw { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2px; }\n.dz-allotment-year .sw i { height: 18px; display: block; background: var(--secondary); border-radius: 2px; }\n.dz-allotment-year .sw i.s { background: color-mix(in oklab, var(--primary) 35%, transparent); }\n.dz-allotment-year .sw i.p { background: color-mix(in oklab, var(--primary) 65%, transparent); }\n.dz-allotment-year .sw i.h { background: var(--primary); }\n.dz-allotment-year .dy, .dz-allotment-year .bd { color: var(--muted-foreground); }\n.dz-allotment-year .ky { margin-top: 22px; }\n.dz-allotment-year .kk { display: flex; gap: 26px; margin: 10px 0; }\n.dz-allotment-year .kk span { display: flex; align-items: center; gap: 8px; font-size: 13px; }\n.dz-allotment-year .kk i { width: 18px; height: 18px; border-radius: 2px; display: block; }\n.dz-allotment-year .kk i.s { background: color-mix(in oklab, var(--primary) 35%, transparent); }\n.dz-allotment-year .kk i.p { background: color-mix(in oklab, var(--primary) 65%, transparent); }\n.dz-allotment-year .kk i.h { background: var(--primary); }\n.dz-allotment-year .ky p { margin: 0; font-size: 14.5px; line-height: 1.62; color: var(--muted-foreground); max-width: 66ch; }\n@media (prefers-reduced-motion: reduce) { .dz-allotment-year *, .dz-allotment-year *::before, .dz-allotment-year *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }\n",
  "requiredTheme": "/api/v1/themes/allotment.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Vollkorn:wght@400;500;600;700&family=Gantari:wght@400;500;600;700&family=Lekton:wght@400;500;600;700&display=swap"
}