:root{--bg: #0d1117;--panel: #161b22;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--green: #3fb950;--red: #f85149;--yellow: #d29922}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none}.container{max-width:820px;margin:0 auto;padding:2rem 1.25rem 4rem}h1{font-size:1.8rem;margin-bottom:.25rem}.subtitle{color:var(--muted);margin-top:0;margin-bottom:2rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1.5rem;margin-bottom:1.5rem}fieldset{border:none;padding:0;margin:0 0 1.5rem}legend{font-weight:600;margin-bottom:.5rem;color:var(--text)}.checkbox-grid{display:flex;flex-wrap:wrap;gap:.5rem}.checkbox-grid label{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.4rem .7rem;cursor:pointer;font-size:.9rem}.concept-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.4rem;max-height:240px;overflow-y:auto;padding:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:6px}.concept-list label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}input[type=number]{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.5rem .7rem;font-size:1rem;width:100px}button{background:var(--accent);color:#0d1117;border:none;border-radius:6px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}button:hover{opacity:.88}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--border)}.choices{display:flex;flex-direction:column;gap:.6rem;margin-top:1.25rem}.choice{display:flex;align-items:flex-start;gap:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem;cursor:pointer;transition:border-color .15s,background .15s}.choice:hover{border-color:var(--accent)}.choice.selected{border-color:var(--accent);background:#58a6ff14}.choice.correct{border-color:var(--green);background:#3fb9501f}.choice.wrong{border-color:var(--red);background:#f851491f}.choice .letter{font-weight:700;color:var(--muted);min-width:1.2rem}.choice .body{flex:1}.choice.correct .letter,.choice.wrong .letter{color:inherit}.qmeta{display:flex;gap:.5rem;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-bottom:1rem}.tag{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.15rem .7rem}.feedback{margin-top:1.5rem;padding:1.25rem;border-radius:8px;border:1px solid var(--border)}.feedback.correct{border-color:var(--green);background:#3fb9500f}.feedback.wrong{border-color:var(--red);background:#f851490f}.feedback h3{margin:0 0 .75rem}.explanation{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.actions{display:flex;gap:.75rem;margin-top:1.5rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1.5rem 0}.stat{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem;text-align:center}.stat .value{font-size:1.8rem;font-weight:700}.stat .label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.result-row{display:flex;gap:.75rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--border)}.result-row .num{color:var(--muted);min-width:2.5rem}.result-row .res{font-weight:600}.result-row .res.ok{color:var(--green)}.result-row .res.no{color:var(--red)}.progress{color:var(--muted);font-size:.85rem;margin-bottom:1rem}.error{color:var(--red);margin:1rem 0}
