:root{--bg:#f7f7f5;--panel:#fff;--text:#1d1d1f;--muted:#6b6b70;--border:#e2e2de;--accent:#2f5bd3;--accent-text:#fff;--danger:#c0392b;--warn-bg:#fff7e0;--warn-border:#e8c766;--err-bg:#fdecea;--ok:#1e7f4f;--rec:#d93025;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#161618;--panel:#1f1f22;--text:#ececef;--muted:#9a9aa2;--border:#34343a;--accent:#6d8ff0;--accent-text:#0d0d10;--danger:#ff6b5e;--warn-bg:#3a3218;--warn-border:#7a6526;--err-bg:#3d1d1a;--ok:#4cc38a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}h1{margin:0 0 1rem;font-size:1.5rem}h2{margin:1.5rem 0 .75rem;font-size:1.15rem}.layout{max-width:1100px;margin:0 auto;padding:1rem}.topbar{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.75rem 1rem;display:flex}.topbar .brand{margin-right:.5rem;font-weight:700}.topbar a{color:var(--text);text-decoration:none}.topbar a.active{color:var(--accent);font-weight:600}.topbar .spacer{flex:1}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.badge.draft{border-color:var(--warn-border)}.badge.published{border-color:var(--ok);color:var(--ok)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1rem}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem;display:grid}label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}label.inline{color:var(--text);flex-direction:row;align-items:center;gap:.5rem}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem}textarea{resize:vertical;min-height:6rem}input[type=checkbox]{width:1rem;height:1rem}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:.45rem .9rem}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:default}button.small{padding:.2rem .55rem;font-size:.85rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem;font-weight:600}tr.retired td{opacity:.5}.table-wrap{overflow-x:auto}.error{background:var(--err-bg);border:1px solid var(--danger);color:var(--text);border-radius:6px;margin:.5rem 0;padding:.6rem .8rem}.warn{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:6px;margin:.5rem 0;padding:.6rem .8rem}.ok{color:var(--ok)}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1rem;display:flex}.tabs button{background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}video{background:#000;border-radius:8px;width:100%;max-width:640px;display:block}.dev-note{border:1px dashed var(--warn-border);background:var(--warn-bg);border-radius:6px;padding:.5rem .75rem;font-size:.85rem}pre.msg{white-space:pre-wrap;word-break:break-all;background:var(--bg);border-radius:6px;margin:.25rem 0 0;padding:.5rem;font-size:.85rem}.student{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem}.student .prompt{margin:.5rem 0 1rem;font-size:1.35rem;font-weight:600;line-height:1.4}.timer{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.timer.rec{color:var(--rec)}.recdot{background:var(--rec);border-radius:50%;width:.75rem;height:.75rem;margin-right:.4rem;animation:1s infinite blink;display:inline-block}@keyframes blink{50%{opacity:.2}}.progress{background:var(--border);border-radius:3px;height:6px;margin:.5rem 0 1rem;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .25s linear}.stack>*+*{margin-top:.75rem}
