{
  "id": "shortwave-desk-band",
  "name": "Band Monitor",
  "theme": "shortwave-desk",
  "category": "Dashboard",
  "description": "The signature console: a full-width frequency scale with a gold cursor and magenta peak ticks above a live panel and a scrolling log that never moves the scale.",
  "layout": "A 72px band strip spanning the full width, then a 2fr/1fr split of a signal panel and a log, panels 18px apart with no shadows anywhere.",
  "modules": [
    {
      "key": "bar",
      "name": "Console bar",
      "html": "\n<header class=\"cb\"><h1>Northern Receiver</h1><nav><a class=\"on\" href=\"#\">Band</a><a href=\"#\">Log</a><a href=\"#\">Schedule</a><a href=\"#\">Antennas</a></nav><span class=\"rd\">14 stations · 1 peak</span></header>"
    },
    {
      "key": "strip",
      "name": "Band strip",
      "html": "\n<section class=\"bs\"><div class=\"scale\">\n  <i class=\"t\" style=\"--x:4%\"></i><i class=\"t\" style=\"--x:12%\"></i><i class=\"t\" style=\"--x:20%\"></i><i class=\"t\" style=\"--x:28%\"></i><i class=\"t\" style=\"--x:36%\"></i><i class=\"t\" style=\"--x:44%\"></i><i class=\"t\" style=\"--x:52%\"></i><i class=\"t\" style=\"--x:60%\"></i><i class=\"t\" style=\"--x:68%\"></i><i class=\"t\" style=\"--x:76%\"></i><i class=\"t\" style=\"--x:84%\"></i><i class=\"t\" style=\"--x:92%\"></i>\n  <i class=\"pk\" style=\"--x:47%\"></i><i class=\"pk\" style=\"--x:71%\"></i>\n  <span class=\"cur\" style=\"--x:36%\"><b>9,410</b></span>\n</div><footer><span class=\"rd\">5,900 kHz</span><span class=\"k\">49 metre band · AM · 6 kHz</span><span class=\"rd\">15,800 kHz</span></footer></section>"
    },
    {
      "key": "panel",
      "name": "Signal panel",
      "html": "\n<section class=\"sp\"><header><span class=\"k\">Tuned</span><span class=\"rd\">9,410 kHz</span></header>\n<div class=\"mets\">\n  <div><span class=\"k\">Signal</span><b class=\"n\">S7</b><span class=\"d\">−79 dBm</span></div>\n  <div><span class=\"k\">Noise floor</span><b class=\"n\">S2</b><span class=\"d\">−104 dBm</span></div>\n  <div><span class=\"k\">SNR</span><b class=\"n\">25 dB</b><span class=\"d\">good copy</span></div>\n  <div><span class=\"k\">Drift</span><b class=\"n\">+4 Hz</b><span class=\"d\">over 10 min</span></div>\n</div>\n<div class=\"wf\"><span class=\"k\">Waterfall, last 60 s</span><div class=\"bars\"><i style=\"--h:22%\"></i><i style=\"--h:31%\"></i><i style=\"--h:28%\"></i><i style=\"--h:44%\"></i><i style=\"--h:52%\"></i><i style=\"--h:48%\"></i><i style=\"--h:61%\"></i><i style=\"--h:74%\"></i><i class=\"pk2\" style=\"--h:96%\"></i><i style=\"--h:71%\"></i><i style=\"--h:58%\"></i><i style=\"--h:49%\"></i><i style=\"--h:44%\"></i><i style=\"--h:38%\"></i><i style=\"--h:41%\"></i><i style=\"--h:35%\"></i><i style=\"--h:30%\"></i><i style=\"--h:26%\"></i></div></div></section>"
    },
    {
      "key": "log",
      "name": "Reception log",
      "html": "\n<aside class=\"lg\"><header><span class=\"k\">Log</span><span class=\"rd\">41 entries</span></header>\n<ol>\n  <li class=\"peak\"><time>09:14</time><div><b>Peak on 12,065 kHz</b><span class=\"d\">+18 dB over floor for 40 s</span></div></li>\n  <li><time>09:06</time><div><b>9,410 kHz acquired</b><span class=\"d\">S7, drift within tolerance</span></div></li>\n  <li><time>08:52</time><div><b>Antenna B selected</b><span class=\"d\">SWR 1.4:1</span></div></li>\n  <li class=\"peak\"><time>08:31</time><div><b>Peak on 7,205 kHz</b><span class=\"d\">+22 dB over floor for 12 s</span></div></li>\n  <li><time>08:00</time><div><b>Schedule cycle started</b><span class=\"d\">14 stations queued</span></div></li>\n</ol></aside>"
    }
  ],
  "moduleCount": 4,
  "reorderable": false,
  "meta": {
    "id": "shortwave-desk-band",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-01T23:54:36+09:00",
    "updatedAt": "2026-09-01T23:54:36+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/shortwave-desk-band.json",
  "structure": "A 72px band strip spanning the full width, then a 2fr/1fr split of a signal panel and a log, panels 18px apart with no shadows anywhere.",
  "html": "<div class=\"dz dz-shortwave-desk-band\" data-design=\"shortwave-desk-band\" data-theme=\"shortwave-desk\">\n<section class=\"dz-mod\" data-mod=\"bar\" aria-label=\"Console bar\">\n<header class=\"cb\"><h1>Northern Receiver</h1><nav><a class=\"on\" href=\"#\">Band</a><a href=\"#\">Log</a><a href=\"#\">Schedule</a><a href=\"#\">Antennas</a></nav><span class=\"rd\">14 stations · 1 peak</span></header></section><section class=\"dz-mod\" data-mod=\"strip\" aria-label=\"Band strip\">\n<section class=\"bs\"><div class=\"scale\">\n  <i class=\"t\" style=\"--x:4%\"></i><i class=\"t\" style=\"--x:12%\"></i><i class=\"t\" style=\"--x:20%\"></i><i class=\"t\" style=\"--x:28%\"></i><i class=\"t\" style=\"--x:36%\"></i><i class=\"t\" style=\"--x:44%\"></i><i class=\"t\" style=\"--x:52%\"></i><i class=\"t\" style=\"--x:60%\"></i><i class=\"t\" style=\"--x:68%\"></i><i class=\"t\" style=\"--x:76%\"></i><i class=\"t\" style=\"--x:84%\"></i><i class=\"t\" style=\"--x:92%\"></i>\n  <i class=\"pk\" style=\"--x:47%\"></i><i class=\"pk\" style=\"--x:71%\"></i>\n  <span class=\"cur\" style=\"--x:36%\"><b>9,410</b></span>\n</div><footer><span class=\"rd\">5,900 kHz</span><span class=\"k\">49 metre band · AM · 6 kHz</span><span class=\"rd\">15,800 kHz</span></footer></section></section><div class=\"split\"><section class=\"dz-mod\" data-mod=\"panel\" aria-label=\"Signal panel\">\n<section class=\"sp\"><header><span class=\"k\">Tuned</span><span class=\"rd\">9,410 kHz</span></header>\n<div class=\"mets\">\n  <div><span class=\"k\">Signal</span><b class=\"n\">S7</b><span class=\"d\">−79 dBm</span></div>\n  <div><span class=\"k\">Noise floor</span><b class=\"n\">S2</b><span class=\"d\">−104 dBm</span></div>\n  <div><span class=\"k\">SNR</span><b class=\"n\">25 dB</b><span class=\"d\">good copy</span></div>\n  <div><span class=\"k\">Drift</span><b class=\"n\">+4 Hz</b><span class=\"d\">over 10 min</span></div>\n</div>\n<div class=\"wf\"><span class=\"k\">Waterfall, last 60 s</span><div class=\"bars\"><i style=\"--h:22%\"></i><i style=\"--h:31%\"></i><i style=\"--h:28%\"></i><i style=\"--h:44%\"></i><i style=\"--h:52%\"></i><i style=\"--h:48%\"></i><i style=\"--h:61%\"></i><i style=\"--h:74%\"></i><i class=\"pk2\" style=\"--h:96%\"></i><i style=\"--h:71%\"></i><i style=\"--h:58%\"></i><i style=\"--h:49%\"></i><i style=\"--h:44%\"></i><i style=\"--h:38%\"></i><i style=\"--h:41%\"></i><i style=\"--h:35%\"></i><i style=\"--h:30%\"></i><i style=\"--h:26%\"></i></div></div></section></section><section class=\"dz-mod\" data-mod=\"log\" aria-label=\"Reception log\">\n<aside class=\"lg\"><header><span class=\"k\">Log</span><span class=\"rd\">41 entries</span></header>\n<ol>\n  <li class=\"peak\"><time>09:14</time><div><b>Peak on 12,065 kHz</b><span class=\"d\">+18 dB over floor for 40 s</span></div></li>\n  <li><time>09:06</time><div><b>9,410 kHz acquired</b><span class=\"d\">S7, drift within tolerance</span></div></li>\n  <li><time>08:52</time><div><b>Antenna B selected</b><span class=\"d\">SWR 1.4:1</span></div></li>\n  <li class=\"peak\"><time>08:31</time><div><b>Peak on 7,205 kHz</b><span class=\"d\">+22 dB over floor for 12 s</span></div></li>\n  <li><time>08:00</time><div><b>Schedule cycle started</b><span class=\"d\">14 stations queued</span></div></li>\n</ol></aside></section></div>\n</div>",
  "css": "\n.dz-shortwave-desk-band { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 22px 26px 26px; }\n.dz-shortwave-desk-band .k { text-transform: uppercase; letter-spacing: .16em; font-size: 10px; font-weight: 700; color: var(--muted-foreground); display: block; }\n.dz-shortwave-desk-band .rd { font-family: var(--pv-mono); font-size: 12px; letter-spacing: .01em; background: var(--secondary); padding: 5px 9px; border-radius: var(--pv-radius-sm); display: inline-block; }\n.dz-shortwave-desk-band .n { font-family: var(--pv-mono); font-variant-numeric: tabular-nums; }\n.dz-shortwave-desk-band .cb { display: flex; align-items: center; gap: 24px; margin-bottom: 18px; }\n.dz-shortwave-desk-band .cb h1 { font-family: var(--pv-display); font-weight: 700; letter-spacing: -.02em; font-size: 27px; margin: 0; }\n.dz-shortwave-desk-band .cb nav { display: flex; gap: 18px; }\n.dz-shortwave-desk-band .cb a { text-decoration: none; color: var(--muted-foreground); font-size: 14px; }\n.dz-shortwave-desk-band .cb a.on { color: var(--primary); font-weight: 600; }\n.dz-shortwave-desk-band .cb .rd { margin-left: auto; }\n.dz-shortwave-desk-band .bs { background: var(--card); border-radius: var(--pv-radius-lg); padding: 18px; margin-bottom: 18px; }\n.dz-shortwave-desk-band .scale { position: relative; height: 72px; background: var(--secondary); border-radius: var(--pv-radius-sm); }\n.dz-shortwave-desk-band .t { position: absolute; left: var(--x); bottom: 0; width: 1px; height: 14px; background: var(--muted-foreground); opacity: .6; }\n.dz-shortwave-desk-band .pk { position: absolute; left: var(--x); bottom: 0; width: 3px; height: 46px; background: var(--accent); }\n.dz-shortwave-desk-band .cur { position: absolute; left: var(--x); top: 0; bottom: 0; width: 2px; background: var(--primary); animation: dz-sw-glide 9s ease-in-out infinite alternate; }\n.dz-shortwave-desk-band .cur b { position: absolute; top: 6px; left: 7px; font-family: var(--pv-mono); font-size: 12px; letter-spacing: .01em; background: var(--secondary); padding: 5px 9px; border-radius: var(--pv-radius-sm); display: inline-block; background: var(--primary); color: var(--primary-foreground); white-space: nowrap; }\n.dz-shortwave-desk-band @keyframes dz-sw-glide { from { transform: translateX(-40px) } to { transform: translateX(40px) } }\n.dz-shortwave-desk-band .bs footer { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }\n.dz-shortwave-desk-band .split { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; align-items: start; }\n.dz-shortwave-desk-band .sp, .dz-shortwave-desk-band .lg { background: var(--card); border-radius: var(--pv-radius-lg); padding: 18px; }\n.dz-shortwave-desk-band .sp header, .dz-shortwave-desk-band .lg header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }\n.dz-shortwave-desk-band .mets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }\n.dz-shortwave-desk-band .mets div { background: var(--secondary); border-radius: var(--pv-radius); padding: 14px; }\n.dz-shortwave-desk-band .mets b { display: block; font-family: var(--pv-mono); font-size: 26px; margin: 6px 0 3px; color: var(--primary); }\n.dz-shortwave-desk-band .d { font-size: 11.5px; color: var(--muted-foreground); }\n.dz-shortwave-desk-band .bars { display: flex; gap: 4px; align-items: flex-end; height: 92px; margin-top: 10px; }\n.dz-shortwave-desk-band .bars i { flex: 1; height: var(--h); background: color-mix(in oklab, var(--primary) 42%, var(--secondary)); border-radius: 2px 2px 0 0; display: block; }\n.dz-shortwave-desk-band .bars .pk2 { background: var(--accent); }\n.dz-shortwave-desk-band .lg ol { list-style: none; margin: 0; padding: 0; }\n.dz-shortwave-desk-band .lg li { display: grid; grid-template-columns: 52px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--border); }\n.dz-shortwave-desk-band .lg time { font-family: var(--pv-mono); font-size: 12px; color: var(--muted-foreground); }\n.dz-shortwave-desk-band .lg b { display: block; font-size: 13.5px; }\n.dz-shortwave-desk-band .lg .peak { border-left: 3px solid var(--accent); padding-left: 10px; }\n@media (prefers-reduced-motion: reduce) { .dz-shortwave-desk-band *, .dz-shortwave-desk-band *::before, .dz-shortwave-desk-band *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }\n",
  "requiredTheme": "/api/v1/themes/shortwave-desk.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Chivo:wght@400;500;600;700&family=Rubik:wght@400;500;600;700&family=Reddit+Mono:wght@400;500;600;700&display=swap"
}