:root{--paper:#f6f7f4;--surface:#ecf0ea;--ink:#171c19;--muted:#5a645e;--rule:#d3dad3;--accent:#00693e;--accent-ink:#fff;--accent-soft:#dcebdf;--lime:#a5d75f;--warn:#8a5a00;--warn-soft:#f3e7c9;--danger:#8f2d2d;--danger-soft:#f3d9d9;--code-bg:#e9ede7;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:5px;--topbar-h:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#11150f;--surface:#181e17;--ink:#e4e9e3;--muted:#9aa69c;--rule:#2b342c;--accent:#5dbb8a;--accent-ink:#0b120e;--accent-soft:#1c2e23;--warn:#e3b45c;--warn-soft:#2e2612;--danger:#e08a8a;--danger-soft:#3a1d1d;--code-bg:#1d241c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#11150f;--surface:#181e17;--ink:#e4e9e3;--muted:#9aa69c;--rule:#2b342c;--accent:#5dbb8a;--accent-ink:#0b120e;--accent-soft:#1c2e23;--warn:#e3b45c;--warn-soft:#2e2612;--danger:#e08a8a;--danger-soft:#3a1d1d;--code-bg:#1d241c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}#app{flex-direction:column;min-height:100%;display:flex}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}h1{font-size:22px}h2{font-size:16px}h3{font-size:14px}p{margin:0 0 10px}code,.mono{font-family:var(--mono);font-size:.92em}code{background:var(--code-bg);border-radius:3px;padding:1px 4px}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums;text-align:right}.small{font-size:12px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.page{width:100%;max-width:1280px;margin:0 auto;padding:20px 20px 64px}.page.narrow{max-width:880px}.page.full{flex-direction:column;flex:1;max-width:none;min-height:0;padding:0;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-bottom:18px;display:flex}.page-head .meta{color:var(--muted);flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}section.block{margin-bottom:28px}.block-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;padding-bottom:6px;display:flex}.block-head h2{align-items:baseline;gap:8px;display:flex}.count{background:var(--surface);min-width:20px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:10px;padding:0 6px;font-size:12px;font-weight:600;display:inline-block}.count.hot{background:var(--accent);color:var(--accent-ink)}.count.warn{background:var(--warn-soft);color:var(--warn)}.card{background:var(--surface);border-radius:var(--radius);padding:14px 16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.empty{color:var(--muted);padding:8px 0;font-size:13px}.tablewrap{overflow-x:auto}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.data th,table.data td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);white-space:nowrap;padding:6px 8px}table.data th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--rule);background:var(--paper);z-index:1;font-size:11px;font-weight:600;position:sticky;top:0}table.data th.num,table.data td.num{text-align:right}table.data td.wrap{white-space:normal}table.data tbody tr:hover{background:var(--surface)}table.data td .sub{color:var(--muted);font-size:12px;display:block}.chip{font-family:var(--mono);white-space:nowrap;background:var(--surface);color:var(--muted);border:1px solid #0000;border-radius:3px;padding:0 6px;font-size:11.5px;line-height:1.6;display:inline-block}.chip.none{color:var(--muted);border-color:var(--rule);background:0 0}.chip.checking,.chip.received{background:var(--warn-soft);color:var(--warn)}.chip.submitted,.chip.awaiting_manual{background:var(--surface);color:var(--ink);border-color:var(--rule)}.chip.graded{background:var(--accent-soft);color:var(--accent)}.chip.failed{background:var(--danger-soft);color:var(--danger)}.chip.role{text-transform:capitalize;font-family:var(--sans);font-size:12px}button,.btn{appearance:none;font:inherit;border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;line-height:1;text-decoration:none;display:inline-flex}button:hover,.btn:hover{background:var(--surface);text-decoration:none}button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:default}button.primary,.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover,.btn.primary:hover{filter:brightness(1.08)}button.quiet,.btn.quiet{color:var(--accent);background:0 0;border-color:#0000;padding-inline:6px}button.quiet:hover,.btn.quiet:hover{background:var(--accent-soft)}button.danger{color:var(--danger)}input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);width:100%;padding:6px 8px;font-size:13px}input[type=number]{font-variant-numeric:tabular-nums;text-align:right}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent);margin:0 6px 0 0}input[type=file]{padding:4px}textarea{resize:vertical;min-height:90px;line-height:1.45}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field>span,.field>label{color:var(--muted);font-size:12px}.field.inline{flex-direction:row;align-items:center;gap:8px}.row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.row.between{justify-content:space-between}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}kbd{font-family:var(--mono);border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-size:11px}.notice{border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;margin:10px 0;padding:8px 12px;font-size:13px}.notice.error{border-color:var(--danger);color:var(--danger)}.notice.warn{border-color:var(--warn)}.notice .label{letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:600;display:block}iframe.render{border:1px solid var(--rule);border-radius:var(--radius);background:#fff;width:100%}.live{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live:before{content:"";background:var(--rule);border-radius:50%;width:7px;height:7px}.live.open:before{background:var(--accent)}.live.reconnecting:before{background:var(--warn)}@media (max-width:640px){.page{padding:14px 16px 48px}h1{font-size:19px}}.topbar.svelte-yic9pk{height:var(--topbar-h);border-bottom:1px solid var(--rule);background:var(--paper);z-index:10;position:sticky;top:0}.inner.svelte-yic9pk{align-items:center;gap:24px;max-width:1280px;height:100%;margin:0 auto;padding:0 20px;display:flex}.wordmark.svelte-yic9pk{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;font-weight:600}.wordmark.svelte-yic9pk span:where(.svelte-yic9pk){color:var(--accent)}.wordmark.svelte-yic9pk:hover{text-decoration:none}.ctx.svelte-yic9pk{align-items:center;gap:14px;min-width:0;font-size:13px;display:flex;overflow-x:auto}.crumb.svelte-yic9pk{color:var(--muted);white-space:nowrap}.sep.svelte-yic9pk{opacity:.6;margin:0 4px}.ctx.svelte-yic9pk a:where(.svelte-yic9pk),.user.svelte-yic9pk a:where(.svelte-yic9pk){color:var(--ink);white-space:nowrap;border-bottom:2px solid #0000;padding:4px 0}.ctx.svelte-yic9pk a:where(.svelte-yic9pk):hover,.user.svelte-yic9pk a:where(.svelte-yic9pk):hover{border-color:var(--rule);text-decoration:none}.ctx.svelte-yic9pk a.active:where(.svelte-yic9pk),.user.svelte-yic9pk a.active:where(.svelte-yic9pk){border-color:var(--accent)}.user.svelte-yic9pk{white-space:nowrap;align-items:center;gap:12px;margin-left:auto;font-size:13px;display:flex}.netid.svelte-yic9pk{font-family:var(--mono);color:var(--muted)}@media (max-width:640px){.inner.svelte-yic9pk{gap:12px;padding:0 16px}.crumb.svelte-yic9pk{display:none}}.loading.svelte-1a5pdw0{padding:12px 0}.triage.svelte-cazchi{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:8px}.btn.small.svelte-cazchi{padding:4px 9px;font-size:12px}table.grid.svelte-cazchi th.q:where(.svelte-cazchi){text-align:center;font-family:var(--mono);text-transform:none;letter-spacing:0}table.grid.svelte-cazchi td.cell:where(.svelte-cazchi){text-align:center}table.grid.svelte-cazchi td:where(.svelte-cazchi):first-child{background:var(--paper);position:sticky;left:0}table.grid.svelte-cazchi tbody:where(.svelte-cazchi) tr:where(.svelte-cazchi):hover td:where(.svelte-cazchi):first-child{background:var(--surface)}.pending.svelte-h7o8s9{border:1px dashed var(--rule);border-radius:var(--radius);justify-content:center;align-items:center;display:flex}.queue.svelte-n9hnug{min-height:calc(100vh - var(--topbar-h));flex-direction:column;flex:1;display:flex}.bar.svelte-n9hnug{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;font-size:13px;display:flex}.bar.svelte-n9hnug .left:where(.svelte-n9hnug),.bar.svelte-n9hnug .right:where(.svelte-n9hnug){flex-wrap:wrap;align-items:center;gap:10px;display:flex}.back.svelte-n9hnug{color:var(--ink)}.progress.svelte-n9hnug{font-weight:600}.pad.svelte-n9hnug{padding:16px 20px}.panes.svelte-n9hnug{flex:1;grid-template-columns:minmax(0,1fr) 400px;min-height:0;display:grid}.render-pane.svelte-n9hnug{min-height:480px;height:calc(100vh - var(--topbar-h) - 42px);padding:10px}.render-pane.svelte-n9hnug iframe.render,.render-pane.svelte-n9hnug .pending{height:100%!important}.side.svelte-n9hnug{border-left:1px solid var(--rule);height:calc(100vh - var(--topbar-h) - 42px);padding:14px 16px 24px;overflow-y:auto}.who.svelte-n9hnug{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.who.svelte-n9hnug strong:where(.svelte-n9hnug),.who.svelte-n9hnug .sub:where(.svelte-n9hnug){display:block}.nav.svelte-n9hnug{flex-shrink:0;align-items:center;gap:6px;display:flex}.nav.svelte-n9hnug button:where(.svelte-n9hnug){padding:4px 8px;font-size:12px}table.rubric.svelte-n9hnug{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:13px}table.rubric.svelte-n9hnug td:where(.svelte-n9hnug){border-bottom:1px solid var(--rule);vertical-align:middle;padding:5px 4px}table.rubric.svelte-n9hnug td.wrap:where(.svelte-n9hnug){white-space:normal}table.rubric.svelte-n9hnug td:where(.svelte-n9hnug) .sub:where(.svelte-n9hnug){display:block}table.rubric.svelte-n9hnug input:where(.svelte-n9hnug){width:64px}button.small.svelte-n9hnug{align-self:flex-start;padding:2px 6px;font-size:12px}.history.svelte-n9hnug{margin-top:16px}@media (max-width:900px){.panes.svelte-n9hnug{grid-template-columns:1fr}.render-pane.svelte-n9hnug,.side.svelte-n9hnug{height:auto}.render-pane.svelte-n9hnug{height:60vh}.side.svelte-n9hnug{border-left:0;border-top:1px solid var(--rule)}}.outputs.svelte-n9hnug{margin-top:1rem}.outputs.svelte-n9hnug h3:where(.svelte-n9hnug){text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.output.svelte-n9hnug{margin-bottom:.6rem}.output-key.svelte-n9hnug{font-family:var(--mono,ui-monospace, monospace);color:var(--muted);font-size:.8rem}.output-value.svelte-n9hnug{white-space:pre-wrap;word-break:break-word;background:var(--surface,#0000000a);border:1px solid var(--rule);font:inherit;border-radius:4px;max-height:18rem;margin:.2rem 0 0;padding:.5rem .65rem;font-size:.95rem;overflow:auto}td.feedback.svelte-rub3yp{max-width:36ch;color:var(--muted)}.import.svelte-1nrpdur .row:where(.svelte-1nrpdur){align-items:flex-end}fieldset.src.svelte-1nrpdur{border:0;flex-direction:column;gap:14px;margin:0;padding:0;display:flex}fieldset.src.svelte-1nrpdur legend:where(.svelte-1nrpdur){margin-bottom:4px;padding:0}fieldset.src.svelte-1nrpdur label:where(.svelte-1nrpdur){white-space:nowrap;font-size:13px}tr.excluded.svelte-1nrpdur td:where(.svelte-1nrpdur){color:var(--muted);text-decoration:line-through}tr.inactive.svelte-1nrpdur td:where(.svelte-1nrpdur){color:var(--muted)}.settings-grid.svelte-1vdmd6s{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px;display:grid}dl.settings.svelte-1vdmd6s{flex-wrap:wrap;gap:6px 24px;margin:0 0 12px;font-size:13px;display:flex}dl.settings.svelte-1vdmd6s div:where(.svelte-1vdmd6s){gap:6px;display:flex}dl.settings.svelte-1vdmd6s dt:where(.svelte-1vdmd6s){color:var(--muted)}dl.settings.svelte-1vdmd6s dd:where(.svelte-1vdmd6s){margin:0}.assignment.svelte-1vdmd6s .card:where(.svelte-1vdmd6s){margin-bottom:12px}.pick.svelte-1vdmd6s input:where(.svelte-1vdmd6s){margin-right:4px}tr.detail.svelte-v4l7f7>td:where(.svelte-v4l7f7){background:var(--surface);padding:12px 14px 4px}tr.detail.svelte-v4l7f7:hover>td:where(.svelte-v4l7f7){background:var(--surface)}.question.svelte-v4l7f7{margin-bottom:14px}.question.svelte-v4l7f7 h3:where(.svelte-v4l7f7){margin-bottom:4px}table.attempts.svelte-v4l7f7 th:where(.svelte-v4l7f7){background:var(--surface)}tr.counts.svelte-v4l7f7 td:where(.svelte-v4l7f7):first-child{font-weight:600}td.feedback.svelte-v4l7f7{max-width:44ch;color:var(--ink)}.signin.svelte-14rkk58{padding-top:72px}h1.svelte-14rkk58{margin:8px 0 10px;font-size:26px}p.muted.svelte-14rkk58{max-width:52ch;margin-bottom:20px}
