:root{color-scheme:light;--bg: #f4f5f7;--surface: #ffffff;--surface-soft: #eef1f5;--text: #17202a;--muted: #647084;--line: #d9dee7;--brand: #1f6feb;--brand-strong: #124fbd;--ok: #16803c;--ko: #c7352c;--warn: #b7791f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.screen{min-height:100vh;padding:24px}.center-screen{display:grid;place-items:center}.quiz-layout,.result-layout{max-width:820px;margin:0 auto}.dashboard-layout{max-width:1180px;margin:0 auto;display:grid;gap:18px;min-width:0}.dashboard-layout>*{min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 10px 26px #0f172a0f;min-width:0}.narrow{width:min(100%,520px)}.brand-mark{width:54px;height:54px;border-radius:8px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:900;margin-bottom:18px}.home-qr{border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;margin:18px 0;background:#f8fafc}.home-qr img{width:112px;height:112px;border-radius:6px;background:#fff}.home-qr strong{display:inline-flex;align-items:center;gap:7px}.home-qr a,.session-link-row a,.student-url{color:var(--brand);overflow-wrap:anywhere;word-break:break-word}.home-qr p{margin:8px 0}.eyebrow{margin:0 0 8px;color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:0}h1,h2{margin:0 0 12px;line-height:1.15}h1{font-size:2rem}h2{font-size:1.25rem;display:inline-flex;align-items:center;gap:8px}.muted{color:var(--muted)}.field{display:grid;gap:7px;margin:18px 0}.field span{font-weight:700;font-size:.9rem}input,select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 13px;background:#fff;color:var(--text)}input:focus,select:focus{outline:2px solid rgba(31,111,235,.22);border-color:var(--brand)}.primary,.ghost,.icon-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid transparent;min-height:42px}.primary{background:var(--brand);color:#fff;padding:0 18px;font-weight:800;width:100%}.primary:hover{background:var(--brand-strong)}.ghost{background:#fff;color:var(--text);border-color:var(--line);padding:0 14px;font-weight:700;margin-top:10px}.ghost:hover{border-color:var(--brand);color:var(--brand)}.icon-link{width:42px;background:#fff;border-color:var(--line);color:var(--text)}.dev-action{border-style:dashed;color:var(--warn)}.scenario-copy{border-left:4px solid var(--brand);background:var(--surface-soft);padding:14px 16px;border-radius:0 8px 8px 0;line-height:1.55}.compact{margin-top:0}.quiz-head,.dashboard-head,.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.quiz-card{display:grid;gap:18px}.weight{background:#fff7ed;color:#9a5b10;border:1px solid #fed7aa;border-radius:999px;padding:6px 12px;font-weight:800}.progress{height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.progress span{display:block;height:100%;background:var(--brand);transition:width .25s ease}.answers{display:grid;gap:10px}.answer{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px;display:flex;gap:12px;text-align:left;align-items:flex-start}.answer span{min-width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-soft);font-weight:900}.answer.selected{border-color:var(--brand)}.answer.correct{border-color:var(--ok);background:#f0fdf4}.answer.wrong{border-color:var(--ko);background:#fff5f5}.feedback{border-radius:8px;padding:14px 16px}.feedback.ok{background:#ecfdf3;color:var(--ok);border:1px solid #b7efcb}.feedback.ko{background:#fff5f5;color:var(--ko);border:1px solid #ffd0d0}.status{color:var(--warn);font-weight:700}.pass{color:var(--ok);font-weight:800;display:inline-flex;align-items:center;gap:6px}.fail{color:var(--ko);font-weight:800;display:inline-flex;align-items:center;gap:6px}.meta-grid,.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.metric{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.metric span{display:block;color:var(--muted);font-weight:700;font-size:.82rem}.metric strong{display:block;font-size:1.65rem;margin-top:4px}.session-form{display:grid;grid-template-columns:minmax(240px,1fr) 180px 190px;gap:12px;align-items:end}.session-form .field{margin:0}.compact-field{min-width:160px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar .ghost{margin-top:0}.student-url{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0;font-size:.86rem;font-weight:700}.progress-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.progress-card{border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;gap:10px}.progress-card strong{display:inline-flex;align-items:center;gap:6px}.progress-card span{display:block;color:var(--muted);margin-top:3px}.progress-card p{margin:0;font-weight:800}.session-list{display:grid;gap:10px}.session-row{border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.session-row span{display:block;color:var(--muted);margin-top:3px}.session-main{min-width:0}.session-link-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.session-link-row img{width:72px;height:72px;border:1px solid var(--line);border-radius:6px;background:#fff}.session-link-row small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;margin-bottom:4px}.session-actions{display:flex;gap:8px;flex-wrap:wrap}.session-actions .ghost{margin-top:0}.danger{color:var(--ko)}.danger:hover{border-color:var(--ko);color:var(--ko)}.active-session{border-color:var(--ok);background:#f0fdf4}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left}th{color:var(--muted);font-size:.78rem;text-transform:uppercase}.review-list{display:grid;gap:12px;margin:18px 0}.review-row{border:1px solid var(--line);border-radius:8px;padding:14px}.review-row p{margin:8px 0 0}.review-row.review-correct{border-left:5px solid var(--ok)}.review-row.review-wrong{border-left:5px solid var(--ko);background:snow}.review-label{color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase}.correct-answer{color:var(--ok)}.close-quiz{margin-top:4px}.review-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.review-queue{padding:14px;display:grid;gap:8px;position:sticky;top:18px}.review-queue .section-title{margin:4px 4px 8px}.review-queue-item{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left}.review-queue-item:hover,.review-queue-item.selected{border-color:var(--brand);background:#f3f7ff}.review-queue-item span,.review-queue-item small{display:block}.review-queue-item small{color:var(--muted);margin-top:3px;font-weight:600}.review-queue-item b{color:var(--brand);font-size:1.15rem;white-space:nowrap}.review-queue-item b small{display:inline;font-size:.7rem}.review-detail{min-height:480px}.review-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.score-badge{border-radius:999px;padding:8px 12px;font-weight:900;white-space:nowrap}.score-badge.high{background:#ecfdf3;color:var(--ok)}.score-badge.low{background:#fff7ed;color:var(--warn)}.review-issues,.teacher-notes{border:1px solid #fed7aa;background:#fff7ed;border-radius:8px;padding:14px 16px;margin:16px 0}.review-issues ul{margin:8px 0 0;padding-left:20px}.teacher-notes p{margin:7px 0 0}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.review-version{border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}.review-version.proposed{border-color:#93b4ee;background:#f7faff}.review-version h3{margin:0 0 14px;display:flex;align-items:center;gap:7px;font-size:1rem}.review-question{display:block;line-height:1.45}.review-options{display:grid;gap:7px;margin:16px 0}.review-options p{margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:7px}.review-options p b{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:7px;border-radius:50%;background:var(--surface-soft)}.review-options .correct-option{border-color:#8ed3a7;background:#f0fdf4}.review-explanation{border-top:1px solid var(--line);padding-top:12px}.review-explanation span{color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase}.review-explanation p{margin:6px 0 0;line-height:1.5}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.review-actions .ghost{margin-top:0}.compact-action{width:auto}.empty-detail{min-height:400px;display:grid;place-content:center;justify-items:center}.question-catalog{display:grid;gap:14px}.search-field{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff}.search-field:focus-within{outline:2px solid rgba(31,111,235,.22);border-color:var(--brand)}.search-field input{border:0;padding-left:0}.search-field input:focus{outline:0}.catalog-hint{margin:4px 0}.catalog-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.catalog-card{border:1px solid var(--line);border-radius:8px;padding:14px;min-width:0}.catalog-card-head{display:flex;justify-content:space-between;gap:12px}.catalog-card-head span{display:block;color:var(--muted);margin-top:3px}.status-chip{border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:900;height:fit-content}.status-chip.approved{background:#ecfdf3;color:var(--ok)}.status-chip.review{background:#fff7ed;color:var(--warn)}.status-chip.archived{background:var(--surface-soft);color:var(--muted)}.catalog-question{font-weight:750;line-height:1.4}.catalog-options{display:grid;gap:5px}.catalog-options span{padding:7px 9px;border-radius:7px;background:var(--surface-soft);font-size:.9rem}.catalog-options span.correct{background:#ecfdf3;color:var(--ok)}.catalog-options b{margin-right:5px}.catalog-card .ghost{width:100%}@media(max-width:720px){.screen{padding:16px}.panel{padding:18px}h1{font-size:1.55rem}.session-form{grid-template-columns:1fr}.home-qr{grid-template-columns:1fr;justify-items:start}.session-row{grid-template-columns:1fr}.session-actions{display:grid;grid-template-columns:1fr 1fr}.session-row .ghost,.primary{width:100%}.review-workspace,.comparison-grid{grid-template-columns:1fr}.review-queue{position:static}.review-actions{display:grid;grid-template-columns:1fr}.review-actions .ghost{width:100%}}
