{
  "id": "expert-lens-invitation",
  "name": "Panel Invitation",
  "theme": "expert-lens",
  "category": "Auth & Onboarding",
  "description": "An invitation that states the workload before it asks for a yes, and lets you decline with a reason in one click.",
  "layout": "A single lit card centred on darkness; the commitment is a small table above the accept controls, and decline is a peer of accept rather than a link hidden underneath.",
  "modules": [
    {
      "key": "card",
      "name": "Invitation card",
      "html": "\n<div class=\"inv\">\n  <span class=\"k\">Invitation · expires 21 May</span>\n  <h1>Review for Round 4</h1>\n  <p>The chair has asked you to take six submissions in structural assessment. Your last round closed on time with a 6-day median.</p>\n</div>"
    },
    {
      "key": "terms",
      "name": "Commitment table",
      "html": "\n<dl class=\"terms\">\n  <div><dt>Submissions</dt><dd>6</dd></div>\n  <div><dt>Estimated effort</dt><dd>90 minutes each</dd></div>\n  <div><dt>Window</dt><dd>2 June – 30 June</dd></div>\n  <div><dt>Blind</dt><dd>Double, authors not visible</dd></div>\n  <div><dt>Conflicts declared</dt><dd>None found automatically — please check</dd></div>\n</dl>"
    },
    {
      "key": "choose",
      "name": "Accept or decline",
      "html": "\n<div class=\"ch\">\n  <button type=\"button\" class=\"yes\">Accept six submissions</button>\n  <div class=\"alt\"><button type=\"button\">Accept fewer…</button><button type=\"button\" class=\"no\">Decline this round</button></div>\n  <label class=\"why\" for=\"el-inv-why\">If declining, a one-line reason helps the chair</label>\n  <input id=\"el-inv-why\" type=\"text\" placeholder=\"Optional\">\n</div>"
    },
    {
      "key": "foot",
      "name": "Fine print",
      "html": "\n<footer class=\"fp\"><p>Accepting shares your name with the chair only. Reviews remain anonymous to authors and to other reviewers until the round closes.</p><a href=\"#\">How the panel works</a></footer>"
    }
  ],
  "moduleCount": 4,
  "reorderable": false,
  "meta": {
    "id": "expert-lens-invitation",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-08-29T18:34:32+09:00",
    "updatedAt": "2026-08-29T18:34:32+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/expert-lens-invitation.json",
  "structure": "A single lit card centred on darkness; the commitment is a small table above the accept controls, and decline is a peer of accept rather than a link hidden underneath.",
  "html": "<div class=\"dz dz-expert-lens-invitation\" data-design=\"expert-lens-invitation\" data-theme=\"expert-lens\">\n<div class=\"card\"><section class=\"dz-mod\" data-mod=\"card\" aria-label=\"Invitation card\">\n<div class=\"inv\">\n  <span class=\"k\">Invitation · expires 21 May</span>\n  <h1>Review for Round 4</h1>\n  <p>The chair has asked you to take six submissions in structural assessment. Your last round closed on time with a 6-day median.</p>\n</div></section><section class=\"dz-mod\" data-mod=\"terms\" aria-label=\"Commitment table\">\n<dl class=\"terms\">\n  <div><dt>Submissions</dt><dd>6</dd></div>\n  <div><dt>Estimated effort</dt><dd>90 minutes each</dd></div>\n  <div><dt>Window</dt><dd>2 June – 30 June</dd></div>\n  <div><dt>Blind</dt><dd>Double, authors not visible</dd></div>\n  <div><dt>Conflicts declared</dt><dd>None found automatically — please check</dd></div>\n</dl></section><section class=\"dz-mod\" data-mod=\"choose\" aria-label=\"Accept or decline\">\n<div class=\"ch\">\n  <button type=\"button\" class=\"yes\">Accept six submissions</button>\n  <div class=\"alt\"><button type=\"button\">Accept fewer…</button><button type=\"button\" class=\"no\">Decline this round</button></div>\n  <label class=\"why\" for=\"el-inv-why\">If declining, a one-line reason helps the chair</label>\n  <input id=\"el-inv-why\" type=\"text\" placeholder=\"Optional\">\n</div></section></div><section class=\"dz-mod\" data-mod=\"foot\" aria-label=\"Fine print\">\n<footer class=\"fp\"><p>Accepting shares your name with the chair only. Reviews remain anonymous to authors and to other reviewers until the round closes.</p><a href=\"#\">How the panel works</a></footer></section>\n</div>",
  "css": "\n.dz-expert-lens-invitation { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 44px 20px; }\n.dz-expert-lens-invitation .card { max-width: 32rem; margin: 0 auto; background: var(--card); border-radius: var(--pv-radius-xl); padding: 30px 32px 26px; }\n.dz-expert-lens-invitation .k { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--primary); }\n.dz-expert-lens-invitation .inv h1 { font-family: var(--pv-display); font-size: 32px; font-weight: 500; margin: 8px 0 10px; }\n.dz-expert-lens-invitation .inv p { margin: 0 0 22px; font-size: 15px; line-height: 1.68; color: var(--muted-foreground); }\n.dz-expert-lens-invitation .terms { margin: 0 0 24px; }\n.dz-expert-lens-invitation .terms > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; box-shadow: inset 0 -1px 0 var(--border); }\n.dz-expert-lens-invitation .terms dt { font-size: 13px; color: var(--muted-foreground); }\n.dz-expert-lens-invitation .terms dd { margin: 0; font-size: 13.5px; text-align: right; }\n.dz-expert-lens-invitation .yes { width: 100%; font: inherit; font-size: 15px; font-weight: 600; padding: 13px; border: 0; border-radius: var(--pv-radius-sm); background: var(--primary); color: var(--primary-foreground); cursor: pointer; transition: opacity var(--dur) var(--ease); }\n.dz-expert-lens-invitation .yes:hover { opacity: .88; }\n.dz-expert-lens-invitation .alt { display: flex; gap: 8px; margin-top: 10px; }\n.dz-expert-lens-invitation .alt button { flex: 1; font: inherit; font-size: 13.5px; padding: 11px; border: var(--pv-bw) solid var(--border); border-radius: var(--pv-radius-sm); background: var(--background); color: var(--foreground); cursor: pointer; }\n.dz-expert-lens-invitation .alt .no { color: var(--destructive); border-color: color-mix(in srgb, var(--destructive) 40%, transparent); }\n.dz-expert-lens-invitation .why { display: block; font-size: 11.5px; color: var(--muted-foreground); margin: 16px 0 6px; }\n.dz-expert-lens-invitation .ch input { width: 100%; font: inherit; font-size: 14px; padding: 10px 12px; border: var(--pv-bw) solid var(--input); border-radius: var(--pv-radius-sm); background: var(--background); color: var(--foreground); }\n.dz-expert-lens-invitation .ch input:focus-visible { outline: 2px solid var(--ring); outline-offset: 1px; }\n.dz-expert-lens-invitation .fp { max-width: 32rem; margin: 16px auto 0; }\n.dz-expert-lens-invitation .fp p { margin: 0 0 8px; font-size: 12px; line-height: 1.6; color: var(--muted-foreground); }\n.dz-expert-lens-invitation .fp a { font-size: 12.5px; color: var(--primary); text-decoration: none; box-shadow: inset 0 -1px 0 var(--primary); }\n@media (prefers-reduced-motion: reduce) { .dz-expert-lens-invitation *, .dz-expert-lens-invitation *::before, .dz-expert-lens-invitation *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }",
  "requiredTheme": "/api/v1/themes/expert-lens.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Newsreader:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap"
}