{
  "id": "answer-sheet-scan-exceptions",
  "name": "Scan Exceptions Queue",
  "theme": "answer-sheet",
  "category": "Dashboard",
  "description": "The sheets the scanner could not read, shown as the scanner saw them — each oval filled to its measured darkness — beside the oval a marker sets to resolve it.",
  "layout": "A batch header whose horizontal timing strip has one bar per exception, filled as each is resolved; under it a ruled queue where every row is a cropped strip of the scanned sheet, read percentages under each oval, then a resolve-to oval set.",
  "modules": [
    {
      "key": "batch",
      "name": "Batch header",
      "html": "\n<header class=\"bh\">\n  <div><span class=\"lb\">Batch 0417 · scanned 3 Oct, 16:52</span><h1>Chemistry Paper 2 — exceptions</h1></div>\n  <dl class=\"ct\"><div><dt class=\"lb\">Sheets</dt><dd>1,284</dd></div><div><dt class=\"lb\">Read cleanly</dt><dd>1,247</dd></div><div><dt class=\"lb\">Exceptions</dt><dd>37</dd></div><div><dt class=\"lb\">Resolved</dt><dd>12</dd></div></dl>\n  <div class=\"strip\" role=\"img\" aria-label=\"12 of 37 exceptions resolved\"><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></div>\n</header>"
    },
    {
      "key": "filter",
      "name": "Exception filter",
      "html": "\n<nav class=\"fi\" aria-label=\"Exception type\">\n  <button type=\"button\" class=\"ft\" aria-pressed=\"true\">All open <b>25</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Two marks <b>9</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Faint <b>7</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Blank <b>6</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Candidate number <b>3</b></button>\n  <span class=\"th\">Threshold 40% · 5 shown</span>\n</nav>"
    },
    {
      "key": "queue",
      "name": "Exception rows",
      "html": "\n<div class=\"qw\"><table class=\"q\">\n  <thead><tr><th scope=\"col\">Sheet</th><th scope=\"col\">Candidate</th><th scope=\"col\">Q</th><th scope=\"col\">As scanned (darkness %)</th><th scope=\"col\">Reader says</th><th scope=\"col\">Resolve to</th></tr></thead>\n  <tbody>\n    <tr><td class=\"en\">0417-0093</td><td>Ilse Marchetti<span class=\"en sm\">0417 2291</span></td><td class=\"en\">14</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:8%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 8</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:71%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 71</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:66%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 66</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:3%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 3</span></span></span></td><td><span class=\"vd\">Two marks</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0093 question 14\"><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"B\" checked aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0141</td><td>Tomasz Wierzbicki<span class=\"en sm\">0417 2340</span></td><td class=\"en\">3</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 5</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:31%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 31</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:7%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 7</span></span></span></td><td><span class=\"vd\">Faint — 31%</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0141 question 3\"><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0388</td><td>Adaeze Nwosu<span class=\"en sm\">0417 2587</span></td><td class=\"en\">22</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 4</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:52%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 52</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:23%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 23</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 5</span></span></span></td><td><span class=\"vd\">Erased D?</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0388 question 22\"><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"C\" checked aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0402</td><td>Rhys Pemberton<span class=\"en sm\">0417 2601</span></td><td class=\"en\">30</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:3%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 3</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 5</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 4</span></span></span></td><td><span class=\"vd\">Blank</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0402 question 30\"><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0519</td><td><span class=\"un\">Unreadable</span><span class=\"en sm\">0417 22?1</span></td><td class=\"en\">—</td><td><span class=\"cbx en\" aria-label=\"Candidate number as read\">0 4 1 7 2 2 <s>?</s> 1</span></td><td><span class=\"vd\">Number</span></td><td><button type=\"button\" class=\"btn ln sm\">Match by name</button></td></tr>\n  </tbody>\n</table></div>"
    },
    {
      "key": "commit",
      "name": "Commit bar",
      "html": "\n<footer class=\"cm\"><p>Resolved marks are written back with your initials and the time, and the original scan is kept.</p><button type=\"button\" class=\"btn ln\">Export exceptions (CSV)</button><button type=\"button\" class=\"btn\">Apply 2 resolutions</button></footer>"
    }
  ],
  "moduleCount": 4,
  "reorderable": true,
  "meta": {
    "id": "answer-sheet-scan-exceptions",
    "model": "Claude Opus 5.5",
    "author": "Claude Code",
    "createdAt": "2026-10-04T21:10:00+09:00",
    "updatedAt": "2026-10-04T21:10:00+09:00",
    "version": "1.0.0",
    "isNew": true
  },
  "link": "/api/v1/designs/answer-sheet-scan-exceptions.json",
  "structure": "A batch header whose horizontal timing strip has one bar per exception, filled as each is resolved; under it a ruled queue where every row is a cropped strip of the scanned sheet, read percentages under each oval, then a resolve-to oval set.",
  "template_source": {
    "id": "answer-sheet-scan-exceptions",
    "name": "Scan Exceptions Queue",
    "html": "<div class=\"dz dz-answer-sheet-scan-exceptions\" data-design=\"answer-sheet-scan-exceptions\" data-theme=\"answer-sheet\">\n<section class=\"dz-mod\" data-mod=\"batch\" aria-label=\"Batch header\">\n<header class=\"bh\">\n  <div><span class=\"lb\">Batch 0417 · scanned 3 Oct, 16:52</span><h1>Chemistry Paper 2 — exceptions</h1></div>\n  <dl class=\"ct\"><div><dt class=\"lb\">Sheets</dt><dd>1,284</dd></div><div><dt class=\"lb\">Read cleanly</dt><dd>1,247</dd></div><div><dt class=\"lb\">Exceptions</dt><dd>37</dd></div><div><dt class=\"lb\">Resolved</dt><dd>12</dd></div></dl>\n  <div class=\"strip\" role=\"img\" aria-label=\"12 of 37 exceptions resolved\"><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></div>\n</header></section>\n<section class=\"dz-mod\" data-mod=\"filter\" aria-label=\"Exception filter\">\n<nav class=\"fi\" aria-label=\"Exception type\">\n  <button type=\"button\" class=\"ft\" aria-pressed=\"true\">All open <b>25</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Two marks <b>9</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Faint <b>7</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Blank <b>6</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Candidate number <b>3</b></button>\n  <span class=\"th\">Threshold 40% · 5 shown</span>\n</nav></section>\n<section class=\"dz-mod\" data-mod=\"queue\" aria-label=\"Exception rows\">\n<div class=\"qw\"><table class=\"q\">\n  <thead><tr><th scope=\"col\">Sheet</th><th scope=\"col\">Candidate</th><th scope=\"col\">Q</th><th scope=\"col\">As scanned (darkness %)</th><th scope=\"col\">Reader says</th><th scope=\"col\">Resolve to</th></tr></thead>\n  <tbody>\n    <tr><td class=\"en\">0417-0093</td><td>Ilse Marchetti<span class=\"en sm\">0417 2291</span></td><td class=\"en\">14</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:8%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 8</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:71%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 71</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:66%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 66</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:3%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 3</span></span></span></td><td><span class=\"vd\">Two marks</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0093 question 14\"><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"B\" checked aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0141</td><td>Tomasz Wierzbicki<span class=\"en sm\">0417 2340</span></td><td class=\"en\">3</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 5</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:31%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 31</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:7%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 7</span></span></span></td><td><span class=\"vd\">Faint — 31%</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0141 question 3\"><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0388</td><td>Adaeze Nwosu<span class=\"en sm\">0417 2587</span></td><td class=\"en\">22</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 4</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:52%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 52</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:23%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 23</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 5</span></span></span></td><td><span class=\"vd\">Erased D?</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0388 question 22\"><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"C\" checked aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0402</td><td>Rhys Pemberton<span class=\"en sm\">0417 2601</span></td><td class=\"en\">30</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:3%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 3</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 5</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 4</span></span></span></td><td><span class=\"vd\">Blank</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0402 question 30\"><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0519</td><td><span class=\"un\">Unreadable</span><span class=\"en sm\">0417 22?1</span></td><td class=\"en\">—</td><td><span class=\"cbx en\" aria-label=\"Candidate number as read\">0 4 1 7 2 2 <s>?</s> 1</span></td><td><span class=\"vd\">Number</span></td><td><button type=\"button\" class=\"btn ln sm\">Match by name</button></td></tr>\n  </tbody>\n</table></div></section>\n<section class=\"dz-mod\" data-mod=\"commit\" aria-label=\"Commit bar\">\n<footer class=\"cm\"><p>Resolved marks are written back with your initials and the time, and the original scan is kept.</p><button type=\"button\" class=\"btn ln\">Export exceptions (CSV)</button><button type=\"button\" class=\"btn\">Apply 2 resolutions</button></footer></section>\n</div>",
    "css": ".dz, .dz * { box-sizing: border-box; }\n.dz { min-height: 100%; color: var(--foreground); background: var(--background); font-family: var(--pv-body); }\n.dz p, .dz h1, .dz h2, .dz h3, .dz h4, .dz ul, .dz ol, .dz dl, .dz figure, .dz blockquote { margin: 0; }\n.dz img { max-width: 100%; }\n.dz-mod { display: contents; }\n\n.dz-answer-sheet-scan-exceptions { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 26px 28px 30px; }\n.dz-answer-sheet-scan-exceptions .lb { font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 700; color: var(--accent); display: block; }\n.dz-answer-sheet-scan-exceptions .en { font-family: var(--pv-mono); font-size: 15px; letter-spacing: .06em; color: var(--primary); font-size: 13.5px; }\n.dz-answer-sheet-scan-exceptions .bh { display: grid; grid-template-columns: 1fr auto; gap: 18px 32px; align-items: end; }\n.dz-answer-sheet-scan-exceptions h1 { font-family: var(--pv-display); font-weight: 700; letter-spacing: -.01em; font-size: 32px; line-height: 1.05; margin: 6px 0 0; }\n.dz-answer-sheet-scan-exceptions .ct { display: flex; gap: 28px; margin: 0; }\n.dz-answer-sheet-scan-exceptions .ct div { display: grid; gap: 4px; }\n.dz-answer-sheet-scan-exceptions .ct dd { font-family: var(--pv-mono); font-size: 15px; letter-spacing: .06em; color: var(--primary); font-size: 26px; font-weight: 600; margin: 0; }\n.dz-answer-sheet-scan-exceptions .strip { grid-column: 1 / -1; display: flex; gap: 6px; padding: 12px 0; border-top: var(--pv-bw) solid var(--accent); border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); }\n.dz-answer-sheet-scan-exceptions .strip i { width: 14px; height: 5px; border: 1.5px solid var(--accent); }\n.dz-answer-sheet-scan-exceptions .strip i.on { background: var(--primary); border-color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .fi { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0; }\n.dz-answer-sheet-scan-exceptions .ft { font: 600 14px/1 var(--pv-body); color: var(--primary); background: transparent; border: 1.5px solid var(--primary); border-radius: var(--pv-radius); padding: 9px 12px; cursor: pointer; display: inline-flex; gap: 8px; }\n.dz-answer-sheet-scan-exceptions .ft b { font-family: var(--pv-mono); font-weight: 500; }\n.dz-answer-sheet-scan-exceptions .ft:hover { background: color-mix(in srgb, var(--primary) 8%, transparent); }\n.dz-answer-sheet-scan-exceptions .ft[aria-pressed=\"true\"] { background: var(--primary); color: var(--primary-foreground); }\n.dz-answer-sheet-scan-exceptions .ft:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }\n@media (forced-colors: active) { .dz-answer-sheet-scan-exceptions .ft[aria-pressed=\"true\"] { forced-color-adjust: none; background: CanvasText; color: Canvas; border-color: CanvasText; } }\n.dz-answer-sheet-scan-exceptions .th { margin-left: auto; font-family: var(--pv-mono); font-size: 13px; color: var(--accent); }\n.dz-answer-sheet-scan-exceptions .qw { overflow-x: auto; border-top: var(--pv-bw) solid var(--accent); }\n.dz-answer-sheet-scan-exceptions .q { width: 100%; border-collapse: collapse; min-width: 900px; }\n.dz-answer-sheet-scan-exceptions .q th { font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 700; color: var(--accent); text-align: left; padding: 10px 10px 8px 0; border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); }\n.dz-answer-sheet-scan-exceptions .q td { padding: 12px 10px 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); vertical-align: middle; font-size: 14.5px; }\n.dz-answer-sheet-scan-exceptions .sm { display: block; font-size: 13px; margin-top: 2px; }\n.dz-answer-sheet-scan-exceptions .ss { display: inline-flex; gap: 6px; }\n.dz-answer-sheet-scan-exceptions .sc { display: grid; justify-items: center; gap: 3px; }\n.dz-answer-sheet-scan-exceptions .sc .ov { background: color-mix(in srgb, var(--primary) var(--d), transparent); border-color: color-mix(in srgb, var(--accent) 60%, transparent); }\n.dz-answer-sheet-scan-exceptions .sc .ov.hot { outline: 1.5px solid var(--destructive); outline-offset: 2px; }\n.dz-answer-sheet-scan-exceptions .pc { font-family: var(--pv-mono); font-size: 13px; color: var(--muted-foreground); white-space: nowrap; }\n.dz-answer-sheet-scan-exceptions .pc b { font: 700 13px var(--pv-display); color: var(--accent); }\n.dz-answer-sheet-scan-exceptions .vd { font-weight: 600; color: var(--destructive); border-left: 3px solid var(--destructive); padding-left: 8px; white-space: nowrap; }\n.dz-answer-sheet-scan-exceptions .un { font-weight: 600; color: var(--destructive); }\n.dz-answer-sheet-scan-exceptions .cbx { display: inline-block; border: 1.5px solid var(--accent); padding: 4px 8px; letter-spacing: .1em; }\n.dz-answer-sheet-scan-exceptions .cbx s { text-decoration: none; color: var(--destructive); font-weight: 700; }\n.dz-answer-sheet-scan-exceptions .rs { display: inline-flex; }\n.dz-answer-sheet-scan-exceptions .btn.sm { padding: 9px 12px; font-size: 14px; }\n.dz-answer-sheet-scan-exceptions .cm { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }\n.dz-answer-sheet-scan-exceptions .cm p { margin: 0 auto 0 0; font-size: 14px; color: var(--muted-foreground); max-width: 52ch; }\n\n.dz-answer-sheet-scan-exceptions .o { position: relative; display: inline-grid; place-items: center; min-width: 34px; min-height: 34px; cursor: pointer; }\n.dz-answer-sheet-scan-exceptions .o input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }\n.dz-answer-sheet-scan-exceptions .ov { display: inline-grid; place-items: center; width: 30px; height: 20px; border-radius: 9999px; border: 1.5px solid var(--accent); color: var(--accent); font: 700 11px/1 var(--pv-display); transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease); }\n.dz-answer-sheet-scan-exceptions .o input:checked + .ov { background: var(--primary); border-color: var(--primary); color: var(--primary-foreground); }\n.dz-answer-sheet-scan-exceptions .o input:focus-visible + .ov { outline: 2px solid var(--ring); outline-offset: 3px; }\n.dz-answer-sheet-scan-exceptions .o:hover .ov { border-color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .tb { display: block; width: 10px; height: 4px; border: 1.5px solid var(--accent); }\n.dz-answer-sheet-scan-exceptions .r:has(input:checked) .tb { background: var(--primary); border-color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }\n.dz-answer-sheet-scan-exceptions .btn { font: 600 15px/1 var(--pv-body); padding: 12px 18px; border: var(--pv-bw) solid var(--primary); border-radius: var(--pv-radius); background: var(--primary); color: var(--primary-foreground); cursor: pointer; transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease); }\n.dz-answer-sheet-scan-exceptions .btn.ln { background: transparent; color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .btn.ln:hover { background: color-mix(in srgb, var(--primary) 8%, transparent); }\n.dz-answer-sheet-scan-exceptions .btn:not(.ln):hover { background: color-mix(in srgb, var(--primary) 86%, var(--background)); }\n.dz-answer-sheet-scan-exceptions .btn:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }\n@media (forced-colors: active) {\n  .dz-answer-sheet-scan-exceptions .o input:checked + .ov, .dz-answer-sheet-scan-exceptions .r:has(input:checked) .tb { forced-color-adjust: none; background: CanvasText; border-color: CanvasText; color: Canvas; }\n  .dz-answer-sheet-scan-exceptions .r.cur { outline: 2px solid CanvasText; outline-offset: -2px; }\n}\n@media (max-width: 760px) {\n  .dz-answer-sheet-scan-exceptions .bh { grid-template-columns: 1fr; }\n  .dz-answer-sheet-scan-exceptions .ct { flex-wrap: wrap; gap: 18px; }\n  .dz-answer-sheet-scan-exceptions .strip { flex-wrap: wrap; }\n  .dz-answer-sheet-scan-exceptions .th { margin-left: 0; width: 100%; }\n}\n@media (prefers-reduced-motion: reduce) { .dz-answer-sheet-scan-exceptions *, .dz-answer-sheet-scan-exceptions *::before, .dz-answer-sheet-scan-exceptions *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }\n",
    "theme": "answer-sheet",
    "theme_css": ":root {\n  --radius: 0px;\n  --font-sans: \"Public Sans\", ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif;\n  --font-display: \"Sofia Sans Condensed\", ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif;\n  --font-serif: ui-serif, Georgia, \"Times New Roman\", serif;\n  --font-mono: \"Spline Sans Mono\", ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;\n  --ring-offset: 1px;\n  --pv-radius: 0px;\n  --pv-radius-md: 0px;\n  --pv-radius-sm: 0px;\n  --pv-radius-xl: 0px;\n  --pv-bw: 2px;\n  --pv-display: \"Sofia Sans Condensed\", ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif;\n  --pv-body: \"Public Sans\", ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif;\n  --pv-mono: \"Spline Sans Mono\", ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;\n  --dur: 90ms;\n  --dur-fast: 54ms;\n  --dur-slow: 162ms;\n  --ease: cubic-bezier(0.2, 0, 0, 1);\n  --img-filter: none;\n  --background: #E5F5E7;\n  --foreground: #24262A;\n  --card: #DDEADF;\n  --card-foreground: #24262A;\n  --popover: #DDEADF;\n  --popover-foreground: #24262A;\n  --primary: #2A2E34;\n  --primary-foreground: #F5FDF6;\n  --secondary: #CFE1D2;\n  --secondary-foreground: #24262A;\n  --muted: #CFE1D2;\n  --muted-foreground: #5D6066;\n  --accent: #0B7643;\n  --accent-foreground: #F5FDF6;\n  --destructive: #5D0004;\n  --destructive-foreground: #F5FDF6;\n  --border: #BFCEC1;\n  --input: #BFCEC1;\n  --ring: #2A2E34;\n  --chart-1: #2A446F;\n  --chart-2: #61450A;\n  --chart-3: #383665;\n  --chart-4: #5D5316;\n  --chart-5: #003B5A;\n  --sidebar: #DDEADF;\n  --sidebar-foreground: #24262A;\n  --sidebar-primary: #2A2E34;\n  --sidebar-primary-foreground: #F5FDF6;\n  --sidebar-accent: #CFE1D2;\n  --sidebar-accent-foreground: #24262A;\n  --sidebar-border: #BFCEC1;\n  --sidebar-ring: #2A2E34;\n}\n\n.dark {\n  --background: #15181E;\n  --foreground: #E0E7E1;\n  --card: #1D2229;\n  --card-foreground: #E0E7E1;\n  --popover: #1D2229;\n  --popover-foreground: #E0E7E1;\n  --primary: #CDD1D8;\n  --primary-foreground: #080D17;\n  --secondary: #262D37;\n  --secondary-foreground: #E0E7E1;\n  --muted: #262D37;\n  --muted-foreground: #8F9790;\n  --accent: #6AC48C;\n  --accent-foreground: #080D17;\n  --destructive: #FFBFB6;\n  --destructive-foreground: #080D17;\n  --border: #343A43;\n  --input: #343A43;\n  --ring: #CDD1D8;\n  --chart-1: #A3C3F6;\n  --chart-2: #D2B27C;\n  --chart-3: #C3C4FD;\n  --chart-4: #BAB074;\n  --chart-5: #A3D9FF;\n  --sidebar: #1D2229;\n  --sidebar-foreground: #E0E7E1;\n  --sidebar-primary: #CDD1D8;\n  --sidebar-primary-foreground: #080D17;\n  --sidebar-accent: #262D37;\n  --sidebar-accent-foreground: #E0E7E1;\n  --sidebar-border: #343A43;\n  --sidebar-ring: #CDD1D8;\n}\n\n/* Keyboard focus. Zero specificity — override it with any plain selector. */\n@layer base {\n  :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex=\"-1\"])):focus-visible {\n    outline: 2px solid var(--ring);\n    outline-offset: var(--ring-offset, 2px);\n  }\n}",
    "default_mode": "light",
    "googleFontsHref": "https://fonts.googleapis.com/css2?family=Sofia+Sans+Condensed:wght@400;500;600;700&family=Public+Sans:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500;600;700&display=swap",
    "modules": [
      {
        "key": "batch",
        "name": "Batch header"
      },
      {
        "key": "filter",
        "name": "Exception filter"
      },
      {
        "key": "queue",
        "name": "Exception rows"
      },
      {
        "key": "commit",
        "name": "Commit bar"
      }
    ],
    "reorderable": true,
    "source": {
      "revision": "catalog-v1",
      "fingerprint": "v1-989570fc20470604"
    }
  },
  "html": "<div class=\"dz dz-answer-sheet-scan-exceptions\" data-design=\"answer-sheet-scan-exceptions\" data-theme=\"answer-sheet\">\n<section class=\"dz-mod\" data-mod=\"batch\" aria-label=\"Batch header\">\n<header class=\"bh\">\n  <div><span class=\"lb\">Batch 0417 · scanned 3 Oct, 16:52</span><h1>Chemistry Paper 2 — exceptions</h1></div>\n  <dl class=\"ct\"><div><dt class=\"lb\">Sheets</dt><dd>1,284</dd></div><div><dt class=\"lb\">Read cleanly</dt><dd>1,247</dd></div><div><dt class=\"lb\">Exceptions</dt><dd>37</dd></div><div><dt class=\"lb\">Resolved</dt><dd>12</dd></div></dl>\n  <div class=\"strip\" role=\"img\" aria-label=\"12 of 37 exceptions resolved\"><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i class=\"on\"></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></div>\n</header></section>\n<section class=\"dz-mod\" data-mod=\"filter\" aria-label=\"Exception filter\">\n<nav class=\"fi\" aria-label=\"Exception type\">\n  <button type=\"button\" class=\"ft\" aria-pressed=\"true\">All open <b>25</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Two marks <b>9</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Faint <b>7</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Blank <b>6</b></button><button type=\"button\" class=\"ft\" aria-pressed=\"false\">Candidate number <b>3</b></button>\n  <span class=\"th\">Threshold 40% · 5 shown</span>\n</nav></section>\n<section class=\"dz-mod\" data-mod=\"queue\" aria-label=\"Exception rows\">\n<div class=\"qw\"><table class=\"q\">\n  <thead><tr><th scope=\"col\">Sheet</th><th scope=\"col\">Candidate</th><th scope=\"col\">Q</th><th scope=\"col\">As scanned (darkness %)</th><th scope=\"col\">Reader says</th><th scope=\"col\">Resolve to</th></tr></thead>\n  <tbody>\n    <tr><td class=\"en\">0417-0093</td><td>Ilse Marchetti<span class=\"en sm\">0417 2291</span></td><td class=\"en\">14</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:8%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 8</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:71%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 71</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:66%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 66</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:3%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 3</span></span></span></td><td><span class=\"vd\">Two marks</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0093 question 14\"><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"B\" checked aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x1\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0141</td><td>Tomasz Wierzbicki<span class=\"en sm\">0417 2340</span></td><td class=\"en\">3</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 5</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:31%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 31</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:7%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 7</span></span></span></td><td><span class=\"vd\">Faint — 31%</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0141 question 3\"><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x2\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0388</td><td>Adaeze Nwosu<span class=\"en sm\">0417 2587</span></td><td class=\"en\">22</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 4</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:52%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 52</span></span><span class=\"sc\"><span class=\"ov hot\" style=\"--d:23%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 23</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 5</span></span></span></td><td><span class=\"vd\">Erased D?</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0388 question 22\"><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"C\" checked aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x3\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0402</td><td>Rhys Pemberton<span class=\"en sm\">0417 2601</span></td><td class=\"en\">30</td><td><span class=\"ss\"><span class=\"sc\"><span class=\"ov\" style=\"--d:3%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>A</b> 3</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:5%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>B</b> 5</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>C</b> 4</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:6%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>D</b> 6</span></span><span class=\"sc\"><span class=\"ov\" style=\"--d:4%\" aria-hidden=\"true\"></span><span class=\"pc\"><b>E</b> 4</span></span></span></td><td><span class=\"vd\">Blank</span></td><td><span class=\"rs\" role=\"radiogroup\" aria-label=\"Resolve sheet 0417-0402 question 30\"><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"A\" aria-label=\"Resolve to A\"><span class=\"ov\" aria-hidden=\"true\">A</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"B\" aria-label=\"Resolve to B\"><span class=\"ov\" aria-hidden=\"true\">B</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"C\" aria-label=\"Resolve to C\"><span class=\"ov\" aria-hidden=\"true\">C</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"D\" aria-label=\"Resolve to D\"><span class=\"ov\" aria-hidden=\"true\">D</span></label><label class=\"o\"><input type=\"radio\" name=\"x4\" value=\"E\" aria-label=\"Resolve to E\"><span class=\"ov\" aria-hidden=\"true\">E</span></label></span></td></tr>\n    <tr><td class=\"en\">0417-0519</td><td><span class=\"un\">Unreadable</span><span class=\"en sm\">0417 22?1</span></td><td class=\"en\">—</td><td><span class=\"cbx en\" aria-label=\"Candidate number as read\">0 4 1 7 2 2 <s>?</s> 1</span></td><td><span class=\"vd\">Number</span></td><td><button type=\"button\" class=\"btn ln sm\">Match by name</button></td></tr>\n  </tbody>\n</table></div></section>\n<section class=\"dz-mod\" data-mod=\"commit\" aria-label=\"Commit bar\">\n<footer class=\"cm\"><p>Resolved marks are written back with your initials and the time, and the original scan is kept.</p><button type=\"button\" class=\"btn ln\">Export exceptions (CSV)</button><button type=\"button\" class=\"btn\">Apply 2 resolutions</button></footer></section>\n</div>",
  "css": "\n.dz-answer-sheet-scan-exceptions { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 26px 28px 30px; }\n.dz-answer-sheet-scan-exceptions .lb { font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 700; color: var(--accent); display: block; }\n.dz-answer-sheet-scan-exceptions .en { font-family: var(--pv-mono); font-size: 15px; letter-spacing: .06em; color: var(--primary); font-size: 13.5px; }\n.dz-answer-sheet-scan-exceptions .bh { display: grid; grid-template-columns: 1fr auto; gap: 18px 32px; align-items: end; }\n.dz-answer-sheet-scan-exceptions h1 { font-family: var(--pv-display); font-weight: 700; letter-spacing: -.01em; font-size: 32px; line-height: 1.05; margin: 6px 0 0; }\n.dz-answer-sheet-scan-exceptions .ct { display: flex; gap: 28px; margin: 0; }\n.dz-answer-sheet-scan-exceptions .ct div { display: grid; gap: 4px; }\n.dz-answer-sheet-scan-exceptions .ct dd { font-family: var(--pv-mono); font-size: 15px; letter-spacing: .06em; color: var(--primary); font-size: 26px; font-weight: 600; margin: 0; }\n.dz-answer-sheet-scan-exceptions .strip { grid-column: 1 / -1; display: flex; gap: 6px; padding: 12px 0; border-top: var(--pv-bw) solid var(--accent); border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); }\n.dz-answer-sheet-scan-exceptions .strip i { width: 14px; height: 5px; border: 1.5px solid var(--accent); }\n.dz-answer-sheet-scan-exceptions .strip i.on { background: var(--primary); border-color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .fi { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0; }\n.dz-answer-sheet-scan-exceptions .ft { font: 600 14px/1 var(--pv-body); color: var(--primary); background: transparent; border: 1.5px solid var(--primary); border-radius: var(--pv-radius); padding: 9px 12px; cursor: pointer; display: inline-flex; gap: 8px; }\n.dz-answer-sheet-scan-exceptions .ft b { font-family: var(--pv-mono); font-weight: 500; }\n.dz-answer-sheet-scan-exceptions .ft:hover { background: color-mix(in srgb, var(--primary) 8%, transparent); }\n.dz-answer-sheet-scan-exceptions .ft[aria-pressed=\"true\"] { background: var(--primary); color: var(--primary-foreground); }\n.dz-answer-sheet-scan-exceptions .ft:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }\n@media (forced-colors: active) { .dz-answer-sheet-scan-exceptions .ft[aria-pressed=\"true\"] { forced-color-adjust: none; background: CanvasText; color: Canvas; border-color: CanvasText; } }\n.dz-answer-sheet-scan-exceptions .th { margin-left: auto; font-family: var(--pv-mono); font-size: 13px; color: var(--accent); }\n.dz-answer-sheet-scan-exceptions .qw { overflow-x: auto; border-top: var(--pv-bw) solid var(--accent); }\n.dz-answer-sheet-scan-exceptions .q { width: 100%; border-collapse: collapse; min-width: 900px; }\n.dz-answer-sheet-scan-exceptions .q th { font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 700; color: var(--accent); text-align: left; padding: 10px 10px 8px 0; border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); }\n.dz-answer-sheet-scan-exceptions .q td { padding: 12px 10px 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); vertical-align: middle; font-size: 14.5px; }\n.dz-answer-sheet-scan-exceptions .sm { display: block; font-size: 13px; margin-top: 2px; }\n.dz-answer-sheet-scan-exceptions .ss { display: inline-flex; gap: 6px; }\n.dz-answer-sheet-scan-exceptions .sc { display: grid; justify-items: center; gap: 3px; }\n.dz-answer-sheet-scan-exceptions .sc .ov { background: color-mix(in srgb, var(--primary) var(--d), transparent); border-color: color-mix(in srgb, var(--accent) 60%, transparent); }\n.dz-answer-sheet-scan-exceptions .sc .ov.hot { outline: 1.5px solid var(--destructive); outline-offset: 2px; }\n.dz-answer-sheet-scan-exceptions .pc { font-family: var(--pv-mono); font-size: 13px; color: var(--muted-foreground); white-space: nowrap; }\n.dz-answer-sheet-scan-exceptions .pc b { font: 700 13px var(--pv-display); color: var(--accent); }\n.dz-answer-sheet-scan-exceptions .vd { font-weight: 600; color: var(--destructive); border-left: 3px solid var(--destructive); padding-left: 8px; white-space: nowrap; }\n.dz-answer-sheet-scan-exceptions .un { font-weight: 600; color: var(--destructive); }\n.dz-answer-sheet-scan-exceptions .cbx { display: inline-block; border: 1.5px solid var(--accent); padding: 4px 8px; letter-spacing: .1em; }\n.dz-answer-sheet-scan-exceptions .cbx s { text-decoration: none; color: var(--destructive); font-weight: 700; }\n.dz-answer-sheet-scan-exceptions .rs { display: inline-flex; }\n.dz-answer-sheet-scan-exceptions .btn.sm { padding: 9px 12px; font-size: 14px; }\n.dz-answer-sheet-scan-exceptions .cm { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }\n.dz-answer-sheet-scan-exceptions .cm p { margin: 0 auto 0 0; font-size: 14px; color: var(--muted-foreground); max-width: 52ch; }\n\n.dz-answer-sheet-scan-exceptions .o { position: relative; display: inline-grid; place-items: center; min-width: 34px; min-height: 34px; cursor: pointer; }\n.dz-answer-sheet-scan-exceptions .o input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }\n.dz-answer-sheet-scan-exceptions .ov { display: inline-grid; place-items: center; width: 30px; height: 20px; border-radius: 9999px; border: 1.5px solid var(--accent); color: var(--accent); font: 700 11px/1 var(--pv-display); transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease); }\n.dz-answer-sheet-scan-exceptions .o input:checked + .ov { background: var(--primary); border-color: var(--primary); color: var(--primary-foreground); }\n.dz-answer-sheet-scan-exceptions .o input:focus-visible + .ov { outline: 2px solid var(--ring); outline-offset: 3px; }\n.dz-answer-sheet-scan-exceptions .o:hover .ov { border-color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .tb { display: block; width: 10px; height: 4px; border: 1.5px solid var(--accent); }\n.dz-answer-sheet-scan-exceptions .r:has(input:checked) .tb { background: var(--primary); border-color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }\n.dz-answer-sheet-scan-exceptions .btn { font: 600 15px/1 var(--pv-body); padding: 12px 18px; border: var(--pv-bw) solid var(--primary); border-radius: var(--pv-radius); background: var(--primary); color: var(--primary-foreground); cursor: pointer; transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease); }\n.dz-answer-sheet-scan-exceptions .btn.ln { background: transparent; color: var(--primary); }\n.dz-answer-sheet-scan-exceptions .btn.ln:hover { background: color-mix(in srgb, var(--primary) 8%, transparent); }\n.dz-answer-sheet-scan-exceptions .btn:not(.ln):hover { background: color-mix(in srgb, var(--primary) 86%, var(--background)); }\n.dz-answer-sheet-scan-exceptions .btn:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }\n@media (forced-colors: active) {\n  .dz-answer-sheet-scan-exceptions .o input:checked + .ov, .dz-answer-sheet-scan-exceptions .r:has(input:checked) .tb { forced-color-adjust: none; background: CanvasText; border-color: CanvasText; color: Canvas; }\n  .dz-answer-sheet-scan-exceptions .r.cur { outline: 2px solid CanvasText; outline-offset: -2px; }\n}\n@media (max-width: 760px) {\n  .dz-answer-sheet-scan-exceptions .bh { grid-template-columns: 1fr; }\n  .dz-answer-sheet-scan-exceptions .ct { flex-wrap: wrap; gap: 18px; }\n  .dz-answer-sheet-scan-exceptions .strip { flex-wrap: wrap; }\n  .dz-answer-sheet-scan-exceptions .th { margin-left: 0; width: 100%; }\n}\n@media (prefers-reduced-motion: reduce) { .dz-answer-sheet-scan-exceptions *, .dz-answer-sheet-scan-exceptions *::before, .dz-answer-sheet-scan-exceptions *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }\n",
  "requiredTheme": "/api/v1/themes/answer-sheet.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Sofia+Sans+Condensed:wght@400;500;600;700&family=Public+Sans:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500;600;700&display=swap"
}